-
        

Ergebnis 1 bis 5 von 5

Thema: PWM Motorsteuerung

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441

    PWM Motorsteuerung

    Anzeige

    Hallo,
    habe eine Motorbrücke (L293 D) aufgebaut und wollte diese mit einem Mega32 ansteuern, habe dafür folgendes Programm geschrieben, muss dazu sagen, dass ich noch totaler Anfänger auf diesem Gebiet bin.

    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 8000000
    $baud = 9600
    
    
    
    Config Porta = Output                                       ' LED zum Test auf an
    Config Portd.5 = Output                                     ' PWM Leitung Motor 1
    Config Portd.7 = Output                                     ' Eingang A Motor 1
    Config Portc.1 = Output                                     ' Eingang B Motor 1
    
    
    Led Alias Porta.0
    
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
    
    Fwd Alias Portd.7
    Rwd Alias Portc.1
    
    
    
    
    
    
    Do
    
    Led = 1
    Compare1a = 200
    Fwd = 1
    Rwd = 0
    
    
    
    
    Loop
    
    End
    Mein Problem ist nun, wie kann ich die Geschwindigkeit des Motors verändern? bei unter 200 dreht sich nix mehr, geht nur ganz langsam mit 200, was mach ich falsch vielleicht bin ich auch mit dem pwm auf dem ganz falschen Weg.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    09.05.2007
    Beiträge
    202
    Hallo,

    schon mal probiert, den Prescaler zu verändern? Damit sollte sich die PWM-Frequenz verändern. Mit Prescale = 1 habe ich bislang gute Erfahrungen gemacht. Allerdings nicht bei Motorsteuerungen sondern nur beim Dimmen von LEDs.
    Gruß, Stefan

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Also, der Prescaler von 8 ist für einen Motor schon ziemlich okay. Die PWM-Frequenz kannst Du aus Quarzfrequenz, Prescaler und Bandbreite des Timers errchnen: Quarzfrequenz / (Prescaler * 2 * PWM-Bandbreite), in diesem Fall also 8000000/ (8*2*256), das wären etwa 2kHz. Damit fühlen sich die meisten Motoren wohl.

    Ich bin mir sicher, dass auch ich noch heute ergebnislos an meinen diversen PWM-Einstellungen rumbasteln würde, wenn ich nicht ein Oszi zur Hilfe gehabt hätte, mit dem ich sehen konnte, was am OCR-Pin passiert.

    Falls Du keins hast, reicht für diese Zwecke schon ein "Soundkarten"-Oszi, mit dem man sich über den Soundkarten-Eingang Wechselspannungen ansehen kann (z.B. bei http://www.zeitnitz.de/Christian/Scope/Scope_ger.html).

    Ansonsten seh´ ich auf den ersten Blick auch nichts, was definitiv verkehrt wäre...

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2008
    Ort
    Siegen, Germany, Germany
    Beiträge
    441
    Hallo,
    also Lösung des Problems war, das der Motor zu viel Strom gezogen hat, zumindest vermute ich das mal, mit einem kleineren Motor funktioniert die Schaltung und das Programm tadellos.

    LG
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Na, das klingt ja gut! PWM ist überhaupt eine großartige Erfindung

Berechtigungen

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