Forum: Mikrocontroller und Digitale Elektronik PWM nicht gleich PWM


von Emanreztuneb (Gast)


Lesenswert?

Hallo zusammen,

ich muss euch leider hier auf die Nerven gehen, weil ich bei Google
entweder nur noch im Kreis laufe oder bei AliExpress lande.

Es geht darum, mit einem Arduino Leonardo einen 90cm Gimbal-Außenläufer
anzusteuern... ESC mit FOC ran und gut.... (dachte ich)

In meiner Naivität bin ich vom "Steuertyp" PWM ausgegangen.
Also einen RC-Servo ran gehängt, und festgestellt, dass der nur
Blödsinn macht ?!?!?

Nach Recherche wurde mir dann bewusst, dass hier direkt vom 
Verstärkbaren
Motorsignal die Rede ist. Also RMS Spannung simulieren +Richtng.

Jetzt die große Frage... Gibt es BLDC/Servotreiber, die auch damit was
als Eingangssignal anfangen können?


Liebe Grüße

Tom

von Stefan F. (Gast)


Lesenswert?

Modellbau-Servos und Motorcontroller werden mit PPM angesteuert. Dazu 
gibt es die Servo.h. https://www.arduino.cc/en/Reference/Servo

von flo (Gast)


Lesenswert?

PWM geht prinzipiell. Man muss aber darauf achten, dass die Pulsdauer 
von 1ms bis 2ms geht (1,5ms ist Mittelstellung)und die Periodendauer 
innerhalb der Spec von dem Servo oder Motorcontroller liegt.

von Emanreztuneb (Gast)


Lesenswert?

Nunja, ich habe hier Modellbauservos, die definitiv mit PWM
sauber arbeiten. Getestet mit dem Frequenzgenerator bzw Ozy an meiner
Futuba.

Aber leider ist das hier ja kein "steuer" PWM sondern zum erzeugen
einer RMS-Spannung.

So oder so...
Angenommen ich habe nicht die Option den Arduino selber zu 
programmieren,
da ich null Plan habe und nur ein fertiges .hex file benutze.
Ließe sich das so einfach ändern?

Bzw.... kennt sich jemand mit dem ESC001V1 aus und ob man dem das
Gewünschte beibringen kann?

von spess53 (Gast)


Lesenswert?

Hi

>Bzw.... kennt sich jemand mit dem ESC001V1 aus und ob man dem das
>Gewünschte beibringen kann?

Dann erfähle erst mal was dein "90cm Gimbal-Außenläufer" überhaupt ist.
Also Link zu deinem kongreten Gerät.

>da ich null Plan habe und nur ein fertiges .hex file benutze

Sehr Schlechte Vorraussetzungen.

MfG Spess

von Emanreztuneb (Gast)


Lesenswert?

Hi Spess,

Letztlich ein 0815 BLDC Motor.
Nur flach und großer Durchmesser für mehr Drehmoment und genauere
Positionierung.

Sowas:
https://www.amazon.de/HobbyKing-Turnigy-LD9017-Brushless-Gimbal/dp/B00P2RACV8

Es gibt ettliche ESCs mit FOC. Aber wenn schon ein Standard RC Servo
nicht will, fallen die wohl auch unter den Tisch.

von Stefan F. (Gast)


Lesenswert?

Das sind zu wenig Infos.

Selbst wenn wir alle technischen Infos hätten, ohne Programmänderung 
wird das nichts.

Du kannst auch nicht einfach die Steuerung eines BMW in einen Volkswagen 
einbauen. Das würde vorne und hinten nicht zusammen passen.

Technik ist vielfältiger, als du es dir vorstellst.

von vn nn (Gast)


Lesenswert?

Emanreztuneb schrieb:
> https://www.amazon.de/HobbyKing-Turnigy-LD9017-Brushless-Gimbal/dp/B00P2RACV8
>
> Es gibt ettliche ESCs mit FOC. Aber wenn schon ein Standard RC Servo
> nicht will, fallen die wohl auch unter den Tisch.

