Gast
#1336766
Hallo liebe Forenleutz, habe seit 2 Tagen das Problem, dass ich meinen Motortreiber(siehe Anhang PDF) nicht mit einer PWM Ansteuern kann. Die PWM-Ansteuerung ist bis 20 Khz möglich. Kann sein das ich mich da vielleicht verrechnet habe. Als Controller verwende ich einen Mega2560 der über die nötigen PWM Ports verfügt. Könnte sich jemand mal meinen Bascom-Quellcode anschauen und mir eine eventuelle Lösung sagen. Vielleicht verwende ich auch den falschen Port. Hier der CODE: $regfile = "m2560def.dat" $crystal = 16000000 'Quarzfrequenz $baud = 9600 $hwstack = 34 $framesize = 34 $swstack = 34 Config Pinb.1 = Output Motor1_pwm Alias Portb.1 Config Pind.6 = Output Motor1_in1 Alias Portd.6 Config Pind.7 = Output Motor1_in2 Alias Portd.7 Config Pinb.2 = Output Motor2_pwm Alias Portb.2 Config Pinb.0 = Output Motor2_in1 Alias Portb.0 Config Pinb.5 = Output Motor2_in2 Alias Portb.5 'PWM Frequenz Initialisieren Tccr1a = &B10100010 '9 Bit PWM Voller Takt Tccr1b = &B10000011 'Teiler = 8 PWM = 1951Hz bei 9 Bit Dim I As Word 'Wait 10 Do Print " Richtung1" Motor1_in1 = 0 'Drehrichtung Motor 1 Motor1_in2 = 1 'Drehrichtung Motor 1 Motor2_in1 = 1 'Drehrichtung Motor 2 Motor2_in2 = 0 'Drehrichtung Motor 2 For I = 250 To 511 Pwm1a = I Pwm1b = I Waitms 1 Next I Wait 1200 'Bremsen Pwm1a = 0 Pwm1b = 0 Wait 20 Motor1_in1 = 0 'Drehrichtung Motor 1 Motor1_in2 = 0 'Drehrichtung Motor 1 Motor2_in1 = 0 'Drehrichtung Motor 2 Motor2_in2 = 0 Print " Richtung2" Motor1_in1 = 1 'Drehrichtung Motor 1 Motor1_in2 = 0 'Drehrichtung Motor 1 Motor2_in1 = 0 'Drehrichtung Motor 2 Motor2_in2 = 1 'Drehrichtung Motor 2 For I = 0 To 511 Pwm1a = I Pwm1b = I Waitms 250 Next I Wait 1200 'Bremsen Pwm1a = 0 Pwm1b = 0 Wait 20 Motor1_in1 = 0 'Drehrichtung Motor 1 Motor1_in2 = 0 'Drehrichtung Motor 1 Motor2_in1 = 0 'Drehrichtung Motor 2 Motor2_in2 = 0 Loop End ------------------------------------------------------------------------ ------ Vielen Dank