Forum: Analoge Elektronik und Schaltungstechnik Hilfe bei H-Brücke und OPVs fürs Studium


von Oliver (oliver_k541)



Lesenswert?

Hallo Menschen,

ich bin ganz neu hier bin aber schon seit Jahren ein stiller Mitleser, 
wenn es um Probleme rund um Arduino und ESP geht.
Ich bin aktuell in meinem letzten Semester meines Mechatronikstudiums 
und unser Prof. hat sich überlegt uns eine benotete Aufgabe aufzubrummen 
und für 6 Wochen zu verschwinden.
Die Aufgabe besteht darin eine H-Brücke für einen Elektromotor zu 
entwickeln. Dabei sind nur die MOSFETs (IRFZ44N) und die maximale 
Spannung (30V), die PWM-Frequenz (20kHz) und der Strom (5A) gegeben.
Es soll hierbei ein passender Treiber für die MOSFETs gewählt werden, in 
meinem Fall (IR2110) und eine passende Schaltung um den Strom des Motors 
und somit die Drehrichtung, zu messen.
Eine weitere Aufgabe besteht auch darin alles mit einem Arduino Mega zu 
machen, also sowohl die Messungen, als auch die Regelung der H-Brücke 
über PWM.
Entwickelt habe ich jetzt eine Schaltung über EAGLE, da ich schon seit 
Jahren das nutze und ich mich darin in der Bedienung sicher fühle.
Wo ich jetzt Hilfe bräuchte, ist bei der Auslegung der 
Operationsverstärker und ob das, was ich vor habe generell geht und ob 
Fehler existieren.

Danke im schonmal im Voraus

EDIT: LEFT1 in der Schaltung soll natürlich RIGHT heißen

: Bearbeitet durch User
von Johannes (zuberjo)


Lesenswert?

Der Treiber hat keine integrierte Totzeit zwischen High- und Lowside. 
Machst du das mit dem AVR? Könnte tricky werden. Welche Modulationsart 
soll es denn werden? Unipolar oder bipolar? Die Treiber machen meiner 
Meinung nach mehr Sinn bei einer unipolaren PWM, dort muss die Totzeit 
allerdings im Ansteuersignal integriert sein. Also von MCU/FPGA 
berechnet. Bei einem AVR und so einer simplen Anwendung würde ich 
persönlich eine bipolare PWM verwenden und dafür einen Treiber mit 
integrierter Totzeit.
Dann sehe ich keine Snubber an den Fets. Ja, geht vllt auch ohne, vllt 
aber auch nicht. Die Fets haben eine Vds von 60V, das doppelte von 
deiner Versorgung. Die Überschwinger bei einer induktiven Last können 
ohne Snubber aber das zigfache davon annehmen und zu einem Durchschlag 
führen.
Die OPVs, da solltest du Spice verwenden und es simulieren. Wenn es dort 
passt, dann geht es in Realität meist auch klar. Die Ausgänge würde ich 
persönlich aber noch mit Dioden auf GND/5V absichern, um gegebenfalls 
Spitzen auf diese Rails zu klemmen und den ADC nicht zu beschädigen

von Oliver (oliver_k541)


Lesenswert?

Johannes schrieb:
> Der Treiber hat keine integrierte Totzeit zwischen High- und Lowside.

Das mit der Totzeit ist mir auch klar und ich weiß nicht, wie wichtig es 
dem Prof. ist, dass es integriert ist oder nicht. Ich bin jetzt auf ohne 
gegangen und möchte das dann Softwareseitig machen.

Johannes schrieb:
> Machst du das mit dem AVR? Könnte tricky werden.

Ja, mit dem Arduino. Ist Pflicht und die Software wird mit 
Mathlab/Simulink entwickelt (krampf)

Johannes schrieb:
> Unipolar oder bipolar? Die Treiber machen meiner
> Meinung nach mehr Sinn bei einer unipolaren PWM, dort muss die Totzeit
> allerdings im Ansteuersignal integriert sein. Also von MCU/FPGA
> berechnet. Bei einem AVR und so einer simplen Anwendung würde ich
> persönlich eine bipolare PWM verwenden und dafür einen Treiber mit
> integrierter Totzeit.

Da kenne ich mich leider nicht aus. Aber ich denke ich verwende mit dem 
Arduino unipolares PWM. FPGA und so weiter sind viel zu viel aufwand, 
denke ich und auch nicht gefordert. Bipolar weiß ich leider nicht, wie 
ich es realisieren soll, da ich das noch nie genutzt habe.

