Hallo! Ich bin auf der Suche nach einer kompakten H-Brücke, bei der ich EMK messen kann, auf den DRV8870 von Texas Instruments gestoßen. Was haltet ich von ihm? - 3,6A - 565mΩ Rds(on) - bis 200kHz - 6,5–45V VM - SOIC8 Bauform (SMD, aber keine 16+ Pins für nur einen Motor) - Keine weiteren Bauteile nötig (Außer Kondensatoren für VM) - Ab 3€ (Mouser) Datenblatt: http://www.ti.com/lit/ds/symlink/drv8870.pdf Ist ein recht neuer Baustein, vermutlich nur deswegen noch nicht in der H-Brücken Übersicht. Soll ich den da mal eintragen? Der sticht ja durchaus hervor. Nun noch zwei Fragen: 1. Ich meine, ich hätte im AVR Softwarepool mal einen PID-Motortreiber mit EMK für Attiny861 gesehen. Wie kann ich den (oder sowas ähnliches) wiederfinden, irgendwelche Vorschläge? 2. Wenn ich beide Ausgänge öffne (High-Z), kann ich über Spannungsteiler von den Motoranschlüssen nach GND und ein differentielles ADC-Kanalpaar EMK messen, richtig? (Nach einer kurzen Wartezeit, bis sich die EMK-Spannung aufgebaut hat.) Für Antworten wäre ich dankbar, auch wenn ihr meine Vorstellung von EMK komplett umschmeißt (wenn sie Falsch ist). ;) Gruß, Tuxpilot P.S.: Ich möchte einen L293 ersetzen, der an meinem Lernroboter zwei ungleich belastete Motoren treibt. (Und kaputt ist...)
Morgen, ich finde den DRV8871 besser. Da braucht man zur Strombegrenzung keinen niederohmigen Widerstand (Baugröße + Temperatur...). http://www.ti.com/lit/ds/symlink/drv8871.pdf LG
Den DRV8871 hatte ich mir auch schon mal aufgeschrieben als nice-to-have, gibt es zu dem schon irgendwo Breakout-Boards wie zu den DRV8801? Wobei ich berichten kann, dass mir von den DRV8801 einige scheinbar grundlos abgefackelt sind und immer gleich katastrophal, also mit Kurzschluss durch die Brücke. Von den Angaben kontinuierlich 1A und 2,8A Peak für die Pololu Boards halte ich nicht mehr viel, mit einem Motor der im Betrieb 600mA gebraucht hat sind die Dinger reproduzierbar abgebrannt. So vielleicht 200mA würde ich den Dingern zutrauen. Da versprechen die DRV8871 ja deutlich mehr und sind ein neueres Design, vielleicht klappt es da ja auch mit dem 600mA Motor ohne rapide Korosion.
Toralf W. schrieb: > ich finde den DRV8871 besser. Da braucht man zur Strombegrenzung keinen > niederohmigen Widerstand (Baugröße + Temperatur...). Klasse, den nehm ich! Den DRV8801 kannte ich auch schon, hat mir zu viele Pins.
Tuxpilot schrieb: > 1. Ich meine, ich hätte im AVR Softwarepool mal einen > PID-Motortreiber mit EMK für Attiny861 gesehen. >... Servus, ich glaube der Autor nennt sich: m&m´s oder m+n, k.A. Der ist einfach unfähig den gleichen nickname zu nehmen. Beitrag "Drehzahlregler für DC-Motor, ATmega48-328" Jedenfalls, wozu willst du die EMK messen? Für eine Lageregelung oder Drehzahlregelung? Ohne Kalibrierung ist es auch nur ein Schätzwert, dann kannst du auch gleich den Luenberger Beobachter nehmen. Der von dir genannte Chip sieht ganz OK aus. Die Schaltfrequenz sieht ganz interessant aus, vorallem weil ich gerade so kleine portescap Motoren mit 40µH hier liegen habe... mfg
aSma>> schrieb: > ich glaube der Autor nennt sich: m&m´s oder m+n, k.A. Der ist einfach > unfähig den gleichen nickname zu nehmen. War das nicht C&A oder P&C? Der weiß wahrscheinlich selber nicht, wie er heißt. Tuxpilot schrieb: > 2. Wenn ich beide Ausgänge öffne (High-Z), kann ich über Spannungsteiler > von den Motoranschlüssen nach GND und ein differentielles ADC-Kanalpaar > EMK messen, richtig? (Nach einer kurzen Wartezeit, bis sich die > EMK-Spannung aufgebaut hat.) Keine kurze Wartezeit, sondern solange warten, bis (bevor) der nächste PWM-Zyklus beginnt. Die EMV hat eine Restwelligkeit, die man aber nicht per Software glätten/filtern sollte. Das gibt nur Regelschwingungen bei Lastwechseln. Der Motor mit seiner Rotormasse gleich die Welligkeit schon selber aus.
aSma>> schrieb: > Jedenfalls, wozu willst du die EMK messen? Für eine Lageregelung oder > Drehzahlregelung? Ohne Kalibrierung ist es auch nur ein Schätzwert, dann > kannst du auch gleich den Luenberger Beobachter nehmen. Für eine Drehzahlregelung. Ich brauche keine bestimmte Drehzahl, sie soll aber unter Belastung konstant bleiben. Also eine Lastregelung. Was genau meinst du mit Kalibrierung? Das Verhältnis von Drehzahl und EMK?
m.n. schrieb: > Keine kurze Wartezeit, sondern solange warten, bis (bevor) der nächste > PWM-Zyklus beginnt. Das scheint mir bei meinen 40kHz nicht sinnvoll, da dürfte ich dann einfach den Spannungsabfall über einen FET messen, und somit nur den Motorstrom. Meine Idee ist, den Treiber vor der Messung ausschalten, etwa 100μs warten, messen und dann mit PWM weiter treiben. Das ganze 40 mal die Sekunde.
Tuxpilot schrieb: > Für eine Drehzahlregelung. Ich brauche keine bestimmte Drehzahl, sie > soll aber unter Belastung konstant bleiben. Also eine Lastregelung. > Was genau meinst du mit Kalibrierung? Das Verhältnis von Drehzahl und > EMK? Eine Lastregelung ist eine Drezahlregelung. Der "Zug" fährt immer mit der gleichen Geschw. über Berg und Tal. Ich weiß nicht wie genau deine Regelung sein soll. In Datenblätter stehen alle Zeitkonstanten drin, sodass einer Umrechnung nichts im Wege stehen sollte. Sonst musst du deinen Sensor auf die Geschwindigkeit kalibrieren. Wenn du nicht weiter kommst. Es gibt auch Tachogeneratoren, die auf die Motorwellenenden montiert werden...
m.n. schrieb: > War das nicht C&A oder P&C? > Der weiß wahrscheinlich selber nicht, wie er heißt. Was für eine Armut. M.n verarscht sich sogar selbst. Ist das jetzt Selbstironie oder einfach nur zu heiß gebadet?
aSma>> schrieb: > Ich weiß nicht wie genau deine Regelung sein soll. In Datenblätter > stehen alle Zeitkonstanten drin, sodass einer Umrechnung nichts im Wege > stehen sollte. Sonst musst du deinen Sensor auf die Geschwindigkeit > kalibrieren. > > Wenn du nicht weiter kommst. Es gibt auch Tachogeneratoren, die auf die > Motorwellenenden montiert werden... Das Datenblatt vom Motor? Gibt’s nicht... Steht auch kein Hersteller drauf, nur so ein +-Symbol. Alles was ich weis: - 3-poliger Eisenanker mit geraden Nuten - 3V Nennspannung - 2Ω Spulenwiderstand - 250μH - Bei 5V: 11.000U/min und 500mA im Leerlauf - Abmessungen: 20mmØ x 24mm Wird aber vielleicht noch ausgetauscht und einen extra Sensor möchte ich nicht haben.
Hallo Rudolph, > Wobei ich berichten kann, dass mir von den DRV8801 einige scheinbar > grundlos abgefackelt sind und immer gleich katastrophal, also mit > Kurzschluss durch die Brücke. > Von den Angaben kontinuierlich 1A und 2,8A Peak für die Pololu Boards > halte ich nicht mehr viel, mit einem Motor der im Betrieb 600mA > gebraucht hat sind die Dinger reproduzierbar abgebrannt. > So vielleicht 200mA würde ich den Dingern zutrauen. Da kann aber TI bzw. der DRV8801 nichts dafür, dass liegt am Design von Pololu. Die dürften streng genommen nicht einfach die max. Ratings aus dem Datenblatt übernehmen, wenn ihr Kühlkonzept so schlecht ist, dass die fertige Schaltung das nicht hergibt. Aber dann würde niemand die Boards kaufen... Mit freundlichen Grüßen Thorsten Ostermann
Tuxpilot schrieb: > m.n. schrieb: >> Keine kurze Wartezeit, sondern solange warten, bis (bevor) der nächste >> PWM-Zyklus beginnt. > > Das scheint mir bei meinen 40kHz nicht sinnvoll, da dürfte ich dann > einfach den Spannungsabfall über einen FET messen, und somit nur den > Motorstrom. Probiere es aus und berichte ;-) > Meine Idee ist, den Treiber vor der Messung ausschalten, etwa 100μs > warten, messen und dann mit PWM weiter treiben. Bleibt die Frage, was Du nach 100 µs an dem Motor messen kannst? Die EMK vermutlich noch nicht. > Das ganze 40 mal die Sekunde. Das ist recht wenig für eine zügige Regelung. Ich hatte mit 200 - 400 Hz PWM gearbeitet, womit man rund fünf- bis zehnmal schneller regeln kann. Trotz der niedrigen Frequenz blieb der Motor recht ruhig. Wenn Du mit nur einer Drehrichtung testen willst, kannst Du die erste Schaltung mit ATmega48 und FET aufbauen und modifizieren. Da bekommst Du schon einmal eine Einschätzung, was mit Deinem Motor geht - und was nicht!
m.n. schrieb: >> Meine Idee ist, den Treiber vor der Messung ausschalten, etwa 100μs >> warten, messen und dann mit PWM weiter treiben. > > Bleibt die Frage, was Du nach 100 µs an dem Motor messen kannst? Die EMK > vermutlich noch nicht. > >> Das ganze 40 mal die Sekunde. > > Das ist recht wenig für eine zügige Regelung. Ich hatte mit 200 - 400 Hz > PWM gearbeitet, womit man rund fünf- bis zehnmal schneller regeln kann. m.n. schrieb: > Probiere es aus und berichte ;-) OK, mach ich. Vielleicht morgen oder noch später, schreibe gerade am I2C Interface des Roboters. (FEZ Cerberus, schreibt meine Schule so vor.) Viel länger als 100μs möchte ich nicht warten, dann schläft der Treiber ein. Attiny13A, 841 und Atmega32 hätte ich zum testen da, kann der Atmega48 etwas besonders nützliches? (Meines Wissens nicht)
Abend, ich nutze den DRV8871 mit 62,5kHz PWM. Zum messen schalte ich alle 5 ms für 640µs die PWM ab. Gemessen wir 8 mal (daraus der Mittelwert) begonnen wird mit der ersten Messung nach 320µs Pause. Treiber sleep spielt keine Rolle, der wacht schnell wieder auf. Damit bekommt man ausreichend genaue Werte um die Drehzahl nach regeln zu können. Bei mir macht das übrigens ein Tiny85 mit interner 16MHz (PLL). LG
Thorsten O. schrieb: >> Wobei ich berichten kann, dass mir von den DRV8801 einige scheinbar >> grundlos abgefackelt sind und immer gleich katastrophal, also mit >> Kurzschluss durch die Brücke. >> Von den Angaben kontinuierlich 1A und 2,8A Peak für die Pololu Boards >> halte ich nicht mehr viel, mit einem Motor der im Betrieb 600mA >> gebraucht hat sind die Dinger reproduzierbar abgebrannt. >> So vielleicht 200mA würde ich den Dingern zutrauen. > > Da kann aber TI bzw. der DRV8801 nichts dafür, dass liegt am Design von > Pololu. Die dürften streng genommen nicht einfach die max. Ratings aus > dem Datenblatt übernehmen, wenn ihr Kühlkonzept so schlecht ist, dass > die fertige Schaltung das nicht hergibt. Aber dann würde niemand die > Boards kaufen... Zu heiss war definitiv nicht das Problem, die sind verstorben bevor die überhaupt heiss werden konnten, entweder gleich beim Einschalten oder beim Umschalten der Drehrichtung. Und immer gab es dabei einen Kurschluss durch die Brücke, was besonders witzig ist wenn man das Ding nicht zum Testen an einem Labor-Netzteil betreibt. Ach ja, die sind auch verstorben mit Labor-Netzteil dran bei dem die Strombegrenzung auf unter 2A eingestellt war. Übrigens bei 12V.
Rudolph R. schrieb: > > Zu heiss war definitiv nicht das Problem, die sind verstorben bevor die > überhaupt heiss werden konnten, entweder gleich beim Einschalten oder > beim Umschalten der Drehrichtung. > > Und immer gab es dabei einen Kurschluss durch die Brücke, was besonders > witzig ist wenn man das Ding nicht zum Testen an einem Labor-Netzteil > betreibt. > > Ach ja, die sind auch verstorben mit Labor-Netzteil dran bei dem die > Strombegrenzung auf unter 2A eingestellt war. > Übrigens bei 12V. Dann war der bulk Kondensator an der Versorgungsspannung wohl zu klein und der Motor hat beim Bremsen zurückgespeist und die ZK Spannung über das zulässige Maß ansteigen lassen.
Rudolph R. schrieb: > Ach ja, die sind auch verstorben mit Labor-Netzteil dran bei dem die > Strombegrenzung auf unter 2A eingestellt war. > Übrigens bei 12V. Dann ist es vermutlich zu Überspannung an den Ausgängen gekommen. Heute ist es ja 'incool', wenn man bei Applikationen Freilaufdioden an den Ausgängen vorsieht. Ferner dürften diese Winzlinge sofort Probleme mit der internen Verlustleistung bekommen, falls die ext. Kühlung zu gering ist. Mit einem Innenwiderstand von knapp 0,6 Ohm ist der Chip ganz fix aufgeheizt. Erwarten würde ich von 'modernen' Treibern eher 50 mOhm. Schön, daß man nicht jede Erfahrung selber machen muß ;-) Dann werde ich wohl weiterhin auf den uralten L6201/03 setzen, sofern die Versorgungsspannung >= 12 V beträgt. Tuxpilot schrieb: > Attiny13A, 841 und Atmega32 hätte ich zum testen da, Den Tiny13 hatte ich zuerst verwendet, geht also auch. > kann der Atmega48 etwas besonders nützliches? Der kann schnell (20 MHz), klein (28/32 Pin), viel IO/Timer/ADC/USART/IIC und DIP ;-)
m.n. schrieb: > Heute ist es ja 'incool', wenn man bei Applikationen Freilaufdioden an den > Ausgängen vorsieht. Da die Brücke komplett integriert ist und da nur OUT+ und OUT- raus kommem, ist das etwas schwierig, da zusätzliche Freilaufdioden mit dran zu packen.
Dioden gegen V++ und GND für jeden Ausgang. Ich sehe da kein Problem.
Freilaufdioden braucht man bei integrierten MOSFET-Brücken vor allem, um die Verlustleistung im Chip zu reduzieren. Wenn die Pololu-Boards schon beim Einschalten sterben, liegt das Problem eher an zu kleinen Puffer-Elkos (da sind aus Platzgründen meist nur ein paar Kerkos drauf) und einer zu hohen Versorgungsspannung (bzw. zu wenig Reserve zur Maximalspannung des Treibers). Gerade bei DC-Motoren sind die Kondensatoren wichtig, weil bei schnellen Drehzahländerungen die Energie irgendwo hin muss. Ins Netzteil kann meist nicht zurück gespeist werden, also steigt dann die Versorgungsspannung an. Wenn die Elkos zu klein sind, kann das erhebliche Spannungsspitzen verursachen. @m.n.: Das ist kein Grund an Dinosaurieren wie dem L6203 festzuhalten. Wenn man FET-Brücken vernünftig designed, gibt es da inzwischen deutlich bessere Lösungen. Mit freundlichen Grüßen Thorsten Ostermann
Thorsten O. schrieb: > @m.n.: Das ist kein Grund an Dinosaurieren wie dem L6203 festzuhalten. > Wenn man FET-Brücken vernünftig designed, gibt es da inzwischen deutlich > bessere Lösungen. Ein Blick auf Deine Seite zeigt mir sogar noch L298. Dagegen ist der L6203 ja noch ein Baby ;-)
m.n. schrieb: > Dioden gegen V++ und GND für jeden Ausgang. Ich sehe da kein Problem. Du hast völlig Recht, ich habe da ein Problem gesehen wo gar keines ist. Das mit dem Elko werde ich dann auch mal im Hinterkopf behalten fürs nächste Mal, da waren aber mindestens 100µF zusätzlich mit dran geklemmt.
Hallo m.n., > Thorsten O. schrieb: >> @m.n.: Das ist kein Grund an Dinosaurieren wie dem L6203 festzuhalten. >> Wenn man FET-Brücken vernünftig designed, gibt es da inzwischen deutlich >> bessere Lösungen. > > Ein Blick auf Deine Seite zeigt mir sogar noch L298. > Dagegen ist der L6203 ja noch ein Baby ;-) Auch den setze ich schon lange nicht mehr für neue Designs ein. Bestehende Produkte muss man deswegen natürlich nicht über Board werfen, so lange es eine Nachfrage dafür gibt. Mit freundlichen Grüßen Thorsten Ostermann
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.