Forum: Mikrocontroller und Digitale Elektronik 2x Motoren (12V / 2A) mit PWM ansteuern (µC PIC)


von Flo R. (rappl)


Lesenswert?

hallo zusammen

wir versuchen im moment einen kleinen roboter zum fahren zu bringen. wir 
haben 2 motoren mit 12V  leerlauf 300mA  unter last ca 2A. diese 
wollen wir mit einem PIC 16f877 über PWM ansteuern.
wir haben für jeden motor einen tc4427a treiberbaustein an den wir 
direkt die motoren angeschlossen haben! laut datenblatt kann man diese 
bis zu 1,5A belasten, darum gingen wir davon aus, dass sie zumindest für 
testzwecke ausreichen.

zu beginn hatten wir kleinere motoren, bei denen hat die direkte 
ansteuerung über die tc4427a s funktioniert. bei den obigen motoren 
funktioniert es aber nicht mehr!
--> die spannung fählt auf etwa 9V ab und sie haben kein drehmoment 
mehr. AUCH IM LEERLAUF!

nun haben wir im inet rumgestöbert und eine seite gefunden auf der steht 
dass nur kleine motoren mit max 100mA laststrom auf diese weise 
angesteuert werden können!

warum ist das so, obwohl im datenblatt 1,5A steht?
habt ihr ne idee wie wir die motoren ansteuern können? wir haben nur 2 
PWM ausgänge, wollen die motoren aber jeweils vorwärts und rückwärts 
steuern können!
was gibt es da für alternative ansteuermöglichkeiten?

grüße rappl

was wäre

von Ronald S. (mline)


Lesenswert?

Man benötigt meist 2 digitale Ausgänge (umschalten der Fahrtrichtung) 
und 2 mal PWM (Drehzahl).
Modellbaufahrtregler könnten in beide Richtungen angesteuert werden und 
benötigen nur einmal PWM.

von MaWin (Gast)


Lesenswert?

> habt ihr ne idee wie wir die motoren ansteuern können?

Mit richtigen Motortreibern.

Pollin.de hätte gerade BTS7741.


Baut ihr immer Chips ein, und lest vorher bloss nicht das Datenblatt, 
denn es könnte ja was schreckliches drinstehen?

Ein TC4427 ist ein MOSFET-Treiber.

Dem fehlen noch die MOSFETs dahinter, bevor er einen Motor treiben kann.
Seine eingebaute Ausgangsstufe hat
Output Resistance RO 7 - 12 Ohm,
das kann bei 2A aus 12V nichts werden, da kommen dann -2V raus :-)

Und ja, solche Dinger vertragen einen
Peak Output Current von 1.5A
aber das ist wie PMPO bei deinem Ghettoblaster.
Nur ganz ganz kurz, das Gehäsuse wäre gar nicht für die Verlustleitung 
geeignet.

von Flo R. (rappl)


Lesenswert?

wir haben die ansteuerung mit dem mosfet-treiber nicht selber erfunden, 
wir haben da ne beispielschaltung im internet gefunden!

http://robojrr.tripod.com/documents/MotorTech/wpe22.gif

wie du rechnerisch auf -2V kommst, kann ich irgendwie nicht 
nachvollziehen!? oder war das einfach ne übertreibung?

wir ham uns nun mal ne weile mit dem von dir genannten 
motortreiber-datenblatt auseinandergesetzt, aber wir werden nich richtig 
schlau daraus!
wie die ansteuereung mit dem PIC funktioniert, wofür ich den externen 
watchdog brauche!?

von Toralf W. (willi)


Angehängte Dateien:

Lesenswert?

> wie du rechnerisch auf -2V kommst, kann ich irgendwie nicht
> nachvollziehen!? oder war das einfach ne übertreibung?

wieso? bei (Output Resistance RO 7 - 12 Ohm) 7 Ohm bei 2 A -> 14 Volt 
Spannungsabfall bei 12 Volt Ub bleiben am Ausgang -2 Volt übrig! :-)

Schaut Euch einmal die BD6232 von Rohm an (Notfalls als Muster 
bestellen, kommen dann aus Willich) Vertragen 2A und lassen sich Super 
einfach ansteuern.

Gruß Willi

von MaWin (Gast)


Lesenswert?

> wir haben da ne beispielschaltung im internet gefunden!

Du wirst halt noch lernen müssen, daß nicht alles, was im INternet 
steht, auch richtig ist.

Wikipedia ist falsch, Nachrichten sind falsch, Alien- und 
Weltzerstörungsbeiträge sind falsch, 9/11 herleitungen sind falsch, 
warum nicht auch eine Elektronikseite?

> oder war das einfach ne übertreibung?

