Forum: Mikrocontroller und Digitale Elektronik µC hängt sich auf


von Michael (Gast)


Angehängte Dateien:

Lesenswert?

hallo!

hab wieder mal ein problem bei dem ich eure hilfe bräuchte.
hab mir die schaltung wie im anhang auf ne platine aufgebaut.
über den IR-empfänger möchte ich ein relais schalten. soweit
funktioniert alles gut. wenn ich jetzt aber an mein relais einen
verbraucher (altes radio) anschliesse dann geht das ganze nur ein paar
mal, dann geht nix mehr. der µC abreitet nicht mehr. hab mir dann mal
die 5V mit nem oszi angeschaut und hab da störungen beim schalten
gesehen (bis zu +/- 2,5V schwankung) hat jemand nen tipp wie ich das
verhintern kann?

gruss michael

von Daniel R. (daniel_r)


Lesenswert?

Ein paar fette und ein paar kleine Kondensatoren in die Versorgung
hängen.

von Michael (Gast)


Lesenswert?

hmmm, wie schon im plan zu sehen hab ich einen 2200µ und einen 0,1µ
direkt am stabi hängen und nen 2,2µ direkt am µC. bring es mehr wenn
ich viele kleine zu entstören einlöte?

von Daniel R. (daniel_r)


Lesenswert?

Den Plan hab ich ganz übersehen...

Dann würde ich ein anderes Relais empfehlen, welches nicht so viel
Strom zieht.

von Hubert.G (Gast)


Lesenswert?

Das Relais vor dem Spannungsregler anschließen, wenn möglich. An den
Relaiskontakt ein RC-Glied.
Viele kleine C, so 100n,  sind besser als ein grosser.

von Michael (Gast)


Lesenswert?

okay, danke für die infos, werd es am montag dann mal probieren und
rückmeldung geben obs funktioniert hat.

gruss michael

von Thomas K. (thkais)


Lesenswert?

Ein 2,2µ am Controller ist nicht notwendig, ein 100nF am µC ist
sinnvoller. Ist die Schaltung "fliegend" aufgebaut oder auf einem
Breadboard oder auf einer geätzten Platine?
Wie hast Du den Reset-Pin des Mega-8 beschaltet? Da sollte ein
Widerstand dran (irgendetwas zwischen 3K3 und 10K funktioniert).
Ist die BOD eingeschaltet (Brown-Out Detection, s. Datenblatt)?

von Karl-j. B. (matrixman)


Lesenswert?

hab mal ne frage: was bewirken die kleinen kondensatoren eigentlich
immer? die großen klingt ja logisch das die kurzzeitig viel energie
liefern wenn mal was viel strom schlagartig braucht. aber was bringen
die kleinen? sind die um hohe störfrequenzen zu glätten?!

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Sagen wir mal so:

Die "Großen" Elektrolyt-Kondensatoren sind eher träge. Sie haben eine
hohe Energie gespeichert, aber durch die Bauart (Anschlußdrähte,
Widerstand) können sie den Strom nur langsam "liefern".

Die "Kleinen" Keramik-Kondensatoren sind dagegen rattenschnell und
können auch hohe Frequenzen "kurzschließen". Eingesetzt werden da
i.d.R. mehrlagige Typen. Die sind zwar nicht mehr so genau, aber das
interessiert nicht.

Und dann gibt es diese Tantal-Kondensatoren, die beide Welten verbinden
- kleine Induktivitäten bei großen Kapazitäten, aber sie sind sehr
empfindlich gegen Überspannung. Im Studium waren sie darum eher
verpönt.

(Ganz) nah an ICs gehören immer 100nF Keramik-Kondensatoren, um die
"harten" Schaltimpulse der Logikgatter zu glätten. Einen Elko könnte
man hier glatt vergessen.

von Hauke Radtki (Gast)


Lesenswert?

die kleinen können viel schneller reagieren als große, und so können
höhere frequenzen gefiltert werden. besonders kleine störimpulse.

von Michael (Gast)


Lesenswert?

@thomas
die schaltung ist auf einer platine aufgelötet und mit draht sind die
pins verbunden. der reset pin liegt direkt an +5V.
BOD hab ich mir im datenblatt mal durchgelesen, aber ehrlich gesagt
nicht verstanden.kannst du mir vieleicht mal kurz erklären welchen
zweck das hat?


gruß michael

von Michael U. (Gast)


Lesenswert?

Hallo,

einfach gesagt: wenn die Betriebsspannung unter den für die Funktion
garantierten Wert absinkt, kann keiner mehr sagen, was der AVR wirklich
macht. Einige Gatter schalten noch, ein paar andere haben keine Lust
mehr... Der Zustand, den damit die Schaltung annehmen kann, ist nicht
mehr vorhersagbar und unsinnge Signale ab den Ports können Schäden
verursachen.
Also lieber den AVR in den Reset und warten, bis die Spannung wieder ok
ist und von vorn anfangen. Man sollte ohnehin immer überlegen, wie sich
eine Schaltung verhält, wenn der AVR im Reset hängt. Wenn dann z.B. ein
paar H-aktiv geschaltete Relais ziehen, die besser nie gleichzeitig
ziehen sollten... ;)

Zu den 100n-Cs: heute kann man sicher gut genug simulieren, um vorher
festzustellen, welche Abblock-Cs nötig sind. Früher hat man einfach an
jedem IC und an jeder kritisch aussehenden Stelle (lange Leiterbahnen
für Ub z.B.) welche eingeplant. Am endgültigen Gerät wurde offenbar
dann nochmal gemessen und unnötige Cs wurden nicht bestückt, einfach
Kostenfrage...

