Forum: Analoge Elektronik und Schaltungstechnik L6203 Beschaltung


von Kevin B. (bucki)


Angehängte Dateien:

Lesenswert?

Hallo Forumsgemeinde,

ich möchte für einen Roboter den L6203 Baustein für die Antriebsmotoren 
verwenden. Nur bin ich mir bei der Beschaltung nicht 100% sicher. Die 
Getriebemotoren laufen auf 24V und benötigen gute 2,1A im Nennbetrieb 
(so ausgelegt, dass dieser im Nennbetrieb ohne Überlastung einen Berg 
mit 55% Steigung hoch kommt)

Jetzt habe ich versucht eine Art Sicherheitsschaltung/Chopping zu 
integrieren und wollte nachfragen, ob das ganze so funktionieren könnte, 
wie ich mir das auch vorstelle. Ich verstärke die "Sensespannung" am 
Shunt mit einem nicht invertierenden Verstärker ( Rail to Rail ), sodass 
dieser bei 4A ungefähr 5V ausgibt ( wird für den DSP zur weiteren 
softwaremäßgen Auswertung und Regelung benötigt ). Dieser Wert wird aber 
außerdem an einen Komparator gegeben, welcher schon bei 3,5 V auf GND 
geht. Das wiederum an ein UND Gatter was zusammen mit der PWM an den 
Enable Eingang des L6203 geht.
Demzufolge müsste ja bei 3,5A ( Überlastung, zu flottes Anfahren ( 
Obwohl das per PWM Rampe eliminiert werden soll ), o.ä.) Enable auf 0 
gehen und der Motor wird somit in den Freilauf geschalten ( trudelt aus 
), bis im nächsten Moment der Strom wieder gesunken ist und die Brücke 
wieder an den Motor geschalten wird. Geht das so?

Und eine zweite Frage hätte ich auch noch, das ganze soll mit einer 48V 
Batterie betrieben werden ( Mähmotor läuft auf 48V, will die Batterie 
etwas auf der Stromseite entlasten ), könnten eventuelle Probleme 
auftreten, wenn ich die 48V per Tiefsetzsteller auf die 24V für Brücke + 
Motor bringe? ( irgendwelche nicht erbingbaren Strom-/Spannungsspitzen 
durch die PWM? )

Dritte und letzte! ^^ Ist es ratsam die Steuereingänge EN,IN1,IN2 besser 
über Optokoppler an den DSP anzubinden?

Ich danke euch schon jetzt für hilfreiche Antworten! :)

Grüße
Bucki

von Kevin B. (bucki)


Lesenswert?

Huch ich seh gerade am Komparator steht noch der falsche Wert...R5 
sollen 90k sein..

Grüße

von m.n. (Gast)


Lesenswert?

Kevin B. schrieb:
> Jetzt habe ich versucht eine Art Sicherheitsschaltung/Chopping zu
> integrieren und wollte nachfragen, ob das ganze so funktionieren könnte,

Nein, ist schlecht. Der Komparator braucht eine Totzeit, damit es nicht 
zu Schwingungen kommt. Für eine Strombegrenzung sieh Dir den L6506 an.

Auf der anderen Seite ist die PWM-Ansteuerung an ENABLE für 
unterschiedliche Lasten insbesondere beim Abbremsen nicht geeignet. Die 
Eingänge IN1 und IN2 brauchen jeweils ein eigenes PWM-Signal oder eine 
Logik, die ein einzelnes PWM-Signal für beide Drehrichtungen 
aufbereitet.

von Timm T. (Gast)


Lesenswert?

m.n. schrieb:
> Auf der anderen Seite ist die PWM-Ansteuerung an ENABLE für
> unterschiedliche Lasten insbesondere beim Abbremsen nicht geeignet.

Im Prinzip ja, wenn man Positionierung machen will. Aber für die 
Antriebsräder eines Mähroboters dürfte das Enable-PWM ausreichen und ist 
im Fahrbetrieb etwas energiesparender.

von aSma>> (Gast)


Lesenswert?

Servus,
zu der Schaltung:
-Snubber Kondensator hat laut Datenblatt 22n
-im Batteriebetrieb ist der Shunt etwas zu groß gewählt

Bei mir hat der Snubber mal negativ verhalten. Der vorhandene Widerstand 
war zu induktiv.