Es ist eine saubere Rechnung basieremnd auf Fakten die zu einem 
erkennbar unmöglichen Ergebnis führt, und daher sagt: Du hast ein 
Problem, so geht's nicht.

von Flo R. (rappl)


Lesenswert?

@mawin
ich geb dir da in allem recht, nur bei der alien sache muss ich 
widersprechen! die gibts! :p
und dass ich ein problem hab, hab ich selbst gemerkt! --> ich hätte hier 
sonst kaum was gepostet!

@willi
diese BD62xx scheinen für unser projekt doch recht passend zu sein! 
wobei ich mehr in zu den bd6222 oder bd6227 tendiere! die spielen bis 18 
V mit, das reicht aus! und da ich ja meinen motor über eine PWM vorwärts 
und rückwärts ansteuern will, wäre der 2 kanalige wohl besser geeignet!?
mein problem is grad nur, ich kann den in keinem mit bekannten shop 
finden!?

grüße rappl

von Toralf W. (willi)


Lesenswert?

> mein problem is grad nur, ich kann den in keinem mit bekannten shop
> finden!?

bei Deinen 2 Stk., hole Dir ein paar Muster von Rohm, die sind sehr 
nett, haben eine europäische Niederlassung in Willich, ich hatte meine 
inerhalb von 3-4 Tagen

Gruß Willi

von Michael (Gast)


Lesenswert?

@rappl

Das Problem mit dem TC4427A ist doch klar. Eure Motoren haben 12V/300mA 
als Nenndaten im Leerlauf. Der TC4427A hat als Rds(ON), wie oben schon 
erwähnt, 7-12 Ohm. Nehmen wir mal 10 Ohm an (damit lässt sich leicht 
rechnen ;)). Bei 300mA und 10 Ohm hast du schon einen Spannungsabfall 
von 3 V...was sagtest du habt ihr gemessen als ihr die Motoren 
angeschlossen habt? 9V bei den Motoren bei 12 V Vdd? Das passt irgendwie 
schon, gelle ;). Bei 100 mA hat man 11 V an den Motoren, das kann also 
für Motoren mit 12V/100mA grade noch so reichen weshalb man maximal 
100mA ziehen soll. ;)
Das mit dem Peak-Current wurde ja auch schon erklärt.
Das Lesen von Datenblättern wird euch noch in Fleisch und Blut übergehen 
wenn ihr euch nicht von der Ruppikeit des Forums abschrecken lasst und 
die Elektronik ins Reich der Vergangenheit verbannt. Manchmal ists hier 
halt komisch aber wenn man mal den Bogen raus hat klappts hier auch 
recht gut und man kann eine Menge lernen.
Schaut euch mal den von willi genannten Treiber an. Ebenfalls könnte für 
euch der Feld-, Wald- und Wiesen-Motortreibe L298 sein, der kann sogar 
bei entsprechender Beschaltung zwei Motoren treiben.

von Christian F. (funke)


Lesenswert?

Etwas robuster aber gar nicht mal so schlecht ist auch der TLE5205.

von Flo R. (rappl)


Lesenswert?

also ich habe mich nun ersmal für den l298 entschieden, weil der zum 
einen aussieht, als würde er passen und der elektronikladen um die ecke 
hatte den da!

vielen dank für die tips!
ich werde mich melden wenn s tut!
und wenn nicht dann sowieso ;)

grüße rappl

von Flo R. (rappl)


Lesenswert?

also, hab nun die platine gebastelt und getestet (ohne PWM)! motoren 
laufen, haben kraft und der l298 wird nur leicht warm, also alles nichts 
aussergewöhnliches!

nun bin ich noch kein PWM-kenner und hab deshalb einfach mal n bissl 
rumprobiert! anfänglich war meine PWM-frequenz ca 20kHz!
je weiter ich den dutycycle aber nach unten regle, desto schwächer wird 
der motor und läuft am ende gar nicht mehr an!
nun hab ich die frequenz auf ca 1kHz runter geregelt! nun kann ich den 
motor auch noch langsamer steuern, und er hat auch noch mehr kraft als 
bei 20kHz, aber er läuft immernoch zu schnell bzw is zu schwach wenn er 
langsamer laufen soll!

ich nehm mal an, da bei hoher frequenz die zeit in der spannung anliegt 
und strom fließen kann jeweils viel kürzer ist, als bei kleineren 
frequenzen. deshalb kann der strom gar nicht richtig ansteigen, bevor er 
schon wieder abgewürgt wird!?

ich hab nun was über chopper-ansteuerung gelesen; an den motor wird 
kurzzeitig eine viel höhere spannung angelegt dass der strom schneller 
fließt! ganz grob gesagt!? und dies ist mit dem l298 doch auch machbar?
die methode hab ich immer nur in bezug auf schrittmotoren gelesen! 
funktioniert das auch mit normalen DC-Getriebemotoren?
ich werde mich nun mal noch durch die vielen l298 threads lesen!

