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
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
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 :(
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
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.
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?
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
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.
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.
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.
Hier ein Bsp. aus dem letzten Jahrtausend das bis heute fktioniert. Ich hoffe, du erkennst die Strommessung....
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?
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
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.