Hurra, ich kann den Motor jetzt zum Drehen bringen. Die Lötstellen waren nicht astrein
Das mit den max. 40 kHz habe ich jetzt auch berücksichtigt. Ich war bei 200 kHz, jetzt bin ich bei 30,517578125 kHz.
Allerdings ruckelt der Motor bei ansteuern mit PWM. Das Test-LED flackert auch. Woran kann das liegen?
Hier mal mein Programm:
Habe folgenden Motor http://www.conrad.de/ce/de/product/222365/GETRIEBEMOTOR-501-45-15V-540ER-MOTORCode:' PWM Testprogram '''''$prog , 255 , &B11011100, $prog , 255 , &B11011001, $regfile = "m2560def.dat" $hwstack = 82 '80 $framesize = 68 ' 64 $swstack = 68 '44 $crystal = 16000000 'Quarzfrequenz $baud = 19200 Config Pind.5 = Output Led Alias Portd.5 Config Pinc.0 = Output ' Stiftleiste JP 2; Pin 3; PC0 Motor1_reset Alias Portc.0 Config Pinc.1 = Output ' Stiftleiste JP 2; Pin 4; PC1 Motor1_rotational_direction Alias Portc.1 Dim Motor1_speed As Integer Echo Off ' Bei dem Motortreiber 18V15 von Pololu liegt die PWM Frequenz (kHz) bei max. 40 kHz, siehe Doku des Motorboard auf Seite 3 ' Formel zur kHz-Berechnung: Ausgangsfrequenz = (Quarzfrequenz/Prescale ) /(Timerauflösung*2) ' Quarzfrequenz = $crystal = 16000000 ' Prescale = 8, 64, 256, 1024 für Timer1 Seite 164 der Doku für ATMEGA2560 ' Timerauflösung = Bit, bzw. Pwm = 8, Bit ist dann 8. Mit dem Wert Bit wird die Zahl 2 hochgenommen => 2 hoch 8 = 256 ' (16000000:1024):(256*2) = 30,517578125 kHz ' Timer1 ist ein 16 Bit Timer, wird in diesen Fall auf 8 Bit gesetzt. Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1024 ' Stiftleiste JP 1; Pin 24 ' (16000000:1024):(256*2) = 30,517578125 kHz Led = 0 ' LED einschalten Motor1_reset = 1 Waitms 1 Motor1_reset = 0 Waitms 1 Motor1_reset = 1 Motor1_rotational_direction = 1 Motor1_speed = 127 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Do ' Der max. Wert von Compare1a liegt bei 2 hoch Bit-Wert => 2 hoch 8 = 256. Da ab 0 gezählt wird, ist der max. Wert für einen 8 Bit-Timer 255 Compare1a = Motor1_speed ' Stiftleiste JP 1; Pin 24 Loop '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' End
Ist die Frequenz falsch?








Zitieren

Lesezeichen