falls mir jemand noch ne andere möglichkeit sagen kann, ich bin für 
alles dankbar!

grüße rappl

von MaWin (Gast)


Lesenswert?

> war meine PWM-frequenz ca 20kHz!

20kHz beim L298 ?

250PS im Kinderwagen ?


> aber er läuft immernoch zu schnell bzw is zu schwach wenn er
langsamer laufen soll!

Tja, Stichwort Motorkennlinie, das ist halt so. (Im Prinzip hat er über 
die Drehzahl dasselbe Drehmoment, nicht wie beim Auto mit Getriebe, wo 
das Drehmoment im kleinen Gang höher ist).

> ich hab nun was über chopper-ansteuerung

Du hast einen Gleichstrommotor, keinen Schrittmotor.

Die Strombegrenzung begrenzt das Drehmoment, das willst du gar nicht, 
die brauchst du nur um den L298 und das Netzteil vor Überlastung zu 
schützen, du wirst sie also auf das maximal mögliche stellen.

von Flo R. (rappl)


Lesenswert?

ja, wie gesagt, ich bastel grad zum ersten mal mit pwm rum! und ich hab 
ja gemerkt dass es mit kleinerer frequenz besser geht!

>Tja, Stichwort Motorkennlinie, das ist halt so.

willst du mir damit sagen, dass ich mich damit abfinden muss, weil es 
keine machbare lösung gibt?

von MaWin (Gast)


Lesenswert?

> willst du mir damit sagen, dass ich mich damit abfinden muss, weil es
keine machbare lösung gibt?

Ich weiss nicht genau, welches Drehmoment dein Motor liefert,
aber die Lösung für hohes Drehmoment bei niedriger Drehzahl
heisst Getriebe, und das schon seit über 100 Jahren.

Andere Ingenieure sich doch nicht alle blöd....

von Simon K. (simon) Benutzerseite


Lesenswert?

Entweder so, oder einen Drehzahlregler benutzen.

von Flo R. (rappl)


Lesenswert?

wir haben bereits getriebe an den motoren! bzw sind es fertige 
getriebemotoren...
der strom hat bei zu kurzer pwm keine zeit vernünftig zu steigen...
die pwm frequenz is bereits bei 1kHz...

ich hab mir noch überlegt, ob ich zusätzlich zur pwm noch die spannung 
des motors regeln könnte!? die spannung senken, die pwm dagegen eher 
hoch lassen...
der motor spielt zwischen 5V und 18V mit!
wobei bei zu niedriger spannung das drehmoment wieder flöten geht...
wir benötigen die ganz niedrigen drehzahlen eigentlich nur zum sanft 
anlaufen lassen, da uns die räder sonst immer kurzzeitig durchdrehen 
wenn wir spannung anlegen!

von Toralf W. (willi)


Lesenswert?

Florian Rappel schrieb:
> wir haben bereits getriebe an den motoren! bzw sind es fertige
> getriebemotoren...
> der strom hat bei zu kurzer pwm keine zeit vernünftig zu steigen...
> die pwm frequenz is bereits bei 1kHz...

geht mal auf 100Hz runter!

von MaWin (Gast)


Lesenswert?

> der strom hat bei zu kurzer pwm keine zeit vernünftig zu steigen...
> die pwm frequenz is bereits bei 1kHz...


Boh ey, ICE Eisenbahnen....

Ja, es ist richtig, daß bei viel zu hoeher Frequenz die Ansteuerung 
probleme macht, weniger wegen der Induktivität des Motors, sondern wegen 
der Steuinduktivität.

Daher fahren ICE und ähnliche mehrere-tausend-Kilowatt-Motoren auch mit 
hörbarer PWM Frequenz, zumal es die grossen Schaltelemente nur in 
langsamer Form gibt.

Aber dein Motor macht mit Sicherheit bei 1kHz noch keine Probleme (und 
trotzdem würde er auch bei 100Hz noch mechanisch zu täge sein als das 
100 Hz zu wenig wären).

Du hast ein anderes Problem, als die Ansteuerfrequenz, denn auch wenn 
der Strom in der Motorinduktivität nicht beim ersten 1/1000 sec Impuls 
auf den Naennstrom ansteigt, im Laufe von mehreren Impulsen stellt sich 
schon der dem Tastverhältnis entsprechende Strom ein.

Dein Problem liegt also woanders. Freilaufdioden, H-Brücke, woauchimmer.

von Toralf W. (willi)


Lesenswert?

> Dein Problem liegt also woanders. Freilaufdioden, H-Brücke, woauchimmer.

Genau deswegen sollte Er einmal mit nur 100Hz testen, ich denke auch, 
das die Brücke zu langsamm ist.

Gruß Willi

von Flo R. (rappl)


Lesenswert?

meine h-brücke is die l298!
meine dioden sind BYV 27-50-E3!

laut datenblatt vom L298 müssen die dioden folgende eigenschaften haben:

VF ≤ 1.2 V @ I = 2 A
trr ≤ 200 ns

die dioden haben laut datenblatt:

I = 2A
VF = 0,88V
trr = 15ns

dann sollte es an den dioden ja nicht liegen!?

von Uwe (Gast)


Lesenswert?

Hi!
Auszug aus dem Datenblatt:

Symbol  Parameter Test Conditions      Min. Typ. Max. Unit
fc (Vi) Commutation Frequency IL = 2A        25  40   KHz

@MaWin
Deine Hilfsbereitschaft in allen Ehren, aber höre bitte auf die Leute
mit deinem Halbwissen zu irritieren.

>Du hast ein anderes Problem, als die Ansteuerfrequenz, denn auch wenn
>der Strom in der Motorinduktivität nicht beim ersten 1/1000 sec Impuls
>auf den Naennstrom ansteigt, im Laufe von mehreren Impulsen stellt sich
>schon der dem Tastverhältnis entsprechende Strom ein.

Überlege(und hinterlese) bitte welchen Unsinn du da schreibst.

Florian Rappel schrieb:
> der strom hat bei zu kurzer pwm keine zeit vernünftig zu steigen...
Richtig erkannt, ergo: Impuls länger, Spannung rauf oder du kannst eben
nicht mit 1% PWM fahren. Dein Problem ist eben das du versuchst die
Drehzahl zu steuern, du müsstest sie regeln(lassen)
100Hz ist aber einen Versuch wert.

Viel Erfolg, Uwe

von Flo R. (rappl)


Lesenswert?

im moment frag ich mich grad, warum ich es nich selbst schonmal einfach 
mit ner höheren spannung versucht hab! das is wohl der unkomplizierteste 
test!

mit impuls länger meinst du wohl niedrigere frequenz!? längerer impuls 
und pwm auf 1% widersprechen sich da ja sonst!?

und an der drehzahlregelung bin ich bereits dran! ich benutze eine 
lochscheibe und ne gabellichtschranke um die zeit zwischen 2 strichen zu 
messen! aber da bastel ich grad noch n bissl an der programmierung rum, 
hardwaretechnisch is das bereits fertig!

von Flo R. (rappl)


Lesenswert?

nachdem ich n bissl rumgespielt hab, hab ich das mit der regelung 
hinbekommen!
der motor treibt das rad und eine lochscheibe an die durch eine 
gabellichtschranke läuft. ich messe die zeit zwischen 2 strichen. dann 
gebe ich im µC eine zeit vor. diese zeiten werden verglichen.

is das rad zu langsam
pwm = 100 %

rad zu schnell
pwm = 20 %

und obwohl diese einstellung recht grob ist, funktioniert es wirklich 
gut!
langsamer als eine umdrehung pro sekunde!

leider funktioniert das ganze momentan nur mit der linken achse! das 
gleiche programm auf die andere achse umgeschrieben (es werden nur 3 
parameter verändert) funktioniert nicht!^^

aber nuja, da muss ich selber durch, den fehler werd ich schon noch 
erwischen! immerhin weiß ich dass es gehn muss!

vielen dank mal für eure tips!

grüße rappl

von Christian (Gast)


Lesenswert?

Ich kann für eine Drehzahlregelung nur empfehlen das hier:
http://www.rn-wissen.de/index.php/Regelungstechnik
mal durchzulesen. Einen PI-Drehzahlregler sollte die meissten Probleme 
beim Langsamlauf lösen.

Mfg

von Flo R. (rappl)


Lesenswert?

danke für den tip!

dem link nach zu urteilen habe ich dann ja einen P-Regler!?

um die PI-Regelung in meinem programm zu verwirklichen msus ich wohl 
noch n bissl dran rumbasteln!

von Michael F. (nestandart)


Angehängte Dateien:

Lesenswert?

als fertiges Treiber-Modul kann ich meins DRM-7710 vorschlagen.

• Belastungsstrom bis zu 3 Ampere (Impulsweise bis zu 15 Ampere);
• Betriebsspannung: von 6 bis zu 30 Volt;
• PWM bis 40 kHz

Detailierte Doku ist im anhang.

Preis pro Modul ca
6 EUR für DRM-7710-L (-W)
8 EUR für DRM-7710-M (-W)
12 EUR für DRM-7710-P (-W)

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.