Forum: Mikrocontroller und Digitale Elektronik Zwei Motoren steueren.


von Praktikant (Gast)


Angehängte Dateien:

Lesenswert?

Hi Lieber Entwickler/innen..

wie der Titel schon sagt, ich stehe vor einer Herausforderung für meinem 
Praktikum.
Es sind zwei Motoren zu steueren
Die Motoren dienen um einen Band von einem (Motor Achse) auf den Anderen 
zu rollen und der Band soll mit eine konstante Kraft gezogen werden.

Am Anfag dachte ich, dass ich die beiden Motoren mit den selben Drehzahl 
steure,
Doch stellte ich fest, dass der gewickelte Band auf einem ziehende Motor 
schon sein Durchmesser ändert, und damit wird der Ziehkraft der Motor_1 
stärke als der andere.

ich soll das alles in einer mathematische Modell darstellen, um es 
später mit C/C++ zu implementieren..

nun weiss ich nicht mehr womit ich anfangen soll.

danke euch im Vorraus

PS: Als ausländische Student entschuldige ich mich für die Schreibfehler 
meiner Beitrag.

von Falk B. (falk)


Lesenswert?

@ Praktikant (Gast)

>Es sind zwei Motoren zu steueren
>Die Motoren dienen um einen Band von einem (Motor Achse) auf den Anderen
>zu rollen und der Band soll mit eine konstante Kraft gezogen werden.

dann musst du bei einden Motoren Drehmoment (Strom) und Drehzahl 
(Spannung) regeln. Da während des Aufwickelns der Durchmesser der Wickel 
wächst/sinkt, musst du das in der Drehmomentregelung berücksichtigen, 
damit die Zugkraft konstant bleibt.

>Am Anfag dachte ich, dass ich die beiden Motoren mit den selben Drehzahl
>steure,

Nein. Damit erhältst du keine konstante Zugkraft. Der gezogene Motor, 
von dem das Band abgewickelt wird, muss aktiv bremsen und damit die 
konstante Zugkraft herstellen. Der ziehende Motor, welcher das Band 
aufwickelt, muss im Strom und Drehzahl geregelt werden.

>Doch stellte ich fest, dass der gewickelte Band auf einem ziehende Motor
>schon sein Durchmesser ändert, und damit wird der Ziehkraft der Motor_1
>stärke als der andere.

Siehe oben.

>ich soll das alles in einer mathematische Modell darstellen, um es
>später mit C/C++ zu implementieren..

M = F * r (Drehmoment)
M = k * I (Drehmoment ist proportional zum Motorstrom)

>PS: Als ausländische Student entschuldige ich mich für die Schreibfehler
>meiner Beitrag.

Wenn das mal keine Ausrede ist ;-)

von Praktikant (Gast)


Lesenswert?

@Falk

Ich danke dir für die schnelle Antwort.

Das Problem ist nähmlich, dass ich die zwei Motoren anhand von eines 2 
FU (Frequenzumrichter) steueren muss.

http://src.lenze.com/lenze-bibliothek/en/X1%20-%20Accessories/X10%20-%20Modules%20and%20Keypads/X100%20-%20I-O%20modules/MA_E82ZAFSC010_STANDARD-IO_PT_v6-0_DE_EN_FR.pdf

Laut der Dattenblatt , bräuchte man für die FU einen Analogen Wert im 
Bereich 0...10V (um das Sollwert) zu geben und dazu einen Digital Input 
für Rück- Vorwärts zu definieren.

Der Analoge Wert wird mit einem Mikrocontroller und sein DAC ausgegeben.

von Peter II (Gast)


Lesenswert?

was sind das für motoren? Synchron oder Asynchron?

von Falk B. (falk)


Lesenswert?

@ Praktikant (Gast)

>Laut der Dattenblatt , bräuchte man für die FU einen Analogen Wert im
>Bereich 0...10V (um das Sollwert) zu geben und dazu einen Digital Input
>für Rück- Vorwärts zu definieren.

Das reicht nicht. Man muss den Strom vorgeben können, nicht nur die 
Drehzahl und Richtung. Sonst wird das nichts mit der konstanten Kraft.

von Praktikant (Gast)


Lesenswert?

@Peter

>was sind das für motoren? Synchron oder Asynchron?

Es handelt sich um einen Asynchrone Motoren..

@Falk

könnte man das mit einer Funktion vom Zeit lösen, sodass die bakannte 
Angabe (dicke der Band, Durchmesser der Achse, und die Länge der Band ) 
verwendet werden ?

von Falk B. (falk)


Lesenswert?

@ Praktikant (Gast)

>könnte man das mit einer Funktion vom Zeit lösen, sodass die bakannte
>Angabe (dicke der Band, Durchmesser der Achse, und die Länge der Band )
>verwendet werden ?

