PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pulsweitenmodulation zur Synchronisierung von Motoren



LinuxFan
28.04.2005, 20:48
Hi,

dieses Thema wurde hier bestimmt schon 100 Mal angeschnitten, ich hatte auch schon die Forensuche benutzt, leider ohne richtigen Erfolg.

Ich habe 2 Gleichstrommotren (war: "Gleichschrittmotoren", das ist Quatsch), die per PWM synchronisiert werden sollen. Die Motoren ziehen ordentlich Strom (Scheibenwischermotoren), sodass ich eine ausreichende Kühlung der Schaltung vorgesehen habe.

Nun habe ich folgende Anforderungen an die Motorsteuerungsplatine:
1. Sie soll automatisch die Motordrehzahl synchronisieren, wenn die Motoren geradeaus fahren sollen.
2. Sie soll per Parallelport ansteuerbar sein (Ich möchte die gewünschte Geschwindigkeit für jeden Motor gern als Binärcode ausgeben).

Eine nicht ganz leichte Aufgabe, ich weiß :-) aber ich hoffe auf eure Hilfe. Ein paar Ansätze reichen mir schon :)

UlliC
28.04.2005, 21:19
Ich habe 2 Gleichschrittmotoren, die per PWM synchronisiert werden sollen. Die Motoren ziehen ordentlich Strom (Scheibenwischermotoren),

Hi LinuxFan,

es ist nicht ganz klar welche Art von Motoren du hast.
Entweder Scheibenwischermotoren, die i.d.R als Gleichstrommotoren ausgeführt sind, oder Schrittmotoren.
Den exakten Synchronlauf von 2 Gleichstromotoren kannst du nur durch eine Regelung der Drehzahl erreichen. Dazu brauchst du aber zwei Drehzahlsensoren. Wenn du keine Drehzahlsensoren hast oder einsetzen möchtest, hilft ggf. das Verfahren der I*R Kompensation. Hiermit kannst du eine Drehzahlabweichung von weniger als 5-10% erreichen.
Bei Schrittmotoren ist es etwas einfacher. Hier mußt du nur sicherstellen, daß an beide Motoren die gleiche Schrittanzahl pro Zeiteinheit ausgegeben wird.

LinuxFan
28.04.2005, 21:47
Hi Ulli,

man merkt, dass ich etwas müde bin, so ein Quatsch "Gleichschrittmotoren" :-D
Es sind GleichSTROMmotoren, keine Schrittmotoren.
Jo bei Schrittmotoren wäre das kein Problem, ich weiß.

Zu deinen Vorschlägen Mir reicht das I*R-Kompensationsverfahren! (Warum R?) Wie funktioniert das denn?

Und: Ich brauche auch noch eine Schaltung für PWM! Das mit der Ansteuerung per PC ist dabei ja das kleinste Hindernis.
Habe dazu auch schon so eine Variante mit dem NE555 gesehen, vielleicht hat da ja jemand Ahnung :)

Klaus_0168
29.04.2005, 09:10
Hi LinuxFan,

wenn Du eine Drehzahlmessung hast (Tachogenerator) kannst Du die Drehzahl per PI-Regler regeln. Die Theorie mit allen Formeln kannst Du auf meiner HP in der Abteilung Regler nachlesen.

Gruß Klaus

LinuxFan
29.04.2005, 15:57
Naja, auf deiner Seite habe ich jetzt nicht alles verstanden...

Wie kann ich denn die Drehzahl abfragen? Was für Möglichkeiten gibt es?

Ich möchte die Motoren mit dem L298 steuern, jeweils 2 Ausgänge parallel geschaltet, damit höhere Ströme fließen können.

Das Problem: Ich möchte per PC sagen können, welche Drehzahl eingestellt werden soll (LPT-Port z.B.: 1101 = 13 --> z.B. 13 Takte pro Sekunde). Die Platine, die am LPT-Port hängt, soll dann den Code am Parallelport ausgeben, und die Taktfrequenz ändern. Wie mache ich das? (Brauche ich eine C-Control? Ich hatte so was damit realisiert gesehen, da geht das halt über die ser. Schnittstelle)

Klaus_0168
01.05.2005, 21:23
Hi LinuxFan,

werde Dir erst mal einig, ob Du Dein Projekt mit Controller oder ohne realisieren willst. Es ist beides möglich.
Du kannst per Operationsverstärker eine PWM-Schaltung realisieren (Version 1) oder mit einem DA-Wandler die LPT-Port-Ausgänge in eine analoge Spannung für einen Transistorverstärker wandeln (Version 2) oder den LPT-Port mit einer CControl auslesen (Version 3) oder etc. etc.

Wenn die Motoren syncronisiert werden sollen, brauchst Du erst mal die Drehzahlen als Messwerte. Ein Tachogenerator wandelt eine Drehbewegung in eine der Drehzahl proportionale Frequenz. Für die Wandlung einer Frequenz in einen Analogwert kann man z.B. RC-Filter verwenden.
Natürlich kann auch die Leistungsaufnahme gemessen werden. Bei bekannter Stromaufnahme und Innenwiderstand gilt immer noch das Ohmsche Gesetz. (P=I*I*R)
Der Istwert beider Motoren muss jetzt nur noch mit der Solldrehzahl verglichen und die Ansteuerung der Motoren entsprechend verändert werden.

Vergleich und Motoransteuerung geht konventionell und per Controller.

Gru0 Klaus

Hobbit
02.05.2005, 09:19
Hi LinuxFan,
eine Sammlung verschiedener PWM Schaltungen findest du bei

http://www.discovercircuits.com/index.htm

Such mal in der "list of Schematics" nach "PWM" oder "Motor Controlls".
Ist zwar hauptsächlich alles auf Englisch geschrieben, aber zum Ideen sammeln finde ich die Seite super.

Gruß
Micha

LinuxFan
02.05.2005, 16:26
Hi Micha,

danke für den Link.

Und Englisch kann ich im übrigen auch. :-D

Gruß
LinuxFan