Forum: Mikrocontroller und Digitale Elektronik E-Motor gezieht mit einem Moment ansteuern


von L. H. (szv)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin auf der Suche nach einer Möglichkeit einen kleinen Elektromotor 
gezielt mit einem digital verstellbaren Drehmoment anzusteuern.

Wozu das?
Ich habe einen Seilzug, an dem ein Motor mit einer Spindel zieht. Der 
Motor soll den Seilzug mit einem kleinen Drehmoment gespannt halten und 
wenn es nötig ist, eine Kraft von maxmimal 20N auf den Seilzug ausüben. 
Wenn man die andere Seite des Seilzugs anfasst, soll man ein kleines 
haptisches Feedback aus einer digitale Testumgebung fühlen können. Man 
soll z.B. den möglichst hochauflösenden Unterschied zwischen wenig und 
viel Wind spüren können, der an einem Drachen zieht.

Technisches Umfeld: Durch die anderen Teile des Systems bin ich auf 
einen ATmega 168 µC und dessen I2C/TWI-Bus festgelegt. Den Motor habe 
ich noch nicht ausgesucht, aber er sollte im 5-12V Bereich liegen und 
keine oder nur eine sehr kleine Übersetzung haben. Die Drehrichtung bzw. 
das Halten des Motors wird über eine H-Brücke (L298) realisiert. 
Spannungen kann ich mit einem I2C/TWI fähigen Digital-Analog-Wandler 
erzeugen.

Ich habe mir überlegt, dass ich mit einem DAC (über I2C am µC) eine 
Spannung erzeuge, die über einen MOSFET (N-Kanal, BUZ11) den Strom (= 
Drehmoment) für den Motor steuert. Am Gate ist der DAC (für die 
steuernde Spannung), an der Source der GND und am Drain die Last 
(Motor). Das habe ich auch schon getestet und es klappt gut. Jetzt ist 
mir nicht ganz klar, wie ich die H-Brücke genau unterbringe. Nach der 
Schaltung im Datasheet soll ich sie an einigen Stellen erden. Mein Vs 
kommt aus dem Labornetzteil und der GND ist dann der Drain-Pin am 
MOSFET? Ist es ein großes Problem, dass die H-Brücke parallel zum Motor 
geschaltet ist? Bekomme ich da Probleme wie z.B. Wärme?

Hat jemand vielleicht eine bessere Idee? Ich habe einen Motortreiber 
gefunden (DRV8830), bei dem ich den Motorstrom mit einem Widerstand 
begrenzen kann. Der Widerstand muss kleiner als 1Ohm sein. Das kann ich 
über ein digitales Poti nicht machen. Kann man das Problem vlt. mit 
einen Operationsverstärker eleganter lösen?

Vielen Dank schon einmal fürs Durchlesen und die Antworten :-)

von René B. (reneb)


Lesenswert?

Hallo szv,

Das was du da realisieren möchtest ist nicht unbedingt eine 
Momentenregelung...
Als Motortreiber, der den Richtungswechsel beherrscht und per µC mit bis 
zu 10kHz kann, wäre der hier interessant: VNH3SP30 -> Reichelt.
Den maximalen Strom hast du dann per PWM selbst in der Hand, ebenso die 
Drehrichtung.

Du solltest es am einfachsten mal mit einem DC-Motor mit 
Inkrementalgeber probieren. Entweder im Komplettpaket oder selbst 
dranbasteln. Bei Pollin fliegen die abenteuerlichsten Motor-Reste rum, 
damit kannst du vielleicht einen ersten Versuchsaufbau machen.
Entweder baust du den Inkrementalgeber irgendwo ans Getriebe oder halt 
direkt an den Motor. Es geht auch eine Flankenerkennung über 
Hall-Sensoren und du kannst vielleicht irgendwo ein paar Magnete günstig 
platzieren.

Zur Abschaltung/Begrenzung:
Strommessung über Shunt an eine OP-Schaltung (Differenzmessung mit 
Verstärkung) und dahinter einen Komparator/Schmitt-Trigger, dessen 
Schwelle per Poti eingestellt wird. Elegant wäre natürlich auch eine 
Skalierung auf den ADC des µC, wenn dir die Reaktionszeit reicht.

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


Lesenswert?

L. H. schrieb:
> Den Motor habe ich noch nicht ausgesucht,
Such dir da mal einen aus, der mit bestromtem Stillstand klarkommt...

> aber er sollte im 5-12V Bereich liegen und
> keine oder nur eine sehr kleine Übersetzung haben.
Ein Motor an sich hat keine Übersetzung.

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


Lesenswert?

