PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Motorspannung herunterregeln



bastlerheinz
12.11.2010, 19:06
Hallo,

ich möchte einen alten Rollstuhl so umbauen, dass er vom Computer aus ferngesteuert werden kann.
Zuerst habe ich einfach direkt die Akkuspannung von 24 Volt DC / 11 Ampere an den Motor angelegt, was aber zur Folge hatte, dass der Rollstuhl mit einer riesigen Geschwindigkeit losgefahren ist (viel zu schnell für die Wohnung).

Meine Frage ist nun: Wie kann man die Motorspannung mit möglichst einfachen Mitteln so herunterregeln, dass der Rollstuhl langsamer fährt? Ich habe es schon mit Leistungstransistoren und folgenden fertigen Motorsteuerungen versucht:

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=65&products_id=220

und

http://cgi.ebay.de/Motorelektronik-Motorsteuerung-UNITE-YK40-500W-24V-31A-/310108153650?pt=DE_Allesf%FCrsKind_Spielzeug_Kinde rfahrzeuge&hash=item4833e2e732

Leider bin ich ein absoluter Neuling auf dem Gebiet und nichts hat so richtig funktioniert. Bei der ersten Steuerung (über einen Mikrocontroller und PWM angesteuert) hat sich gar nichts getan, bei der zweiten Steuerung gab es schon beim Anschluss der Akkukabel einen Kurzschluss.

Habt ihr irgendeine Idee, was ich noch versuchen könnte?

BMS
12.11.2010, 19:51
Hallo,
mit PWM bist du eigentlich schon auf dem richtigen Weg, vor allem bei der Größenordnung von Strömen, die da fließt. Die Spannung mit einem Linearregler zu reduzieren würde nämlich keinen Sinn machen, da du eine recht große Leistung in Wärme reduzieren müsstest.

Wie erzeugst du die 24V? Ich vermute, dass es 2x 12V Bleiakkus in Reihe sind. Eventuell kommst du nur mit einem Akku aus oder du schaltest sie parallel (nur wenn sie sehr ähnliche Spannungen haben, sonst fließen hohe Ausgleichsströme).

Der Motortreiber von robotikhardware ist zwar für die 11A spezifiziert, glaube aber kaum dass der das auf Dauer aushält (je nach on-Widerstand der FETs, dessen Verlustleistung und Flankensteilheit der Signale). Würde eher größere FETs dafür verwenden, oder gleich die 30A-Brücke von robotikhardware.
Sollen die Motoren vorwärts und rückwärts drehen können oder reicht eine Richtung?

Welche Grundfrequenz und welches Tastverhältnis (duty cycle) hattest du denn bei deinen Tests mit Mikrocontroller und PWM?
Bei geringem Tastverhältnis kann es sein dass die Motoren nicht anlaufen.
Falls die Grundfrequenz zu hoch sein sollte, schalten möglicherweise die FETs nicht schnell genug -> Umschaltverluste
("Maximale PWM Frequenz: 40 kHz")

Hoffe, das hilft dir weiter :)

Grüße,
Bernhard

bastlerheinz
12.11.2010, 20:34
Vielen Dank für deine Antwort.

Der Rollstuhl hat zwei 12-Volt-Akkus. Zuerst habe ich beide Akkus in Reihe geschaltet und direkt an den Motor angeschlossen. Weil der Rollstuhl dann zu schnell gefahren ist, habe ich erst einmal nur einen Akku benutzt, aber der Rollstuhl ist immer noch viel zu schnell. Die Motoren sollen sich übrigens vorwärts und rückwärts drehen können.

Beim PWM habe ich erstmal mit gar keiner Frequenz und keinem Tastverhältnis gearbeitet, sondern konstant 5V angelegt, weil in der Dokumentation stand, dass 5V konstante PWM-Eingangsspannung die Motoren auf voller Leistung laufen lässt:

http://www.robotikhardware.de/download/High-PowerMotortreiber24V12.pdf

Getestet habe ich den Motor sowohl mit nur einer Drehrichtung (DIR-Eingang konstant 0V) als auch mit wechselnder Drehrichtung (DIR-Eingang abwechselnd 0V und 5V).

Morgen werde ich Deinen Vorschlag mit der PWM-Modulation ausprobieren.

Richard
12.11.2010, 21:45
Ich würde erst einmal versuchen Infos über den Typ zu Bekommen Typerschild vom Hersteller Typenschild der Motoren Art der Motoren u.s.w.

Der Rolli hatte sicher auch eine Steuerung und konnte mit dieser auch geregelt werden, Noch vorhanden? Dann einmal rein schauen möglich erkennt man dann schon einmal etwas Sinngebendes? Oft ist die original Motorsteuerung auch in den Motoren eingebaut!

Gruß Richard

bastlerheinz
13.11.2010, 18:12
Hallo,
mit PWM bist du eigentlich schon auf dem richtigen Weg, vor allem bei der Größenordnung von Strömen, die da fließt. Die Spannung mit einem Linearregler zu reduzieren würde nämlich keinen Sinn machen, da du eine recht große Leistung in Wärme reduzieren müsstest.

