Forum: Mikrocontroller und Digitale Elektronik Gleichlaufregelung / Lichtschranke oder Drehgeber?


von Nils B. (Gast)


Lesenswert?

Hallo zusammen,

ich versuche gerade einen Gleichlauf von zwei Gleichstrommotoren 
hinzubekommen.

Dabei stehe ich vor dem Ansatz die Umdrehungen des Motors in einer 
bestimmten Zeit über nen externen Interupt zu messen. Nun überlege ich, 
ob ich das mit Hilfe einer Lichtschranke+Schmitt-Trigger oder eines 
Drehgebers machen sollte. Kann mir dazu jemand einen Tip geben?

Der Motor schafft im Leerlauf so an die 20000 U/min und wird über eine 
PWM in der Geschwindigkeit gesteuert. Meine Frage dazu wäre, wie oft ich 
den den Istwert des Motors(Umdrehungen) einlesen müsste, um eine 
vernüftige Regelung hinzubekommen? Ich hätte jetzt so auf 1-2 ms 
getippt.

von Falk B. (falk)


Lesenswert?

@ Nils B. (Gast)

>ich versuche gerade einen Gleichlauf von zwei Gleichstrommotoren
>hinzubekommen.

Gleiche Drehzahl oder auch gleiche Phase?

>Dabei stehe ich vor dem Ansatz die Umdrehungen des Motors in einer
>bestimmten Zeit über nen externen Interupt zu messen.

Das misst die Drehzahl, aber nicht die Phase.

> Nun überlege ich,
>ob ich das mit Hilfe einer Lichtschranke+Schmitt-Trigger

Kann man machen.

> oder eines
>Drehgebers machen sollte.

Ist zu 99% Overkill.

>Der Motor schafft im Leerlauf so an die 20000 U/min und wird über eine

Macht 333 U/s, sprich ~3ms/U

>PWM in der Geschwindigkeit gesteuert. Meine Frage dazu wäre, wie oft ich
>den den Istwert des Motors(Umdrehungen) einlesen müsste, um eine
>vernüftige Regelung hinzubekommen? Ich hätte jetzt so auf 1-2 ms
>getippt.

Nicht unbedingt. Das hängt auch von dem Steuerverhalten/mechanischer 
Trägheit der Motoren ab. Je nachdem kann das zwischen 1s und 10ms 
liegen.

MfG
Falk

von Nils B. (Gast)


Lesenswert?

>Gleiche Drehzahl oder auch gleiche Phase?

Nur die Drehzahl. Eigentlich sogar nur, welcher Motor gerade schneller 
dreht.

>> oder eines
>>Drehgebers machen sollte.

>Ist zu 99% Overkill.

Wieso?


>Nicht unbedingt. Das hängt auch von dem Steuerverhalten/mechanischer
>Trägheit der Motoren ab. Je nachdem kann das zwischen 1s und 10ms
>liegen.

Ok, ist klar. Aber ich hätte die Regelung gerne so schnell wie möglich. 
Bei einer Sekunde Abtastung bräuchte der Motor ja schon eine relativ 
lange Zeit bis er zum Stillstand kommt, falls der andere z.B. mal 
blockiert.

von Falk B. (falk)


Lesenswert?

@ Nils B. (Gast)

>Nur die Drehzahl. Eigentlich sogar nur, welcher Motor gerade schneller
>dreht.

???
Also wenn einr der beiden langsamer ist, soll er auf die Drehzahl des 
schnellen gebraucht werden?
Uhhhh Vorsicht, der Schuss kann fix ins Knie gehen.
Machs lieber so, dass ein Motor fest eine bestimmte Spannung (per PWM) 
bekommt, und der zweite nur darauf geregelt wird. Oder Beide werden 
UNABHÄNIG voneinander auf eine extern vorgegebene Drehzahl geregelt.

>>> oder eines
>>>Drehgebers machen sollte.
>>Ist zu 99% Overkill.
>Wieso?

Welche information bringt dir ein Drehgeber, die eine einfache 
(Gabel)lichtschranke nicht bringt? Du kannst damit zwar schneller die 
Drehzahl messen (nämlich zwischen zwei Codewechseln), aber das ist zu 
99% nicht notwendig. Es sei denn, du hast die ultimative CNC-Maschine, 
die superschnell und supergenau positioniert werden soll.