Choppen am EN Eingang hast du richtig erkannt. PWM an DIR1 und DIR2 nur 
dann ist eine Spannungspropotionalität zur PWM gegeben.

Ich würde aber lieber auch zu einen fertigen Produkt greifen. Beim 
genannten L6506 kannst du Chopperzeitkonstante einfach mittels 
Spannungsteiler bilden. Bei deinen Komperator fehlt ein Delay.

Der Tiefsetzsteller könnte durchaus bei der ersten Vollbremsung in die 
Luft gehen. Ich würde lieber eine Transildiode davor stellen. Große 
Kondensatoren am Ausgang können auch eher nachteilig wirken und den 
Tiefsetzsteller zum Schwingen brigen.

Kevin B. schrieb:
> Dritte und letzte! ^^ Ist es ratsam die Steuereingänge EN,IN1,IN2 besser
> über Optokoppler an den DSP anzubinden?

Eine galvanische Entkopplung ist immer ratsam bei teueren Bauteilen bei 
dir hängt aber alles an einer Batterie. Du bräuchtest eine Zweite...

Du könntest auch dein Design etwas überarbeiten. Eingangswiderstände zu 
den Pins setzen + Kondensatoren, die die Energiespitzen aufnehmen.

Trial and Error.

von Timm T. (Gast)


Lesenswert?

Also ehrlich gesagt ich hab bei meiner Motorregelung mit dem L6202 den 
Motorstrom über einen RC-Tiefpass auf ein ADC-Pin des Atmega geführt, 
messe dort den Motorstrom und schalte über Enable bei Überlast ab. Ja, 
ist eine Software-Lösung, funktioniert aber bislang zuverlässig.

Allerdings ist mein Tiefpass deutlich schneller, den 1µ-C halte ich hier 
für zu groß.

Tipp noch, solltest Du mit einem Atmega (Arduino) ansteuern wollen: Im 
Reset oder Tristate laufen die Pins des Atmega tendenziell gegen +Vcc. 
Da die Eingänge des L620x hochohmig sind, bekommen die dabei High-Pegel 
und Du hast undefinierte Zustände am Motor. => Pull-downs an Enable und 
den beiden Dirs, 100kohm reichen, sorgt für zuverlässiges Low beim Reset 
oder Programmieren des Atmegas.

von Kevin B. (bucki)


Angehängte Dateien:

Lesenswert?

Ich danke euch schonmal! Aber jetzt sind dadurch erneute Fragen 
aufgetreten.

Ich habe die Schaltung mal umgezeichnet und versuche den L6506 zu 
verwenden. ( Hatte den Anfangs nur nicht 100pro Verstanden, weßhalb ich 
dann auf den Eigenversuch umgestiegen bin ) Ich verwende es nicht ganz 
wie im Application Beispiel, da ich nicht nach der PWM irgendwie filtern 
wollte + Dämpfen, um auf die maximalen 2V ( für V_Speed_max ) zu kommen. 
Ich hoffe mit der Schaltung bin ich dieses mal besser unterwegs, erhoffe 
mir dennoch ev. Kritik von euch.

Ich habe hier extra auf IN3 die PWM gelegt, damit ich beim Beschleunigen 
oder langsamer werden nicht zwischedrin aktiv bremsen muss, sondern über 
den Enable des L6203 kurzzeitig in den Freilauf gehen möchte. ( Wie oben 
schonmal von Timm Thaler richtig angemerkt, genaue Positionierung ist 
unwichtig, möchte einfach nur mit dem Roboter konstant fahren, bis eben 
Steigung/Gefälle/Gegenstand o.ä. ) Die Option des aktiven Bremsens 
bliebe mir ja noch über beide Richtungsbits auf High bzw Low.

Ich habe Optokoppler hinzugefügt ( first time using, könnten also 
Schaltplanfehler drin sein ), wobei ich aber von der 48V Batterie auf 5V 
runterspannen muss für Optokopplerausgang + L6506 + außerdem von 48V auf 
24V für die Getriebemotoren und seperat eine 5V Batterie für den DSP 
nutzen muss, um wirkliche galvanische Trennung zu haben, richtig?

