PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seltsamer Fehler - wer weiß Rat?



Powell
26.11.2006, 20:30
Hallo zusammen

Ich habe ein seltsames Problem mit einer Schaltung, bei der ein Fehler auftritt, dessen Ursache ich mir nicht erklären kann...
Die Schaltung sieht folgendermaßen aus:

Ein Taster liegt mit Kontakt 1 auf Masse, mit Kontakt 2 auf Emitter eines NPN-Transistors (BC549B) sowie auf einem Eingangspin eines ATMEGA 8. Der Pin ist mit internem Pullup auf High und im Programm wird er mit dem Debounce-Befehl auf eine abfallende Flanke abgefragt. Kommt diese Flanke, wird über einen Ausgangspin die Basis des genannten Transistors für 50msec angesteuert, der Transistor wird leitend. Am Kollektor des Transistors ist Anschluss 1 eines Relais. Anschluss 2 liegt auf 12V.
Die Gesamtfunktion der Schaltung ist also folgende: Drückt man den Taster, wird das Relais für 50msec geschaltet und fällt anschließend wieder ab, auch wenn der Taster noch gedrückt ist.
Wird der Taster vor Ablauf der 50msec losgelassen, fällt auch das Relais ab, weil es keine Masse mehr vom Taster bekommt, obwohl der Transistor noch leitet. Diese Funktion ist beabsichtigt.

Nun passiert folgendes: In ca. 10% der Fälle schaltet das Relais keine 50msec, sondern fällt frühzeitig wieder ab. Ich bin nicht 100% sicher, aber ich habe außerdem das Gefühl dass es sogar manchmal "flattert"
Ich würde jetzt spontan vermuten, dass es irgendwas mit dem Tastenprellen zu tun hat, jedoch bin ich mir da absoulut unsicher. Die Debounce delay time vom µC ist auf standard, 25msec eingestellt.
Könnte es vielleicht auch was mit der Leitung des Tasters zu tun haben? Die ist 2m lang und hat 0,34mm^2. Relaisstrom ca. 20mA.
Oder gibts ne andere Erklärung? Ich bin mit meinem (gebrochenen) Latein jedenfalls am Ende und würde mich wahnsinnig über Hilfe freuen...

Viele Grüße

Paul

Hubert.G
26.11.2006, 21:16
Es hat fast sicher mit Tastenprellen zu tun. Aber noch was anderes, wenn der Kontakt offen ist dann liegt über den PullUp 5V am Emitter, die Basis vom AVR her auf 0V, die Basis-Emitter-Sperrspannung beträgt laut Datenblatt 5V, du bewegst dich daher schon hart an der Grenze. Warum realisierst du das ganze nicht SW-mässig, Masseverbindungen auftrennen ist nicht das gelbe vom Ei. Ansonsten würde ich auch mal den PullUp bis auf etwa 1k verkleinern.

Hubert

Powell
26.11.2006, 21:30
Hallo Hubert

Hmm, an die Sperrspannung hab ich garnicht gedacht... nunja, wenns im Datenblatt 5V sind, dann gehts doch noch ok, sind ja immer sichere Angaben.

Warum ich es Hardwaremäßig mache: Hat was mit Sicherheitsvorkehrung zu tun. Ich möchte verhindern, dass im Fall der Fälle, wenn der Taster z.B. nass wird, nicht unbeabsichtigt durchgeschaltet wird... darum gehts mir. Oder hast du eine andere Idee wie man das noch realisieren könnte?

Grüße Paul

Yossarian
26.11.2006, 21:32
Hallo
wenn die Taste losgelassen wird,liegen die 12V am Eingang des µC.

Mit freundlichen Grüßen
Benno

Hubert.G
26.11.2006, 21:57
Also ich kann keine 12V am Eingang des µC erkennen, die stehen am Kollektor des Transistor an, denn wenn der GND am Emitter wegfällt ist der Transistor sofort zu, schön ist es aber sicher nicht und kann ganz eigenartige Phänomene verursachen, und weil ich mit das gerade noch mal durch den Kopf hab gehen lassen, am Emitter liegen ja dann 5V an.
Für die Sicherheit würde ein kleiner PullUp (500 Ohm)genau so gut sein, denn wenn der Taster so nass ist das er prakisch einen Kurzschluss nach GND macht nützt dir das eine wie das andere nichts

Hubert