Forum: Analoge Elektronik und Schaltungstechnik Spule verzerrt PWM-generiertes Sinussignal


von Tim (timdw)


Angehängte Dateien:

Lesenswert?

Hallo,

ich betreibe Motorspulen mit einem PWM-generierten Sinussignal. Dabei 
entsteht das Problem, dass die Spulen das Signal dämpfen und verzerren 
(siehe Bild), wodurch der Motor nicht mehr so flüssig läuft. Kann mir 
jemand sagen wodurch dies genau passiert und wie ich es minimieren kann?

Ich verwende einen Arduino Due mit 10 kHz PWM-Frequenz und generiere 
einen Sinus mit f<1Hz. Die PWM-Ausgänge steuern normale 
Vollbrückenschaltungen. Die Spule hat 4 Ohm und 4.1 mH.

Besten Dank schonmal!

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


Lesenswert?

Tim schrieb:
> Kann mir jemand sagen wodurch dies genau passiert
Gib doch mal mehr Daten zu deiner Schaltung und dem Motor unf dazu, was 
der Screenshot zeigt.

von Tim (timdw)


Lesenswert?

Lothar M. schrieb:
> Tim schrieb:
>> Kann mir jemand sagen wodurch dies genau passiert
> Gib doch mal mehr Daten zu deiner Schaltung und dem Motor unf dazu, was
> der Screenshot zeigt.

Das hab ich eigentlich alles schon genannt aber gut dann nochmal:
Die PWM Ausgänge schalten einfach nur eine H-Brücke, an dieser ist dann 
eine Spule angeschlossen. Der Motor ist selbstgebaut und einzig wichtige 
Info ist der Widerstand einer Spule von 4 Ohm und die Induktivität von 
4.1 mH. Der Screenshot zeigt eine Oszilloskop-Aufnahme von einmal einem 
unbelasteten Signal (blau) und dann das Signal wenn eine Spule 
angeschlossen ist (orange).

von HaJo (hajohausb)


Lesenswert?

Spule zieht zieht irgendwas an und polarisiert es.

von H. H. (Gast)


Lesenswert?

Tim schrieb:
> Der Motor ist selbstgebaut und einzig wichtige
> Info ist der Widerstand einer Spule von 4 Ohm und die Induktivität von
> 4.1 mH.

Es handelt sich um eine Luftspule?

von Wastl (hartundweichware)


Lesenswert?

Tim schrieb:
> und einzig wichtige Info ist der Widerstand einer Spule
> von 4 Ohm und die Induktivität von 4.1 mH

Nein!

.... und die Spule wird von den 3.3V des Arduino Due versorgt.
Aber das ist ja nicht so wichtig ....

von Christoph M. (mchris)


Lesenswert?

>Die PWM Ausgänge schalten einfach nur eine H-Brücke, an dieser ist dann
>eine Spule angeschlossen.

Welche H-Brücke verwendest du (Chip ID)?

von Carsten-Peter C. (carsten-p)


Lesenswert?

Moin,
wenn Dein PWM-Signal durch einen Tiefpass zum Sinus machst, und Du es 
auf die H-Brüche schaltest, schaut es so aus, als ob die Brücke eine 
kleine Spannung braucht, um zu schalten.
Das könntest mit einem Poti testen. Vielleicht kannst Du die 
Transistoren „vorspannen“.
Viel Glück
Carsten

von Tim (timdw)


Lesenswert?

Carsten-Peter C. schrieb:
> Moin,
> wenn Dein PWM-Signal durch einen Tiefpass zum Sinus machst, und Du es
> auf die H-Brüche schaltest, schaut es so aus, als ob die Brücke eine
> kleine Spannung braucht, um zu schalten.
> Das könntest mit einem Poti testen. Vielleicht kannst Du die
> Transistoren „vorspannen“.
> Viel Glück
> Carsten

Super! Genau sowas hab ich gesucht. Ich werde es ausprobieren.
Danke dir :)

von Tim (timdw)


Lesenswert?

H. H. schrieb:
> Tim schrieb:
>> Der Motor ist selbstgebaut und einzig wichtige
>> Info ist der Widerstand einer Spule von 4 Ohm und die Induktivität von
>> 4.1 mH.
>
> Es handelt sich um eine Luftspule?

Ja genau

von Benedikt S. (benedikt_s)


Lesenswert?

