Ich würde gerne einen DC Motor über eine H-Brücke mittels PWM steuern.
Das ist erstmal kein Problem. Allerdings wollte ich, wenn die Drehzahl
einknickt, gegenregeln. (PWM @ 16khz)
Ich habe im Netz folgende Idee gesehen: Über den Motor (also am
H-Ausgang) kommt ein Spannungsteiler (bpsw 10k, 10k). Das Mittensignal
geht über eine 5V Z Diode an den ADC vom Atmel.
Jetzt die Frage: Klappt das wirklich? Wie regel ich dort nun die
Drehzahl, bzw. was erwarte ich dort für Signale? Dazu stand leider
nichts dort.
Ich denke ich muss messen, während der Motor "aus" ist bei der PWM.
Welche Induktionsspannung bekomme ich dort und wie ist diese mit der
Drehzahl zu vereinen?
> Jetzt die Frage: Klappt das wirklich?
Klar, ich hab das vor 10Jahren mal im richtigen Internet <BG>
diskutiert:
http://www.edaboard.de/motorsteuerung-ueber-gegen-emk-und-ixr-t13935.html
Ich hab das damals rein analog aufgebaut und es hat wunderbar
funktioniert.
Macht Spass und man lernt etwas ueber Regelungstechnik. Genau das
richtige fuer lange Winterabende. :-)
Olaf
Es ist moglich um wahrend die low periode von PWM die gegen-EMK von
DC-motor zu vermessen. Das gibt dan in Prinzip das Drehzahl. Leiter ist
das Signal sehr verrausch durch die commutierung / inductions-spitzen.
Auch ist Schluss bei 100 % PWM (keine Low mehr). Darum ist es einfacher
um das Drehzahl ueber ein Encoder zu vermessen.
MFG, RP6conrad.
> Darum ist es einfacher um das Drehzahl ueber ein Encoder zu vermessen.
Ach was...braucht bloss ein paar Bauteile. So sah damals mein
Versuchsaufbau aus:
http://www.criseis.ruhr.de/bilder/regler.jpg
Wie du schon richtig erkannt hast, 100% PWM geht nicht. Aber 95% (oder
so) reichen ja auch aus. Mit Encoder wird halt gleich der Motor deutlich
teurer. Das ist sinnvoll wenn man auch noch einen Positionsregelung
braucht. Nur fuer Drehzahl und wenn es einfach und billig sein muss
reicht auch ueber GegenEMK. Zumal man das ja auch im Mikrocontroller
machen kann.
Olaf
Die Drehzahlregelung über Gegen-EMK in einer Austastlücke hast Du heute
in jedem Modelleisenbahndecoder mit Lastregelung drin. Das Prinzip ist
immer gleich und wie oben schon beschrieben, bei der Regelung an sich
unterscheiden sich die Produkte im Bereich zwischen brauchbar und
butterweich.
Knut B. schrieb:> Die Drehzahlregelung über Gegen-EMK in einer Austastlücke hast Du heute> in jedem Modelleisenbahndecoder mit Lastregelung drin. Das Prinzip ist> immer gleich und wie oben schon beschrieben, bei der Regelung an sich> unterscheiden sich die Produkte im Bereich zwischen brauchbar und> butterweich.
Jop, du hast es erkannt. Dafür soll das ganze werden.
Deswegen nix Encoder, da Motor vorgegeben. Butterweich ist mein Ziel.
Brauche ich noch die Dioden über den Motor (4 stk.) oder reichen die
internen der Mosfets? Mit Dioden verfälscht das das Signal?
Wie ist der Zusammenhang zwischen gemessener Spannung und Drehzahl. Das
ist mein Problem zzt.
> Wie ist der Zusammenhang zwischen gemessener Spannung und Drehzahl. Das> ist mein Problem zzt.
Das steht in den in meinem Link erwaehnten PDFs. Und es ist auch nicht
ganz trivial. Zumal ich mir bei einer Eisenbahn auch vorstellen koennte
das sich da etwas in Abhaengigkeit von der angehaengten Masse aendern
koennte.
Olaf
Olaf schrieb:>> Wie ist der Zusammenhang zwischen gemessener Spannung und Drehzahl. Das>> ist mein Problem zzt.>> Das steht in den in meinem Link erwaehnten PDFs. Und es ist auch nicht> ganz trivial. Zumal ich mir bei einer Eisenbahn auch vorstellen koennte> das sich da etwas in Abhaengigkeit von der angehaengten Masse aendern> koennte.>> Olaf
Okay ich gucke nochmal, die PDF hatte ich nicht gesehen. Welche
spezielle ist das?
Ja klar mit der angehängten Masse stimmt schon.
Bei einer gut ausbalancierten Regelung, bei der mehrere Faktoren
einbezogen werden, hat die angehängte Masse kaum Einfluss auf das
Fahrverhalten. Der klassische PI(D)-Regler reicht hier nicht aus.
Vielmehr muss man die Stellgröße mit weiteren außenliegenden
Regelschleifen überlagern, um einerseits schnell genug reagieren zu
können, andererseits aber auch das Aufschwingen zu verhindern. Kritisch
ist das Befahren von Schrägen, also wenn starke Lastwechsel anstehen.
Auf gerader Strecke muss dir Regelung nicht viel können aber bei einer
Bergkuppe kann sie schnell außer Kontrolle geraten und die Lok wie einen
Esel springen lassen. Wie oben schon gesagt, nicht trivial. Als
hilfreich hat sich auch erwiesen, die Abtastungsintervalle relativ zur
Drehzahl zu verschieben, um bei Langsamfahrt mehr Messungen zu bekommen,
als bei Schnellfahrt, wo der Schwung des Gesamtsystems die Regelung
träger macht. Je nach Motor sind mehrere kritische Drehzahlbereiche
vorhanden, wo die Regelung stark gefordert ist. Es ist sinnvoll, die
Regelparameter während der Fahrt ausgeben und loggen zu können, um zu
sehen, wie sie sich unter den verschiedenen Bedingungen verhalten.
Knut B. schrieb:> Regelparameter während der Fahrt ausgeben und loggen zu können, um zu> sehen, wie sie sich unter den verschiedenen Bedingungen verhalten.
Die Links von Olaf sind alle tot.
Mich würde jetzt noch interessieren was ich genau beachten muss.
In Zeitpunkt der Tastlücke muss die H-Brücke hochimpedant sein oder? Das
die beiden Adern Masse haben wäre falsch da ich dann nicht kann konnte
richtig?
Reicht mir der Spannungsteiler über den Motor oder muss ich noch den
Stromverbrauch des Motors messen?
Hat jmd noch ein paar Infos zu der Regelung?
Morgen,
wenn es für einen Modelleisenbahn Decoder sein soll, hab ich das schon
gemacht:
http://forum.opendcc.de/viewtopic.php?f=39&t=3716
Tiny85 PWM mit 32 KHz, kurz unterbrechen EMK messen und Drehzahl mit PID
Regler nachregeln. PID Regler ist der von der Atmel Apnote.
LG
Für eine Drehrichtung:
Beitrag "Drehzahlregler für DC-Motor, ATmega48-328"
Bei Auswertung der EMK ist es nicht erforderlich, eine höherfrequente
PWM zu erzeugen. 200 - 300 Hz PWM-Frequenz sind sinnvoll, da die
notwendige Pause zur EMK-Auswertung nicht zu kurz sein darf. Da eine PWM
mit 100% nicht möglich ist, kann man die Versorgungsspannung erhöhen, um
volle Drehzahl zu erhalten.
willi schrieb:> wenn es für einen Modelleisenbahn Decoder sein soll, hab ich das schon> gemacht:> http://forum.opendcc.de/viewtopic.php?f=39&t=3716
Gut versteckt, da will man dann auch nicht stören ;-)
m.n. schrieb:> Bei Auswertung der EMK ist es nicht erforderlich, eine höherfrequente> PWM zu erzeugen. 200 - 300 Hz PWM-Frequenz sind sinnvoll, da die> notwendige Pause zur EMK-Auswertung nicht zu kurz sein darf. Da eine PWM> mit 100% nicht möglich ist, kann man die Versorgungsspannung erhöhen, um> volle Drehzahl zu erhalten.
Eine hohe PWM-Frequenz ist sehr wohl notwendig, wenn man seine Ohren
schonen will, denn bei den ansonsten laufruhigen Fahrzeugen will man
keine unschönen Resonanzen durch die Motoransteurung haben. Die
Austastung zum Messen der EMK hört man ohnehin, da muss man schon weiche
Lücken programmieren, damit einem das Gebrumme nicht auf den Keks geht.
Die hohe PWM-Frequenz gestattet auch ein weicheres Regeln, da man feiner
abstimmen kann bei den Schwingungspaketen, die man dem Motor zukommen
lässt. Und volle Spannung gibt man ohnehin nicht auf den Motor, da die
allermeisten Loks bei 12V bereits für den Maßstab zu rasant unterwegs
sind. Da die meisten Digitalanlagen mit 16V oder sogar noch darüber am
Gleis abliefern, bleibt genug Regelreserve, auch wenn die nutzbaren
Pakete nur 80% PWM entsprechen. Erklärung: Nicht bei jedem PWM-Umlauf
wird die EMK gemessen, sondern nur alle 1...10ms, je nach Lastzustand.
In dieser Zeit wird die PWM auf 0 reduziert, der jeweils untere
Transistor der jeweils durchgeschalteten Richtung ist geschlossen, der
obere ist offen, so dass an dem Anschluss die Motorspannung gemessen
werden kann. Nach einer Zeit x ist die Messung abgeschlossen und die PWM
wird wieder hochgefahren bis zur nächsten Messung.
Knut B. schrieb:> m.n. schrieb:>> Bei Auswertung der EMK ist es nicht erforderlich, eine höherfrequente>> PWM zu erzeugen. 200 - 300 Hz PWM-Frequenz sind sinnvoll, da die>> notwendige Pause zur EMK-Auswertung nicht zu kurz sein darf. Da eine PWM>> mit 100% nicht möglich ist, kann man die Versorgungsspannung erhöhen, um>> volle Drehzahl zu erhalten.>> Eine hohe PWM-Frequenz ist sehr wohl notwendig, wenn man seine Ohren> schonen will, denn bei den ansonsten laufruhigen Fahrzeugen will man> keine unschönen Resonanzen durch die Motoransteurung haben. Die> Austastung zum Messen der EMK hört man ohnehin, da muss man schon weiche> Lücken programmieren, damit einem das Gebrumme nicht auf den Keks geht.> Die hohe PWM-Frequenz gestattet auch ein weicheres Regeln, da man feiner> abstimmen kann bei den Schwingungspaketen, die man dem Motor zukommen> lässt. Und volle Spannung gibt man ohnehin nicht auf den Motor, da die> allermeisten Loks bei 12V bereits für den Maßstab zu rasant unterwegs> sind. Da die meisten Digitalanlagen mit 16V oder sogar noch darüber am> Gleis abliefern, bleibt genug Regelreserve, auch wenn die nutzbaren> Pakete nur 80% PWM entsprechen. Erklärung: Nicht bei jedem PWM-Umlauf> wird die EMK gemessen, sondern nur alle 1...10ms, je nach Lastzustand.> In dieser Zeit wird die PWM auf 0 reduziert, der jeweils untere> Transistor der jeweils durchgeschalteten Richtung ist geschlossen, der> obere ist offen, so dass an dem Anschluss die Motorspannung gemessen> werden kann. Nach einer Zeit x ist die Messung abgeschlossen und die PWM> wird wieder hochgefahren bis zur nächsten Messung.
Es handelt sich um eine Gartenbahn (LGB) mit 24V. Also wie sieht das aus
mit der H-Brücke. Im Zeitraum des Messens muss also die Brücke nicht auf
High-Z stehen? Sondern kann angeschaltet bleiben (zu hälfte?).
Wie ist das mit der allg. Strommessung des Motors? Erforderlich?
Strommessung brauchst Du nicht, aber eine fette H-Brücke, die noch dazu
schnell schalten kann. Darauf solltest Du Dich als erstes konzentrieren,
bevor Du Dich an die weitere Prgrammierung machst. Wenn du es Dir
einfach machen willst, dann lass die beiden Low-Side-Transistoren
(n-Kanal) nur die Richtung vorgeben, die beide High-Side-Transistoren
(p-Kanal) lass die PWM schalten. Dann brauchst Du nur 2 schnelle
Treiber, da die Low-Side direkt vom Controller geschaltet werden kann.
Die p-Kanal-FETs lassen sich recht einfach gegen Masse ansteuwrn, so
dass Du auch hier Teile sparen kannst. Die Programmierung ist auch
einfacher, wenn Du nur 2 PWM-Kanäle zu verwalten hast.
Messzyklus:
1. PWM herunterfahren bei durchgeschalteter Low-Side
2. Warten bis Motorspannung hochläuft
3. Messen
4. PWM wieder hochfahren.
Einer der beiden Low-Side Transistoren bleibt immer durchgeschaltet, da
Dir sonst der Massebezug zum Messen fehlt.
Als Überlastdetektierung kannst Du auch den Strom in der Brücke messen
oder ihre Temperatur.
Marius D. schrieb:> Es handelt sich um eine Gartenbahn (LGB) mit 24V.
Welche Leistung hat der Motor und hat er auch noch Kraft, wenn er mit 16
kHz getaktet wird?
Soll der Motor auch bremsen können oder ist genug Reibung vorhanden,
dass die Bahn von selbst zum Stehen kommt?
Unter Umständen kannst Du eine Ansteuerung mit nur einem MOSFET
verwenden, wenn zur Richtungsumkehr ein Relais verwendet wird.
m.n. schrieb:> Marius D. schrieb:>> Es handelt sich um eine Gartenbahn (LGB) mit 24V.>> Welche Leistung hat der Motor und hat er auch noch Kraft, wenn er mit 16> kHz getaktet wird?> Soll der Motor auch bremsen können oder ist genug Reibung vorhanden,> dass die Bahn von selbst zum Stehen kommt?> Unter Umständen kannst Du eine Ansteuerung mit nur einem MOSFET> verwenden, wenn zur Richtungsumkehr ein Relais verwendet wird.
Die von LGB verwendeten 7 poligen Bühlermotoren (kugelgelagert) haben
extrem viel Kraft. Die nutzen ein Schneckengetriebe. 16 kHz wird auch
von allen anderen Herstellern verwendet, sind die wahrscheinlich drauf
ausgelegt.
Kleiner Loks (mit 1 Motor) besitzen ca. 10N. Manche haben bisschen mehr,
manche weniger, je nach Bauart und vorallem Eigengewicht. Größere (2
oder 3 motorige) dementsprechend weitaus mehr.
Bremsen muss die Lok via Motor nicht, das Getriebe hat ausreichend
Reibung. Bei Gefälle jedoch (abh. von angehängter Last) muss
gegengeregelt werden.
Auf Mechanik verzichte ich (Relais) immer gerne. Lieber Vollbrücke.
Ich habe eine 4 achsige Dampflok mit 1 Motor. Eigengewicht liegt ca. bei
4kg. Die ist extrem stark. Hier ist das Getriebe leichtläufiger (die
rollt von selbst bei Neigung). Der Motor kann wenn man sie richtig
belastet auch gerne mal 4A ziehen.
Marius D. schrieb:> Ich würde gerne einen DC Motor über eine H-Brücke mittels PWM> steuern.> Das ist erstmal kein Problem.
Nein isses nicht wenn du von Regelungstechnik keine Ahnung hast.
Für die Drehzahlregelung wird P oder PI Regler eingesetzt, den D Anteil
braucht man nicht.
Wenn du die Drehzahl oder den Ankerstrom nicht messen kannst, vergiss
die Regelung. Das würde dir Zeit sparen, lies einfach einen Skript
drüber.
Meine Güte.
Meine Güte schrieb:> Nein isses nicht wenn du von Regelungstechnik keine Ahnung hast.> ...> Wenn du die Drehzahl oder den Ankerstrom nicht messen kannst,
War der Glühwein zu schlecht? Du hättest vollständig zitieren sollen.
Marius D. schrieb nämlich:
"Allerdings wollte ich, wenn die Drehzahl einknickt, gegenregeln."
Das Problem, was Du meine Güte lösen möchtest, existiert garnicht.