Hallo Leute, ich steuere mit meinen Mikrocontroller einen 12 V Gleichstrommotor mit Drehrichtungsumkehr an. Der Mikrocontroller startet leider ständig neu (Absturz) wenn der Motor angesteuert wird, oder aber, wenn das Programm z.B auf eine Eingabe wartet, und ich dann die Motoren von Hand überbrücke, wird wie von Geisterhand irgendeine Zahl eingelesen. Ich schätze, dass irgendwelche Spannungen bei der Beschaltung auftreten, die nicht auftreten sollten und das die Beschaltung der Freilaufdioden am Motor (GRÜN) falsch ist. Die Lösung ist auch nicht ideal, aber der Kollektorstrom wäre für die direkte Beschaltung des Motors zu groß gewesen und das Relais direkt mit den µc ansteuern geht auch nicht, da zu wenig Strom. Leider hatte ich dann auch nur 1x Wechsler Relais, so dass ich zwei benötigt habe. Ach ja in Grundstellung (Motor Aus) liegt natürlich links und rechts am Motor immer Masse, so dass immer nur ein Relais angesteuert wird. Bei google hatte ich damals zur Beschaltung bei Drehrichtungsumkehr nur ein Ergebnis gefunden (GRÜN). Wenn ich mir das so anschaue, bezweifel ich, ob das funktioniert, da egal ob der Motor nach Links oder Rechtslauf gestoppt wird, dann eine auftretene Spannung darüber nicht abfliessen kann, da ja beide Seiten sperren! ? Der Fehler muss auf jeden Fall mit den Motor zusammenhängen, da ansonsten das Programm ohne Probleme durchläuft. Versorgungsspannung bricht bei Motorlauf auch nicht ein. Grüße Matthias
edit: dann eine auftretene Spannung darüber nicht abfliessen kann, da ja beide Seiten sperren! ? ich meine den abfliessenden Strom.
Deine Schaltung ist Unsinn. Je eine Diode von jedem Motoranschluss nach plus und nach Masse, in Sperrichtung.
@Matthias Peters (Gast) >die nicht auftreten sollten und das die Beschaltung der Freilaufdioden >am Motor (GRÜN) falsch ist. Ja. Bei einer H-Brücke braucht man 4 Freilaufdioden. Schau mal ins Datenblatt des L293D. Außerdem braucht es auch einen ausreichend großen elko an der Versorgungsspannung, um die rückgespeiste Energie aufzunehmen. Gem mal mit 1000uF ins Rennen. Motoransteuerung mit PWM >Ach ja in Grundstellung (Motor Aus) liegt natürlich links und rechts am >Motor immer Masse, so dass immer nur ein Relais angesteuert wird. Dann zeichne das auch so!
So wie im Anhang sollte das klappen. Den dicken Elko dicht an die Relais, und die Diode auch.
Matthias S. schrieb: > So wie im Anhang sollte das klappen. Natürlich nicht. Die Schaltung der 1 Diode bringt nichts. Die Freilaufdiode sollte eigentlich die Kontakte des Telais schützen, dafür braucht man schon 4.
MaWin schrieb: > Die Schaltung der 1 Diode bringt nichts. Oh doch, sie schützt den Rest der Schaltung, und das wurde vom TE bemängelt: Matthias Peters schrieb: > Der Mikrocontroller startet leider ständig neu (Absturz) wenn der Motor > angesteuert wird, oder aber, wenn das Programm z.B auf eine Eingabe > wartet Die Relaiskontakte müssen die Gegen EMK schon aushalten.
:
Bearbeitet durch User
Hallo und vielen Dank für Eure bisherigen Antworten. Matthias S. schrieb: > So wie im Anhang sollte das klappen. Den dicken Elko dicht an die > Relais, und die Diode auch. Ist das von der Funktion so, dass die Spannung, die beim Abschalten entsteht durch die Diode auf ca 12,7 V begrenzt wird, wenn man als Versorgungsspannung z.B 12 V hat ? Ich habe bei der Sache Verständnisprobleme, würde ja wenig bringen, wenn ich das einlöte, es funktioniert aber ich es nicht verstanden habe.
Wenn ich mich dazu entscheiden würde, diese Beschaltung zu nehmen um die Schaltung zu schützen, wären die beiden Dioden oben doch überflüssig oder nicht ?
Matthias Peters schrieb: > wären die beiden Dioden oben doch überflüssig Nein, die müssen da sein, man weiss ja nicht, welcher Umschaltkontant tatsächlich als erster trennt.
Aber es ist ja immer nur ein Umschaltkontakt geschaltet. In Grundstellung sind beide wie auf den Bild. Bei Rechtslauf ist z.B linker Kontakt geschaltet ( nach oben ) und der rechte bleibt so wie er ist.
Achso moment verstehe. Ich habe vergessen zu erwähnen, dass zwischen der Drerichtungsumkehr eine Pause ist. Jetzt verstehe ich auch was du meintest. Ja, dann macht es Sinn, wenn beide Kontakte "gleichzeitig" schalten.
Also das Problem der Abstürze lässt sich durch die Schutzbeschaltung (1000 µF Kondensator und Diode zwischen + und Gnd nicht lösen) Die Beschaltung mit 4 Dioden an den Kontakten wäre auch nur Blödsinn, da zwischen der Drehrichtungsumkehr eine Pause ist. So das es zwangsläufig nicht dazu kommen kann, dass eine hohe Spannung entshet, da beide Motorpins bei Motorstopp ja auf Masse liegen bzw. derjenige der bei Motorlauf auf Masse liegt, gar nicht erst verändert wird. Wenn ich die Motoren abklemme, läuft der Mikrocontroller problemlos. Ich habe mal etwas gegooglet und es könnte vielleicht an einen unerwünschten Schwingkreis liegen, welcher durch die Induktivität und den anderen Schaltungsbauteilen besteht. Ich versuche jetzt die Anregung durch plötzliche Schaltvorgänge zu vermeiden, indem ich ein RC-Glied parallel zum Schaltkontakt einbaue, obwohl ich den Erfolg bezweifel, da die Abstürze auch beim Einschaltvorgang auftreten.
MaWin schrieb: > Matthias S. schrieb: >> So wie im Anhang sollte das klappen. > > Natürlich nicht. Die Schaltung der 1 Diode bringt nichts. Die > Freilaufdiode sollte eigentlich die Kontakte des Telais schützen, dafür > braucht man schon 4. Natürlich klappt das so! Seit vielen Jahren z.B. im R60.
Matthias Peters schrieb: > Ich habe mal etwas gegooglet und es könnte vielleicht an einen > unerwünschten Schwingkreis liegen, welcher durch die Induktivität und > den anderen Schaltungsbauteilen besteht. Am beste Du zeigst uns mal Dein Kunstwerk.
F. F. schrieb: > MaWin schrieb: >> Matthias S. schrieb: >>> So wie im Anhang sollte das klappen. >> >> Natürlich nicht. Die Schaltung der 1 Diode bringt nichts. Die >> Freilaufdiode sollte eigentlich die Kontakte des Telais schützen, dafür >> braucht man schon 4. > > Natürlich klappt das so! > Seit vielen Jahren z.B. im R60. Macht auch jeder Curtis DC-Controller so (und da reden wir von z.B. 5kW Motoren). Die Freilaufdiode liegt direkt über dem Controller und das Polwenderelais wendet den Motor ohne zusätzliche Dioden. Das Problem des TE wird sein, das er ohne jegliche Vorrichtung zum Anlauf den Motor auf die vollen 12V legt. Das macht man heute nicht mehr so, sondern startet den Motor mit Sanftanlauf. @TE: Schau dir mal sowas an: https://www.mikrocontroller.net/attachment/283744/RC_Servo.png Der Artikel dazu: Beitrag "RC-Servoelektronik für DC-Motor"
Hallo nochaml, Matthias S. schrieb: > @TE: Schau dir mal sowas an: > https://www.mikrocontroller.net/attachment/283744/RC_Servo.png > Der Artikel dazu: > Beitrag "RC-Servoelektronik für DC-Motor" Vielen Dank, ich schaue mir das heute Abend mal in Ruhe an. Ist für mich so erstmal nicht zu durchschauen! Ich bin "anderweitig" etwas weiter gekommen. Ich lasse mir im Programm die Betriebsspannung anzeigen (ca 12 V) indem ich an einen Spannungsteiler eine Spannung abgreife und diese den analogen Eingang zuführe. Wenn ich den Draht vom Analogen Eingang abklemme, läuft alles Problemlos, da kann ich die Motoren so oft ein- und Ausschalten wie ich will. Also wenn durch die abprubten Spannungsänderungen beim Ein-und Ausschalten ein Schwingkreis angeregt wird, der für den Krempel verantwortlich ist, dann habe ich jetzt die Möglichkeit die Ursache, also entweder durch Sanftanlauf, oder wenn es klappt RC-Glied parallel zum Schaltkontakt dieses zu verhindern. Alternativ die Wirkung (weniger schön) zu bekämpfen, indem ich auf den Analogeingang verzichte. Da kann ich aber nicht. Hat jemand eine Idee, was man an den Analogeingang machen könnte ? Ist jetzt vielleicht eine blöde Sache, aber das mit den Sanftanlauf lässt sich in Kürze kaum realisieren und RC-Glied parallel zum Schaltkontakt ist blöd, weil ich kein Platz mehr auf der Platine habe und selbst dann ist die Frage ob es Abhilfe schafft.
Du hast wahrscheinlich ein Problem mit dem zu großen Anlaufstrom des Motors, der dir deine Stromversorgunng kurzzeitig einbrechen läßt. Oder du hast unzureichend Abblockkondensatoren an deinem Controller, auch am Reset sollte man sowas platzieren. https://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator Weiterhin kann die Masseführung falsch sein, wenn die Motorströme, gerade beim Einschalten, über die Logikmasse fließen. Ein Bild des realen Aufbaus wäre hilfreich. Bitte die Bildformate beachten.
:
Bearbeitet durch User
Ein großer Widerstand zwischen Motor und Analogeingang, ein Pullup + Kondensator am Reset-Pin?
Hallo, Falk B. schrieb: > Du hast wahrscheinlich ein Problem mit dem zu großen Anlaufstrom des > Motors, der dir deine Stromversorgunng kurzzeitig einbrechen läßt. Oder > du hast unzureichend Abblockkondensatoren an deinem Controller, auch am > Reset sollte man sowas platzieren. Vielen Dank für die Infos mit den Abblockkondensator. Wäre durchaus möglich, dass dort das Problem liegt,bzw. beim Ausschalten des Motors aufgrund der Stromaufrechterhaltung der Induktivität irgendwie Strom aus den Analogen Eingang abgezweigt wird,(wenn das überhaupt geht), der dann fehlt ? Die Spannungsversorgung bricht jedenfalls nicht ein, zumindest laut Oszilloskop nicht. Aber: batman schrieb: > Ein großer Widerstand zwischen Motor und Analogeingang Das hat doch TATSÄCHLICH geklappt ! Ich habe einen 470 kOhm Widerstand dazwischengeschaltet. Jetzt läuft das Programm problemlos! Einzig, das 1.8 TFT Display hat beim Ein- und Ausschalten des Motors etliche Pixelfehler. Die Schaltung an sich ist ein ziemlicher Induktionsherd
F. F. schrieb: > MaWin schrieb: >> Matthias S. schrieb: >>> So wie im Anhang sollte das klappen. >> >> Natürlich nicht. Die Schaltung der 1 Diode bringt nichts. Die >> Freilaufdiode sollte eigentlich die Kontakte des Telais schützen, dafür >> braucht man schon 4. > > Natürlich klappt das so! > Seit vielen Jahren z.B. im R60. Da kannst du noch so oft mit dem Fuss aufstampfen wie du willst, diese eine Diode verhindert keine Abreissfunken am Relais und die damit einhergehenden Funk-Störungen), sondern höchstens eine Verpolung der Betriebsspannung (falls die Quelle nicht stärker ist als die Diode) und als Z-Diode an der Stelle ein Ansteigen der Betriebsspannung beim Bremsen des Motors über die Z-Dioden-Spannung. Matthias S. schrieb: > Macht auch jeder Curtis DC-Controller so (und da reden wir von z.B. 5kW > Motoren). Die Freilaufdiode liegt direkt über dem Controller und das > Polwenderelais wendet den Motor ohne zusätzliche Dioden. Dort schaltet das Polwnederelais aber nur., wenn der PWM-Motorcontroller den Motor schon ausgestellt hat und der Motor steht. Das kann Matthias P. Schaltung aber nicht, weil dort die Relais immer an Betriebsspannung liegen, ohne MOSFET zum regeln und abschalten. Leute, Grundlagen der Physik, ist das denn so schwer ?
Matthias Peters schrieb: > Aber es ist ja immer nur ein Umschaltkontakt geschaltet. > In Grundstellung sind beide wie auf den Bild. Du denkst und planst für eine ideale Welt, die es nicht gibt. In der realen Welt schalten Relaiskontakte nicht instantan. Stell dir einfach mal vor, du schaust dir deine Relaiskontakte mit einer Zeitlupenkamera an, die alles Faktor 1 Million verlangsamt. Dann ist ganz klar, daß beim Umschalten eines Kontakts der Motoranschluß für eine gewisse Zeit in der Luft hängt. In dieser Zeit kann sich jetzt eine Spannungspitze am Motor aufbauen, weil der Strom unterbrochen ist, die Induktivität der Motorwicklung den Strom aber weiter fließen lassen will. Und genau dann kommen die Freilaufdioden ins Spiel. Je nachdem, in welche Richtung der Kontakt umschaltet (und in welche Richtung damit die Induktions-Spannungsspitze auftritt) übernimmt entweder die eine oder die andere Freilaufdiode und leitet den Strom aus der Motorwicklung in die Betriebsspannungsleitung ab. Und damit diese Stromspitze nicht die Betriebsspannung anhebt, muß da der Elko ran. Sobald der Relaiskontakt wieder geschlossen hat, fließt der Strom über den Kontakt und die dann entstandene Kurzschlußstrecke zum anderen Ende des Motors. So lange bis die Energie aus dem Magnetfeld abgebaut ist (verheizt im ohmschen Widerstand der Motorwicklung).
:
Bearbeitet durch User
Axel S. schrieb: > Matthias Peters schrieb: >> Aber es ist ja immer nur ein Umschaltkontakt geschaltet. >> In Grundstellung sind beide wie auf den Bild. > > Du denkst und planst für eine ideale Welt, die es nicht gibt. In der > realen Welt schalten Relaiskontakte nicht instantan. > > Stell dir einfach mal vor, du schaust dir deine Relaiskontakte mit einer > Zeitlupenkamera an, die alles Faktor 1 Million verlangsamt. Dann ist > ganz klar, daß beim Umschalten eines Kontakts der Motoranschluß für eine > gewisse Zeit in der Luft hängt. > > In dieser Zeit kann sich jetzt eine Spannungspitze am Motor aufbauen, > weil der Strom unterbrochen ist, die Induktivität der Motorwicklung den > Strom aber weiter fließen lassen will. > > Und genau dann kommen die Freilaufdioden ins Spiel. Je nachdem, in > welche Richtung der Kontakt umschaltet (und in welche Richtung damit die > Induktions-Spannungsspitze auftritt) übernimmt entweder die eine oder > die andere Freilaufdiode und leitet den Strom aus der Motorwicklung in > die Betriebsspannungsleitung ab. Und damit diese Stromspitze nicht die > Betriebsspannung anhebt, muß da der Elko ran. > > Sobald der Relaiskontakt wieder geschlossen hat, fließt der Strom über > den Kontakt und die dann entstandene Kurzschlußstrecke zum anderen Ende > des Motors. So lange bis die Energie aus dem Magnetfeld abgebaut ist > (verheizt im ohmschen Widerstand der Motorwicklung). Vielen dank für die ausführliche Antwort. Es ist aber so, hatte ich oben zwischendurch mal erwähnt: Beide Relaiskontakte sind erstmal auf GND. Ein Kontakt wird nun geschaltet. Der Motor dreht sich. Genau dieser Kontakt wird dann wieder abgeschaltet, also zurück auf Masse gelegt. Nun kann der Strom wollen was er will. Beide Anschlüsse sind auf Masse und der Strom fliest ab. Ich hatte oben ja bereist erwähnt, das ich den Motor zwar in beiden Richtungen laufen lasse, aber niemals direkt umschalte, sondern mit einer Pause zwischendurch. Deshalb brauche ich auch keine Dioden mehr. Ja das mit den Elko mach ich noch, das kann ja nicht schaden. Ich hoffe, das stimmt jetzt so wie es gesagt habe und war verständlich. Trotzdem danke für die Antwort. Wenn ich falsch liege, weist mich drauf hin. Grüße Matthias
Matthias Peters schrieb: > Vielen dank für die ausführliche Antwort. > Es ist aber so, hatte ich oben zwischendurch mal erwähnt: > > Beide Relaiskontakte sind erstmal auf GND. Ein Kontakt wird nun > geschaltet. > Der Motor dreht sich. Genau dieser Kontakt wird dann wieder > abgeschaltet, also zurück auf Masse gelegt. Und was genau ändert das? Der Kontakt schaltet den Anschluß des Motors eben nicht instantan zurück auf GND. Das war genau mein Punkt. Du hast nichts begriffen
Matthias Peters schrieb: > Beide Relaiskontakte sind erstmal auf GND. Ein Kontakt wird nun > geschaltet. > Der Motor dreht sich. Genau dieser Kontakt wird dann wieder > abgeschaltet, also zurück auf Masse gelegt. Nun kann der Strom wollen > was er will. Beide Anschlüsse sind auf Masse und der Strom Man hat es versucht dir 3 x zu erklären, aber dein Gehirn will einfach nicht. Ein KOntakt ist nicht "sofort" umgeschaltet, sondern erst mal offen. In deinen Fall also ein Kontakt der bisher nach plus verbunden hat. Der Strom will über den öffnenden Kontakt weiterfliessen, und as macht er in dem die Spannung ausreichend steigt damit der Funke die Luftstrecke überwinden kann, auch mit Spannungen deulich über plus. Eine Freilaufdiode über dem Kontakt nach plus begrenzt die Spannung auf plus+0.7V, damit der Kontakt nicht leidet und die Funkstörungen klein blieben. Es sei denn man ist ignorant und glaube alles besser zu wissen und Ratschläge in den Wind zu schiessen ohne sie verstanden zu haben.
upsala, dann sollte ich wohl besser aufhören zu basteln und besser alles verkaufen mit einen so schlechten Gehirn. Ich hatte nur immer gelesen, dass wenn sich z.B hinter den Motor ein Transitsor befindet, am Kollektor z.B die Spannung aus den o.g Gründen ansteigt und dieser dann u.U zerstört wird. Dass das eben auch davor genauso ist, also in Richtung Zuleitung war mir bis grade noch unklar. Das man da natürlich nicht sofort drauf kommt, wenn mehrere Leute sich hier selber nicht sicher sind, was denn jetzt genau stimmt kann ja nur am schlechten Gehirn liegen. Zum Schluss wurde es aber gut erklärt, also Danke. Vielleicht können wir es ja dabei belassen, wenn keiner mehr Beleidigungen o.ä austeilen möchte.
Ein geratener 470k kann funktionieren aber wenn du ein Oszilloskop hast, solltest du mal den Spike, der offenbar am Analogpin aufläuft, für optimale Gegenmaßnahmen vermessen. Einmal links, einmal rechts vom Widerstand, Amplitude gegen GND, dann kannst du auch den Störstrom abschätzen, der durch die Portschutzdioden will.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.