Was hat ein Motorregler mit feldorientierter Regelung mit einem 
Modellbauservo zu tun? Wie, denkst du, sollte sich der Servo daran 
verhalten?
Kann es sein, dass du komplett planlos einfach irgendwelche 
aufgeschnappten Begriffe durcheinanderwirfst?

von John P. (brushlesspower)


Lesenswert?

Dein ganzes Vorhaben ist quatsch. Dazu kommen deine Probleme.

1. einen Gimbal BLDC kann man nicht mit einem FOC ESC betreiben. (Es sei 
denn es ist speziell für Gimbal/Servo Betrieb gedacht.

Warum kein AlexMos oder Storm32?

2. Mit deinem Arduino kannst du ein RC Servo Signal erzeugen und 
Modellbauservos steuern.
Warum es mit "dem einen" nicht geht können wir dir auch nicht sagen. Am 
besten wäre hier Programmcode, Oszi bilder, mindestens aber exakte 
Typenbezeichnungen.

Emanreztuneb schrieb:
> Bzw.... kennt sich jemand mit dem ESC001V1 aus und ob man dem das
> Gewünschte beibringen kann?

Ja kann man. Kannst du STM32 selber Programmieren? Weißt du wie man eine 
3 phasige Sinus (aus PWM moduliert) programmiert?

Wenn du alles mit ja beantworten kannst, dann los.

von Klaus (Gast)


Lesenswert?

> PWM nicht gleich PWM?

Doch, PWM ist gleich PWM. Nur, das Steuersignal für ein Modellbauservo 
oder einen Modellbaufahrtregler ist nicht PWM, auch wenn die Mehrheit 
der Bastler es so nennt.

MfG Klaus

von John P. (brushlesspower)


Lesenswert?

Klaus schrieb:
> ur, das Steuersignal für ein Modellbauservo
> oder einen Modellbaufahrtregler ist nicht PWM, auch wenn die Mehrheit
> der Bastler es so nennt.

Doch ist es.

PWM = Puls Weiten Modulation

Und  bei einem Servo Signal sind die Pulsweiten eben sehr speziell und 
eng definiert.

von Klaus (Gast)


Lesenswert?

John P. schrieb:
> Doch ist es.
>
> PWM = Puls Weiten Modulation

Ahnte ich doch, daß da gleich einer mit solchen Wortspielchen aufpoppt.

Emanreztuneb schrieb:
> Also einen RC-Servo ran gehängt, und festgestellt, dass der nur
> Blödsinn macht ?!?!?

Dieser Thread zeigt, daß das nicht so ist. PWM an Servo: geht nicht. 
Servosignal an Motorcontroler: geht auch nicht. So simpel ist das.

Servosignal an Fahrtregler würde gehen, PWM an Motorcontroler würde auch 
gehen. Und wenn man nicht ständig die Begriffe durcheinanderbringt, 
hätte Emanreztuneb auch nicht solche Probleme.

MfG Klaus

von A. Z. (donvido)


Lesenswert?

Klaus schrieb:
> Dieser Thread zeigt, daß das nicht so ist. PWM an Servo: geht nicht.
> Servosignal an Motorcontroler: geht auch nicht. So simpel ist das.

(Analoges) Servosignal ist nunmal eine Teilmenge vom PWM und damit gilt 
mit:

John P. schrieb:
> Und  bei einem Servo Signal sind die Pulsweiten eben sehr speziell und
> eng definiert.


PWM an Servo: geht doch.

von Klaus (Gast)


Lesenswert?

John P. schrieb:
> Und  bei einem Servo Signal sind die Pulsweiten eben sehr speziell und
> eng definiert.

Nichts als Wortspielerei. SPI wäre dann auch eine PWM mit sehr 
speziellen Zeiten.

Und Emanreztuneb ist drauf reingefallen und steht jetzt doof da.

MfG Klaus

von John P. (brushlesspower)


Lesenswert?

Klaus schrieb:
> Nichts als Wortspielerei. SPI wäre dann auch eine PWM mit sehr
> speziellen Zeiten.

Richtig, auch mir einer (advanced) PWM kann ich SPI und andere Signale 
modulieren.
Von daher ist PWM ein sehr weitläufiger begriff.

Daher:
Servo Signal erzeugen -> Servo Library
SPI Signal erzeugen -> SPI library

PWM Signal erzeugen -> PWM


Aber alles setzt vorraus das man weiß was man machen will.

von c-hater (Gast)


Lesenswert?

Klaus schrieb:

> Doch, PWM ist gleich PWM. Nur, das Steuersignal für ein Modellbauservo
> oder einen Modellbaufahrtregler ist nicht PWM, auch wenn die Mehrheit
> der Bastler es so nennt.

Doch, natürlich ist das lupenreines PWM in der einfachsten Form. Es gibt 
eine konstante Zykluszeit (ca. 20ms) und einen Duty (zulässig ca.: 
5..10% = 1..2ms).

Die einzige Besonderheit ist also, das es unzulässige Bereiche bezüglich 
des Duty gibt, das ist schon alles. In vielen anderen PWM-Anwendungen 
ist halt alles zwischen 0 und 100% Duty erlaubt. Und es gibt auch andere 
mögliche Zykluszeiten oder gar welche, die variabel vom Zustand des 
Target abhängen (BLDC).

Ist aber alles, wirklich ALLES PWM. Dein Problem ist einfach nur, dass 
du das allgemeine Konzept nicht begriffen hast, was eigentlich hinter 
dem Begriff PWM steckt...

Übrigens: das im Modellbau zumindest früher beliebte PPM ist was 
anderes, KEIN PWM. Es basiert auf eben der Einschränkung des Duty für 
ein einzelnes Servo-PWM-Signal und nutzt eben diese Einschränkung, um in 
einem einzigen Signalstrom mehrere dieser PWM-Signale unterzubringen. Es 
handelt sich also im Kern um ein Zeitmultiplex mehrerer PWM-Signale. Mit 
diesem PPM-Signal kann aber kein Servo direkt etwas anfangen. Er 
benötigt einen Demultiplexer, der aus dem Signalgemisch wieder eine 
einzelne PWM-"Spur" extrahiert. Entweder als extra Gerät oder er hat so 
einen Demultiplexer bereits eingebaut. Erkennt man daran, dass der Servo 
einen Schalter zur Kanalwahl hat...

von Emanreztuneb (Gast)


Lesenswert?

@ vn nn (Gast)
Nicht am neusten Stand?

FOC macht sehr wohl Sinn an BLDC Motoren.
Gimbals erreichen damit eine Orientierung im 0,01 Grad Bereich.
Ich steuere auf diese weise eine Drehachse an einem 1:200 HarmonicDrive.
Zweckentfremde ihn quasi als Torquemotor und komme auf über 300Nm
Haltekraft nach dem Getriebe.
Mit dem RC-Servo habe ich lediglich getestet, ob er auf die 0%-50%-100%
Variante an spricht. Denn dann würde auch ein Regler dran arbeiten 
können.
Und seit Brushless in Crawlern werden die Teile immer besser.


@ John P. (brushlesspower)
Eben kein Quatsch. Wie eben oben schon beschrieben.
Der ESC001V1 ist aus der STM32 Familie UND kann Gimbals perfeckt
Positionieren. Aber er nimmt eben "anderes" PWM als ich zur Verfügung 
habe.
An einer richtigen Sinumerik Endstufe habe ich bisher alles zum laufen
gebracht, was Dauermagnete hat und bürstenlos ist.
Kommutierungswinkel kann einen den letzten Nerv rauben, aber es geht.


@ Stefan ⛄ F. (stefanus)
Auch wie oben geschrieben: Motorentechnik ist nicht mein Problem.
Wenn ich nicht gerade Feldstärken eines AC/DC Universalmotors im
Reihenschlussbetrieb berechnen soll, komm ich schon zurecht :)
Es geht rein darum, dass ich das Rad nicht neu erfinden will.
Es gibt Regler mit FOC. Die gehen auch super für Gimbal UND es gibt
Enstufen bei denen ich mir jede erdenkliche Ansteuerung einstellen kann.
Aber die Kombination fehlt mir eben.
Ich habe hier auch noch eine Schaltung rum liegen, mit der ich
ein PWM Signal zu 0-10V umknete. Nicht schön, aber geht.


