PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme mit relais an pic [eilig]



Dan89
16.12.2006, 16:21
hi, brauche ganz dringend ere hilfe.

ich baue gerade eine steuerung die von eimem pic geregelt wird.der soll dann auch einen verbraucher über ein relais steuern.
hab auch soweit alles fertig das relais wird über einen bc337 transistor angesteuert. klappt auch alles aber bei jedem 5. bis 10. schalten wird der pic resetet!
ich hab keine ahnung was ich machen soll, freilaufdiode ist natürlich drin und die betriebsspannung geht auch nicht kurz runter wie ich erst dachte, hab nämlich zuerst am netzteil rumgebastelt, jede menge elkos,usw... also netzteil schließ ich aus.

auf dem oszilloskop seh ich nen kurzen ausschlag weiß aber nicht wohin. der strahl verschwindet nur ganz kurz.

hab schon alles versucht zenerdioden in die leitung zum relais, kondensatoren parallel zum relais ...

was soll ich machen, wäre sehr dankbar für schnelle antworten, das teil müsste heut noch fertig werden...

Henrik hessert
16.12.2006, 17:08
Hi,

welchen Vorwiderstand hast Du denn zwischen PIC und BC337 geschaltet ?

Gruß
Henrik

Dan89
16.12.2006, 17:17
hatte zuerst 68k hat aber dann nicht weit genug geöffnet, danach hab ich den einfach gegen 10k ausgetauscht und dann gings. ist der vielleicht zu klein?

pandadriver
16.12.2006, 17:29
Hast du einin 100nF (Keramik oder Folie) direkt an den Spannungsversorgungspins? Wenn nein, versuche das mal.

Dan89
16.12.2006, 17:37
hab nen 51n dran gelötet der grade noch rumlag, werde aber grad mal nen 100er suchen, mal sehen ob es dann geht, hab aber nicht so viel hoffnung....
trotzdem danke...

hab grad zusätzlich noch nen 100er dran getan -> geht trotzdem nicht...

Henrik hessert
16.12.2006, 18:18
Hi,

der 10k Vorwiderstand ist meiner Meinung nach ok.

Es wäre sehr hilfreich, wenn Du eine kleine Skizze Deiner Schaltung, mit aktuellen Bauteilwerten, hochladen würdest.

Ein Kondensator parallel zum Relais bringt bei diesem Problem eher Nachteile als Vorteile. Wenn der Transistor durschaltet, wird zuerst die Kapazität des Parallelkondensators aufgeladen und erst dann zieht das Relais an. Du ruft somit quasi einen Zustand hervor, in dem das das Relais länger braucht, um sicher durchzuschalten.

Siehst Du die Spitze auf Deinem Oszi beim Ein- oder Ausschalten des Relais ?

Gruß
Henrik

Dan89
16.12.2006, 19:09
die schaltung is ne einfache open kolektorschaltung: der emitter is an - , basis (jetzt über 15k ohm) am pic. der kollektor ist dann direkt am relais. momentan hab ich noch ne freilaufdiode drin und den 100nF. achso und transistor is jetzt der bc550 drin. also die schaltung ist 100% richtig -bin ich mir sicher. ich hab das gleiche problem übrigens auch noch bei nem anderen projekt... also es muss irgend ne störung vom relais sein....

Dan89
16.12.2006, 19:14
achso mit dem oszi: also der ganze balken verschwindet kurz, genau dann wenn das relais schaltet. aber nur manchmal und ganz unregelmäßig. ungefähr bei der hälfte dieser spitzen stürzt dann der pic auch ab.

ich guck mal grad, ob ich vielleicht doch mal ne skizze mach...

Henrik hessert
16.12.2006, 19:15
hi,

...mal ne ganz einfache frage:

hast du die freilaufdiode richtig rum eingebaut ?

gruß
henrik

Dan89
16.12.2006, 19:20
klar, wär doch sonst auch ein kurzschluss, dann würds doch gar nicht gehen...

Henrik hessert
16.12.2006, 19:36
hi,

natürlich ist es nahezu ein kurzschluss. jedoch nur so lange du den transistor vom pic aus ansteuerst.

eine fehlerkette mit falsch eingebauter freilaufdiode könnte so aussehen.