Um was für einen kleinen Motor geht es denn hier? Vermutlich um einen 
DC-Motor? Dann kann man (in erster Näherung) tatsächlich über den Strom 
das Drehmoment einstellen. Ein Drehgeber wäre nur erforderlich, wenn auf 
Position oder Drehzahl geregelt werden soll, oder wenn es um einen 
EC-Motor ginge.

Mit freundlichen Grüßen
Thorsten Ostermann

von Falk B. (falk)


Lesenswert?

@  L. H. (szv)

>ich bin auf der Suche nach einer Möglichkeit einen kleinen Elektromotor
>gezielt mit einem digital verstellbaren Drehmoment anzusteuern.

Drehmoment ist proportionel zum Strom.

>soll z.B. den möglichst hochauflösenden Unterschied zwischen wenig und
>viel Wind spüren können, der an einem Drachen zieht.

Geht zu ihr, und lass deinen Drachen steigen!

>Ich habe mir überlegt, dass ich mit einem DAC (über I2C am µC) eine
>Spannung erzeuge, die über einen MOSFET (N-Kanal, BUZ11) den Strom (=
>Drehmoment) für den Motor steuert.

Kann man machen, siehe Konstantstromquelle.

>(Motor). Das habe ich auch schon getestet und es klappt gut. Jetzt ist
>mir nicht ganz klar, wie ich die H-Brücke genau unterbringe.

Tja lieber  L. H., wer soll denn nun dein Herzblatt sein.
Ist es die lineare Konstantstromquelle, mit ihrer direkten, 
anschmiegsamen Art. Oder doch lieber der Schaltregler, effizient und 
kompromisslos?

>MOSFET? Ist es ein großes Problem, dass die H-Brücke parallel zum Motor
>geschaltet ist?

Wohl wahr!

> Bekomme ich da Probleme wie z.B. Wärme?

Dein Energieversorger wird ne Sektrunde schmeißen!

>Hat jemand vielleicht eine bessere Idee?

Brain 2.0

>Ich habe einen Motortreiber
>gefunden (DRV8830), bei dem ich den Motorstrom mit einem Widerstand
>begrenzen kann.

Klingt OK!

> Der Widerstand muss kleiner als 1Ohm sein. Das kann ich
>über ein digitales Poti nicht machen. Kann man das Problem vlt. mit
>einen Operationsverstärker eleganter lösen?

Mö. Versuch's mal mit PWM.

MfG
Falk

von J. V. (janvi)


Angehängte Dateien:

Lesenswert?

Strom = Moment, Spannung = Drehzahl passt schon mal in erster Näherung. 
Beides kannst du mit einer PWM einstellen und solltest dies aus Gründen 
der Wärmeentwicklung auch so tun. Je nach Zug auf der Winde stellt sich 
dann eben eine dazu passende Drehzahl ein. Oder: Je nach Zug auf der 
Winde stellt sich eine zum konstanten Motorstrom passende Motorspannung 
ein. Das gilt sowohl für Motor als auch für den Generatorbetrieb. 
Nachdem die Auskünfte von Falk diesmal nicht so ergiebig wie beim Royer 
Oszillator waren beiliegend ausnahmsweise meine Windenschaltung.

Der Spannungsregler rechts unten gehört nicht zum Motorteil. Ich habe 
einen 24 Volt Scheibenwischermotor aus einem LKW aber mit 12 Volt geht 
das genauso. Der Motorstorm wird mit einem P-Kanal Mosfet V13 
geschaltet. L17 und C75 glättet die Spannung. Damit braucht man trotz 
PWM keine abgeschirmten Kabel mehr und die Wärme von einem Linearregler 
hat man trotzdem nicht. Ausserdem erlaubt L17 im Kurzschlußfall einen 
langsameren Stromanstieg so daß die Software noch abschalten kann 
(kurzschlußfestes Design). An C88 ist ein Analogeingang vom uC. Der 
misst die Motorspannung so daß man die Geschwindigkeit der Winde 
anzeigen kann. Die H-Brücke ist etwas altmodisch mit Relais gemacht, 
weil die Richtung ja nur sehr selten umgeschaltet wird. Wichtig ist die 
Position des Shunts R123. Beim L298 ist der ja auch eingezeichnet und 
funktioniert unabhänig von der Drehrichtung. N3 verstärkt das 
Stromsignal und R101 geht wieder an einen Analogeingang von deinem 
Controller. V2 ist das PWM Ausgangssignal vom Controller auf einem 
Timer-Pin.

Viel Spass auch mit der Software für deinen AT-Mega- Vielleicht googelst 
du da mal was auf dem Roboternetz - die haben gute Reglerbeschreibungen.

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.