Hey beisammen, ich hatte in einem anderen thread (Beitrag "PWM Signal über Schleifkontakt") bereits geklärt dass ich ohne Probleme ein PWM Signal über einen Schleifkontakt schicken kann. Mit diesem PWM Signal plane ich nun, einen Motor anzusteuern - ich bin aber auch weiterhin ein vollkommener Anfänger in Sachen Schaltungen und musste mich erst einmal über die H-Brücke schlau machen. Ich habe einige fertige Teile gefunden, die in der Lage sind diese Aufgabe zu erledigen, aber die Meisten unterstützen nur vorwärts / rückwärts / leerlauf oder sind für meine Zwecke eigentlich viel zu kompliziert. Ich habe ein bisschen weitergelesen und http://www.talkingelectronics.com/projects/H-Bridge/H-Bridge-1.html (Design 24) gefunden. Das finde ich eigentlich relativ genial, da es keine "Bad States" gibt und ich mit nur 3 pins, wovon nur 1 pwm fähig sein muss, auskomme. Ich zweifle jedoch daran, ob ich tatsächlich Oktokoppler brauche, und habe auch nicht wirklich Lust für die Darlington Stellung die supply voltage hochzudrehen. Ich habe mir statt Dessen das angehängte versimpelte Design überlegt. Kann mir jemand weiterhelfen, ob das so funktionieren würde? Das eingehende Signal wäre theoretisch auch 3.3v (daher die Auswahl des MOSFET), aber ich ziehe noch in Betracht es statt Dessen einfach mit einem LLC in 5v umzuwandeln.
:
Verschoben durch Moderator
Lukas T. schrieb: > Kann mir jemand weiterhelfen, ob das so funktionieren würde? Die Lowside Transistoren würden so schon funktionieren, aber die Highsides werden nur als Emitterfolger betrieben - es steht also am Emitter nur die Spannung der Basis minus der BE Diodenspannung. Hier habe ich mal eine H-Brücke vorgestellt, die auch nicht viel komplizierter ist: Beitrag "Re: RC-Servoelektronik für DC-Motor"
Die Schaltsymbole sind bipolare Transistoren, die Bezeichnung gehört zu MOSFETs. Da stimmt was nicht... Wenn du die MOSFETS(ich nehme an, es sollen trotz Symbol welche sein, denn du schreibst selber davon) nur über Widerstände ansteuerst, kriegst du lange Schaltzeiten. Das hat außer hohen Schaltverlusten auch Kurzschlüsse beim Umschalten zu Folge. Ganz ohne Schaltzeit geht es auch mit richtigen Treiberschaltungen nicht, das heißt du brauchst eine Totzeit zwischen den Schaltvorgängen der einzelnen Transistoren. Fertige H-Brückentreiber haben sowas integriert, so ganz unpraktisch sind die nicht ;-) Was für Ströme willst du denn schalten? LG, Björn
Wenn in der Highside N-Kanal MOSFets sein sollen, wirds noch schlechter. Sourcefolger geben noch weniger Spannung am Ausgang ab als Emitterfolger.
Björn R. schrieb: > Was für Ströme willst du denn schalten? Wüsste ich auch gerne. Meines Erachtens würden L6201 bzw. L6203 schon reichen. Ein separater Aufbau lohnt nur bei speziellen Anwendungen.
Danke schon mal für die Antworten! Ich bin theoretisch noch dabei, es nachzuvollziehen, aber ich schreibe schon mal. Ich bin daran interessiert, mit möglichst wenig Kanälen möglichst alle theoretischen features eines motor drivers abzuchecken. Deshalb fand ich das design grundsätzlich sehr gut: Keine Möglichkeit für bad states (short circuits), alle modes abgedeckt, nur 1 pwm channel und "default state" = leerlauf. Mein inputs sind 3.3v channel aus einem ESP32 (aber ich habe nichts gegen einen oder zwei logic level converter auf 5v dazwischen). Damit will ich einen 12v Motor steuern: Vorwärts, rückwärts, Geschwindigkeitsregelung sowie bremsen. Ich hoffe das beantwortet die Frage.
:
Bearbeitet durch User
12V Motoren gibts auf der Modelleisenbahn genauso wie im Auto als Anlasser. Die Frage nach dem Strom, die sehr wichtig ist, hast du also leider noch nicht beantwortet. Bad States sind mit deiner Schaltung vorprogrammiert bzw. eingebaut. Um es nochmal zu erläutern: Wenn du das gleiche Signal an Highside- und Lowside-Transistor legst, wird beim Umschalten der eine schon leitend, während der andere noch nicht nicht ganz zu ist => Satter Kurzschluss! Das funktioniert nur bei sehr kleinen Leistungen mit in Reihe geschalteten, strombegrenzenden Widerständen. Ist aber auch "nicht schön". Mit passendem IC kommst du auch mit 3 Leitungen aus, sämtliche Schaltlogik, evtl generieren der nötigen Steuerspannungen und auch Einhaltung der Totzeiten zur Vermeidung des eben Beschriebenen übernimmt das IC. LG, Björn
Am besten mit LT Spice simulieren, da sammelt man Erfahrung.
Björn R. schrieb: > Wenn du das > gleiche Signal an Highside- und Lowside-Transistor legst, wird beim > Umschalten der eine schon leitend, während der andere noch nicht nicht > ganz zu ist => Satter Kurzschluss! Aha, das ergibt für mich Sinn. Ich bin Schaltzeiten nicht gewohnt. Der 12v Motor den ich schalte ist für eine Art Ventilator. Er sollte etwa 1A max. ziehen. Okay, also mit einem IC wäre ich auch zufrieden. Ich hatte nur soweit keinen gefunden, der mir eine brake-funktion gibt. Ich schaue mir momentan das L6201 Datenblatt an... Edit: Im Datenblatt finde ich eine hübsche Tabelle: Enable High: Input Low, Low => sink, sink = brake low Input High, High => source, source = brake high Input Low, High => sink, source = forward Input High, Low => source, sink = backward Enable Low: Off Wenn ich das richtig verstehe, kann ich ein PWM Signal auf enable legen und forward / backward wie bisher geplant verwenden? Das wäre natürlich optimal.
:
Bearbeitet durch User
Richtig. Der Tipp mit LTSpice ist nicht verkehrt, da kann man schon einige Fehler erkennen. Zwar bedeutet es nicht, wenn die Schaltung in LTSpice funktioniert, dass sie es in echt auch tut. So einige Denkfehler lassen sich damit aber kostengünstig und rauchfrei aufdecken. LG, Björn
LTSpice wird geladen, und ich habe denke ich eine Lösung für mein Problem. Vielen Dank euch beiden!
Björn R. schrieb: > So einige Denkfehler lassen sich damit aber kostengünstig und rauchfrei > aufdecken So ist es! Ich habe ein H-Brücke zur Ansteuerung einer Piezosirene simuliert. Nach einigen Korrekturen in LT Spice hat es dann auch in der Praxis funktioniert. Querströme bei Umschalten lassen sich recht gut darstellen.
:
Bearbeitet durch User
Als integrierte Motortreiber sollten sich auch TLE4201 (wenn man ihn bekommt) und BA6209 gut eignen, beide sind für direkten Anschluss an 3,3V Logik geeignet.
Lukas T. schrieb: > finde ich eigentlich relativ genial Ja, merkwürdig, dass Laien immer die Ergebnisse mögen, die einfach und simpel erscheinen und nichts taugen. FWD und REV gleichzeitig aktiv und deine Spannungsquelle wird kurzgeschlossen. Es kommen ca. 3V weniger raus als an FWD oder REV angelegt wird. Mehr als 20V dürfen es auch nicht sein. Besorge dir einfach einen fertigen, robusten Chip, vielleicht TLE5204.
Lukas T. schrieb: > Wenn ich das richtig verstehe, kann ich ein PWM Signal auf enable legen > und forward / backward wie bisher geplant verwenden? PWM auf enable ist nicht gut, da die Drehzahl dadurch lastabhängig wird.
MaWin schrieb: > Lukas T. schrieb: >> finde ich eigentlich relativ genial > > Ja, merkwürdig, dass Laien immer die Ergebnisse mögen, die einfach und > simpel erscheinen und nichts taugen. Das liegt daran, dass wir von den Themen wenig verstehen und komplexere Dinge sind nun mal schwieriger zu verstehen. Da bitte ich um Nachsicht =) > Besorge dir einfach einen fertigen, robusten Chip, vielleicht TLE5204. Danke für den Tipp, ich werde ihn mir auch mal anschauen. m.n. schrieb: > PWM auf enable ist nicht gut, da die Drehzahl dadurch lastabhängig wird. Hast du einen Gegenvorschlag für Drehzahlregelung? Ich kann die Drehzahl eigentlich ganz gut synchronisieren, da ich die aktuelle Drehzahl kenne und dann mit der heuristisch determinierten PWM Frequenz steuern können sollte.
Lukas T. schrieb: > Hast du einen Gegenvorschlag für Drehzahlregelung? Beim L6203 habe ich immer zwei PWM-Signale (an IN1 und IN2) verwendet, die in der Regel mit zwei Compare-Signalen eines Timers erzeugt wurden. Je nach Bedarf kann man dann einen Motor vor und zurück betreiben, oder zwei Motore mit nur einer Drehrichtung. Sofern Du nur ein PWM-Signal hast, könntest Du eine Halbbrücke für die Richtungsvorgabe und die andere mit PWM angesteuert für die Drehzahleinstellung verwenden. Eine weitere Möglichkeit wäre, das PWM-Signal für die 2. Halbbrücke zu invertieren. Beim Tastverhältnis von 50% würde er dann stehen bleiben. Enable mit PWM anzusteuern ist ungeschickt. Sofern der Motor durch äußere Kräfte beschleunigt wird, wird es schwierig, ihn zu bremsen bzw. zu regeln.
m.n. schrieb: > Lukas T. schrieb: >> Hast du einen Gegenvorschlag für Drehzahlregelung? > > Beim L6203 habe ich immer zwei PWM-Signale (an IN1 und IN2) verwendet, > die in der Regel mit zwei Compare-Signalen eines Timers erzeugt wurden. > Je nach Bedarf kann man dann einen Motor vor und zurück betreiben, oder > zwei Motore mit nur einer Drehrichtung. Ich bin nicht sicher, ob ich diesen Ansatz insbesondere im Vergleich zum darauffolgenden verstehe. Wenn ich die beiden INs separat durch PWM ansteuere, wechsele ich doch 'wild' zwischen den 4 Modi hin und her, oder nicht? > Sofern Du nur ein PWM-Signal hast, könntest Du eine Halbbrücke für die > Richtungsvorgabe und die andere mit PWM angesteuert für die > Drehzahleinstellung verwenden. Das würde heißen, dass ich durch das Tastverhältnis bestimme, wie viel Zeit er im beschleunigen / brake Modus verbringt? Ich sehe ein, dass ich dadurch mehr Kontrolle über Geschwindigkeitseinhaltung habe. Solange das keine anderen Nachteile hat wäre das gar nicht schlecht. > Eine weitere Möglichkeit wäre, das PWM-Signal für die 2. Halbbrücke zu > invertieren. Beim Tastverhältnis von 50% würde er dann stehen bleiben. Dann würde ich aber wechseln zwischen forward und backward, und soweit ich das verstanden habe wirkt das unschöne Kräfte auf den Motor aus, oder nicht?
Lukas T. schrieb: >> Eine weitere Möglichkeit wäre, das PWM-Signal für die 2. Halbbrücke zu >> invertieren. Beim Tastverhältnis von 50% würde er dann stehen bleiben. > > Dann würde ich aber wechseln zwischen forward und backward, und soweit > ich das verstanden habe wirkt das unschöne Kräfte auf den Motor aus, > oder nicht? Ja. Das macht man so eigentlich nicht. Einige Leute hier im Forum leider schon. Einfache D-Amps arbeiten so und verwenden ein L-C- Filter für die PWM. LG old.
Lukas T. schrieb: > Dann würde ich aber wechseln zwischen forward und backward, und soweit > ich das verstanden habe wirkt das unschöne Kräfte auf den Motor aus, > oder nicht? Nein.
m.n. schrieb: > Beim Tastverhältnis von 50% würde er dann stehen bleiben. Als erstes gibt die Entstörkombi am Motor Rauchzeichen. Aber die hast Du ja nicht angebracht, weil dir HF-Störungen egal sind. Je nach PWM-Frequenz und Amplitude wird der Anker vom Motor heiß. Und im Stand oder bei geringer Drehzahl bekommt der keine Kühlung vom Lüfterrad. Aber auch das ist dir egal, solange es nicht qualmt. So Etwas mache ich nicht mit, egal wie oft ihr das in euren Foren propagiert. Lukas T. schrieb: >> Eine weitere Möglichkeit wäre, das PWM-Signal für die 2. Halbbrücke zu >> invertieren. Beim Tastverhältnis von 50% würde er dann stehen bleiben. > > Dann würde ich aber wechseln zwischen forward und backward, und soweit > ich das verstanden habe wirkt das unschöne Kräfte auf den Motor aus, > oder nicht? Was Du machen kannst ist, die PWM-Frequenz gleichphasig auf die linke und rechte Halbbrücke geben und gegenphasig modulieren. Im Stillstand werden dann beide Motorklemmen parallel im PWM-Rhythmus an die Betriebsspannungsschienen geklemmt. Der Motor sieht also keine Spannung. Im Bild die zweite und dritte PWM-Darstellung. Wird die PWM gegenphasig moduliert, dreht der Motor in die jeweilige Richtung. Im Bild die erste und vierte Darstellung. Das kostet Dich zwei phasenstarre PWM-Pins am "Arduino". LG old.
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.