grundzustand: pic steuert transistor nicht an.
zustand 2: pic steuert transistor an
zusatnd 3: transistor schaltet durch -> kurzschluss
zustand 4: durch den kurzschluss bricht die versorgungsspannung zusammen
zustand 5: reset des pic
zustand 6: wie zustand 1 bis erneuter ansteuerimpuls vom pic kommt

für die tatsache, dass du deine diode richtig eingebaut hast spricht allerdings das anziehen des relais. bei einem kurzschluss würde das nämlich nicht passieren.

hast du den pufferkondensator des pic in unmittelbarer nähe der spannungsversorgungspins montiert ?

sollte dies nicht der fall sein, kann es durch die leitungsinduktivitäten trotzdem zu einem lokalem spannungseinbruch am pic selbst kommen.

eventuell fängt sich der pic auch ein emv-störung durch das relais ein und führt einen reset aus.

hast du die reset-leitung über einen pull-up widerstand mit vcc verbunden ?

gruß
henrik

Dan89
16.12.2006, 19:58
danke für die hilfe, also der pufferkondensator, liegt direkt neben den pins vom pic, ist auch groß genug, hab momentan 1000uF dran, hatte aber schon mehr ohne eine besserung.
wegen der emv störung hab ich auch schon gedacht, der pic liegt 4cm entfernt, aber der trafo ist direkt neben dem relais. eigendlich unvorstellbar, aber könnte durch das schalten der spule im trafo eine hochspannung induziert werden, die über festspannungsregler usw. hinaus geht? dagegen spricht allerdings auch das ich das problem schon bei einem mit bleiakku betriebenem gerät habe...

aber was meinst du mit der reset leitung? diesen mclr pin, der beim programmieren benuutzt wird? den hab ich mit 3,3k an vdd aber ohne funzt der ganze pic doch auch nicht, oder?
oder ist damit was andres gemeint?

Stromi
16.12.2006, 20:23
Wenn das Relais keine Last hat, sprich kein Abreißfunken entstehen kann, stürzt der PIC dann immernoch ab?

Henrik hessert
16.12.2006, 20:47
prüfe doch bitte nochmal mit deinem scope nach, ob die spitze beim ein- oder ausschalten auftritt. diese info ist sehr hilfreich.

henrik

wkrug
16.12.2006, 22:52
Versuch mal die Spannung von deinem Controller über einen Widerstand 4,7...10 Ohm und einem Kondensator 100uF von der Relaisversorgung zu entkoppeln.
Also der Widerstand in die Stromzuführung des PIC der Kondensator dann dahinter.
Das sollte dann Spannungsspitzen auf der Versorgungsspannungsleitung eliminieren.

Dan89
17.12.2006, 10:04
hi, also erst mal mit der last, die ganze schaltung soll später eine pumpe ein- und ausschalten. Gestern hatte ich es schon einmal an dieseer angeschlossen und da war es ganz schlimm mit den abstürzen. Sofern man das beurteilen kann, da es ganz willkürlich abstürzt und unregelmäßig (manchmal kann ich es 30x an und aus machen bis es abstürzt, dann wieder nur3x). dann hab ich die pumpe abgeklemmt, hat dann besser gehalten, aber weg war es immer noch nicht. Hab dann an den relaisausgang einen entstörkondensator gehangen und damit wurde es dann auch besser, wenn es kein zufall war. also momentan ist nur der kondensator dran als verbraucher.

so, und die abstürze hatte ich gestern sowohl beim an als auch beim abschalten. jetzt hab ich es eben noch mal gestestet, da war es nur beim anziehen, ich weiß aber nicht warum es jetzt anders ist, oder was ich geändert habe. könnte aber auch wieder nur zufall sein, dass es jetzt beim abfallen nicht war, glaub ich aber nicht.

ja und die spannung habe ich schon ziehmlich entkoppelt. also die stromversorgung zum pic geht über eine diode und danach habe ich einen 1000uF elko dran (die diode damit sich der elko nur über den pic entladen kann). außerdem greife ich die + spannung zum schalten des relais noch vor dem 7805 ab ( - ist gemeinsam und wird ja vom transistor ans relais geschaltet).