>Ok, ist klar. Aber ich hätte die Regelung gerne so schnell wie möglich.

Jaja, diese Jungend ;-) Wieviel willst du denn dafür ausgeben?

>Bei einer Sekunde Abtastung bräuchte der Motor ja schon eine relativ
>lange Zeit bis er zum Stillstand kommt, falls der andere z.B. mal
>blockiert.

Solche Extremzustände erfasst eine einfache Regelung im allgemeinen 
nicht, das muss man extra überwachen.

Aber sag doch mal lieber, was das Ganze sein soll.

MFg
Falk

von Nils B. (Gast)


Lesenswert?

>Aber sag doch mal lieber, was das Ganze sein soll.

Erhlich gesagt weiß ich das auch noch nicht genau. Die erste Idee war 
einen kleinen Panzer zu bauen der mit zwei Ketten angetrieben wird. Aber 
mal schauen.

>Also wenn einr der beiden langsamer ist, soll er auf die Drehzahl des
>schnellen gebraucht werden?

Ne, genau anders herum. Also meine überlegung war das ich dem Motor über 
die PWM eine feste Geschwindigkeit mitteile. Ob dieser die erreicht, sei 
erstmal dahingestellt. Bei voller PWM dreht der Motor das was er kann, 
also Vollgas. Wenn der andere aber schneller sein sollte(Toleranz, 
Reibung usw.) kann der langsamere ja aber nicht schneller. Also muss der 
schnellere gebremst werden.

>Machs lieber so, dass ein Motor fest eine bestimmte Spannung (per PWM)
>bekommt, und der zweite nur darauf geregelt wird.

Dabei kommt dann auch wieder Reibung usw. zum tragen. Dabei muss ich 
dann immer Wissen, welcher Motor der schnellere ist.

>Oder Beide werden
>UNABHÄNIG voneinander auf eine extern vorgegebene Drehzahl geregelt.

Und was ist wenn der eine Motor die nicht erreicht oder blockiert?

<Wieviel willst du denn dafür ausgeben?

Geld ist dabei nicht das Hauptargument. Natürlich, umso billiger umso 
besser.

von Falk B. (falk)


Lesenswert?

@ Nils B. (Gast)

>Erhlich gesagt weiß ich das auch noch nicht genau. Die erste Idee war
>einen kleinen Panzer zu bauen der mit zwei Ketten angetrieben wird. Aber
>mal schauen.

Die Motoren dort laufen wohl kaum bei 20000 U/min. Selbst vor dem 
Getriebe.

>Ne, genau anders herum. Also meine überlegung war das ich dem Motor über
>die PWM eine feste Geschwindigkeit mitteile. Ob dieser die erreicht, sei
>erstmal dahingestellt. Bei voller PWM dreht der Motor das was er kann,
>also Vollgas. Wenn der andere aber schneller sein sollte(Toleranz,
>Reibung usw.) kann der langsamere ja aber nicht schneller. Also muss der
>schnellere gebremst werden.

Naja, für ein Kettenfahrzeug (muss ja kein Panzer sein, kann ja auch 
eine Planierraupe sein) ist diese Überlegung wenig wert. Den die Ketten 
haben IMMER ein gewisses Mass an Schlupf. Das kann am Ende nur duch den 
Bediener ausgeregelt werden. Natürlich ist es günstig, die Motoren 
möglichst im Gleichlauf zu betreiben, da muss der Bediener nicht so oft 
eigreifen.

>Dabei kommt dann auch wieder Reibung usw. zum tragen. Dabei muss ich
>dann immer Wissen, welcher Motor der schnellere ist.

Nein.

>>Oder Beide werden
>>UNABHÄNIG voneinander auf eine extern vorgegebene Drehzahl geregelt.

>Und was ist wenn der eine Motor die nicht erreicht oder blockiert?

blockieren ist ein Ausnahmezustand, der ausserhalb der Regelung erfasst 
und bearbeitet werden muss (Strommessung!). Wenn die Belastung eines 
Motors zu hoch wird, dass er die Solldrehzahl nicht erreicht kann man 
langsam innerhalb von Sekunden feststellen und drauf reagieren.

