Willkürliche Veränderungen der Schaltzustände ATTiny13

OP #2199254
Lesenswert?

Hi Leutz,
bin schon seit einigen Tagen eine Schaltung am testen, die bis jetzt 
immer funktioniert hat. Allerdings ist mir gestern aufgefallen, daß 
plötzlich nach mehreren Stunden Betrieb und ohne jede Veränderung 
sämtlicher Schalterstellungen ein anderer Ausgang geschaltet wurde. Dies 
darf unter keinen Umständen passieren und nun frag ich hier mal in die 
Runde. Wie kann sowas passieren?
Hier mal ein paar kleine Infos zur Schaltung. Die Spannungsversorgung 
läuft momentan über ein Labornetzteil, welches auf 12V eingestellt ist. 
Die 5V-Versorgung für den ATTiny13 wird über einen LP2950 realisiert und 
der empfohlene 100nF-Kondensator vom VCC-Anschluß des ATTiny13 nach 
Masse ist ebenfalls vorhanden. Die Eingänge zum Verändern der 
Schaltzustände sind folgendermaßen ausgeführt.
+12V -> Kippschalter (Schließer) -> Vorwiderstand 5k6 -> Photomos 
(Optokoppler) (Anschluß A1)... und Anschluß A2 geht dann direkt auf 
Masse.
Auf der "Laststromseite" des Photomos hängt dann jeweils oberhalb der 
Pin, bspw. PB5, der dann durch Anziehen des Photomos einfach nur auf 
Masse gezogen wird. Jegliche Entprellung oder hardwaremäßige 
Schutzbeschaltung hab ich erstmal weggelassen. Achja, der ATTin13 wird 
mit 1,2MHz betrieben.
Falls gewünscht, kann ich gerne mal nen Schaltplan liefern oder das 
Programm posten.
Habe zur Probe schon mal sämtliche Kippschalter, die jetzt 0-Signal 
liefern abgeklemmt um zu sehen, ob's nicht irgendwie daran liegt.
Freu mich über jeden guten Tipp.
Sonnige Grüße :-).
Daniel
OP #2200284
Lesenswert?

Also hier mal ein Zwischenstand.
Die Schaltung läuft seit gestern morgen mit den abgeklemmten 
Kippschaltern einwandfrei und der Schaltzustand hat sich seitdem nicht 
mehr verändert.
Werde diese Nacht einfach nochmal abwarten und schauen, ob sich noch 
etwas ändert.
Scheint es also wirklich so zu sein, daß die Kippschalter prellen oder 
könnte das eine andere Ursache haben?
Vielleicht hat da jemand noch eine Idee...
Wie schon geschrieben waren die Kontakte der abgeklemmten Kippschalter 
geöffnet, das hieße ja, daß sie zwischendurch trotzdem die 12V auf den 
Eingang geschaltet hätten (oder wenigstens die Spannung, die der 
Optokoppler benötigt, um den Transistor durchzuschalten), wenn auch 
vielleicht nur für ein paar µS oder gar nS.
Beste Grüße :-).
Daniel
#2200299
Lesenswert?

Daniel Lo schrieb:

> Eingang geschaltet hätten (oder wenigstens die Spannung, die der
> Optokoppler benötigt, um den Transistor durchzuschalten), wenn auch
> vielleicht nur für ein paar µS oder gar nS.

Ziemlich unwahrscheinlich.

Das ein geschlossener Schalter durch Erschütterungen mal kurz den 
Kontakt verliert, kann ich mir vorstellen.
Aber das dadurch ein offener Schalter seine Kontaktzungen soweit 
verstellt, dass er auf der anderen Seite Kontakt kriegt, ist nicht 
normal.
OP #2200314
Lesenswert?