hab jetzt gerade noch nen 10 ohm widerstand in die - bahn gelötet, die zum relais geht, weil die ja noch direkt über den transistor mit dem pic verbunden ist, wurde aber nicht besser. ging zwar erst wieder ziehmlich lange aber dann schon wieder ein paar mal kurz hintereinander nicht.

wkrug
17.12.2006, 10:16
Versuch doch mal die Versorgung des Pic komplett von der Relaisversorgung abzukoppeln. Eigener Spannungsregler, versorgung aus einer Batterie / Akku.
Die Masse muss natürlich durchverbunden bleiben.
Dann kannst Du schon mal austesten, ob die Abstürze über die Versorgungsspannung produziert werden.
Hilft das immer noch nicht würd ich die Pumpenansteuerung über einen Optokoppler machen. Dann hast Du die Stromkreise komplett getrennt - auch die Masse.
Hast Du den Spannungsregler (vermutlich 7805) auch mit 100...220nF Kondensatoren am Ein und Ausgang beschaltet ? Sonst könnte es da eine Schwingungsneigung geben die Deine Probleme verursacht.
Wenn auch die galvanische Trennung der Stromkreise keine verbesserung bringt gehen mir auch langsam die Ideen aus

Dan89
17.12.2006, 11:16
also am spannungsregler hab ich ein- und ausgang je 100nF, müsstedoch eigendlich reichen, oder?

habe gerade mal das relais an eine externe spannungsquelle gehängt, so dass es von der schaltung getrennt ist, funktioiert trotzdem nicht.....

Henrik hessert
17.12.2006, 12:12
hi,

um die fehlerquelle "relais" auszuschliessen, kannst du ja mal probieren in den kollektorkreis des transistors, anstatt des relais, einen widerstand mit ähnlichem widerstanswert der relaisspule zu schalten.

sollte danach alles glatt gehen, würde ich es mal mit einem solid state relais versuchen.

gruß
henrik

phaidros
17.12.2006, 13:36
Welcher PIC ist es? Die PICs haben teilweise ganz verschiedene Gründe, warum sie einen RESET machen. Die Gründe lassen sich auch softwaremäßig abfragen, so dass man sagen kann, was den RESET verursacht hat. Hauptübeltäter: Watchdog Timer oder Brown Out Detection. Die Spannung, bei welcher die Brown Out Funktion anspricht, lässt sich bei einigen PICs über die CONFIG Bits einstellen.

Dan89
17.12.2006, 14:02
ich habe gerade das mit dem widerstand ausprobiert. funktioniert einwandfrei.

danach hab ich noch ein bisschen rumprobiert und bin jetzt soweit, dass die schaltung funktioniert, solange das relais nichts mehr schaltet. selbst wenn ich nur den kondensator wieder am relaisausgang habe funktioniert es nicht mehr richtig. wodurch kommt das? der kondensator kann doch keine netzschwankungen erzeugen...

könnte man dieses problem denn mit einem solid state relais bewältigen?

Dan89
17.12.2006, 14:19
@phaidros hab grad die antwort irgendwie übersehen. ich hab den 16f871 genommen. da ich noch nicht soviel mit pics gemacht habe, hab ich jetzt nicht so die ahnung. den watchdog timer hab ich nicht aktiviert und was diese brown out detection ist weiß ich nicht.

aber ich denke auch, dass es wirklich eine störung über die netzspannung ist, weil es ohne einen verbraucher am relais funktioniert. nur seltsam, dass ich das gleiche problem auch bei einem anderen batteriebetriebenem gerät habe, wo ich mit dem relais auch nur eine niederspannung schalte....

Stromi
17.12.2006, 14:29
Mit dem Kondensator am Relais ist ein Kondensator parallel zum Arbeitskontakt, nicht zur Spule gemeint. Der muß natürlich eine genügende Spannungsfestigkeit haben.ZB. 0,022µF 250 V~
Hast du ihn parallel zum Arbeitskontakt? Ein VDR ginge natürlich auch.

Henrik hessert
17.12.2006, 15:00
hi,

also hast du als störquelle eindeutig das relais ausgemacht.

abhilfe hierfür: solid state relais oder rc-glied parallel zum relais.

