Hi!
Ich habe eine kleine AVR Schaltung fürs Auto gebaut, wo an einem Pin ein
Taster hängt. Dieser ist über einen Pullup-Widerstand beschaltet. Also
Pull-Up an 5V, dann an Prozessorbein, dann Taster von Prozesorbein an
Masse. Das Kabel ist ungefähr ein Meter lang (2-drahtleitung). Bei mir
funktioniert die Schaltung auch wunderbar. Als Pullup verwendete ich
100kOhm, was auch ausreichte. Ich habe die Schaltung nun einem Freund
geschickt, und der meinte, dass der Taster andauern rumspringen würde,
auch ohne Betätigung. Ich dachte der PullUp von 100k ist zu groß und ich
ließ ihn einen 10kOhm Widerstand parallel zum 100k Widerstand löten. So,
jetzt hat er IMMER noch Störungen, das heißt das Signal ist auf Low
obwohl der Taster nicht gedrückt wurde. Selbst im KFZ-Bereich kann ich
mir nicht vorstellen, das Störquellen solch eine "Kraft" haben, dass sie
ein gesetztes Potential so sehr verändern können.... oder?!
Gruss Stefan
Das ist eine richtige Antenne, die ihr da aufgebaut habt. Ich habe an
einem Port schon mit 15cm Kabel Probleme gehabt, weil in 2m Entfernung
eine Waschmaschine lief.
Also: unbedingt das Kabel verdrillt u. geschirmt benutzen, am Controller
ein RC-Glied (Tiefpass) vorsehen und die Software gegen Peaks
immunisieren.
Grüße
Peter
Hallo Stefan,
wird der Kontroller vom Bordnetz versorgt? Hier ist das größte
Störpotential zu erwarten, vorallem wenn ein Benziner im Spiel ist
(wegen der Zündung).
MfG Mamnfred Glahe
Ja, der wird vom Bordnetz versorgt. Habe aber eine richtig "massive"
Stromversorgung gebaut, so wie in der Elektronik-FAQ beschrieben. Also:
Verpoldiode, Sicherung, Varistor, eingangsElko, LM2931 (KFZ-Pendant zum
7805), danach noch nen Elko, und nochmal 100nF direkt beim Prozessor.
Ich habe jedoch auch die Zündungsplus-Leitung verwendet, um daraus via
Referenzdiode eine VRef zu erzeugen. Und dieser Zweig ist gar nicht
gepuffert.
Gruss Stefan
Hallo stefan,
um das Kabel auszuschließen einfach abhängen und Pullup nach +5V so
belassen. Wie verhält er sich nun?
Warum erzeugst Du die Referenzspannung nicht aus den entkoppelten und
abgesicherten 12V ???
MfG Manfred glahe
@Manfred
Wenn das Kabel abgehängt ist, ist alles in Ordnung
Ich mache die Referenzspannung aus dem ungefilterten Zündungsplus, weil
an der Referenzspannung noch ein NTC dran hängt, der auch seine paar mA
zieht. Alles in allem zieht diese Referenzspannungsquelle samt NTC ca.
20 mA. Wenn das auch bei ausgeschalteter Zündung noch eingeschaltet
wäre, so hätten wir summa summarum ca. 35mA. Und das ist doch zuviel für
die Batterie auf Dauer?
Mit dieser Lösung habe ich nur 15mA Strom wenn das Modul ausgeschaltet
ist.
Wenn ihr jetzt sagt das 35mA in Ordnung gehen, dann könnte ich das
Layout echt ändern...
Gruss Stefan
Hallo Stefan,
wenns ohne Kabel läuft brauchst du das Layout nicht zu ändern. Nimm doch
ein abgeschirmtes Kabel mit verdrillten Innenleitern und versuchs
nochmal. Entstören ist eben ein mühsames Geschäft. 80 Prozent der
Maßnahmen helfen nicht, aber das stellt sich immer erst hinterher
heraus.
MfG Manfred Glahe
Hi.
Ich arbeite normalerweise mit 8051er, aber ich schätze das die AVRs auch
einen internen Pullup besitzen. Also wozu dann einen externen Pullup?!
Einfach vom Portpin über den Taster an GND.
Die Störeinflüsse sind sicherlich nicht so groß, denn falls wirklich
3-4V anliegen würden, würde der Strom der denPorteingang benötigt nicht
ausreichen.
MfG, Niglo.
@All
Haben die AVRs einen "richtigen" Internen Pullup, den man für diesen
Zweck gebrauchen kann..? Mit OUT DDRx,255 und OUT PORTx, 255 kann man
zwar den Port auf Vcc bringen, aber hat das den selben Effekt wie ein
PullUp?
@Manfred Glahe
Ich glaube hier habe ich einen Praktiker entdeckt :))
Thx Stefan
@Stefan
Mit OUT DDRx,255 schaltest du alle Bits auf Ausgang. Richtig wäre hier
OUT DDRx,0 (alle Portbits Eingang) gefolgt von OUT PORTx,255 (alle
internen PullUp Widerstände aktivieren. Die internen PullUp haben
zwischen 33-100 kOhm. Im Normalfall reichen diese vollständig aus.
Eventuell solltest du noch eine RC-Kombination zur Unterdrückung kurzer
Störimpulse vorsehen. Allerdings kannst du diese natürlich auch in
Software realisieren.
Hallo zusammen,
wen auch immer Stefan gemeint hat es geht hier doch nur darum
Hilfestellung zu leisten (bei der man selbst noch dazulernt).
Ich habe jedenfalls die Erfahrung gemacht, daß der HC11 und auch der
PIC16F84 im rauhen Umfeld problemlos arbeiten und solche Entstörprobleme
erst garnicht aufkommen lassen. Andere Kontroller sind da wesentlich
empfindlicher.
Ich kenne keinen Atmel und so weiß ich auch nicht ob er einen Pullup
Widerstand hat (ist aber anzunehmen). Ich würde aber aus Sicherheit
einen toten Hund anbinden!
MfG Manfred Glahe
@Niglo:
Bei Dir zu Hause auf dem Experimentierboard funktioniert das sicherlich
mit den Pull-Ups. Aber in einer Umgebung wie einem KFZ können Effekte
auftreten, die eine externe Beschaltung notwendig machen. Da die
Störungen offensichtlich verschwinden, wenn das Anschlußkabel des
Schalters entfernt wird, ist wohl hier die Ursache zu suchen.
Eine Leitung wirkt immer wie eine Antenne. Selbst wenn ich den Leiter an
einer Seite fest auf Masse anschließe, können EM-Störungen nicht
unerhebliche Ströme / Spannungen induzieren. Bestes Beispiel: Denke
einmal über den Sinn der obligatorischen 100nF Kondensatoren an jedem IC
nach. Ein IC (vor allem CMOS) kann so hohe Ströme bei Schaltvorgängen
verursachen, daß kurzzeitig die Spannung zusammenbricht. Selbst mit
einem guten Oszilloskop ist es schwer, diese "Mikrostörungen" zu sehen.
Die Zündspule eines KFZ ist ein wunderbarer Sender, der sichtbare
Störungen auf den 12V eines KFZ erzeugt. Ganz zu schweigen von der LiMa,
die manchmal zu einem "Turbo-Feeling" im Radio führt.
@Manfred:
Ich habe auch bereits öfters gehört, die PICs seien gegen EM-Störungen
nicht so empfindlich, wie die Atmels. Aber das steht nicht zur
Diskussion, es gibt sicherlich Unterschiede unter KFZ (manche haben
größere Störfelder als andere).
Ein KFZ ist mit Sicherheit ein extrem rauhes Umfeld - und ohne
entsprechende Schaltungstechnische Maßnahmen (Reduzierung der
Störimpulse von LiMa / Zündung,sofern vorhanden) an der
Spannungsversorgung kommt sicherlich jeder Prozessor aus dem Tritt. Ich
habe vor Jahren bei der VDO gearbeitet (Produktion) und bei diesen
Schaltungen waren 30-50% der Bauteile für Entstörung von
Spannungsversorgung und Eingängen bestimmt.
Zusätzlich zu einem Tiefpaß an der Spannungsversorgung und an jedem
Eingang sollte man die Schaltung in ein Metallgehäuse packen und
möglichst niederohmige Eingänge verwenden. Abgeschirmte/verdrillte
Leitungen sind sicherlich nicht falsch, aber bei entsprechender
Beschaltung der Eingänge nicht unbedingt notwendig.
Hallo thkaiser,
das sehe ich auch so. Aber bei einer Einzelentwicklung (oder
Kleinstückzahlen) kann man den Sicherheitsaufwand ruhig etwas höher
ansetzen. Das schont die Nerven bei der Fehlersuche und macht sich beim
finanziellen Gesamtaufwand kaum bemerkbar.
Leider liefert die Industrie in der Praxis eben nicht die hochwertig
entstörten (und gegen Störungen gesicherten) Geräte.
Wenns wirklich nicht anders geht (wohl nicht fürs Auto gedacht)kann man
heute auch billige Kunststofflichtleiter verwenden um in extremer
Störfeldumgebung Signale sicher über lange Strecken zu führen und
zusätzlich noch hochspannungsfest zu werden.
MfG Manfred Glahe
Hallo Stefan!
Noch ein Praktiker: Ich würde die 10k eventuell auf 4k7 reduzieren und
ziemlich dringend einen Kondensator 10...47n zwischen Eingang und Masse
hängen. Wie schon gesagt wurde, die Eingänge möglichst niederohmig
halten. Klar gehen auch die internen Pull-Ups, aber das ist alles andere
als niederohmig. Da es bei Dir sicher nicht auf Geschwindigkeit ankommt,
kann der Kondensator eigentlich nicht zu groß sein, die Anstiegszeit
dürfte so im Bereich einige ms liegen. Dafür werden aber kurze
Störimpulse im µs-Bereich weggeschluckt. Und natürlich die Leitung
mindestens verdrillen, wenn mit Abschirmung, dann diese einseitig auf
Masse legen. Das sind so die minimalsten Maßnahmen.
Viel Spaß
Sven
Hi!
Wenn's wirklich am Tasterkabel scheitert, mach einen Optokoppler an den
Atmeleingang und steuere den mit deinem Taster an. Da hast du eine recht
ordentliche Trennung vom Bordnetz. In Härtefällen mache ich das
jedenfalls so und zu 90% hilft es.
Gruss Uwe