Und zum Abschluss:

PWM IST NICHT IMMER GLEICH!

- PWM als Ansteuersignal für Modellbauservos = stetig
- PWM zum modulieren von 3P Sinus = bildet RMS
- PWM +dir = 2x 0%-100% je Richtung
- 2x PWM mit einer Leitung für CW und einer für CCW

Und in jedem einzelnen Fall erwartet der Regler ein anderes
Feedback vom Geber bzw anderes Verhalten vom Motor.


Zurück zur Frage....

Ich habe mir die SDK für den ESC001V1 mit STM32 besorgt.
Click and Drop im Baukastensystem. Mal sehen was draus wird.
Man kann nur dazu lernen.

von John P. (brushlesspower)


Lesenswert?

Emanreztuneb schrieb:
> @ John P. (brushlesspower)
> Eben kein Quatsch. Wie eben oben schon beschrieben.
> Der ESC001V1 ist aus der STM32 Familie UND kann Gimbals perfeckt
> Positionieren.

Habe nie behauptet das der ESC001V1 das nicht kann. Natürlich ist er 
perfekt...dafür wurde er ja gebaut.

von Emanreztuneb (Gast)


Lesenswert?

@ John P. (brushlesspower)

Es ging um die Aussage:

"1. einen Gimbal BLDC kann man nicht mit einem FOC ESC betreiben. (Es 
sei
denn es ist speziell für Gimbal/Servo Betrieb gedacht."