Ja. Noch besser wäre es, wenn man die Umdrehungen zählen könnte, das ist 
genauer als die Wickelzeit.

von Robert L. (lrlr)


Lesenswert?

was darfst du denn alles messen ?

(wäre es nicht am einfachsten die Kraft bei einer der Umlenkrollen zu 
messen ??
)

von Digi S. (digispark)


Lesenswert?

bringt dich aber doch immer noch nicht auf die Kraft. Eigentlich ist 
selbst die Methode der Leistungsmessung des Motors nur die halbe Miete, 
da dabei z. B. die Rollwiderstände der Lager unberücksichtigt bleiben. 
Am einfachsten wäre es wohl, die aufgewendete Zugkraft direkt am Band 
abzuleiten.

dazu könnte man oben zwischen den beiden Umlenkrollen eine definierte 
vertikale Kraft auf das Band ausüben. Dadurch wird sich das Band 
durchbiegen. Je niedriger die Zugkraft im Band ist um so größer diese 
Auslenkung.  Die Zugkraft würde sich durch einfach Vektor-Berechnung 
bestimmen lassen (ggf. korrigiert z. B. durch die Material-Steifheit)

Wenn man auf diese Art die Zugkraft bestimmen kann kann man den 
Aufrollenden Motor mit konstanter Leistung arbeiten lassen während man 
den abrollenden Motor so steuert, dass er gerade stark genug bremst um 
die gewünschte Bandspannung zu erreichen.

von Digi S. (digispark)


Lesenswert?

@Robert: das Messen der Kraft an der Umlenk-Rolle wäre natürlich noch 
eleganter als mein Ansatz mit der Auslenkung des Bandes.

Dafür hätte die Auslenk-Methode ggf. den Vorteil, dass sie den 
Zugkraft-Verlauf mechanisch etwas dämpft und so unter Umständen zu einer 
noch saubereren Einhaltung der gewünschten Bandspannung führt als die 
rein elektronische Variante.

von abc (Gast)


Lesenswert?

Hallo,

Darf man fragen, was für ein band das ist?

Solche Probleme, sind doch eigentlich in der Tonband / Kinoprojektor 
schon gelöst worden.

Die Anzahl der Umdrehungen als Referenz zu verwenden ist schlecht, 
Bänder könnten unterschiedlich dick sein, Die Wickeleigenschaften können 
variieren, es werden unterschiedlich grosse spulkerne verwendet.

Wie sieht es mit Fehlererkennung aus? Band Ende / Band gerissen?


Bei einem KinoProjektor ist vor der Aufwickelnden Spule noch ein paar 
zusätzliche umlenkrollen, von denen eine an einem Langen Hebel hängt. 
Dieser steuert den Motor. Bewegt sich der hebel nach oben, weil die 
Spule zu schnell läuft, wird die Drehzahl verringert. Bewegt sich der 
Hebel nach unten, weil die Spule zu langsam läuft wird die Drehzahl 
erhöht. Fällt der Hebel bis auf den unteren Anschlag durch wird der 
Motor soffort gestoppt, Band Ende / Abgerissen.

my.kinoton.com/fileadmin/user_upload/film_equipment/Brochures/SPT5000-50 
00K_brochure_d.pdf

Um das system auf konstante zugkraft umzubauen, eine Feder an den Hebel 
anbauen, (Federwage) und damit müsste winkelabhängig sich die aktuell 
gefahren zugkraft ermitteln lassen.

gruss

von Carsten R. (kaffeetante)


Lesenswert?

abc schrieb:
> Darf man fragen, was für ein band das ist?
>
> Solche Probleme, sind doch eigentlich in der Tonband / Kinoprojektor
> schon gelöst worden.

Es ist ein Praktikum. Da wird manchmal das Rad neu erfunden damit man 
das Erfinden einer Lösung erlernt. Die Lösung und das Problem stehen da 
nicht unbedingt im Vordergrund.

Praktikant schrieb:
> @Falk
>
> könnte man das mit einer Funktion vom Zeit lösen, sodass die bakannte
> Angabe (dicke der Band, Durchmesser der Achse, und die Länge der Band )
> verwendet werden ?

Entscheidend ist jetzt was es genau werden Soll. Eine Steuerung oder 
eine Regelung. Bei einer Steuerung gebe ich einfach nur Werte für die 
Motoren vor und hoffe daß das Ergebnis stimmt. Bei einer Regelung gebe 
ich Werte vor aber Messe irgendwie das Ergebnis und passe davon abhängig 
die Stellgröße an.