Wer sich (ältere) Leiterplatten darauf hin mal genauer anschaut, wird
etliche unbestückte Cs finden.

Ich baue auch immer zuviele ein, sicher ist sicher. TTL-Faustregel war
mal: an jedem IC ein 100n und pro 10 ICs ein 10µ Tantal, am
Einspeisepunkt der Leiterplatte nochmal 47µ.

Es geht darum, die Cs dort zu plazieren, wo die Impulsstörungen
entstehen, also direkt am AVR z.B. Wenn der umschaltet werden
kurzzeitig etliche mA mehr gezogen, die müssen abgefangen werden. Es
spielt sich hier ja alles im ns-Bereich ab, da hilft ein großer C
nicht, weil er eine viel zu große Eigeninduktivität hat, zu weit weg
hilft auch nicht, 3cm Leitung sind da auch eine merkbare Induktivität.

Gruß aus Berlin
Michael

von Daniel R. (daniel_r)


Lesenswert?

>>der reset pin liegt direkt an +5V.

Das sollte er aber nicht.
Leg ihn über einen Pullup auf 5V, aber nicht direkt.

von Karl-j. B. (matrixman)


Lesenswert?

wenn du ihn direkt an 5V hängst dann bekommst du ein problem wenn du den
avr per isp programmierst! weil da wird der pin benötigt! Aber wenn du
ihn zum programmieren ausbaust dann müsste es doch normalerweiße gehen
den pin direkt dranzuhängen?! üblich ist das aber auf kein fall!

mfg Karl

von Michael (Gast)


Lesenswert?

ich baue den µC immer aus zum programmieren, also besser gesagt er sitzt
auf einem sockel. kann morgen aber mal probieren den reset über nen pull
up auf 5V zu hängen.

von Michael (Gast)


Lesenswert?

also, ich habe jetzt mal mehrere 47nF C´s auf der platine verteilt und
siehe da, bis jetzt läuft´s ohne einzigen absturz. danke!

noch mal ne frage zu BOD: gib´s auch die möglichkeit den programmablauf
nur zu stoppen und an der selben stelle weiter zu machen oder geht das
nur über reset und neuer programmstart?

von Ingo (Gast)


Lesenswert?

dennoch gehören über die Relais-Kontakte RC-Glieder zur Funkentstörung.

von Alex Loewer (Gast)


Lesenswert?

Deine Problembeschreibung kommt mir leider sehr bekannt vor. Ich hab mal
versucht, 'ne Ampel zum Start von Rennen anzusteuern und bin mit den
Relais jämmerlich gescheitert. Ich nutzte damals 'n alten AVR, der
noch rumlag (ich glaub 4433), um die Relais über'n ULN2003
(Relaistreiber) anzusteuren.
Leider resettete sich der AVR unregelmässig. Am Ende fand 'n Freund
einen Kommentar in der Errata des Chips von der HP von Atmel.
Die AVR Kerne haben große Probleme mit EMV, die fangen die sich nämlich
selber ein. Zwar wurde das bei der Mega-Serie überarbeitet, soll aber
immer noch ein gewisses Problem darstellen. Schau mal in die Errata zu
deinem ATMega (auf HP von Atmel), was die dazu schreiben.

Zu deinen Relais, wenn du Leistungen schalten willst, gehört da immer
parallel zur Schaltstrecke ein sog. Snubber.
Les mal unter Punkt 25.1 nach in
http://www.dse-faq.elektronik-kompendium.de/dse-faq.txt

Vielleicht kriegst du damit deine Probleme erschlagen, muss aber wie
gesagt nicht sein.
Wenn das nciht funktioniert, hab ich hier irgentwo 'ne Schaltung für
Triacs gesehen, Musst du dann mal suchen. Mit denen konnte ich dann
meine Schwierigkeiten lösen.

MfG
Alex

von Chris K (Gast)


Lesenswert?

Ich habe nur kurz überflogen, kenne auch Deine Leiterbahnführung oder
Verdrahtung nicht, aber was immer wichtig ist, daß Dein Verbraucher
(Relais) und der µC sowohl in der Vcc wie in der GND Leitung entkoppelt
sind, also keinen gemeinsamen Strompfad in der Versorgung haben. Also zu
einem Punkt hin erden.

von Michael (Gast)


Lesenswert?

also, nach längerer testphase stellte sich zwar heraus das es mit den
C´s nun viel besser läuft, aber es trotzdem noch ab und an probleme
gibt, das sich der µC aufhängt.


@alex: danke für den link. auf alle fälle wird da auch bestädigt was
ich am anfang wusste. ohne last funktioniert´s und auf meinen 5V gibt´s
nur ne minimale störung. liegt also nicht an der spule, sondern eher am
kontakt. werde das mit dem snubber glied morgen mal probieren. das
müsste die lösung sein.

von Michael (Gast)


Lesenswert?

so, ich denke jetzt kann sich das ganze sehen lassen. durch das snubber
glied am relaiskontakt, haben sich die störungen auf den 5V enorm
verringert. hab heute sehr viel getestet und es hat immer funktioniert.
der µC hat sich nicht mehr aufgehängt. danke nochmal´s an alle die mich
mit ratschlägen unterstützten.

gruß michael

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.