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:
Code:
' 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
Habe folgenden Motor http://www.conrad.de/ce/de/product/222365/GETRIEBEMOTOR-501-45-15V-540ER-MOTOR
Ist die Frequenz falsch?
Lesezeichen