PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Motorgondeln per L6205 und PWM ansteuern



ojdo
27.07.2009, 09:21
Hallo; ich möchte zwei Motorgondeln (http://www.modelluboot.de/Zubehoer/Motorgondel.html) (Bürstenmotor, 12V@2A DC) mit einem L6205 Motortreiber ansteuern. Diesen widerrum möchte ich über 2 PWM-Signale (1 je Motor) steuern. Die PWMs erzeugt mir ein AT90CAN128 Microcontroller. Bei der Beschaltung habe ich mich an die Beispielschaltung RN-Wiki (https://www.roboternetz.de/wissen/index.php/Getriebemotoren_Ansteuerung#Ansteuerung_mit_L6205) gehalten. Die PWM-Signale schließe ich bei den PINs ENA u. ENB an den Treiber an. Ich nutze den FastPWM-Modus (8bit=256 Stufen zwischen always-off und always-on-Signal sowie einer Frequenz von 62,5kHz). Das RC-Glied bei den ENA/ENB-Pins hat die Werte 100K u. 5,6nF.

Meine Frage: sollte die Anordnung prinzipiell funktionieren?
Jetziges Verhalten: Mit der Schaltung schaffe ich es lediglich, die Motoren an- und abzuschalten (mit kl. Hysterese bei ca. 50% Pulsweite) aber nicht ihre Geschwindigkeit zu steuern.

021aet04
27.07.2009, 09:45
Hast du eine Möglichkeitden Tastgrad zu messen? Schließe den EN Eingang auf 5V (mit Pullup) und das PWM Signal schließe auf den IN Eingang

ojdo
27.07.2009, 10:02
Vieln Dank erstmal für die schnelle Antwort. Dann also ans debuggen:

Tastgrad: Ja, das PWM-Signal kann ich per Oszi messen und funktioniert wie erwartet: Es hat 62,5kHz Frequenz und ich kann den Tastgrad von 0% bis 100% variieren.

PWM an IN-PIN: Das wird etwas aufwändiger, weil ich die Schaltung auf nem PCB-Board[1] habe. Eine Gegenfrage: Je Motor (A/B) gibt es ja zwei IN-Pins am Treiber: IN1_A u. IN2_A. Je nach Richtung ist ja eines der Signale auf GND zu legen und das andere auf VDD. Ich nehme an, an letzteren sollte das PWM gelegt werden, oder? Heißt das im Umkehrschluss, dass ich zur Richtungsänderung das PWM-Signal zwischen IN1 und IN2 hin- und herschalten können muss?

[1]: Ist meine erste Schaltung, darum hab ich mehr mit dem Layout gekämpft und weniger Hirn auf die Schaltung selbst verwendet. Das rächt sich jetzt offenbar.

021aet04
27.07.2009, 10:30
Einen IN musst du auf GND legen auf dem Zweiten musst du das PWM geben. Wenn du in die andere Richtung willst musst du die 2 IN Anschlüsse vertauschen.
PS: Probier die Schaltung zuerst aus, bevor du eine PCB planst

Babbage
27.07.2009, 10:44
Habe auch den L6205 als DC-Treiber im Einsatz. (Allerdings die SMD Version)

Wie 021aet04 erwähnt habe ich die EN Pins habe ich während des Betriebes durchgegen auf High gezogen mit dem internet Pullup des Atmegas. (dadurch kann man bei bedarf einen Schluss am Ausgang erkennen)
Die PWM darf man nur an einen PIN legen.

Bei mir klappt das ganz gut, außer dass beim Einschalten hin und wieder mal ein Treiber stirbt.

Babbage

ojdo
27.07.2009, 11:57
Einen IN musst du auf GND legen auf dem Zweiten musst du das PWM geben. Wenn du in die andere Richtung willst musst du die 2 IN Anschlüsse vertauschen.
Mist. Aber danke, dann weiß ich jetzt wenigstens woran die Schaltung krankt. Ich hatte sie, statt sie auszuprobieren zwei erfahreneren Leuten gezeigt, die aber wohl auch noch keine PWM-Erfahrung mit dem Treiber hatten.


PS: Probier die Schaltung zuerst aus, bevor du eine PCB planst
Jupp; beim nächsten Mal bestimmt.

ojdo
27.07.2009, 12:58
Eine Frage hinterher: wie sieht die "Standardschaltung" aus, um die Signale (PWM, GND) umschaltbar mit (IN1, IN2) zu verbinden? Hätte ich genügend PWM-Kanäle, würde ich softwareseitig umschalten; aber in diesem Fall muss ich die Signale "auf dem Board" schaltbar machen.

Naiv würde ich mit Transmission Gates oder 2 Multiplexern arbeiten, aber ich habe das starke Gefühl, dass es da schon einen passenden Baustein gibt.

021aet04
27.07.2009, 13:18
Am einfachsten geht es mit einem Reedrelais (Wechsler) oder mit Software PWM.

ojdo
27.07.2009, 14:03
Auf die Gefahr zu nerven, aber ich möchte diesmal wirklich sicher gehen: Momentan habe ich ein RC-Glied zwischen µC-PWM und dem EN-Pin. Ist das überhaupt für das Funktionieren der Schaltung notwendig und falls ja, gehört es bei der korrigierten Schaltung dann zwischen PWM und INx-Pin, oder? Beim immer geschalteten EN kann ich zumindest keinen Sinn mehr in der Beschaltung erkennen.

021aet04
27.07.2009, 14:11
Am besten ist es wenn du die Schaltung in dem PDF http://www.st.com/stonline/products/literature/anp/9944.pdf auf Seite 36 aufbaust. Du brauchst aber nur die IN und EN Eingänge so beschalten

ojdo
28.07.2009, 16:46
Danke, danke, danke! Es geht: Momentan läuft der Motor zwar nur in einer Richtung, da ich die Umschaltung zwischen IN1 u. IN2 in dem fehlerhaften Board nicht mehr einbauen mag. Aber er ist endlich "dimmbar", jetzt wo EN auf +Vdd und das PWM-Signal an einem der IN-Pins liegt.

Babbage
29.07.2009, 14:15
Das kannst Du aber auch rein mit Änderung der Software lösen.

Einfach das Signal auf Pin In2 invertieren und schon gehts in die andere Richtung.
Die PWM ist dann allerdings auch Invertiert. d.h. eine 20%ige PWM steuert dann 80% in die Gegenrichtung.