zur brown-out detection: darunter versteht man einen im pic integrierten block zur erkennung von unterspannung. sinkt die spannung unter einen gewissen schwellwert, wird automatisch ein reset ausgelöst, um undefinierte zustände des pics zu vermeiden.

auf seite 90 des datenblatts siehst du, wie du die brown-out-detection abschalten kannst. meiner meinung nach kannst du hierfür einfach das BODEN -bit auf 0 setzen.

gruß
henrik

Yossarian
17.12.2006, 15:25
Hallo
entstöre Deinen Verbraucher direkt vor Ort,nicht am Relais.

Mit freundlichen Grüßen
Benno

Dan89
17.12.2006, 15:44
ist richtig, der kodensator ist am arbeitskontakt des relais. ist auch einer der das ganze aushält. vom relais zur pumpe sind vielleicht 30cm kabel, aber an der pumpe ist kein platz um den kondensator dranzuhängen. den kondensator habe ich eh nur dran, weil die pumpe als alleinige last noch mehr abstürze erzeugt.

@henrik: wo meinst du denn das rc-glied dranzuhängen? ursache für den reset ist doch das schalten der last, und nicht das relais selbst.

ich habe nachgesehen: das boden bit habe ich gesetzt, meinst du es würde helfen es auf 0 zu setzen? dann könnte es aber doch auch zu fehlfunktionen kommen, oder?

Yossarian
17.12.2006, 16:11
Hallo
das RC Glied dient dazu den Abrissfunken am Kontakt zu löschen,es wird also dicht am Kontakt angeordnet.

Mit freundlichen Grüßen
Benno

Dan89
17.12.2006, 16:49
dann läuft die pumpe aber doch auch über denn widerstand, oder soll ich die parallel zum rc-glied hängen? nutzt es dann überhaupt noch was? wie viel ohm sollte denn der wiederstand haben??

Yossarian
17.12.2006, 17:16
Hallo

Mit freundlichen Grüßen
Benno

ba4_philipp
17.12.2006, 18:38
Bei mir hat der Wechsel des Relais das Problem gelöst.

Dan89
17.12.2006, 19:26
das mit dem rc-glied hat nicht geklappt, hab ein bisschen mit den werten vom widerstand und kondensator rumprobiert, aber wurde nur noch schlechter.
werde dann wohl warten bis zur nächsten bestellung und dann ein anderes relais einbauen...

trotzdem vielen dank für eure hilfe

mfg daniel

ba4_philipp
17.12.2006, 19:32
Und hast du Freilaufdioden am Motor?

Zu dem Bits die einem sagen, was den Reset verurscaht hat: Bei meinem Mega8 (ok kein PIC) war es so, dass keins ser Bits in dem Register gesetzt war. Als wäre er einfach nur wieder ganz an den Anfang gesprungen.

Gruß Philipp

Henrik hessert
17.12.2006, 20:17
hi,

das RC-Glied ist laut Yossarians skizze anzubringen. du könntest, um einen fehler in der ansteuerung auszuschließen, den ansteuerkreis unterbrechen und das relais via schalter ansteuern.

@ philipp: freilaufdioden am motor halte ich bei einem dc-motor, der nicht getaktet wird, für überflüssig.

gruß
henrik

ba4_philipp
17.12.2006, 20:54
Es ist doch zm einen eine Spule und zum anderen ein Generator. Wenn du nun abschaltest wird unter Umständen eine so hohe Spannung induziert, das es zum Überschlag im Relais und damit zu Störrungen kommen kann. Die Diode würde diese Spannung klein halten, indem der Strom weiter fließen kann.
Oder seh ich das falsch?

Gruß Philipp

Henrik hessert
17.12.2006, 22:52
hi philipp,

generell hast du schon recht. aber um beim ausschalten des motors einen überschlag im relais hervorzurufen, ist eine entsprechend hohe induzierte spannung durch die last (motor) erforderlich. wenn daniel einen relativ kleinen motor schaltet, sollte dessen induktivität auch nicht sehr groß sein.

somit ist die induzierte spannung Ui = -L * (di/dt) auch nicht groß.

zudem hat daniel das problem beim einschalten auch. somit schließe ich die fehlende freilaufdiode des motors aus.



gruß
henrik