Manchmal reicht eine Steuerung, wenn die Genauigkeit nicht so hoch sein 
muß oder wenn das Verhalten des Systems gut vorhersagbar ist. Bei einem 
Tonband gibt es aber schnell Bandsalat. Das Problem könnte man über eine 
zeitabhängige Funktion lösen, wenn der Zusammenhang garantiert werden 
kann! Die Genauigkeit ist aber eingeschränkt. Abweichungen können nicht 
berücksichtigt werden, wenn zum Beispiel das Band kürzer, länger, dünner 
oder dicker ist. Für einer Regelung baucht man aber Sensoren. Und da ist 
die Frage, welche sind vorgegeben oder welche darf man noch verbauen.

Praktikant schrieb:
> Es sind zwei Motoren zu steueren
> Die Motoren dienen um einen Band von einem (Motor Achse) auf den Anderen
> zu rollen und der Band soll mit eine konstante Kraft gezogen werden.

Will ich nur umspulen, könnte eine konstante Kraft an der 
Welle/Drehmoment ausreichend genau sein wenn die variierende 
Übersetzugsverhältnisse durch die unterschiedliche Spulendicke noch 
innerhalb der Tolleranz liegt. Das scheint mir aber nicht der Aufgabe zu 
entsprechen. Es soll ja die Kraft am Band konstant gehalten werden.

Vorausgesetzt beide Motoren und Spulenkörper sind identisch, so kann man 
über das Verhältnis des Drehmomentes (proportional zum Motorstrom) der 
beiden Motoren zueinander das Verhältnis der Spulendicken zueinander 
berechnen. Wenn jetzt noch bekannt ist wie dick die leere und die volle 
Spule ist, so kann man daraus den aktuellen Füllgrad der Beiden Spulen 
berechnen. Aus dem aktuellen Füllgrad kann man die aktuelle Spulendicke 
berechnen. Diese Dicke ergibt mit dem Drehmoment an der Welle die Kraft 
F die auf das Band wirkt.

Nun muß man entweder den Motorstrom entsprechend einstellen oder Messen 
können. Bei diesem Ansatz läge das wesentliche Know-How in der Formel 
die aus dem Verhältnis der Drehmomente der beiden Motoren und den 
Durchmessern der minimal und der maximal gefüllten Spulendurchmesser die 
aktuelle Spulendicke berechnet.

Man kennt 3 Situationen.
sei a der Durchmesser der vollen Spule
sei b der Durchmesser der leeren Spule.

1. Durchmesser erste Spule leer, Durchmesser zweite Spule voll. Das 
Verhältnis der Durchmesser entspricht Verhältnis der Drehmomente und ist 
bekannt sobald man die Spulen mit ihren Maßen festlegt. Diesen Wert 
nenne ich A (= a/b). Bei unbekannten Spulen muß man dieses Verhältnis 
messen.

2. Die umgekehrte Situation mit erster Spule voll und zweiter Spule 
leer. Dieses Drehmomentverhältnis nenne ich B. Es gilt B=1/A. Warum? Ich 
habe Vorausgesetzt daß beide Spulenkörper identisch sind. Der Aufbau ist 
symmetrisch. Die Situation 1 ist zu Situation 2 einfach nur 
spiegelverkehrt. Im Bruch der das Verhältnis des Drehmomentes beschreibt 
sind nur beide Spulen vertauscht worden. Die Durchmesser a und b haben 
ihre Plätze (Zähler/Nenner) getauscht. B=b/a=1/(a/b)=1/A

3. Beide Spulen haben 50% des Bandes. Das bedeutet nicht das der 
Durchmesser in der Mitte zwischen voll und leer liegt. Es ist etwas 
mehr. Aber beide Durchmesser sind gleich, also auch die Drehmomente. Wie 
groß ist der Durchmesser?. Das kann man über die dunkelrote Fläche in 
der Skizze berechnen. Bei Kreisflächen gibt es einen schönen 
Zusammenhang zwischen Fläche und Durchmesser. In dieser Situation 3 sind 
die Flächen der beiden Spulen jeweils halb so groß wie die einer ganz 
vollen Spule.

Nun muß man noch einen Weg finden die Durchmesser für alle anderen 
Füllgrade von leer bis voll zu berechnen. Diese Formel zu erschaffen ist 
der Kernpunkt der Aufgabe. Wenn man das über die Kreisflächen berechnet, 
braucht man nicht mehr die Angaben über Bandlänge und Banddicke. Man 
kennt Kreisfläche voll und Kreisfläche leer. Und es gilt: Die 
Kreisflächen der beiden Spule sind zusammen immer so groß wie die 
Kreisfläche einer Vollen Spule. Ich denke der Rest sollte selber 
geschafft werden. Da es eine mathematische Aufgabe ist sollte die 
Herleitung dieser Formel in Eigenarbeit erfolgen. Einige Tips für den 
Weg dahin sind ja nun vorhanden.

PS: Es ist vielleicht etwas einfacher in den Formeln mit dem Radius 
anstatt des Durchmessers zu rechnen. Durchmesser D = 2 * Radius R