Da hast Du schon Recht, aber mich macht die ganze Sache trotzdem etwas 
stutzig. Die Kippschalter sind als kleines "Testrack" auf einer 
Lochrasterplatine montiert und auch wenn dies nur ein Versuchsaufbau 
ist, die Verarbeitung ist einigermaßen sauber.
Fakt ist, daß die Schaltung ohne die angeschlossenen Kippschalter schon 
eine Weile anscheinend sauber läuft. Möchte nur nicht, daß das ganze 
wieder passiert, wenn die Schaltung im Auto zum Einsatz kommt.
Daher möchte ich dem ganzen vorbeugen und habe jetzt entweder die 
Möglichkeit, mein "Testrack" nochmals neu aufzubauen oder aber es mit 
einer softwaremäßigen Entprellung zu versuchen und dann bei weiteren 
Tests zu hoffen, daß der Fehler nicht mehr auftritt.
Aber mal ne andere Frage und hier frage ich mal nach Euren persönlichen 
Erfahrungen. Das ganze soll ja im Auto zum Einsatz kommen. Abgefragt 
wird hierbei z.B. die Zündung. Ist es sinnvoll, dieses Signal (und 
andere von irgendwelchen Relaiskontakten kommenden Signalen) zu 
entprellen?
Gast #2200333
Lesenswert?

Daniel Lo schrieb:
> Wie kann sowas passieren?

irgendwelche EMV-Störungen.

Daniel Lo schrieb:
> +12V -> Kippschalter (Schließer) -> Vorwiderstand 5k6 -> Photomos
> (Optokoppler) (Anschluß A1)... und Anschluß A2 geht dann direkt auf
> Masse.
Parallel zur LED wirst Du noch einen 4,7nF (oder größer) brauchen.
Dasselbe dann am Ausgang der Optokoppler.
Wenn du schon mal bei EMV-Tests (Burst, ESD) gesehen hast, daß LEDs 
unter EMV-Beschuß im Dunkeln anfangen zu flackern wirst Du auch 
verstehen warum.

Daniel Lo schrieb:
> Softwareentprellung sollte genügen oder?
Wenn sie richtig gemacht ist schon. Voraussetzung ist daß die 
Optokoppler entstört sind.

Daniel Lo schrieb:
> Dies darf unter keinen Umständen passieren

Schalte mal eine alte Hausklingel (kein Gong) parallel zu den 12V.
Wenn sich dann nichts an den Schaltzuständen am Ausgang ändert bist du 
halbwegs auf der sicheren Seite.

Gruß Anja
OP #2204592
Lesenswert?

Also hab nun mal so langsam Kippschalter für Kippschalter wieder 
angeklemmt, an denen liegt's tatsächlich nicht. Was ich mir noch 
vorstellen könnte: Ich habe in einem Fall direkt einen Pin des µC (PB2) 
auf einen Schließer gelegt und von dort aus zur Masse weile alle anderen 
Pins bereits belegt sind (dort ist also kein Optokoppler 
zwischengeschaltet). Habe diesen nun nochmal angeklemmt und werde 
nochmal abwarten, was passiert.
Die Vielschichtkondis hab ich bereits besorgt, in den nächsten Tagen 
wird weiter getestet.
#2205048
Lesenswert?

Knut schrieb:
> Ja. Aber ein 10nF am Eingang schadet auch nicht. Nicht geizen bei sowas.

Kondensatoren können bei ungünstiger Leitungsführung durchaus schaden, 
siehe Pollin-Board.

Kondensatoren dürfen nie ohne Strombegrenzung (Widerstand) umgeladen 
werden.
Kondensatoren direkt am Kontakt sind leider eine häufige Unsitte.


Peter
OP #2205374
Lesenswert?

So, habe jetzt mal aufgezeichnet, was ich in meinem letzten Beitrag 
meinte. In grün gezeichnet ist also der Kontakt, den ich ohne 
Optokoppler auf den Pin gelegt habe. Hatte diesen heute mittag wieder 
angeklemmt und siehe da, der Fehler passiert wieder. Klemme ich genau 
diesen Kippschalter ab (der ja sowieso im Normalfall geöffnet ist), so 
scheint die Schaltung sauber zu arbeiten. Kann es sein, daß hier evtl. 
Störungen eher ins Gewicht fallen als wenn ich einen Optokoppler 
dazwischenschalte?
Angehängte Dateien:
#2205603
Lesenswert?

