Forum: Mikrocontroller und Digitale Elektronik Relais am Eingang eines ATMega


von Jens T. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein Problem. Mir sterben an einem ATMega-32 reihenweise die 
Eingänge des Controllers und ich bin auf der Suche nach dem Grund dazu. 
Das besondere an diesem Eingang ist, dass er durch ein Relais geschaltet 
wird.
Als Relais kommt ein KFZ-Relais zur Verwendung, welche massenweise in 
Autos eingesetzt werden. Diese Schaltung wird aber nicht im Auto 
betrieben. Stromversorgung erfolgt über ein Steckernetzteil 12V, einem 
7805 inkl. der Standardbeschaltung wie im Tutorial.

Was muss man beachten, wenn man ein Relais an den Eingang eines µC 
hängt? Meiner Überlegung nach ist das ja eigentlich nur ein normaler 
Schalter, der halt durch einen Magneten bewegt wird. Von daher habe ich 
ihn wie jeden anderen Taster auch angeschlossen (siehe 1. Bild).
So geht der Eingang nach wenigen Schaltvorgängen (< 10) kaputt und 
liefert dann nur noch zufällige Werte.

Dann war meine Überlegung, dass man, wenn man ein Relais schaltet, ja 
eine Freilaufdiode einsetzt um den induzierten Strom zu vernichten. (2. 
Bild) Also habe ich auch das gemacht. Hat mir aber auch nicht 
weitergeholfen, der Eingang geht trotzdem kaputt.

Bei den Bilder hab ich es natürlich auf das Wesentliche reduziert. In 
Wirklichkeit habe ich in dem 12V-Teil keinen Taster, sondern einen 
kapazitiven Näherungssensor, der mir, je nachdem, ob geschaltet, 12V 
liefert, oder halt nicht.

Vielen Dank!
Jens

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Geordnet nach Wichtigkeit:
1. Lege direkt in die Leitung zu PA3 einen Widerstand (1k - 3k3)
2. Füge Ableitdioden an PA3 hinzu. Eine Diode gegen Vcc und eine Diode 
gegen GND, natürlich beide in Sperrichtung. Der AVR hat sowas aber auch 
schon intern.
Das ist wahrscheinlich auch das, was immer putt geht.

        +
        |
       ---
       / \
       ---     1k - 3k3
MCIn    |      ------
o-------o-----|      |-----o vom Kontakt
        |      ------
        |
       ---
       / \
       ---
        |
GND     |
--------o------------------

3. Wenns immer noch nicht reicht, füge noch einen 'Funkenlösch-C' in der 
Grösse von 5n - 47n hinzu, parallel zur unteren Diode. Das kann aber den 
Puls ein wenig schwammiger machen. Wenns allerdings auf ein paar 10uS 
nicht ankommt, macht das nix.

von Timo S. (tom_green1980)


Lesenswert?

moinsen,

deine eingezeichnet "freiluf diode" muss dirrekt ans relais!!!

die maßnahmen von Matthias Sch. (Firma: Matzetronics) sind voll i.o.

falls das immer noch net war, kann man die schaltung ja durchaus noch 
aufblähen und mit nem OP arbeiten....

ansosnten würde ich mir mal die spannungsquelle näher betrachen!!!

mfg timo

von citb (Gast)


Lesenswert?

Wo bekommt das Relais seine Spulenspannung her?
Aus dem gleichen Netzteil?
Freilaufdionde ueber die Relaisspule waere mein erster Gedanke.

citb

von Nitram L. (nitram)


Lesenswert?

Jens T. schrieb:
> Dann war meine Überlegung, dass man, wenn man ein Relais schaltet, ja
> eine Freilaufdiode einsetzt um den induzierten Strom zu vernichten. (2.
> Bild) Also habe ich auch das gemacht. Hat mir aber auch nicht
> weitergeholfen, der Eingang geht trotzdem kaputt.

ohh - die närrischen Tage....oder fehlen wohl noch ein paar 
Grundlagen???

Frage 1: Wo kommt die "Freilaufdiode" hin?
Antwort a ()  => an die Spule
Antwort b ()  => an den Kontakt

Frage 2: Bist du sicher das du den Port nicht per SW setzt und dann
         mit dem harten Schalten gegen GND in den "Stromtot" treibst???

nitraM

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

verdrahtung  und Relaisbelegung überprüft?
Leitungslänge vom RelaisKontakt zum Pin?
Du hast keinen Hund in der SW ?

von Jens T. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Matthias,

vielen Dank für die schnelle Antwort. Nur, um sicherzugehen, dass ich 
alles richtig verstanden habe. Mein Pullupwiderstand bleibt und ich 
schalte gegen GND?

Ich hab das mal in den Schaltplan eingefügt. Ist das richtig so?

Vielen Dank!
Jens

von Jens T. (Gast)


Lesenswert?

Oha, die Antworten kommen ja Schlag auf Schlag.

@citb: die Spulenspannung kommt aus dem selben Netzteil.
@Martin: Mit närrischen Tagen hab ich hier nichts am Hut. Von daher ist 
das zweite der Fall, mir fehlen Grundlagen auf dem Gebiet. Richtig.
Zu Frage 1: wenn Du so fragst, hab ich es vermutlich falsch gemacht und 
die Diode würde über die Spule gehören.
Zu Frage 2: Ja, da bin ich sicher.
@Winfried: Dass ich keinen Hund oder Käfer in der Software habe, da bin 
ich sicher. Verdrahtung geprüft. Leitungslänge zum Relais < 15 cm.

Vielen Dank für die Antworten bis hier her.
Jens

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Den 10k Pullup würde ich direkt am Kontakt lassen, sonst erreicht du mit 
3k3 in der Portleitung evtl. nicht mehr einen richtigen Low Pegel. Sonst 
sieht das sehr gut aus. Ich würde allerdings nicht die langsamen 4004 
nehmen, sondern den Klassiker 4148 oder 4151.

citb schrieb:
> Wo bekommt das Relais seine Spulenspannung her?
> Aus dem gleichen Netzteil?

Das kann ich mir nicht vorstellen, dann wär ein Relais ja völlig 
überflüssig und ein Optokoppler bzw. ein Spannnungsteiler die richtige 
Wahl.

von Jens T. (Gast)


Lesenswert?

Danke Dir. Wir haben das Relais genommen, weil es halt gerade verfügbar 
war. Und es so einfach schien. Aber man lernt immer dazu.

von BUGHUNTER (Gast)


Lesenswert?

Jens T. schrieb:
> Dass ich keinen Hund oder Käfer in der Software habe, da bin
> ich sicher.

In der realen Welt stimmt diese Aussage leider zu geschätzten 75% leider 
nie...

BUGHUNTER

von Sebastian (Gast)


Lesenswert?

Die beschaltung mit den zwei Dioden kannst du die sparen, das hat der 
ATMEGA bereits drin. Allerdings würde ich einen 100nf Parallel zum 
Eingang (gegen Masse) und der Spule vom Relais eine Freilaufdiode 
gönnen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Jens T. schrieb:
> Wir haben das Relais genommen, weil es halt gerade verfügbar
> war.

Dann rate ich dir zum Optokoppler. Das ist problemlos und es wird nichts 
mehr kaputtgehen. Auf der 12 Volt Seite beschränkt sich das dann auf das 
Ausrechnen des Vorwiderstands für eine LED und auf der Portseite fällt 
alles bis auf den 10k weg :-)
Da ich begeisterter Recycler bin: Optokoppler sind in alten Telefonen, 
Faxgeräten und Schaltnetzteilen leicht zu finden.

von Oliver (Gast)


Lesenswert?

Hm, Jungs, Vorwiderstand, Ableitdioden, Funkenlöschkondi?
Das alles für einen Kontakt, der einen 10k Pullup von 5V nach Masse 
zieht?
Gegen die Freilaufdiode an der Spule ist ja nichts zu sagen, aber der 
Rest?

Ich tippe auch mal da drauf, daß da im Programm was nicht stimmt.

Oliver

von Horst H. (horst_h44)


Lesenswert?

Die Eingänge/Ausgänge vom Mikrocontroller sind in der Regel wenig 
belastbar und nicht für eine raue Umgebung ausgelegt. Hier gibt es 
einige Applikationshinweise zur Anbindung an die Industrielle Umgebung:
http://www.ichaus.com/mcu_interface. Leider nur in Englisch, aber die 
Datenblätter gibt es auch in Deutsch.

von Unwissender (Gast)


Lesenswert?

Hallo,

ich habe einen ähnlichen Fall. Ich möchte ein Relais (Schließer) als 
Input am AVR nutzen. Ich hätte diesen einfach gegen GND mit dem Portpin 
geschalten und den internen Pullup.

Nun habe ich aber diesen Thread gelesen und habe Angst, dass ich damit 
meinem AVR kille. Muss ich denn noch was beachten oder dürfte da nichts 
passieren?

von Thomas (kosmos)


Lesenswert?

ich spendiere einen Pin immer einen Widerstand. So kann man die internen 
Dioden schützen damit diese ihre Aufgabe erfüllen können, außerdem 
verhindert man einen Überlastung des Pins wenn man etwas falsch 
konfiguriert.

Ein Relais als Eingang ist schon ein komisches vorhaben, weil der 
Kontakt beim Öffnen auch Müll erzeugen kann, wenn das ohne 
Schutzmaßnahmen auf den Pin kommt himmelts den.

Die Diode muss antiparallel zur Magnetspule des Relais im die 
Induktionsspannung nochmals durch die Spule zu schicken, dadurch wird 
die dann abgebaut. Dieser Impuls kommt meist durch den 7805 durch 
deswegen dem noch einen kleinen LC Filter am Eingang spendieren.

von Unwissender (Gast)


Lesenswert?

Naja das Relais hat auch 2 Spulen eine zum schließen und eine zum öffnen 
und diese sollen dann einfach einen Pin schalten, da ich vom KFZ ein 
Signal hab auf 2 Leitungen wo dann entweder Leitung 1 + und Leitung 2 - 
oder andersrum herrscht. Diese Leitungen an das Relais und dann hab ich 
für diese Zeit den Pin high und beim anderen Fall den Pin low und spare 
mir sogar noch irgendwelche Schutzbeschaltung vom KFZ Signal und 
galvanisch getrennt ist dies auch noch.

von Thomas (kosmos)


Lesenswert?

geht es um Tür auf/zu Erkennung?

von Unwissender (Gast)


Lesenswert?

Thomas O. schrieb:
> geht es um Tür auf/zu Erkennung?

nicht ganz aber nah dran ... Hintergrund ist eine Coming / Leaving Home 
Function nachzurüsten.
An dem Auto wurde Funk nachgerüstet. Dabei sind jedoch nur 3 von 4 
Servos angeschloßen (Auto ist dreitürer) und somit wäre der vierte zur 
Erkennung ob offen oder nicht.

Würde das mit dem Relais als Eingang gehen oder brauche ich noch 
Schutzbeschaltung? Abgesehen von der Freilaufdiode

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.