Gut, die Bezeichnung Gimbalmotor an sich ist eigentlich auch falsch.
Ein Gimbal kann mit jedem Motor betrieben werden.

Dann eben: Bürstenloser, Außenläufer-Scheibenmotor ???

Bis auf die Bauform ist er wie jeder andere BLDC auch.

von 123 (Gast)


Lesenswert?

John P. schrieb:
> Emanreztuneb schrieb:
>> @ John P. (brushlesspower)
>> Eben kein Quatsch. Wie eben oben schon beschrieben.
>> Der ESC001V1 ist aus der STM32 Familie UND kann Gimbals perfeckt
>> Positionieren.
>
> Habe nie behauptet das der ESC001V1 das nicht kann. Natürlich ist er
> perfekt...dafür wurde er ja gebaut.

Ich bezweifle, dass eine ESC (Engine Speed Controller) für 
Positionieranwendungen gemacht ist. Und der ESC001V1 ist ein speed 
controller. Also gibt man die Drehgeschwindigkeit vor (PWM, PWM 
geglättet = analoge Spannung, CAN, SPI, I2C, what ever je nach ESC). Die 
Regelung geht auf Geschwindigkeit.

Möchte man hingegen eine Position (genauer gesagt Winkel) anfahren, dann 
braucht man einen Engine Controller der über die 
Geschwindigkeitsregelung noch eine Positionsregelung legt. In der Praxis 
funktioniert das immer nur mit Positionssensoren.

