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
Huch ich seh gerade am Komparator steht noch der falsche Wert...R5 sollen 90k sein.. Grüße
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.