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.
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.
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.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
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
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...
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
Na, das klingt ja gut! PWM ist überhaupt eine großartige Erfindung
Lesezeichen