Hintergrund ist der, dass bei sensorlosen Motorcontrollern die momentan 
unbestromte der drei Phasen genutzt wird um die aktuelle Geschwindigkeit 
durch die dort induzierte Spannung zu schätzen. (Stichwort: Back EMF). 
Wird die Umdrehungsgeschwindigkeit jedoch langsamer oder geht gegen Null 
(erklärtes Ziel einer jeden Positionsregelung) dann wird diese 
induzierte Spannung aber immer kleiner bis sie bei 0 U/min auch 
garantiert 0V ist. Dann hat man keine Lage / Geschwindigkeitsinformation 
mehr. Meines Wissens nach geht diese sensorlose Regelung momentan bis 
ca. 600U/min. Darunter werden die Phasen einfach blind 
"weitergeschalten" und man hofft mehr oder weniger, dass der Anker dem 
Magnetfeld folgt. Möchte man mit dem BLDC Positionierungsaufgaben machen 
so liegt der Arbeitspunkt ständig in dem Bereich sehr geringer 
Drehzahlen am Motor. Darum verwendet man Hallgeber, Encoder oder selten 
Potis um den Winkel der Motorachse unabhängig von der 
Drehgeschwindigkeit zu kennen. Dann kann man darauf versuchen zu regeln.

Emanreztuneb schrieb:
> Gut, die Bezeichnung Gimbalmotor an sich ist eigentlich auch falsch.
> Ein Gimbal kann mit jedem Motor betrieben werden.

Pauschal würde ich zu dieser Aussage nein sagen. Es gibt Motoren die 
sind für Positionierungsaufgaben geeignet und andere die sind es nicht. 
Die Hintergründe liegen da allerdings in praktischen Bereichen der 
Ansteuerung (Spannungen, Ströme, Schaltverhalten an den H-Brücken). Nimm 
einen typischen Modellbau BLDC - der ist optimiert auf hohe Drehzahl und 
geringes Drehmoment in den unteren Drehzahlbereichen. Jeder kennt das 
aus der Praxis ... das Problem bei diesen Motoren ist der Anlauf weil 
bei geringen Drezhalen keine Kraft. Diese Motoren haben viele (dünne) 
Windungen pro Phase. Um dort den notwendigen Strom durchzubringen (von 
dem die magnetische Flusstärke -> ergo Kraft abhängt) müsste deine 
H-Brücke eine irre Spannung liefern können. Das kann sie aber nicht 
(Transistoren haben begrenzte Spannungsfestigkeit, Akku liefert nur 48V, 
...). Dafür kann dieser BLDC irre hohe Drezahlen erreichen. Gegenteil 
sind die BLDCs für Positionierungsaufgaben (z.B. im Maschinenbau DC- 
oder AC-Servos genannet). Die haben wenige dicke Windungen, damit 
bekommt man bei geringer Spannung große Ström durch und hat 
dementsprechend eine hohe Kraft. Der Nachteil dieser Motoren ist dann, 
dass sie nicht für hohe Drehzahlen geeignet sind. Die Kunst bei den 
Motoren ist aus der zur Verfügung stehenden Betriebsspannugn das Beste 
zu machen in den Arbeitspunkten in denen man es braucht. Bei 
Positionsregelungen (wie den Gimbal) brauche ich keine hohe Drehzahl, 
dafür viel Kraft um das Stillstandsmoment herum. Bei drehzahlhungrigen 
Systemen (z.B. Quadrocopter Rotor) brauche ich kaum Kraft um den 
Stillstand herum, dafür Optimierung in den hohen Drehzahlbereichen.

Emanreztuneb schrieb:
> Bis auf die Bauform ist er wie jeder andere BLDC auch.

Prinzipiell ja. Aber der Teufel steckt im Detail. Zwischen einem 5€ BLDC 
für eine kleine Drohne und einem Tesla Model S Motor liegt doch eine 
kleine Welt ... obwohl beides BLDCs sind.

von Emanreztuneb (Gast)


Lesenswert?

@ 123 Gast

Ich glaube das Prinzip ist hier missverstanden.

Ich habe schon DC Servoregler aus HIFI Audio Endstufen gebaut.

+/- 5V vorne rein und +/- 80V 10A hinten raus.
Das geht Traumhaft!

Den gleichen Job soll der ESC hier übernehmen.
Dumm wie ein Zombie auf das hören was vorn rein kommt.

Die Regelung passiert per 1024er Encoder und Controller.
Mein Problem ist das Signal von Controller zu ESC.


Thema Motoren:
Genau darum ein Gimbal BLDC Motor und kein anderer.
Die sind genau für solche Positionieraufgaben gemacht.
gleichmäßig gewickelt, hohe Windungszahl statt Amperemonster.
Darum packen sie auch keine so hohen Drehzahlen wie ihre
RC Kollegen, weil sie bei den Frequenzen schon viel zu
Hochohmig werden.

PS: Der Teslamotor ist nebenbei eher so... Naja...
Aber Plaz und Gewicht lassen kaum eine andere Bauform zu.

von vn nn (Gast)


Lesenswert?

Emanreztuneb schrieb:
> @ vn nn (Gast)
> Nicht am neusten Stand?
>
> FOC macht sehr wohl Sinn an BLDC Motoren.
> Gimbals erreichen damit eine Orientierung im 0,01 Grad Bereich.
> Ich steuere auf diese weise eine Drehachse an einem 1:200 HarmonicDrive.
> Zweckentfremde ihn quasi als Torquemotor und komme auf über 300Nm
> Haltekraft nach dem Getriebe.

Vielleicht solltest du mein Posting nochmal lesen, offensichtlich hast 
du es nicht verstanden. Wer hat bitte behauptet, BLDCs feldorientiert zu 
regeln würde keinen Sinn machen?
Aber das erklärt immer noch nicht, wie du auf die Idee kommst, da einen 
Modellbauservo dran zu hängen...

von Emanreztuneb (Gast)


Lesenswert?

vn nn schrieb:
> Vielleicht solltest du mein Posting nochmal lesen, offensichtlich hast
> du es nicht verstanden. Wer hat bitte behauptet, BLDCs feldorientiert zu
> regeln würde keinen Sinn machen?
> Aber das erklärt immer noch nicht, wie du auf die Idee kommst, da einen
> Modellbauservo dran zu hängen...

Gah... hab die Posts gemixt Sorry!

Ganz einfach; um zu testen, ob es das PWM ist, dass ich erwartet
habe. Der RC-Servo hätte dann bei konstanter Periodendauer mit
einer Winkellage reagiert. Oder ein Fahrtenregler mit einer stetigen
Geschwindigkeit.
Und ja, am Frequenzgenerator tun das beide. Sind also keine PPM.

von John P. (brushlesspower)


Lesenswert?

Emanreztuneb schrieb:
> Ganz einfach; um zu testen, ob es das PWM ist, dass ich erwartet
> habe. Der RC-Servo hätte dann bei konstanter Periodendauer mit
> einer Winkellage reagiert. Oder ein Fahrtenregler mit einer stetigen
> Geschwindigkeit.

Nur wenn deine Pulsdauer zwischen 1ms und 2ms liegt und die Frequenz 
passt.

Ob das so ist kann dir hier keiner sagen!

Wir kennen nicht den Controller (oder die firmware da drin).
Das beste wäre mal ein oszi oder logic analyser ranhalten.

Dann weißt du was du hast.

von Emanreztuneb (Gast)


Lesenswert?

John P. schrieb:
> Das beste wäre mal ein oszi oder logic analyser ranhalten.
>
> Dann weißt du was du hast.


Hatte irgendwo weiter oben schon geschrieben um welches Signal es geht.
Darum auch der Titel.

Das Problem hat sich aber mittlerweile erledigt.
Zu 99% war der/ein Oszillator am Board defekt.

Was ausgesehen hat wie das PWM zum generieren eines Sinus (Umrichter)
War in Wirklichkeit ein ganz "normales" PWM, das zyklisch
Ramp-Up und Ramp-Down gefahren hat.

Neues Board geht -> Fall erledigt...
Scheiße war das ein geiler Fehler.

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.