PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Motortreiber parallel schalten && QEI Modul mit I²C bzw. PI Regelung 16mhz 7600 m^-1



skg-rob
10.05.2011, 17:33
Hallo Leute. Ich hab 2 Fragen:

Kann man Motortreiber parallel schalten wenn man zu hohe Anlaufströme aufweist? Ich möchte einen 11W Motor mit 3.6A Anlaufstrom von 12 auf 16 V überspannen und da wäre es am einfachsten 3 Motortreiber die jeweils 2A schaffen parallel zu schalten.

Zweitens:
Ich möchte diese Motoren mit Tacho betreiben. Die Grenzdrehzahl liegt bei knapp 10000 min^-1. Ich rechne einfach mal mit der Leerlaufdrehzahl 9430 - 20% = 7544. Kann ich eine PI Regelund mit einem AVR bei 16 mhz realisieren, wenn er auch noch andere Aufgaben bearbeiten muss? Ich würde gerne auf Interrupts verzichten, wenn es möglich ist.
Gibt es ansonsten ein QEI als I²C Modul? Eventuell in einem Motortreibermodul?

Vielen Dank für eure Hilfe!

BMS
10.05.2011, 17:56
Hallo,
Motortreiber parallel schalten muss nicht unbedingt klappen. Problem wird wohl sein, dass sich der Strom ungleich aufteilt. Dadurch wird sich auch die Verlustleistung etwas unterschiedlich aufteilen. Ist aber die Frage wie stark dieser Effekt auftritt. Haben alle Motortreiber den gleichen ON-Widerstand (MOSFETs), sollte das soweit klappen. Sind die Motortreiber sehr unterschiedlich, wirst du wahrscheinlich einen nach dem anderen überlasten. Da spielt schon die Exemplarstreuung eine Rolle.

Vorraussetzung ist natürlich auch, dass du die entsprechenden Eingänge der Treiber miteinander verbindest, aber daran hast du bestimmt schon gedacht ;)

Einen Motor mit 3,6A könnte noch ein TLE5205 schaffen (Siehe http://rn-wissen.de/index.php/Getriebemotoren_Ansteuerung , ist inzwischen sehr umfangreich ;) ).

Was soll QEI sein?

Bei 7544 U/min sind das 7544/60=ca.125 Impulse pro Sekunde. Also alle 8ms kommt ein Impuls. In dieser Zeit müsste der Controller auch eine PI-Regelung berechnen können, behaupte ich mal. Welche anderen Aufgaben soll der µC noch übernehmen?

Grüße, Bernhard

Klebwax
11.05.2011, 06:31
Kann man Motortreiber parallel schalten wenn man zu hohe Anlaufströme aufweist? Ich möchte einen 11W Motor mit 3.6A Anlaufstrom von 12 auf 16 V überspannen und da wäre es am einfachsten 3 Motortreiber die jeweils 2A schaffen parallel zu schalten.

Hallo

für so etwas nahm man früher Anfahrwiderstände. Heute programmiert man einen Sanftanlauf.

MfG Klebwax

skg-rob
11.05.2011, 12:48
@ Klebwax: Sanftanlauf ist keine möglich, da ich mit der PI Regelund ziemlich ruppig arbeiten werde, es sollen u.a. minimale Abweichungen vom NormWinkel ausgeglichen werden.

@BMS:
Die 3.6A sind leider nur Datenblattstrom, ich will ja noch um 4V überspannen. Deshalb die Lösung mit 3 Treibern a 2A. Natürlich müssen die alle an dem PWM dran sein und nach den Treibern wieder in eine Leitung zusammenfließen ;)
QEI heißt Quadratur Encoder Interface. Einmal initialisiert liefert er mir in einer FSM automatisch die aktuelle Drehzahl. Das wäre sehr entlastend:
Am Haupt CPU hängen noch 2 weitere. Insgesamt sollen von diesen 3 48 ADCs ausgelesen werden und 36 davon miteinander verrechnet werden nach dem Schema: s1+s2+s3, s2+s3+s4 [...] s36+s1+s2. Dann hängen noch 4-8 Sonars (werden nur ausgelesen wenn bereit, es wird also nicht initialisiert und dann gewartet), ein Magnetfeld, ein LCD, evtl. noch Maussensoren dran. Und da der Roboter auf die Umgebung reagieren soll, muss er möglichst viele Durchläufe schaffen.
Ob ich da eben Zeit habe die Impulse vom Ecoder zu verrechnen (btw: Datenblatt sagt 32 Impulse, 2/3 Kanal), da bin ich mir eben ziemlich unsicher.

Trozdem vielen Dank soweit!

EDIT: Das Datenblatt des Encoders sagt mir folgendes:
32 Impulse pro Umdrehung
8 kHz Max. Impulsfrequenz
2 bzw. 3 Kanäle (unwichtig).

EDIT 2:
Danke für den Motortreiber! Laut I_2 = (U_2/U_1)*I_1 bekomme ich 4.8A raus. Das dürfte sogar mit dem einzelnen gehen!

skg-rob
20.05.2011, 16:35
Kennt keiner ein QEI Modul?

WL
20.05.2011, 19:25
Vielleicht hilft Dir das hier:

https://www.roboternetz.de/community/showthread.php?51727-Motorregler-PID-Bascom

skg-rob
21.05.2011, 19:07
Danke, das muss ich mir mal genauer anschauen. Die Idee einfach einen weiteren slave cpu zu nehmen ist gar nicht so schlecht.
Ist dein Modul das hier? http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=197 Das hab ich im Thread gefunden allerdings konnte ich es nur schnell überfliegen.

WL
21.05.2011, 20:50
So ähnlich.
Mit der Zusatzfunktion des inkrementell genauen Geradeauslaufes der 2 Antriebe.

skg-rob
22.05.2011, 15:41
Hmm was mich ein bischen wundert ist, dass du 255 für nach vorne und 128 als keine Geschwindigkeit angibts. Steht einem damit nur die Hälfte der Genauigkeit beim PWM zur Verfügung?
Das ist aber eine interessante Lösung, dass du nur den Soll Wert übergibts und nicht wie bei ARM cpus mit QEI den Ist Wert dir geben lässt... Sollte ich kein anderes QEI Modul finden werde ich es wohl so machen wie du.

WL
22.05.2011, 17:42
......dass du 255 für nach vorne und 128 als keine Geschwindigkeit angibts. Steht einem damit nur die Hälfte der Genauigkeit beim PWM zur Verfügung?

Diese Werte gelten für den Sollwert (Geschwindigkeit) ! Damit braucht man nur ein Byte.
Das hat erst einmal nichts mit der PWM zu tun. Im Regler kann die PWM Werte von 40...255 annehmen (bei 10 z.B. würde der Motor sowieso nicht drehen).