-
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Baby Orangutan B-328 - Motortreiber gekillt?

  1. #1
    Benutzer Stammmitglied Avatar von ScummVM
    Registriert seit
    02.04.2010
    Ort
    Österreich
    Beiträge
    78

    Unglücklich Baby Orangutan B-328 - Motortreiber gekillt?

    Hallo Zusammen,
    Hab mir 2 Baby Orangutan gekauft um mit meinem Robotik Projekt zumindest mal etwas voranzukommen und zumindest mal ein "Rollin' Chassis" zu haben.
    Also, Baby Orangutan (http://www.pololu.com/catalog/product/1220) auf ein Steckbrett geschnallt, 2 Motore von Conrad angeschlossen (ja ja Conrad ich weiß - http://www.conrad.de/ce/de/product/2...10060&ref=list) , Labornetzteil angeschlossen, Demoprogramm von robotikhardware.de eingespielt - läuft

    Danach hab ich das Demoprogramm etwas umgeschrieben um mit beiden Motoren gleichzeitig zu "fahren" (Motor 1+2 vorwärts, Motor 1+2 rückwärts, Motor 1 vorwärts - Motor 2 rückwärts, Motor 1 rückwärts - Motor 2 vorwärts).
    Die erste Stufe lief noch alles, bis die Drehrichtung beider Motore umgedreht worden ist - plötzlich hing das Netzteil in der Stromgrenze und die Motoren kamen nicht mehr auf Drehzahl.
    Wenn ich das originale Demoprogramm wieder einspiele, welches vorher gelaufen ist, passiert das selbe - Motor kommt nicht auf Drehzahl, auch wenn ich die Stromgrenze etwas aufdrehe. Der Treiber IC wird relativ schnell sehr warm - zwar noch nicht so das man sich die Finger verbrennt, aber vorher ist mir keine Erwärmung aufgefallen.
    Hab mir daraufhin mein Programm nochmal angesehen und hab festgestellt das ich wohl bei voller Drehzahl umgepolt hab ohne zu bremsen - hab das so aus dem Demoprogramm übernommen .
    Ich nehm mal an das hat mir der Motortreiber übel genommen - der Treiber IC ist dieser hier: http://www.pololu.com/file/0J86/TB6612FNG.pdf , so wie ich das auffasse hat der IC schon Freilaufdioden drinnen - richtig?
    Oder könnten die Motoren zu stark für den Treiber sein ? Jeder Motor zieht im Leerlauf ca. 0,25A und unter Last ca. 0,7A - sollte eigentlich gehen? (Ich bin hier auch nur im Leerlauf gefahren).

    Liegt das jetzt wirklich an meinem Programm oder hatte der schon nen defekt? Trau mich jetzt gar nicht mehr den zweiten anzuhängen


    Hier noch mein Testprogramm:
    Code:
    '###################################################
    'Dieses Programm demonstriert die Programmierung
    'des Mini Robot Boards Baby Orangutan B-328
    'Verwendeter Compiler Bascom
    '
    'Aufgabe:
    ' Motor 1 + 2 wird langsam beschleunigt
    ' Motor 1 + 2 wird langsam in andere Richtung beschleunigt
    ' Motor 1 wird langsam vorwärts - Motor 2 wird langsam rückwärts beschleunigt
    ' Motor 1 wird langsam rückwärts - Motor 2 wird langsam vorwärts beschleunigt
    '
    '###################################################
    
    $prog &HFF , &HF6 , &HD9 , &HFC                             'Standard Fusebits für Orangutan B-328
    'Die üblichen Definitionen bei Standardprogrammen für Orangutan SV-328
    $regfile = "m328pdef.dat"
    $crystal = 20000000                                         'Quarzfrequenz
    $hwstack = 32
    $framesize = 64
    $swstack = 32
    ' ------ Anwendungsspezifische Configurationen ---------
    'Ports benennen
    Red_led Alias Portd.1
    Motor1a Alias Portd.6
    Motor1b Alias Portd.5
    Motor2a Alias Portd.3
    Motor2b Alias Portb.3
    
    Declare Sub Motortest()
    
    'Variablen
    Dim I As Integer
    Config Pind.1 = Output
    Config Pinb.3 = Output
    Config Pind.3 = Output
    Config Pind.5 = Output
    Config Pind.6 = Output
    
    ' PWM Register setzen
    ' see the ATmega48/168/328P datasheet for detailed register info
    ' configure for inverted PWM output on motor control pins
    Tccr0a = &HF3
    Tccr2a = &HF3
    ' use the system clock / 8 (2.5 MHz) as the timer clock
    Tccr0b = &H02
    Tccr2b = &H02
    
    Do
    
       Call Motortest()
       Loop
    
    End
    
    
    
    Sub Motortest()
       ' Motor 1+2 beschleunigen
       I = 0
       Do
       Ocr0a = 0
       Ocr0b = I
       Ocr2a = 0
       Ocr2b = I
       Waitms 500
       I = I + 5
       Loop Until I > 1025
       Wait 2
       ' Motor 1+2 in andere Richtung beschleunigen
       I = 0
       Do
       Ocr0a = I
       Ocr0b = 0
       Ocr2a = I
       Ocr2b = 0
       Waitms 500
       I = I + 5
       Loop Until I > 1025
       Ocr0a = 0
       Ocr0b = 0
       Ocr2a = 0
       Ocr2b = 0
       ' Motor 1 vorwärts, Motor 2 rückwärts beschleunigen
       I = 0
       Do
       Ocr0a = 0
       Ocr0b = I
       Ocr2a = I
       Ocr2b = 0
       Waitms 500
       I = I + 5
       Loop Until I > 1025
       Wait 2
       ' Motor 1 rückwärts, Motor 2 vorwärts beschleunigen
       I = 0
       Do
       Ocr0a = I
       Ocr0b = 0
       Ocr2a = 0
       Ocr2b = I
       Waitms 500
       I = I + 5
       Loop Until I > 1025
       Ocr0a = 0
       Ocr0b = 0
       Ocr2a = 0
       Ocr2b = 0
    End Sub

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    6.321
    ... Jeder Motor zieht im Leerlauf ca. 0,25A und unter Last ca. 0,7A - sollte eigentlich gehen ...
    Sollte gehen - dachte ich auch mal. Aber erstens - was heißt bei Dir "Laststrom" - und zweitens ist der Anlaufstrom manchmal erheblich über dem Strom im "normalen" (das ist genauso schwammig wie Dein Laststrom *ggg*) Betrieb. Ich hatte mich vor Jahren mal beim TB6612FNG durch die Absolute Maximum Ratings beruhigen lassen. Zu Unrecht, das belegt jedenfalls ein alter, ruinierter babyorangutan in meiner Schublade.

    Fazit: der TB6612FNG wird Dir den Anlaufstrom der Motoren übel genommen haben.

    Das Datenblatt spricht in den Absolute Maximum Ratings von 3,2 A bei einem 10ms-single-pulse. Und 10 ms ist schon eine ziemlich flotte Zeitkonstante für nen Motor der von Dir benutzten Art. Meine winzigen Motoren - aus billigen Servos - haben schon Zeitkonstanten in dieser Größenordnung.
    Ciao sagt der JoeamBerg

  3. #3
    Benutzer Stammmitglied Avatar von ScummVM
    Registriert seit
    02.04.2010
    Ort
    Österreich
    Beiträge
    78
    Also Laststrom... ich hab den einfach vom Typenschild abgeschrieben
    Um da aber wirklich mal 0,5A fließen zu lassen muss man schon ordentlich an der Welle zupacken.

    Ich dachte nicht das die Motoren nen sehr hohen Anlaufstrom haben - immerhin läuft der bei 0,5V schon weg, dabei zieht er dann 0,15A. (Leerlauf versteht sich)

    Ajo, hatte das Labornetzteil auf 12V und ca. 0,5 - 0,6A eingestellt.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    26
    Beiträge
    3.804
    Wenn du ein NT mit Strombegrenzung hast ist das nur für einen länger anhaltenden Strom. Wenn du einen Anlaufstrom hast entlädt sich der eingebaute Kondensator. Dadurch hast du kurzzeitig einen viel höheren Strom als den eingestellten.

    So habe ich auch schon Leds (Hochleistungsleds) "umgebracht". Deswegen erhöhe ich die Spannung immer schrittweise. Beim Bsp. Led nehme ich die Nennspannung her und stelle das NT unterhalb dieser Grenze ein (je nach Led bis zu einigen Volt). Wenn ein Strom fließt erhöhe ich die Spannung.

    MfG Hannes

  5. #5
    Benutzer Stammmitglied Avatar von ScummVM
    Registriert seit
    02.04.2010
    Ort
    Österreich
    Beiträge
    78
    hmmm... Mist. Also der Treiber IC ist definitiv hin - das Modul zieht auch ohne angeschlossene Motore Strom bis das Labornetzteil in der Stromgrenze hängt und der Treiber IC wird auch warm, was ohne Motoren nicht sein sollte.
    Stellt sich nur die Frage ob der Treiber IC durch Überstrom oder durch meine Umpolaktion durchgeschmort ist. Ach Mist aber auch, wollt doch nur mein umgebautes Chassis mit den neuen Motoren austesten.
    Geändert von ScummVM (07.05.2012 um 23:24 Uhr)

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    26
    Beiträge
    3.804
    Der Treiber ist durch Überstrom, verursacht durch umpolen. Das ist noch schlimmer als nur mit 100% PWM starten. Wenn der Motor läuft und man schaltet ihn ab wirkt der Motor als Generator. Wenn man ihn umpolt wirken Motor und Netzteil bzw Treiber gegeneinander. Somit ist der Strom noch größer als der Anlaufstrom.

    MfG Hannes

  7. #7
    Benutzer Stammmitglied Avatar von ScummVM
    Registriert seit
    02.04.2010
    Ort
    Österreich
    Beiträge
    78
    Das heißt das der Treiber den normal Betrieb "vermutlich" ausgehalten hätte wenn ich vorher auf Bremsbetrieb oder Leerlauf geschaltet hätte. Blöderweise ist es im Beispiel von robotikhardware.de genauso gemacht.
    Mit dem ganzen PWM Zeugs muss ich mich sowieso noch genauer auseinandersetzen.

    Vielen Dank für die Erklärungen und die Hilfe!

    P.S.: Kennt wer eine Quelle (außer Digikey) um an ein paar TB6612FNG zu kommen?

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    6.321
    ... Kennt wer eine Quelle ... um an ein paar TB6612FNG zu kommen?
    Ich habe in den letzten Jahren etliche Teilchen von/bei pololu gekauft - die ja die babyorangutans u.a. herstellen. Dabei war ich immer mit deren ausserordentlich freundlichen, schnellen Service zufrieden. Eine Mail senden - gibt fast immer nach wenigen Stunden Antwort. Die Leute sind sehr entgegenkommend, möglich dass Sie Dir ein paar Treiber per Post (Brief, bitte extra erwähnen, dass sie die TEile per BRIEF senden sollen) zusenden. Gezahlt hatte ich stets mit Kreditkarte, allerdings habe ich ne Postadresse in den USA (und fast wöchentliche "Boten", die mir die Teile hierher bringen - unter Beachtung der Zollvorschriften!).

    Mein letzter Kontakt dort war mit Kevin, schreib einfach an ihn oder ruf ihn an:
    kevin@pololu.com
    Kevin Chang
    (702) 262-6648
    www.pololu.com
    ..............................
    Pololu Corporation
    3095 E. Patrick Ln. #12
    Las Vegas, NV 89120
    USA


    Viele Grüße, viel Erfolg
    Ciao sagt der JoeamBerg

  9. #9
    Benutzer Stammmitglied Avatar von ScummVM
    Registriert seit
    02.04.2010
    Ort
    Österreich
    Beiträge
    78
    Super, danke!
    Werd Pololu mal eine Mail schreiben, vielleicht haben sie ein paar Treiber für mich

    Hab mich jetzt allerdings entschieden ein paar "dickere" Motortreiber zu kaufen, will nicht riskieren den zweiten auch noch zu killen. Die Baby Orangutans werd ich zur Turm / Kanonensteuerung verwenden da sind wesentlich kleinere Motore drin - das sollten sie eher verkraften.

    Gruß
    ScummVM

  10. #10
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    27
    Beiträge
    919
    Hab einmal auf die selbe Weise den L293D gefetzt. Dann habe ich das im Code so angepasst, dass die Enable-Leitung erst mal auf GND gezogen wird, paar ms Verzögerung, Richtung wird umgeschaltet, Enable-Leitung wieder auf High. So läufst noch heute

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Basic(-Billig/-Baby) Mono Wheel
    Von mausi_mick im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 295
    Letzter Beitrag: 05.08.2011, 15:47
  2. Miniprojekt zwischendurch : "Baby-Snugboard"
    Von Andree-HB im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 17.02.2011, 14:18
  3. SD21 gekillt?
    Von fod.marc im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 31.01.2010, 10:44
  4. Suche Erfahrungen mit Baby Orangutan 168
    Von oberallgeier im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 15.12.2008, 09:25
  5. Relais gekillt - warum???
    Von Tido im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 11.05.2007, 20:53

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •