Forum: Mikrocontroller und Digitale Elektronik Schalter + 10k Pullup => Zuwenig?!


von Stefan Heindel (Gast)


Lesenswert?

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

von Peter Dörwald (Gast)


Lesenswert?

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

von Manfred Glahe (Gast)


Lesenswert?

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

von Stefan Heindel (Gast)


Lesenswert?

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

von Manfred Glahe (Gast)


Lesenswert?

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

von Stefan Heindel (Gast)


Lesenswert?

@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

von Manfred Glahe (Gast)


Lesenswert?

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

von Niglo (Gast)


Lesenswert?

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.

von Stefan Heindel (Gast)


Lesenswert?

@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

von mikki merten (Gast)


Lesenswert?

@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.

von niglo (Gast)


Lesenswert?

Meinst du mich mit dem Praktiker oder manfred glahe.
Ich kann dir garantieren, dass das ganze auch ohne ext. pullup 
funktioniert.

MfG, Niglo

von Manfred Glahe (Gast)


Lesenswert?

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

von thkaiser (Gast)


Lesenswert?

@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.

von Manfred Glahe (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Sven (Gast)


Lesenswert?

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

von Uwe (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.