Ist das ne Mosfet oder ne olle BJT Brücke wie der L295, der selbst 
einfach 0.7 bis 2 V drop hat, je nach Strom?
Ohne Last tolles Signal, mit Last halt das was du jetzt siehts. Da hilft
A wesentlich mehr Spannung als 3 V
Oder
B ne Mosfet Brücke mit niedrigen RDSon.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Moin,
vielleicht kannst Du die „Vorspannung“ einstellen, indem Du die PWM 
nicht bei 0, sondern etwas höher beginnen und enden lässt.
Gruß
Carsten

von Rainer W. (rawi)


Lesenswert?

Tim schrieb:
> Dabei entsteht das Problem, dass die Spulen das Signal dämpfen und verzerren
> (siehe Bild)

Was ist dort dargestellt?
Spannung/Strom?
Wo gemessen?
Wie sieht deine H-Brücke aus (BJT, FET, Totzeitsteuerung, Treiber?
Was für ein Motortyp?
Fragen über Fragen.

Edit:
Sorry, übersehen - aber wieso eigentlich mehrere?

Tim schrieb:
> ... normale Vollbrückenschaltungen ...

: Bearbeitet durch User
von Tim (timdw)


Lesenswert?

Wastl schrieb:
> Tim schrieb:
>> und einzig wichtige Info ist der Widerstand einer Spule
>> von 4 Ohm und die Induktivität von 4.1 mH
>
> Nein!
>
> .... und die Spule wird von den 3.3V des Arduino Due versorgt.
> Aber das ist ja nicht so wichtig ....

Nein, mit bis zu 10V aber der Effekt tritt bei allen Spannungen auf.

von Flip B. (frickelfreak)


Lesenswert?

Wenn du sinusförmige Magnetkraft willst, dann musst du den Spulenstrom 
Sinusförmig regeln.

Gescheiter rundlauf mit Sinusspannung ist nur mit ordentlich ausgelegtem 
blechpaket und kleinem luftspalt möglich.  Gehe ich bei den stichworten 
'Luftspule' und 'Motor' nicht davon aus.

: Bearbeitet durch User
von John B. (craftsman)


Lesenswert?

Tim schrieb:
> dass die Spulen das Signal dämpfen

Oberflächlich gesehen, scheint das so.

Tatsächlich hast du eine Übernahmeverzerrung in einem Gegentakt System 
vorliegen. Der Innenwiderstand der Quelle, die den Spulenstrom liefern 
muss, ist in der Nähe des Nulldurchgangs zu hoch.

Ohne Darstellung der Schaltung mit allen Details lässt sich nicht viel 
mehr sagen über die Fehlerursache und über die Behebung.

Ein Vorspannen der Ansteuerung kann helfen, ist aber nicht 
unproblematisch, da ein Durchschiessen der Brücken in allen 
Betriebszuständen (Temperaturgang beachten, verriegeln) verhindert 
werden muss.

Besser ist es, eine Gegenkopplung an zu wenden, die den Spannungsabfall 
in der Nähe des Nulldurchgangs ausgleicht.

Was da jetzt konkret am Besten zu tun ist, hängt von der Schaltung und 
von einer genauen Wiedergabe mehrerer Signale ab: Ansteuerungen und 
Strom durch UND Spannung an der Spule.

von Rainer W. (rawi)


Lesenswert?

John B. schrieb:
> Was da jetzt konkret am Besten zu tun ist, hängt von der Schaltung und
> von einer genauen Wiedergabe mehrerer Signale ab: Ansteuerungen und
> Strom durch UND Spannung an der Spule.

Die Spannung an der Spule sagt über das Drehmoment des Motors wenig, 
solange die in der Spule durch die Rotation des Motors induzierte 
Spannung unbekannt ist. Drehmoment entsteht durch Strom und Orientierung 
des daraus resultierenden Kraftvektors.

: Bearbeitet durch User
von John B. (craftsman)


Lesenswert?

Rainer W. schrieb:
> Die Spannung an der Spule sagt über das Drehmoment des Motors wenig,
> solange die in der Spule durch die Rotation des Motors induzierte
> Spannung unbekannt ist. Drehmoment entsteht durch Strom und Orientierung
> des daraus resultierenden Kraftvektors.

Ja, schön und gut, das sollte als bekannt voraus zu setzen sein. Warum 
schreibst du Selbstverständliches unter ein Zitat mit meinem Text? Du 
benennst keinen Zusammenhang.

Wenn es dem TE wirkllch um die Behebung der Unzulänglichkeiten seiner 
Schaltung geht, dann sollte er endlich mit einer vollständigen Schaltung 
und der nachvollziehbaren Wiedergabe aller Steuersignale, der Spannung 
an der Spule und des Stroms durch die Spule herausrücken.

Rasche Fehlersuche gelingt vor Allem mit einer umfassenden Sicht der 
vorliegenden Gegebenheiten.

von Tim (timdw)


Angehängte Dateien:

Lesenswert?

Alles klar, danke schonmal für den Input.
Ich hab jetzt mal eine kleine Schaltung erstellt. Für die Vollbrücken 
benutze ich einen L298N Motortreiber. Dort hab ich eine Luftspule 
angeschlossen (Innendurchmesser=8mm, Außendurchmesser=19mm, Länger=12mm, 
Drahtdurchmesser 0.35mm, Windungen 500, R=4 Ohm, L=4.1mH). Wir 
betrachten erstmal nur die einfache Spule ohne irgendwelche Magnetfelder 
im Rotor die dort eine Spannung induzieren würden. Mir ist klar, dass 
das Signal durch die Rons in der Brückenschaltung reduziert wird, aber 
nicht warum die Sinusform auch so verzerrt wird. Für die 
Spannungsversorgung Ub nutze ich einen Spannungsgenerator (10V).
PWM-Ausgang 1 schaltet jetzt mit Hilfe eines Look Up Tables die positive 
halbwelle eines Sinussignals. Mit einer PWM Frequenz von 10 kHz, welches 
center aglined ist. Bei der negativen Halbwelle des zu erzeugenden 
Sinus, übernimmt dann der PWM-Ausgang 2.
Fehlen noch irgendwelche Infos?

: Bearbeitet durch User
von Jens W. (jensw)


Lesenswert?

Mal unabhängig von deiner Anwendung:

Um einen perfekten Sinus darstellen zu können brauchst du auch eine PWM, 
die von 0% bis 100% alles darstellen kann.

In der Vollbrücke wirst du aber sicher eine Totzeit eingestellt haben, 
damit es keine Brückenkurzschlüsse gibt. Außerdem haben die Transistoren 
eine endliche Schaltzeit. Das ergibt die Abweichung, die du in den 
Messungen siehst.

Im Bereich der Verzerrungen ist dein PWM Signal (die Spannung) so klein, 
dass vermutlich der andere Transistor gar nicht richtig schaltet.
Erst wenn du sauber eine PWM stellen kannst an beiden Transistoren, 
folgt die Ausgangsspannung deinem PWM-Sollwert.

Mach dir mal ne Excel-Tapete wo du die Spannung ins Verhältnis von PWM 
und Totzeit setzt. Dann wird genau das Signal rauskommen, das du auch 
mit dem Oszi gemessen hast.

Grüße, Jens

von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Moin,
ich bringe das PWM-Signal direkt auf die Motortreiber. Das ist einfach 
aber funktioniert bei mir ganz gut, auch wenn ein Sinus zur Ansteuerung 
sicherlich besser ist. Dafür sind Spannungen von 70V kein Problem. 
Vielleicht ist es eine Anregung für Dich.
Gruß
Carsten

: Bearbeitet durch User
von John B. (craftsman)


Lesenswert?

Tim schrieb:
> Fehlen noch irgendwelche Infos?

Ja. Dir wurde auch mitgeteilt, welche.

John B. schrieb:
> Was da jetzt konkret am Besten zu tun ist, hängt von ...
> von einer genauen Wiedergabe mehrerer Signale ab: Ansteuerungen und
> Strom durch UND Spannung an der Spule.

John B. schrieb:
> Wenn es dem TE wirkllch um die Behebung der Unzulänglichkeiten seiner
> Schaltung geht, dann sollte er endlich mit einer vollständigen Schaltung
> und der nachvollziehbaren Wiedergabe aller Steuersignale, der Spannung
> an der Spule und des Stroms durch die Spule herausrücken.

Nachdem die Rückfragen ignoriert werden, wird das zu mühsam und auch 
uninteressant.

von Tim (timdw)


Angehängte Dateien:

Lesenswert?

Jens W. schrieb:
> In der Vollbrücke wirst du aber sicher eine Totzeit eingestellt haben,
> damit es keine Brückenkurzschlüsse gibt. Außerdem haben die Transistoren
> eine endliche Schaltzeit. Das ergibt die Abweichung, die du in den
> Messungen siehst.

Hey Jens danke dir,
eine Totzeit um einen Brückenkurzschluss zu vermeiden habe ich nicht 
eingestellt, ich schalte einfach erst den einen PWM Ausgang aus bevor 
ich den anderen einschalte.

Jens W. schrieb:
> Im Bereich der Verzerrungen ist dein PWM Signal (die Spannung) so klein,
> dass vermutlich der andere Transistor gar nicht richtig schaltet.
> Erst wenn du sauber eine PWM stellen kannst an beiden Transistoren,
> folgt die Ausgangsspannung deinem PWM-Sollwert.

Du meinst also dass PWM-Perioden mit einen geringen Duty Cycle nicht 
genauso hinter der Brücke ankommen? Das hab ich überprüft und denke das 
sieht gut aus (siehe Anhang).

Jens W. schrieb:
> Mach dir mal ne Excel-Tapete wo du die Spannung ins Verhältnis von PWM
> und Totzeit setzt. Dann wird genau das Signal rauskommen, das du auch
> mit dem Oszi gemessen hast.

Meinst du einen konstanten Duty Cycle einstellen und dann die mittlere 
Spannung messen und das für verschiedene Duty Cycles?

von Tim (timdw)


Lesenswert?

Carsten-Peter C. schrieb:
> vielleicht kannst Du die „Vorspannung“ einstellen, indem Du die PWM
> nicht bei 0, sondern etwas höher beginnen und enden lässt.

Danke Carsten für deine ganzen Vorschläge :)
Die Tiefpassfilterung hat nichts gebracht aber das Hochsetzen des 
Signals führt zu einem "schöneren" Sinus und besserer Performance des 
Motors. Dazu habe ich einfach den jeweiligen Sinuswert um den Faktor k 
hoch bzw. runter gesetzt.
1
 