Johannes schrieb:
> Dann sehe ich keine Snubber an den Fets. Ja, geht vllt auch ohne, vllt
> aber auch nicht. Die Fets haben eine Vds von 60V, das doppelte von
> deiner Versorgung. Die Überschwinger bei einer induktiven Last können
> ohne Snubber aber das zigfache davon annehmen und zu einem Durchschlag
> führen.

Snubber kenne ich nicht. Aber auf dem ersten Blick einfach zu 
realisieren. Kannst du mir Werte für R und C empfehlen?

Johannes schrieb:
> Die OPVs, da solltest du Spice verwenden und es simulieren. Wenn es dort
> passt, dann geht es in Realität meist auch klar.

Das habe ich mir auch schon gedacht, aber leider noch nie selbst Spice 
verwendet aber ist noch auf meinem Plan.

Johannes schrieb:
> Die Ausgänge würde ich
> persönlich aber noch mit Dioden auf GND/5V absichern, um gegebenfalls
> Spitzen auf diese Rails zu klemmen und den ADC nicht zu beschädigen

Hm, da weiß ich leider nicht, was du damit meinst :(

von Johannes (zuberjo)


Lesenswert?

Gerade wenn du dich nicht auskennst solltest du die bipolare PWM 
verwenden. Bei der unipolaren PWM musst du die Stellgröße plus die 
invertierte Stellgröße mit dem gleichen Dreieck vergleichen und 
generierst so jeweils die PWM für je eine Brückenseite. Also insgesamt 4 
individuelle PWM Signale. Vorteil ist die Frequenzverdopplung am 
Ausgang, aus 20kHz werden 40kHz, somit könntest du im AVR mit 10kHz 
arbeiten, was definitiv Vorteile bei der Auflösung bringt. Trotzdem ist 
es komplizierter. Bipolar ist nur die Stellgröße auf das Dreieck, und 
zwei PWM Signale. Seite 1 High = Seite 2 Low und Seite 1 Low = Seite 2 
High. Der passende Halbbrückentreiber braucht nur jeweils eine PWM um 
High- wie auch Lowside zu schalten. Totzeit wird im Treiber gemacht, 
nimmt dir viel Arbeit ab. Aber musst du wissen. Ich selbst nutze immer 
die unipolare PWM, nutze dafür eine analoge Vorschaltung mit 
Hochgeschwindigkeitskomparatoren und berechne die einzelnen Gatesignale 
inklusive Totzeit und Mindesteinschaltzeit in einem FPGA. Aber das 
sprengt die 6 Wochen garantiert. Snubber ist etwas was sich nicht in 
Werten nennen lässt. Das musst du entweder über Simulation (ltspice zb) 
ermitteln oder testen. Vllt mal mit 100R und 200pF anfangen und dann 
schauen wie es sich mit unterschiedlichen Kapazitäten verhält. Ziel ist 
nicht jegliche Überschwinger wegzubekommen sondern ausreichend zu 
dämpfen ohne zu viel Leistung zu verbraten. Mit den Dioden meine ich ein 
Clampingnetz um zu verhindetn, dass Spannungen unter GND und oberhalb 
von 5V den ADC erreichen. Ist nie verkehrt. Ausgangsfilter an der 
H-Brücke hast du auch keine. Wenn EMV keine Rolle spielt und der Motor 
induktiv genug ist um sebst der Tiefpass zu sein, dann kein Problem. 
Ansonsten noch einen differentiellen LC Tiefpass rein

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Oliver schrieb:
> Wo ich jetzt Hilfe bräuchte, ist bei der Auslegung der Operationsverstärker
Der Shunt ist an der falschen Stelle. Dessen kleine Spannung teilst du 
dann erst mal durch 20 und verstärkst das winzige Signal dann um das 
3-fache. Das wird so nichts.

Ich würde hier einen bipolaren ACS712 einsetzen:
-https://wolles-elektronikkiste.de/acs712-stromsensor
Dann wäre ich alle Potentialprobleme und auch den Spannungsabfall am 
Shunt los.

Und wenn es schon unbedingt was selbergefrickeltes sein muss, dann nimm 
zur Strommessung besser eine Schaltung, die nur low-seitig an der Source 
der beiden Q2 und Q4 misst. Mit der richtigen Ansteuerng der Mosfest 
muss der Motorstrom dort entweder beim einen oder beim anderen durch.

von Oliver (oliver_k541)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Der Shunt ist an der falschen Stelle. Dessen kleine Spannung teilst du
> dann erst mal durch 20 und verstärkst das winzige Signal dann um das
> 3-fache. Das wird so nichts.

Ich habe es wohl falsch gehabt. Habe das von einem Kommilitonen 
bekommen. Hab das jetzt mit LTSpice gesehen und auch angepasst. Also 
mein Plan war es unverstärkt, aber um 2,5V angehoben, durch den ersten 
OPV zu gehen, um dann den Ausgangspegel zu verstärken, um am Ende auf 
einen Bereich von 1V bis 4V zu kommen. Im Anhang habe ich die Simulation 
mit den neuen Werten.

Lothar M. schrieb:
> Und wenn es schon unbedingt was selbergefrickeltes sein muss, dann nimm
> zur Strommessung besser eine Schaltung, die nur low-seitig an der Source
> der beiden Q2 und Q4 misst. Mit der richtigen Ansteuerng der Mosfest
> muss der Motorstrom dort entweder beim einen oder beim anderen durch.

Bringt das Vorteile, wenn ich dann 2 Shunts und 2 OPVs benutze?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Oliver schrieb:
> Bringt das Vorteile, wenn ich dann 2 Shunts und 2 OPVs benutze?
Du hast dann am Shunt jeweils ein simples massebezogenes Signal, das 
einfacher verarbeiten ist als ein differentielles, floatendes Signal.

Oliver schrieb:
> Im Anhang habe ich die Simulation mit den neuen Werten.
Diese Schaltung ist jetzt sowieso schon massebezogen.
Aber für 5A ist ein 0R5 Shunt viel, viel zu hochohmig, da fallen ja 
schon 2,5V ab. Denn damit brauchst du gar keinen Verstärker mehr, du 
könntest damit über einen "Spannungsteiler mit Offset" direkt in den µC 
(siehe Screenshot).

Siehe Spannungsteiler und
- 
http://www.lothar-miller.de/s9y/archives/36-Analogeingang-unipolarbipolar-mit-Widerstandsnetzwerk.html

Aber falls es untergegangen ist: nimm den ACS712. Man muss sich nicht 
verbiegen, wenn es funktionierende fertige ICs für eine Aufgabe gibt.

: Bearbeitet durch Moderator
von Oliver (oliver_k541)


Lesenswert?

Lothar M. schrieb:
> Aber für 5A ist ein 0R5 Shunt viel, viel zu hochohmig, da fallen ja
> schon 2,5V ab.

Da hast du vollkommen Recht und sehe, dass ich da einen 
Übertragungsfehler habe. Und zwar muss ich eigentlich 0R1 verwenden, 
sonst habe ich zu viel Verlustleistung über den Shunt hinweg.

Lothar M. schrieb:
> Aber falls es untergegangen ist: nimm den ACS712. Man muss sich nicht
> verbiegen, wenn es funktionierende fertige ICs für eine Aufgabe gibt.

Ist nicht untergegangen. Ich habe aber leider keine Ahnung, ob ich es 
sowas fertiges verwenden kann oder nicht.

Lothar M. schrieb:
> Du hast dann am Shunt jeweils ein simples massebezogenes Signal, das
> einfacher verarbeiten ist als ein differentielles, floatendes Signal.

Danke für die Schaltung, ich schaue mir das definitiv mal an. Aber auch 
da sind 0R5 zu viel als Shunt. Und über 0R1 fällt zu wenig Spannung ab, 
also muss auch da ein OPV her.

von Benjamin K. (bentschie)


Lesenswert?

Oliver schrieb:
> Ist nicht untergegangen. Ich habe aber leider keine Ahnung, ob ich es
> sowas fertiges verwenden kann oder nicht.

Ich kann dir auch nur dringend dazu raten. Was du in deiner Simulation 
nicht genmacht hast, ist das springende Potential mit zu simulieren. Du 
wirst mit der einfachen Schaltung viel viel mehr Störungen als Messignal 
haben.

Wir sind vor Jahren genau deswegn zu den ACS und ähnlichem gewechselt. 
Geht viel einfacher und ist dann auch noch günstiger.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Oliver schrieb:
> Ich habe aber leider keine Ahnung, ob ich es sowas fertiges verwenden
> kann oder nicht.
Der LM358 ist doch auch "so was fertiges":
- 
https://www.mouser.de/ProductDetail/STMicroelectronics/LM358D?qs=4kXaGCtSlT3mFye4RVsPfA%3D%3D

Genauso "fertig" und im selben Gehäuse wie der ACS712:
- 
https://www.allegromicro.com/en/products/sense/current-sensor-ics/zero-to-fifty-amp-integrated-conductor-sensor-ics/acs712

Oliver schrieb:
> Und über 0R1 fällt zu wenig Spannung ab
Nicht, wenn der ADC ein bisschen besser auflösen kann und du 2 Bits 
einfach "verwirfst".

> also muss auch da ein OPV her.
Damit fängst du dir zusätzliche Effekte wie Offset, Drift und Rauschen 
ein. Das musst du abwägen. Aus Erfahrung: wenn du es nicht tust, dann 
holt es dich später ein.

von Fritz F. (fritz1)


Angehängte Dateien:

Lesenswert?

Hier ein Bsp. aus dem letzten Jahrtausend das bis heute fktioniert.

Ich hoffe, du erkennst die Strommessung....

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Fritz F. schrieb:
> Hier ein Bsp. aus dem letzten Jahrtausend das bis heute fktioniert.
Vogelwild gemalt...
So wie beim U1D macht man das aber normalerweise nicht.

> Ich hoffe, du erkennst die Strommessung
Da kommt im Freilauf aber nicht der Motorstrom heraus. Warum eigentlich 
die doppelt gemoppelte Strommessung auf der Highside und auf der 
Lowside?

von Johannes (zuberjo)


Lesenswert?

Diese auf Masse bezogene Strommessung hat den Nachteil, dass die 
Kommutierungsströme der H-Brücke dort mit einfließen. Die sind hier 
vermutlich nicht all zu hoch, aber vorhanden und verfälschen den 
Messwert. Das Messen zwischen den Terminals in Serie mit dem Motor ist 
präziser. Ein Hall Sensor braucht kein Potential, daher dort am besten 
geeignet, besser als der Widerstand. Anstatt dem Widerstand auf Masse um 
den Strom dort zu messen würde ich an der Stelle eine Sicherung 
vorschlagen. Oder alternativ über der Brücke an 30V.

Ich habe deine PM gelesen, aber zu der Modulation gibt es so viel im 
Netz zu lesen, da brauche ich keinen zusätzlichen Roman zu verfassen. 
Lesen, verstehen. Als ich bei meiner Abschlussarbeit bei einem 
Leistungsverstärker mitgewirkt habe, da musste ich da auch durch. In 
ltspice kann man das auch sehr simpel aufbauen um zu verstehen was da 
passiert. Ein Dreieck, Stellgröße/n und ein/zwei Komparatoren

von Fritz F. (fritz1)


Lesenswert?

@Oliver

Hallo Oliver,

Empfehle, wie im Schaltbild oben in der Spg.-Zuführung, auch so einen 
R56 für die Testphase vorzusehen.

So zwischen 30 und 60 Ohm.

Gerade, wenn man das erste Mal so eine H-Brücke in Gang bringen will, 
passiert doch schon mal ein "Durchschuss" (High und Low leiten beide). 
Dann platzt dir nur der R56, aber der Rest bleibt O.K.

Auch beachte, dass die gezeigte Strommessung eine +-Spg. abgibt (OUT von 
U2C). Du brauchst eine nur +Spg. für deinen AD-Wandler.

Zur Erklärung des gesamten Schaltbildes:

Es handelt sich um eine Stromreglung für eine GS-Maschine im 
4-Quadranten-Betrieb. U2D ist der PI-Regler. U1A und U1B erzeugen eine 
Dreickspg., U1C die PWM und IC3A bis D die TOTZEITEN.

Ach, noch was.

Wenn dann bei dir die H-Brücke funktioniert und du hast !!! langsam !!! 
den Motor auf Drehzahl gebracht (von 50% auf fast 100% PWM) und steuerst 
jetzt um (annähernd 0 % PWM), denke daran, dass der Motor Spannung 
zurückgibt (deine 30 Volt steigen an, du braucht evtl. einen 
Bremswiderstand der die Energie aufnimmt, mit entsprechender 
Elektronik).

Wenn du dann noch schlagartig von den 100% auf 0% gehst, liegt am Motor 
60Volt und der Strom wird nur noch durch den Wicklungswiderstand des 
GS-Motors begrenzt (hier 3,2 Ohm). Sollte deine H-Brücke diesen Strom 
liefern sind das runde 19A, womit du evtl. über dem im Datenblatt 
angegebene Entmagnetisierungsstrom bis, und die Magneten ... (GS-Motor 
unreparabel def.)

Noch Fragen? -> bitte PN.

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.