Wie erzeugst du die 24V? Ich vermute, dass es 2x 12V Bleiakkus in Reihe sind. Eventuell kommst du nur mit einem Akku aus oder du schaltest sie parallel (nur wenn sie sehr ähnliche Spannungen haben, sonst fließen hohe Ausgleichsströme).

Der Motortreiber von robotikhardware ist zwar für die 11A spezifiziert, glaube aber kaum dass der das auf Dauer aushält (je nach on-Widerstand der FETs, dessen Verlustleistung und Flankensteilheit der Signale). Würde eher größere FETs dafür verwenden, oder gleich die 30A-Brücke von robotikhardware.
Sollen die Motoren vorwärts und rückwärts drehen können oder reicht eine Richtung?

Welche Grundfrequenz und welches Tastverhältnis (duty cycle) hattest du denn bei deinen Tests mit Mikrocontroller und PWM?
Bei geringem Tastverhältnis kann es sein dass die Motoren nicht anlaufen.
Falls die Grundfrequenz zu hoch sein sollte, schalten möglicherweise die FETs nicht schnell genug -> Umschaltverluste
("Maximale PWM Frequenz: 40 kHz")

Hoffe, das hilft dir weiter :)

Grüße,
Bernhard

Hallo Bernhard,

Folgende Arten von PWM-Signalen habe ich mit noch jemanden ausprobiert und an den PWM-Eingang des Motortreibers gelegt:

Grundfrequenz 40 kHz (die laut Anleitung des Motortreibers maximal zulässige Frequenz) mit Pulsweite 0,022 ms
Grundfrequenz 5 kHz mit Pulsweite 0,18 ms
Grundfrequenz 1,95 kHz mit Pulsweite 0,47 ms
Grundfrequenz 1 kHz mit Pulsweite 0,9 ms

Bei allen vier Signalen bewegt sich der Motor nicht und der Motortreiber signalisiert über die FF1/FF2-Ausgänge, die auf LEDs geschaltet sind, einen Unterspannungsfehler.

Am Eingang für die Spannung für den Motor und die Elektronik des Motortreibers liegen 24 Volt an. Am PWM-Eingang des Motortreibers liegen 3-4 Volt an.

Leider kann ich nicht mehr "Erfolge" vorzeigen.

Im Simulator werden PWM-Signale erzeugt.

Grüße

Heinz

bastlerheinz
13.11.2010, 19:56
Leider funktioniert das mit dem PWM nicht. Ich habe aber noch eine ganz andere Idee: Könnte man nicht einfach mit einem Transistor die Motorspannung regeln? Das habe ich zwar schon einmal versucht, bin aber kläglich gescheitert, weil ich nicht wusste, welchen Transistor ich genau nehmen sollte (Typenbezeichnung?) und wie ich ihn verschalten sollte. Damals habe ich einfach den Motor über Basis und Emitter mit den Akkus verbunden und mit der Kollektor-Emitter-Spannung (0-5 V) von einer USB-Regelkarte steuern wollen, was aber zu einem verkohlten Kabel und leichter Rauchentwicklung führte O:)

Meine Frage ist nun, ob jemand einen Tipp für mich hätte, welche Transistoren ich nehmen könnte (Typenbezeichnung) und wie ich sie mit den Motoren (24 V / 11 A) und den 2x 12V-Akkus verbinden soll. Ideal wäre eine Steuerspannung von 0-5 Volt.

BMS
13.11.2010, 20:52
Hallo,

wie schon beschrieben, mit Linearregler/Transistor musst du relativ viel Leistung in Wärme "verbraten". Der Motor würde eine Leistung von P=UI=24V*11A=264W aufnehmen. Rechne mal damit, dass du bis zu 100W oder sogar mehr in Wärme umwandeln müsstest, dafür bräuchtest du einen großen Kühlkörper, mehrere Leistungstransistoren z.B. 2N3055 und -widerstände und wahrscheinlich noch mehrere Lüfter, sonst kochst du die Transistoren. Ist leider ziemlich ineffektiv, schwer und groß und wird heiß.

Kannst du den Motortreiber auch einmal ohne Last betreiben? D.h. keinen Motor anschließen? Gibt es dann immer noch den Unterspannungs-Fehler?
Wenn das funktioniert - kannst mal einen kleineren Motor zu Testzwecken anschließen, um zu sehen ob das prinzipiell funktioniert !

Hast du ein Oszilloskop da? Kannst du die PWM-Leitungen mal nachmessen (Simulation reicht nicht) ?

Bleibt die Betriebsspannung konstant oder bricht die bei Belastung stark ein? Kann sein, dass der Motortreiber einen kurzzeitigen Einbruch als Unterspannung erkennt und dann streikt (wartet dann auf einen Reset!).
Eventuell noch fette Elkos parallel zur Betriebsspannung schalten.