2
double k = 0.2;
3
double PWMvalue = (sinusValue*(1-k)+k) * resolutionPWM;

Jetzt würde ich aber gerne noch die Ursache des Problems verstehen. Kann 
das an der billigen Brückenschaltung liegen? Was sollte die 
Brückenschaltung für Eigenschaften haben um gut zu performen?

von Christoph M. (mchris)


Lesenswert?

Stell mal die PWM-Frequenz von 10kHz auf 2kHz und schau, wie dein Sinus 
dann aussieht.

von Tim (timdw)


Lesenswert?

Christoph M. schrieb:
> Stell mal die PWM-Frequenz von 10kHz auf 2kHz und schau, wie dein Sinus
> dann aussieht.

Hab ich schon ausprobiert. Macht keinen merkbaren Unterschied auf das 
Signal.

von Flip B. (frickelfreak)


Lesenswert?

Tim schrieb:
> ber das Hochsetzen des
> Signals führt zu einem "schöneren" Sinus und besserer Performance des
> Motors.

Leider Fehlen noch immer Angaben zu Schaltung und Motor.

Ich rate mal:
Dein ausgewählter H-Brücken- Baustein schafft deine 10kHz mit 0,4% Duty 
cycle nicht.
Es ist ein Synchron- oder Reluktanzmotor mit Luftspulen oder riesigem 
Luftspalt.
Du steuerst das Drehfeld stur nach einer Sollfrequenz.
Der Magnetische Kraftvektor ist durch den offenen Magnetischen Kreis 
unkontinuierlich und das Drehmoment auf dem Rotor pulsiert.
Der Rotor schwingt durch seine Trägheit und eilt zeitweise dem Drehfeld 
voraus.
Erhöhung der Feldstärke hilft, diese Probleme zu vertuschen.

Ich empfehle,  zuerst die Probleme abseits der Leistungselektronik zu 
beheben.

von Tim (timdw)


Lesenswert?

Jo Flip, das ist eig alles irrelevant. Es ist ein Synchronmotor aber ich 
betreibe wie gesagt erstmal nur eine einfache Luftspule mit dem 
PWM-Sinus. Weiterhin kommen die 0.4% Duty Cycle gut durch die Brücke, 
wie die Oszilloskop-Aufnahme (etwas weiter oben) zeigt.

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.