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.
Meinst du mich mit dem Praktiker oder manfred glahe. Ich kann dir garantieren, dass das ganze auch ohne ext. pullup funktioniert. MfG, Niglo
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
Wenn es sich nur um einen popeligen Taster handelt, dann hilft höchstwarscheinlich eine Entprellroutine. Ob es nun Prellen oder Störimpulse sind, die Entprellroutine hilft gegen beides. Z.B.: http://www.mikrocontroller.net/attachment.php/20554/Get8key4.asm http://www.mikrocontroller.net/forum/read-4-20549.html Peter
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.