Bei deinen aufgeführten PWM-Werten hast du zwar unterschiedliche Frequenzen angegeben, jedoch hast du fast immer das gleiche Tastverhältnis von ca. 90%.

Rechnung:
Periodendauer=1/Frequenz
Tastverhältnis=(Pulsweite/Periodendauer)*100%

also z.B. für 1kHz und 0,9ms Pulsweite:
Periodendauer=1/1000Hz=1ms
Tastverhältnis=(0,9ms/1ms)*100%=90%

Diese Prozentzahl gibt dir an, wie viel der Zeit der Motor eingeschaltet wird. Oder die Brücke schaltet nur in den verbleibenden 10%, was für den Motor eventuell nicht reicht (müsste man mal das Datenblatt genau lesen). Eventuell mal variieren.

Und wie es Richard schon geschrieben hat: haben die Motoren bereits eine Elektronik integriert? Wie wurde der Motor vorher gesteuert?

Grüße,
Bernhard

bastlerheinz
14.11.2010, 14:08
Hallo,

wenn am Motortreiber keinen Motor angeschlossen ist, wird keine Unterspannung vom Motortreiber gemeldet.

Ein Oszilloskop, um den PWM-Eingang zu prüfen, habe ich nicht.

Im Mikrocontroller-Programm ist nun eingebaut, dass der RESET-Eingang des Motortreibers bei Unterspannung für 10 Millisekunden auf 0 Volt gezogen wird - dadurch wird ein Reset des Motortreibers ausgelöst.
Für die verschiedenen Grundfrequenzen des PWM-Signals wurden auch verschiedene Tastverhältnisse ausprobiert.
Das Ergebnis ist, dass für ein bis zwei Sekunden vom Motortreiber Unterspannung gemeldet wird (Ausgänge FF1 und FF2 des Motortreibers sind 5 Volt), danach meldet der Motortreiber keinen Fehler (FF1 und FF2 sind 0 Volt) aber der Rollstuhl fährt in allen Fällen nicht.

Die Spannung am Akku, als das Mikrocontroller-Programm gestartet wurde, beträgt immer 24 Volt.

Die Motoren sind vom Rollstuhl der Firma Invacare, Modell Euro Storm.
Auf den Motoren steht folgendes:

Typ: GP80305B-SRG1
0,22 kW
3000 U/min
11 A
24 V
ISO. Kl. B
IP54
43/00
S1
FF10
P00048
6 km/h
LM

Der Rollstuhl wird von einem Joystick gesteuert; zu diesem Joystick gibt es nach meinen Recherchen keine Dokumentation - anscheinend ist die Dokumentation ein Betriebsgeheimnis.

Grüße

Heinz

bastlerheinz
11.11.2011, 21:26
Ich habe jetzt mit dem Sabertooth 2*25A Motorcontroller eine sehr gut funktionierende Lösung für mein Problem gefunden.
Ein Sohn von mir, der Informatiker ist, hat mir die Software dafür geschrieben.
Der Rollstuhl lässt sich jetzt über Bluetooth mit einem Numpad-Tastaturblock und auch von einem externen Windows-Tablet-PC oder anderem PC, auch mit einer Maus, steuern.
Wenn alle Funktionen eingebaut und die Tests beendet sind, werde ich eine Webseite einrichten, die das Ergebnis zeigt und hier in diesem Forum noch eine kurze Mitteilung mit dem Link dorthin schreiben.

Heinz

Richard
12.11.2011, 13:31
m


Am Eingang für die Spannung für den Motor und die Elektronik des Motortreibers liegen 24 Volt an. Am PWM-Eingang des Motortreibers liegen 3-4 Volt an.



Ich lese aus der Treiber Beschreibung eine Versorgung der Elektronik von 5,5...Max 18 V. Mit Deinen 24 V dürftest Du den Treiber "gebraten" haben. :-(
Die Motor Treiber Versorgung = Leistungsstufen Versorgung (selber) hat einen eigenen Eingang und der darf mit bis zu bis 28 V Versorgt werden! Zum einfachen Testen kann man auch ein Poti + 5V GND und Schleifer auf PWM legen versuchen. Damit sollte sich der Motor dann auch regeln lassen, wenn der Treiber noch Lebt...

Gruß Richard

bastlerheinz
13.11.2011, 08:47
Hallo Richard,

ich glaube, Du hast Dich verlesen.
In der Dokumentation vom High-Powermotortreiber 24V12 steht nicht 5,5 - max. 18 V, sondern max. 28 V (kurzzeitig max. 36 V).
Jetzt benutze ich aber, wie schon geschrieben, den Motorcontroller Sabertooth 2*25A.

Danke für Deine Mail.

Gruß

Heinz

bastlerheinz
06.01.2012, 20:15
Hier der YouTube-Link von meinem derzeitigen Ergebnis.

http://youtu.be/q3qyW08q8C0

Danke nochmal an alle, die mir geantwortet haben!

Heinz