>Geld ist dabei nicht das Hauptargument. Natürlich, umso billiger umso
>besser.

Also vergiss schonmal den Drehgeber. Ist hier völlig Overkill. Es sei 
denn, du willst mit deiner Raupe automatisch Figuren fahren, dann wären 
sie sinnvoll/notwendig.

MFG
Falk

von Tishima (Gast)


Lesenswert?

Moin!

Für deinen Anwendungsfall sollte noch nichtmal eine echte Regelung 
Notwendig sein. Das einzige was Du ausgleichen musst sind die 
Motortoloranzen d.h. du musst eine Abstimmung von einem Antriebssystem 
zum anderen machen können.
Habe bei einigen prof. Antriebssystemen die PID Regelung deaktviert und 
fahre nur als offenes System mit ner Überstromauslösung im Fehlerfall, 
selbst mit unterschiedlichen Lasterverhältnissen erziehl ich bessere 
Ergebnisse als mit der PID Regelung. In dem Fall geht es um 2 sync. 
Riemengeschwingkeiten mit 20-60 m/min.

gruß,
Bjoern

von Nils B. (Gast)


Lesenswert?

>Den die Ketten
>haben IMMER ein gewisses Mass an Schlupf.

Und das würd ich halt gerne so gut es geht beseitigen.

>Die Motoren dort laufen wohl kaum bei 20000 U/min. Selbst vor dem
>Getriebe.

Kommt halt aufs Getriebe an. Aber gut, 20000 war einfach mal hoch 
angesetzt. Direkt am Motor werd ich aber schon Messen müssen um über die 
Lichtschranke ein paar Umdrehungen mitzubekommen.


Gut, also nehmen wir mal wir verwenden eine Gabellichtschranke und dazu 
eine Lochscheibe mit 20 Löchern. Dann macht der Motor 10000 U/min. Das 
sind 167 U/s * 20 = 3340 und 1,67 U bei 10ms * 20 = 33,4. Bei hohen 
Drehzahlen sehe ich kein Problem.

Was ist aber bei kleineren Drehzahlen. ann jetzt schlecht sagen was so 
ein Motor im unteren Bereich noch dreht. Würd aber mal sagen so an die 
800 U/min.

Das wären 267 in der Sekunde und 2,67 in 10ms. Da wird es dann schon 
langsam knapp. Also würd ich in dem Fall die Regelung ca. alle 50ms 
machen.

Nur dann kann ich ein schrittweises Abbremsen des Motors schon 
vergessen.
Das würde bei 100 Schritten schon 5 Sekunden dauern.

Also müsste ich die Schrittweite für das Abbremsen abhängig von der 
Differenz der Impulse machen. Oder wie würdest du da vorgehen?

von Falk B. (falk)


Lesenswert?

@ Nils B. (Gast)

>>Den die Ketten
>>haben IMMER ein gewisses Mass an Schlupf.

>Und das würd ich halt gerne so gut es geht beseitigen.

Dazu reicht ein einfacher Abgleich, wie von meinem Vorredner 
beschrieben.

>Kommt halt aufs Getriebe an. Aber gut, 20000 war einfach mal hoch
>angesetzt. Direkt am Motor werd ich aber schon Messen müssen um über die
>Lichtschranke ein paar Umdrehungen mitzubekommen.

Kann Vorteile haben.

>Das wären 267 in der Sekunde und 2,67 in 10ms. Da wird es dann schon
>langsam knapp. Also würd ich in dem Fall die Regelung ca. alle 50ms
>machen.

Klingt brauchbar.

>Nur dann kann ich ein schrittweises Abbremsen des Motors schon
>vergessen.
>Das würde bei 100 Schritten schon 5 Sekunden dauern.

Weisst du, wieviel hundert Schritte sind? Du hast keine Präzisons-CNC 
Maschine!

>Also müsste ich die Schrittweite für das Abbremsen abhängig von der
>Differenz der Impulse machen. Oder wie würdest du da vorgehen?

Lieber die Regelfrequenz erhöhen, 2..10ms.

MFG
Falk

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.