Dan89
18.12.2006, 01:00
ich glaube ihr habt mich hier ein bisschen falsch verstanden: der motor in der pumpe is ein 230V 20W wechselstrommotor!
Da ist gar nichts mit ner freilaufdiode. Geht dann auch das rc-glied nicht so wie es soll? konnte nämlich kaum ne besserung feststellen....

ba4_philipp
18.12.2006, 14:28
Achso ok das klärt einiges :)

Zu Henrik. dt geht doch beim abschalten gegen 0 also geht Ui dann schon gegen unendlich. Der Strom hat ja keine Zeit sich abzubauen, wenn du einfach den Kontakt öffnest. Die Energie ist bei einem kleinem Motor zwar klein, trotzdem kann es eine sehr hohe Spannung geben. Oder irre ich?

Ist aber sowieso egal, wenn er einen AC Motor dran hat :) So ein Snubbernetz gehört IMHO aber auch an einen AC Motor.

Gruß Philipp

kalledom
18.12.2006, 15:59
Hallo,
Ihr könnt alle so viel rechnen, wie Ihr möchtet:
Tatsache bleibt, daß es beim Ein- und Ausschalten zu elektromagnetischen Störfeldern kommt, je nachdem zu welchem Zeitpunkt der Wechselspannungs-Phase der Kontakt schließt bzw. öffnet; das ist physikalisch so. Darum tritt der 'Stör-Effekt' (Reset) auch zu unterschiedlichen Zeitpunkten auf.
Deshalb muß unmittelbar am Schließer-Kontakt der oben genannte Entstörfilter aus Widerstand und Kondensator sein. Dabei fließt ein nicht nennenswerter Strom über das Entstörglied zum Motor; für die geringe Stromhöhe ist nicht der Ohmsche Widerstand maßgeblich, sondern der Wechselspannungs-Widerstand des 100nF Kondensators bei 50Hz.
Als nächste Maßnahme muß der Motor über einen Schutzleiter geerdet sein.
Das Relais muß unmittelbar an der Spule eine Freilaufdiode haben.
Der Plus zum Relais darf nicht die +5V-Versorgung vom Controller sein. Wenn Controller und Relais vom gleichen Netzteil versorgt werden, dann sollte die Spannung der Elektronik über eine Diode an 100...1000µF und von dort zum Spannungsregler geführt werden. An den Ausgang gehört ausschließlich der µC mit seiner erforderlichen Elektronik.
Der Spannungregler muß am Ein- und Ausgang so dicht wie möglich 100nF haben, am Ausgang zusätzlich einen Tantal 4,7...10µF (Tantal = induktionsarm / Elko = gewickelt = induktiv).
Am Controller muß unmittelbar an den Versorgungs-Pins ein 100nF und 10µF Tantal hin, ganz gleich, ob 4 cm davor die Kondensatoren des Reglers sitzen. Das Eine hat mit dem Anderen nichts zu tun.
Die Kondensatoren am Regler bedämpfen dessen Schwingneigung, die Kondensatoren am Controller halten Störspitzen ab.
Das sind erst einmal die wichtigsten Maßnahmen, um eine Controller-Schaltung einigermaßen stabil ans Laufen zu bekommen.

Das schützt jedoch weder bei Blitz und Donner, noch bei sehr starken Funken und Schaltspitzen. Dann muß ggf. das Relais weiter entfernt platziert oder 2 separate Spannungsversorgungen verwendet werden, wobei dann Aus- und Eingangs-Signale über Optokoppler zu trennen sind; das ist in der Industrie absoluter Standart, da ist keine Zeit für lange Diskussionen und Experimente, dann wären längst alle Pleite.
Dort haben die Relais und Schütze eine 24VDC-Versorgung und selbstverständlich Freilaufdioden, die (Controller-) SPS-Steuerungen ein eigenes Netzteil und die Ein- / Ausgänge Optokoppler.
Zu schaltende Induktivitäten, wie z.B. Magnetventile, haben unmittelbar an der Spule, meistens im Stecker, eine Freilaufdiode.
Störungen müssen immer unmittelbar an der Quelle bekämpft werden und dürfen sich nicht erst über Leitungen (wunderschöne Antennen) sternförmig ausbreiten.
So, genug fürs Erste :-) Pause ....