von Carsten R. (kaffeetante)


Lesenswert?

Mal ganz nebenbei ist dies weniger eine Frage für den Forenteil
µC & Elektronik sondern eher etwas für die Bereiche:

Analogtechnik

oder

Mechanik & Werzeug

Es ist nicht leicht zuzuordnen. Aber ein µC hat damit nicht direkt etwas 
zu tun, auch wenn man es mit einem µC realisieren könnte.

von anderer Praktikant (Gast)


Lesenswert?

Ich habe ein ähnliches Problem. Reicht es nicht wenn ich sage die Kraft 
F soll nach M=F*r konstant sein. Jetzt erfasse ich mit einem Sensor die 
Durchmesser. Kann man dann nicht einfach beide Motoren auf Moment 
regeln? Für Motor 1 sage ich: M1 = F* r1 und M2 = F * r2. So ist die 
Kraft doch konstant.

von MaWin (Gast)


Lesenswert?

anderer Praktikant schrieb:
> Reicht es nicht wenn ich sage die Kraft
> F soll nach M=F*r konstant sein

Sie muss noch nicht mal konstant sein, Hauptsache das Band hängt nicht 
durch und zerreist auch nicht.

> Kann man dann nicht einfach beide Motoren auf Moment regeln?

Nein, da sich die ergebende Drehzahl dann von lagerreibung etc. abhängt. 
Irgendwo muss schon die Drehzahl einfliessen. Einfacherweise auf einem 
Motor und der andere macht nur die Zugspannung.

von anderer Praktikant (Gast)


Lesenswert?

MaWin schrieb:
> anderer Praktikant schrieb:
>> Reicht es nicht wenn ich sage die Kraft
>> F soll nach M=F*r konstant sein
>
> Sie muss noch nicht mal konstant sein, Hauptsache das Band hängt nicht
> durch und zerreist auch nicht.
>
>> Kann man dann nicht einfach beide Motoren auf Moment regeln?
>
> Nein, da sich die ergebende Drehzahl dann von lagerreibung etc. abhängt.
> Irgendwo muss schon die Drehzahl einfliessen. Einfacherweise auf einem
> Motor und der andere macht nur die Zugspannung.

Aber wie kann ich den einen Motor gleichzeitig Drehmoment und Drehzahl 
regeln?

von anderer Praktikant (Gast)


Lesenswert?

Falk Brunner schrieb:

>
>>Am Anfag dachte ich, dass ich die beiden Motoren mit den selben Drehzahl
>>steure,
>
> Nein. Damit erhältst du keine konstante Zugkraft. Der gezogene Motor,
> von dem das Band abgewickelt wird, muss aktiv bremsen und damit die
> konstante Zugkraft herstellen. Der ziehende Motor, welcher das Band
> aufwickelt, muss im Strom und Drehzahl geregelt werden.
>
Aber wie kan man einen Motor gleichzeitig Strom/Moment und 
Drehzahl/Winkelgeschwindigkeit regeln?

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Ich würde den aufwickelnden Motor auf Drehzahl regeln und den 
abwickelnden Motor auf Drehmoment. Die Drehzahl am 2. Motor stellt sich 
dann in Abhängigkeit vom der Zugkraft und der Drehzahl des 1. Motors 
passend ein.

Mit freundlichen Grüßen
Thorsten Ostermann

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo "anderer Praktikant"

>> Nein. Damit erhältst du keine konstante Zugkraft. Der gezogene Motor,
>> von dem das Band abgewickelt wird, muss aktiv bremsen und damit die
>> konstante Zugkraft herstellen. Der ziehende Motor, welcher das Band
>> aufwickelt, muss im Strom und Drehzahl geregelt werden.
>>
> Aber wie kan man einen Motor gleichzeitig Strom/Moment und
> Drehzahl/Winkelgeschwindigkeit regeln?

Such mal nach dem Stichwort "Kaskadenregelung".

Mit freundlichen Grüßen
Thorsten Ostermann

von MaWin (Gast)


Lesenswert?

anderer Praktikant schrieb:
> Aber wie kann ich den einen Motor gleichzeitig Drehmoment und Drehzahl
> regeln?

Daher schrieb ich: Einer macht das Tempo durch die Drehzahl, der andere 
die Zugspannung per Drehmoment.

von Achim_42 (Gast)


Lesenswert?

Thorsten meinte aber den Zugmotor. Dieser wird in Drehzahl und Strom 
(Kaskadenregler) geregelt. Der Motor der folgt nur im Strom.

Wobei man natürlich nicht beides, Strom und Drehzahl konstant hält. 
Effektiv ist es ein Drehzahlregler. Denn das ist der Sollwert. Er gibt 
eben nur einem innen Stromregler den Stromsollwert vor (der aber 
schwankt).

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.