Ich habe außerdem einen der dicken Elkos entfernt und gehe davon aus, 
dass die DC/DC Konverter ( werde den LM2576 für 5V und den TPS54560 für 
die 24V nehmen, haben also doppelte Schaltfrequenz bzw x-mal (TPS) wie 
die PWM zum Ansteuern )die Sromspitzen abfangen können? ( Ich dachte 
vielleicht trotzdem noch einer, um beim Bremsen den induzierten Strom 
aufnehmen zu können? ) Falls ich hier falsch liege, bitte noch 
berichtigen.

Die Transildiode einfach parallel an den Ausgang des Tiefsetzstellers? 
Söllte für "längere Bremsphasen" bzw. wenn beide Motoren bremsen 
zusätzlich zur Transildiode auch noch ein Varistor rein? ( sorry für die 
vielen Fragen, aber kenne mich noch nicht wirklich so aus. Bin aber 
wirklich sehr durch eure hilfreichen Antworten erfeut! :) )

Nun bin ich mit dem L6505 noch nicht wirklich ganz warm, ist es richtig 
beide Referenzspannungen auf den selben Punkt zu legen, sowie die 
Senseanschlüsse, weil ich ja einfach ab 3,5A Maximalstrom Choppen 
möchte? Und gibt es einen gewissen Grund die Widerstände am Sensepin zu 
ändern? Habe diese jetzt einfach aus dem Datenblatt übernommen.

So, langer langer Text mit vielen Fragen. Ich hoffe ich erschlage euch 
nicht damit. :D

Grüße
Bucki

von doedel (Gast)


Lesenswert?

seit es Stromsensoren wie den ACS712 gibt, verzichte ich grundsätzlich 
auf Shunt-Schaltungen. Würde auch in Deinem Fall die Sache wesentlich 
vereinfachen finde ich.

von Timm T. (Gast)


Lesenswert?

Was für eine Pwm Frequenz hast Du Dir denn vorgestellt? Der 620x schafft 
locker 30kHz, ich betreibe den mit 24kHz über der Hörschwelle mit 
eisenlosen Faulhabermotoren.

Mit den Optokopplern kommst Du aber höchstens auf ein paar hundert Hz 
Pwm, je nach Motortyp kann das sehr laut werden. Vorteil, Du könntest 
darüber Musik abspielen, Nachteil, die Nachbarn könnten Deinen 
Mähroboter nicht mögen.

Also bevor Du Dich hier festfährst, teste das mal lieber.

Für ein paar hundert Hz musst Du nicht den teuren 620x nehmen, da kannst 
Du auch den billigen L298 nehmen und hast gleich zwei Brücken für beide 
Fahrmotoren drin. Und von dem gibts preisgünstige fertige Module.

Den 2576 würd ich nicht mehr nehmen, der 2596 ist deutlich besser.

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


Lesenswert?

Mit Antiquitäten wie dem L298 würde ich heute keine Schaltungen mehr 
aufbauen, die haben viel zu viel Verlustleistung. Schau dich mal bei 
Allegro oder TI um, die haben interessante ICs die alles auf einem Chip 
vereinen. Der A3959 könnte z.B. interessant sein:
http://www.allegromicro.com/en/Products/Motor-Driver-And-Interface-ICs/Brush-DC-Motor-Drivers/A3959.aspx

Mit freundlichen Grüßen
Thorsten Ostermann

von m.n. (Gast)


Lesenswert?

Thorsten O. schrieb:
> Der A3959 könnte z.B. interessant sein:

Vor allem für den TO, der schon Probleme genug hat :-(

Kevin B. schrieb:
> Ich habe die Schaltung mal umgezeichnet und versuche den L6506 zu
> verwenden. ( Hatte den Anfangs nur nicht 100pro Verstanden,

Den hast Du immer noch nicht verstanden.

von aSma>> (Gast)


Lesenswert?

L6506 ist für zwei Motoren oder einen Schrittmotor gut.

Dein PWM Pin ist überflüßig. Vsens1 ohne OPV anschließen.

Auf der ersten Seite des L6506 Dattenblattes sieht man doch das 
Blockschaltbild.

Für eine galvanische Trennung musst musst doch noch den ADC Pin mittels 
externen ADC auslesen und dessen Pins (i2c, spi) durch Optokoppler 
ersetzten. Zu aufwändig.

Der uC ist doch schonmal überwiegen durch den l6205 gesichert. Ich würde 
mir die ganzen Optokoppler schenken. Einfach Vorwiderstände dran und 
fertig.

Den ADC-Eingang hochohmig Auslegen und ggf. je nach Controller zwei 
Schutzdioden mit niedrigen Sperrstrom versehen.

von Timm T. (Gast)


Lesenswert?

Thorsten O. schrieb:
> die haben viel zu viel Verlustleistung

Das stimmt allerdings, ein Dropout von 5V bei 2A ist schon heftig. 
Deswegen brauchen die Teile immer so große Kühlkörper. ;-)

Thorsten O. schrieb:
> Der A3959 könnte z.B. interessant sein

Das Problem bei den Allegro-Teilen war meiner Erfahrung nach immer die 
Beschaffbarkeit. Aber den A3959 gibts sogar bei TME. Und der geht bis 
50V und kann direkt Current Control, damit könnte sich der TO gleich den 
Step-Down für die Motoren aus dem Akku sparen.

von Kevin B. (bucki)


Lesenswert?

Bei der PWM Frequenz dachte ich auch an um die 20kHz, um eben keinen 
nerviges Piepsen beim Vorbeifahren zu hören.

Das mit dem LM2596 war ein guter Tipp, danke! Nur bräuchte ich davon 
eine HV Edition, dami ich den auch an den 48V betreiben kann und die ist 
im Web einzeln gerade schwer auffindbar.

Gut, dass die Optokoppler nicht so fix sind wusste ich nicht. Ich hatte 
jetzt mal fix die Respond und fall Time zusammengerechnet ( die 
maximalen Zeiten davon ) und kam auf 27kHz mögliche Taktfrequenz. Aber 
wie gesagt, ich habe noch nie welche verwendet und da könnte ich eben im 
starken Irrglauben leben.

Danke dir Thorsten für den Tipp, aber ich würde mich gern nun auf den 
L6203 und den L6506 festlegen, bin schon lang am hin und her überlegen 
und hätte langsam gern einfach eine feste Grundbasis an der ich feilen 
kann.

Also lieber Optokoppler weg und dafür sagen wir... pauschal 10k in Reihe 
und ergänzend 22-100nF Kondensatoren auf Masse um den DSP zu schützen?

Joar ich hatte eben die referenzspannung so angepasst, dass das mit dem 
OPV zusammen hinhaut. Aber okay, dann änder ich das so um, dass ich Vsen 
direkt an Sense gehe und daraufhin den Teiler einstelle/anpasse.

Ich dank euch wie verrückt!

PS: Falls euch weiterhin Fehler auffallen, immer her damit! Nur dadurch 
kann man lernen. :D

Grüße
Bucki

von Timm T. (Gast)


Lesenswert?

Kevin B. schrieb:
> und kam auf 27kHz mögliche Taktfrequenz

Das ist die mögliche Ein/Aus Frequenz. Für eine Pwm musst Du um den 
Faktor der Pwm schneller sein. 24kHz sind 42usec Wiederholrate. Bei 256 
Pwm Schritten ist der kleinste Schritt aber nur 160nsec lang. Das 
ungefähr ist die Grössenordnung Deiner Anstiegszeit.

von Kevin B. (bucki)


Angehängte Dateien:

Lesenswert?

Ich habe nun mal versucht wieder eure Vorschläge zu adaptieren und hoffe 
ich komme der Lösung immer näher. :D

Ich habe nun jeweils zwei Dioden und einen Widerstand zum Schutz der ADC 
Eingänge gewählt ( dieser ist eigentlich selbst schon sehr gut geschützt 
( AD7606 ), aber ein wenig extra Schutz kann ja nicht schaden ). Die 
Ausgänge des DSP habe ich mit Pull Downs und einem Serienwiderstand zur 
Strombegrenzung versehen.

Der Sensepin und der Teiler wurden auch angepasst.

Ich weiß, ich könnte beide L6506 syncen, aber die zwei Bauteile kann ich 
schon noch erübrigen. ( Auch wenn etwas von eventuellem GND Rauschen 
steht, denk ich mal das es nicht all zu sehr zur Last fallen wird bei 
zwei L6506 )

Danke dir nochmal Timm Thaler, bei dir kann man nur dazulernen!

So in Hoffnung, dass keine Fehler mehr bestehen:

Grüße
Bucki

von aSma>> (Gast)


Lesenswert?

Kauf dir einen L6202 und bau ein Teil auf dem Lochraster auf.

Dann wirst du sehen, ob der Motorlauf gut ist (Oszi).

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.