Henrik hessert
18.12.2006, 21:29
hi,

@ kalledom:

das thema emv wurde zumindest schon angeschnitten.
siehst du bei oben genannter problemstellung den störpfad eher als leitungsgebunden oder eher als abgestrahlte störung ?

bei leitungsgebundenen störungen würden deine genannten abhilfemassnahmen sicher alle eine verbesserung hervorrufen.

sollte es sich aber um eine einkopplung durch eine abgestrahlte störung handeln, würden nur eine geeignete schirmung bzw. ein geeignetes platinenlayout (z.B. große masselayer) nützen.

trotzdem ist in diesem fall meiner meinung nach, wie schon erwähnt, ein solid state relais (evtl. gepaart mit einer nulldurchgangserkennung) die beste wahl.

gruß
henrik

Yossarian
18.12.2006, 22:40
Hallo
Solids sind eine feine Sache.
Trotzdem, Relais werden zu abertausenden eingesetzt,auch an µC und funktionieren.
Entweder hat sein Motor eine Macke oder er hat irgendwo einen dicken Hund begraben.
Das Problem ist die tröpfchenweise Information

Mit freundlichen Grüßen
Benno

kalledom
19.12.2006, 01:50
@Henrik hessert
Leitungsgebunden oder nicht, das ist hier die Frage ?
Ich vermute, eher nicht. Der Reset wird sporadisch ausgelöst, möglicherweise immer dann, wenn zufällig beim Scheitelpunkt des Sinus geschaltet wird. Das wird einen hübschen Funken geben, der sich als elektro-magnetische Welle ausbreitet und dann irgendwo in den µC reinhaut. Die Frage ist wo. Über das Relais ist die Elektronik galvanisch von Motor und Netz getrennt (hoffe ich mal).
Zuerst sollten aber die genannten Maßnahmen überprüft und evtl. nachgerüstet werden. Es gibt ja noch viel mehr Möglichkeiten und Maßnahmen.
Dann kann noch logisch eingegrenzt werden:
gibt es einen Reset, wenn das Relais ab ist ? wenn der Motor ab ist ? wenn das Relais weiter vom µC weg ist ? wenn eine Glühlampe geschaltet wird ? usw.
Wer als unerfahrener 'EMV-Spezi' eine Schaltung aufbaut und dann induktive Verbraucher schaltet, bekommt sehr schnell Probleme.
Hier hilft eigentlich nur experimentieren und Erfahrungen sammeln.
Wie Yossarian mit Recht sagt, mit Relais funktioniert das abertausend mal. Da werden noch viel dickere 'Klamotten' geschaltet, ohne daß die SPS gleich 'ausrastet'.

Dan89
19.12.2006, 11:44
nochmals danke. ich denke hier ist dann wohl wirklich am besten was kalledom sagt: "experimentieren und erfahrungen sammeln"

die oben genannten dinge hatte ich schon fast alle so oder ähnlich gemacht, werd einfach nicht aufgeben und weiter rumprobieren. habe nur leider jetzt erstmal keine gelegenheit zum weiterbauen, deshalb wollte ich es eigendlich auch spätestens sonntag abend am laufen haben.... aber das ist dann halt so.

trotzdem danke für die vielen ratschläge...

mfg daniel

kalledom
19.12.2006, 12:58
Hallo Daniel,
Du wirst so alt wie 'ne Kuh und lernst immer noch dazu :-)
Ich stehe selbst nach 42 Jahren mit praktischen Erfahrungen aus (fast) allen Bereichen der Elektrik und Elektronik heute noch bei manchen 'Störungen' wie ein Ochs' vor'm Berg und finde keine Maßnahme, die greift.
Dann kommen 'Verzweiflungstaten' wie Blechgehäuse, Durchführungskondensatoren, Varistoren, .....
Irgend eine Sache hilft dann, oder vielleicht alle zusammen in der Kombination ? Auf jeden Fall helfen da keine schlauen Bücher.
Nicht den Strohhalm suchen, sondern immer dran denken, das läuft alles schon tausendfach und problemlos. Irgendwie ist dann eine Winzigkeit übersehen worden; genau diese Winzigkeit finden die Störimpule und nutzen sie, um Dir die Schaltung 'außer Betrieb' zu setzen.