Daniel Lo schrieb:
> In grün gezeichnet ist also der Kontakt, den ich ohne
> Optokoppler auf den Pin gelegt habe. Hatte diesen heute mittag wieder
> angeklemmt und siehe da, der Fehler passiert wieder.

Schalte mal 4,7k in Reihe, möglichst nahe am MC.

So ein GND kann ganz schön verseucht sein, sogar negativ gegenüber dem 
MC und das mag er nicht ohne Strombegrenzung.


Peter
OP #2208049
Lesenswert?

Meinst die Masse ist von Störungen verseucht?
Jedenfalls bekomme ich morgen ein Oszi und komme dann vielleicht der 
Sache etwas näher. Vielleicht liegt's ja doch am Platinenlayout, daß 
irgendwelche Leiterbahnen ungünstig gewählt sind. Wobei ich rein vom 
Abstand her auf der sicheren Seite sein sollte (überall mindestens 
0,6mm).
OP #2209001
Lesenswert?

Also, hab einfach mal den Tipp mit dem Widerstand ausprobiert. Hat 
leider nichts gebracht. Auch habe ich mal am entsprechenden Pin 
geschaut, ob Spannungseinbrüche zu sehen sind, leider auch erstmal 
negativ. Die Versorgungsspannung selbst ist ebenfalls schön glatt.
Werde heut abend nochmal n paar Messungen durchführen, aber bis jetzt 
tappe ich immer noch im Dunkeln.
Vielleicht hat jemand von Euch doch noch den einen oder anderen guten 
Tipp.
OP #2209510
Lesenswert?

So, hab jetzt nochmal n paar Messungen gemacht und so wie ich das sehe, 
hatten Anja und Peter wohl Recht. Die Messung erfolgte also hinter dem 
geöffneten Schalter zur Masse. Dabei habe ich gesehen, daß z.B. der 
Betrieb des Fahrstuhls hier im Haus teilweise recht fiese Spikes 
verursacht, die sowohl in den positiven als auch in den negativen 
Spannungsbereich gehen. Desweiteren sind ständig Störungen vorhanden, 
die meist von +0,2V bis -0,2V gehen. Das reicht aber anscheinend noch 
nicht aus, um ein für den µC verwertbares Signal zu liefern. Allerdings 
glaube ich schon, daß der Fehler diese fiesen Störungen sind wie schon 
von Anja und Peter beschrieben. Sieht so aus als müsste ich doch noch 
hinter jedem Schaltkontakt für die Eingänge irgendwelche Filter 
vorsehen. Welche (möglichst einfachen) Möglichkeiten gibt es da? 
Varistoren? Dioden?
Schon Wahnsinn, welche "Viren" sich so im Versorgungsnetz herumtreiben, 
aber man glaubt sowas ja erst, wenn man es mal gesehen hat ;-). Schätze 
fast, daß mir mein Nachbar meinen Ausgang ständig ausschaltet lach.
OP #2211985
Lesenswert?

Ist es eigentlich möglich, daß auch ein Oszi eventuelle Schaltvorgänge 
nicht erkennt weil zu langsam? Habe bislang noch nie gesehen, daß die 
Spannung vom internen Pull-Up des µC zusammenbrach, wenn ein 
Schaltvorgang erkannt wurde, der aber nicht von mir kam.
Fakt ist einfach, klemme ich die Kippschalter ab, die dafür 
verantwortlich sein könnten, daß mein Ausgang zurückgesetzt wird, so 
läuft das Ding tagelang durch.
Habe hier nen Thread bezüglich (Software)Entprellung gefunden. Diesen 
werde ich mir mal genau durchlesen und mich mal daran wagen. Denke wenn 
ich das irgendwie hinbekomme, dann gehören willkürliche Schaltvorgänge 
der Vergangenheit an.
Werde natürlich auch nochmal schauen, wie man hardwaremäßig vernünftige 
Filter bzw. Entprellschaltungen aufbauen kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren