Forum: Mikrocontroller und Digitale Elektronik Arduino Drehzahlgeber Werte invertieren


von Veit D. (presslufthammer)


Lesenswert?

Hallo,

ich möchte einen Drehzahlgeber (Inkrmentalgeber) als Rückführung für 
eine Drehzahlregelung über eine Arduino an einen FU anschließen.


Eine immer präsente (aber sich veränderndee) Belastung wirkt 
entgegengesetzt der Drehrichtung des Motors auf dessen Welle. Ich 
möchte, dass der Umrichter eine Drehzahl konstant hält. Der Motor soll 
anwendungsbedingt sich immer nach z.B. rechts drehen versuchen, die 
anzupeilende Drehzahl jedoch negativ (hier links) sein, z.B. -30 upm.

Meines Erachtens müsste in diesem Fall der Umrichter genau umgekehrt 
arbeiten, oder?

Ist die Istdrehzahl belastungsbedingt z.B. bei -40 upm, müsste der 
Umrichter "mehr Strom" geben, sodass die Welle auf -30 upm gebremst 
wird.

Wäre die Istdrehzahl z.B. bei -20 upm, müsste er "Strom rausnehmen", um 
eine Beschleunigung durch die Last auf der Welle auf -30 upm zu 
erreichen, oder?

Ich benötige also genau das entgegengesetzte Verhalten eines Umrichters, 
der ja eigentlich, um eine höhere Drehzahl zu erreichen mehr "Strom" 
gibt, und um eine niedrigere Drehzahl zu erreichen, "Strom" herausnimmt.

Wichtig ist eben, dass die Motordrehrichtung entgegengesetzt der auf die 
Welle einwirkende Kraft ist.

Meine Frage ist nun: Reicht es, wenn ich dem Umrichter sage, peile die 
Drehzahl von -30 upm bei entgegengesetzter Drehrichtung an, und er 
regelt auf den Wert, oder muss ich zwingend das Signal des Gebers 
invertieren?

Die Signalinvertierung wäre meines Erachtens in diesem Fall notwendig, 
um eine umgekehrte Funktion des Umrichters zu erhalten.

(1): Da ich möchte, dass er Strom dazugibt, wenn er eigentlich zu 
schnell ist (s.o.), müsste ich den Arduino ein Ist>Soll-Signal in ein 
Ist<Soll-Signal umrechnen lassen. Würde ein Ist>Soll-Signal durch den 
Geber in den Arduino eingelesen werden, würde dieser es zu einem 
Ist<Soll-Signal umrechnen und dieses umgerechnete Signal im Umrichter 
erreichen, dass mehr Strom dazugegeben wird.

(2): Würde dies funktionieren, würde der Umrichter ein Ist<Soll-Signal 
als Ist>Soll-Signal interpretieren und den Strom zurückfahren.

Konkret hatte ich mir das zahlenmäßig folgendermaßen gedacht:

Als Solldrehzahl seien z.B. 30 upm entgegengesetzt der Drehrichtung des 
Motors anzupeilen, also wsl. dann -30 upm.

Fall (1): Die Kraft auf die Welle lässt den Motor schneller drehen, als 
vorgesehen. Die vom Geber abgegriffene Istdrehzahl ist z.B. bei -40 upm. 
Das Istsignal sollte somit (betragsmäßig) größer sein, als das 
Sollsignal (-30 upm). Mein Verständnis vom Umrichter ist, dass er Strom 
rausnimmt, um eine Verringerung der Drehzahl zu erreichen. Ich benötige 
aber das Umgekehrte, d.h. dass er eben Strom draufgibt, um langsamer zu 
werden.
Wenn ich die -40 upm beispielsweise in -20 upm umrechnen könnte, würde 
der Umrichter das als Ist<Soll (betragsmäßig) interpretieren, und somit 
Strom draufgeben.

Fall (2): Die Kraft auf der Welle lässt den Motor langsamer drehen, als 
vorgesehen. Die vom Geber abgegriffene Istdrehzahl ist z.B. -20 upm. Das 
Istsignal sollte somit (betragsmäßig) kleiner sein, als das Sollsignal 
(-30 upm). Mein Verständnis vom Umrichter ist, dass er Strom draufgibt, 
um eine Erhöhung der Drehzahl zu erreichen. Ich benötige aber das 
Umgekehrte, d.h. dass er eben Strom rausnimmt, um schneller zu werden.
Wenn ich die -20 upm beispielsweise in -40 upm umrechnen könnte, würde 
der Umrichter das als Ist>Soll (betragsmäßig) interpretieren, und somit 
Strom herausnehmen.

Weiß jemand, ob dieses Vorgehen für mein Vorhaben vonnöten ist, oder 
reicht es wirklich zu sagen, peile eine Drehzahl von -x upm an (bei 
entgegengesetzter Drehrichtung)

Besten Dank für eure Antworten.

: Verschoben durch Moderator
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Veit D. schrieb:
> Fall (1):
In diesem Fall brauchst du einen rückspeisefähigen Umrichter oder einen 
Chopper, der die überschüssige Leistung im Zwischenkreis vernichtet.

> oder reicht es wirklich zu sagen, peile eine Drehzahl von -x upm an (bei
> entgegengesetzter Drehrichtung)
Das kommt auf den Umrichter an. Mit dem richtigen (rückspeisefähigen) 
Umrichter geht auch der Bremsbetrieb. Du musst dann nur eine 
Wunschdrehzahl vorgeben.
http://www.abb.de/cawp/seitp202/e86a674f60a4cb8dc1256f9000508e4e.aspx
http://www.sam-antriebstechnik.de/109.html

: Bearbeitet durch Moderator
von Veit D. (presslufthammer)


Lesenswert?

Hallo Lothar,

besten Dank für die Antwort und den Input.

OK, dann liegt das wohl daran, dass ich mir die Funktion des Umrichters 
bei Drehrichtung entgegengesetzt der Zugrichtung noch nicht vorstellen 
kann.
D.h. wenn man einen Umrichter mit Bremschopper hat, dann ist das so 
möglich, wie ich mir das vorstelle, d.h. der Umrichter arbeitet dann von 
der Logik genau anders herum, als wenn man eine + (positive) 
Sollgeschwindigkeit angibt?
D.h. er bremst, falls die Istgeschwindigkeit (z.B. -60 upm) kleiner ist, 
als die Sollgeschwindigkeit (z.B. -40 upm) und fährt die Stromwerte 
herunter, wenn meine Istgeschwindigkeit (z.B. -20 upm) größer als die 
Sollgeschwindigkeit (z.B. -40 upm) ist? Um bei letzterem eine 
Beschleunigung auf die Solldrehzahl zu erhalten?

Würde das dann theoretisch reichen, dass man als Solldrehzahl einen 
negativen Wert vorgibt?  Bzw. ist dieses "-" so zu verstehen, dass eine 
Regelung der Wellendrehzahl anzustreben ist, die entgegengesetzt der 
Drehrichtung des Motors läuft?

Besten Dank für die Infos.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Veit D. schrieb:
> D.h. er bremst, falls die Istgeschwindigkeit (z.B. -60 upm) kleiner
> ist, als die Sollgeschwindigkeit (z.B. -40 upm) und fährt die Stromwerte
> herunter, wenn meine Istgeschwindigkeit (z.B. -20 upm) größer als die
> Sollgeschwindigkeit (z.B. -40 upm) ist? Um bei letzterem eine
> Beschleunigung auf die Solldrehzahl zu erhalten?
Das passiert eigentlich laufend: stell dir einfach vor, du beschleunigst 
eine Schwungmasse auf z.B. 100 U/s und dann bremst du sie wieder auf 
10 U/s ab. Beim Bremsen passiert genau das, was du hast: das Schwungrad 
will in die selbe Richtung weiterdrehen, aber mit höherer Drehzahl. Wenn 
dein Umrichter sie abbremsen will, muss er die gespeicherte Energie 
loswerden.
Er wird die erst mal in den Zwischenkreis abgeben, und wenn der "zu 
voll" wird, dann kommt der Chopper oder die Netzrückspeisung.

> dass man als Solldrehzahl einen negativen Wert vorgibt?
Du gibst deine geünschte Drehzahl und Drehrichtung vor. Der Rest macht 
der Motor zusammen mit dem Umrichter. Deine Plus-Minus-Geschichte ist 
nur ein unnötiger Stolperstein, den du dir selber in den Weg legst.

: Bearbeitet durch Moderator
von Veit D. (presslufthammer)


Lesenswert?

Hallo Lothar,

besten Dank für die Infos, ich glaube, ich bin jetzt ein Stück weiter.

Was wichtig ist, ist wie gesagt, dass die Drehrichtung entgegengesetzt 
der Zugrichtung sein Muß...

D.h. also, ich habe eine Kraft, die unterschiedlich stark ist, und den 
Anker entgegengesetzt der Drehrichtung unterschiedlich schnell bewegt. 
Diese Geschwindigkeit muss geregelt werden, unter der Bedingung, dass 
sich der Motor trotzdem versucht, in die andere Richtung zu drehen.

Letzteres brauche ich zwingend, da nach x Inkrementen ein (variabler) 
Drehmomentmaximalwert vorgegeben werden soll, bei dessen Überlast in 
Drehrichtung der Motor stehen bleibt.

Ich bin mir nicht sicher, ob das so funktioniert, wie du vorgeschlagen 
hast...ich kann mich da aber selbstverständlich auch irren...

Danke dir

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Veit D. schrieb:
> Was wichtig ist, ist wie gesagt, dass die Drehrichtung entgegengesetzt
> der Zugrichtung sein Muß...
Zeichne das mal mit einem Bild und Pfeilen auf.

Veit D. schrieb:
> D.h. also, ich habe eine Kraft, die unterschiedlich stark ist, und den
> Anker entgegengesetzt der Drehrichtung unterschiedlich schnell bewegt.
Es gibt nur eine einzige Drehrichtung und eine Drehzahl. Und das ist 
die, die vom Umrichter auf die Motorwelle gegeben wird.
Wenn die externe Kraft (der "Zug" oder die Belastung oder die 
"Zusatzkraft") so groß wird, dass es der Motor nicht mehr "schafft", 
diese Drehzahl zu halten,  dann hast du ihn überlastet...

: Bearbeitet durch Moderator
von Veit D. (presslufthammer)


Angehängte Dateien:

Lesenswert?

sh. Bild im Anhang.

Der kleine Pfeil rechts zeigt die Drehrichtung an, die ich im Umrichter 
einstelle. Das ist soweit mal klar.

Der große Pfeil links zeigt die Zugkraft an, die auf die Welle wirkt. 
(z.B. ein Seil, welches auf eine Rolle aufgedreht ist). Auf dieses Seil 
wirken unterschiedliche Kräfte. Dennoch soll ebendiese Geschwindigkeit 
in ebendiese Richtung durch den Umrichter geregelt werden.

Der Umrichter soll durch Abbrems- bzw. Beschleunigungsspannungen 
ebendiese Geschwindigkeit regeln.

Deshalb meine Idee mit der Geschwindigkeitsinvertierung:

- Wird die Geschwindigkeit V1 zu groß, also z.B. ("-") 60 upm anstatt 
des Sollwertes ("-") 40 upm, soll der Umrichter mehr Spannung in den 
Motor geben, dass der Widerstand gegen das Ausrollen größer wird und 
somit eine Abbremsung der Abrollbeegung erfolgt.

- Umgekehrt soll, sofern die Istgeschwindigkeit kleiner der 
Sollgeschwindigkeit ist, z.B. ("-") 20 upm anstatt ("-") 40 upm, der 
Umrichter die Stromwerte runterfahren, sodass durch die einwirkende 
Kraft, eine Beschleunigung der Welle erfolgt.

Um ebendieses Verhalten im Umrichter zu erreichen, müsste man meines 
Erachtens eine Umkehr der eingelesenen Geschwindigkeit erreichen.

Wenn der Umrichter denkt, dass die Istgeschwindigkeit zu niedrig ist, 
wird er den "Strom" hochfahren. Wenn ich das Signal NICHT umkehre, haben 
wir den Fall, dass er die Bewegung nach Links (V1) deshalb weiter 
abbremst.

Stattdessen müsste man den Umrichter denken lassen, dass er eigentlich 
zu schnell ist. In dem Fall nimmt er Strom raus, und erlaubt deshalb 
eine Beschleunigung nach links.

Analog:

Wenn der Umrichter denkt, dass die Istgeschwindigkeit zu hoch ist, wird 
er den "Strom" runterfahren (da die Abweichungen relativ klein sind, 
denke ich mal nicht, dass da ein Chopper aktiviert wird). Wenn ich das 
Signal nicht umkehre, haben wir den Fall, dass er die Bewegung nach 
Links (V1) weiter beschleunigen lässt.

Man müsste stattdessen den Umrichter denken lassen, dass er eigentlich 
zu langsam ist. In diesem Fall würde er Strom draufgeben, und eine 
tatsächliche Verlangsamung der Bewegung nach links erreichen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Veit D. schrieb:
> Der kleine Pfeil rechts zeigt die Drehrichtung an, die ich im Umrichter
> einstelle. Das ist soweit mal klar.
Du hast da einen Knoten in den Gedanken. Allein der Motor gibt vor, in 
welche Richtung sich das System bewegt.

Zum Aufwicklen muss die Drehrichtung nach rechts gehen und die 
"Motorkraft" größer als die "Zugkraft" sein. Dafür ist Energie nötig.

Selbst für Drehzahl 0 ist Leistung nötig, damit das für den Stillstand 
nötige Drehmoment aufgebracht wird.

Zum Abwickeln des Seiles in deinem Bild muss die Drehrichtung aber 
nach links gehen (sonst wird da nichts abgewickelt). Dann wird aber dem 
Motor Energie entnommen.

Wenn du aber "Drehzahl rechts" vorgibst und die Motorwelle links dreht 
oder stehen bleibt, oder auch nur langsamer läuft als die 
Wunschdrehzahl, dann ist schlicht der Antrieb überlastet.

Du musst ja nur mal dein Bild um 90° drehen und an V1 einen Eimer Wasser 
hängen. Dann wird es ganz alltäglich.

: Bearbeitet durch Moderator
von Veit D. (presslufthammer)


Lesenswert?

Hallo,


Danke für die Antwort - auch wenn mich das jetzt vor ein Problem stellt.

Lothar M. schrieb:
> Wenn du aber "Drehzahl rechts" vorgibst und die Motorwelle links dreht
> oder stehen bleibt, oder auch nur langsamer läuft als die
> Wunschdrehzahl, dann ist schlicht der Antrieb überlastet.


Wenn ich doch einen Umrichter im Vektormodus betreibe, dann kann ich 
doch da auch ein max. Drehmoment einstellen, bei dessen Überlast der 
Motor einfach stehen bleibt bzw. mit dem maximalen Drehmoment 
weiterdrückt, oder? Würde sowas ähnliches nicht auch hier gehen?

Weißt du vielleicht eine andere Möglichkeit, wie man so etwas lösen 
könnte, ohne, dass sich der Motor in Abwicklungsrichtung bewegt? Bzw. 
etwas, was in eine ähnliche Richtung geht?

Besten Dank dir

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jetzt kommst du so langsam auf den Trichter. Wenn du eine 
Momentenregelung willst, dann ist eine Diskussion um eine Drehzahl 
unnötig. Die wird dann bestenfalls als Obergrenze gesehen. Allerdings 
musst du jetzt auch schauen, ob dein Antrieb das auch kann...

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.