Hi Murdoc
ich habe mal bei einem ähnlichen Problem in das Programm an mehrere Stellen Anzeigen der LEDs eingebaut, einfach um zu sehen wann und ob wirklich ein Reset erfolgt. Wobei ich auch glaube, dass es ein ungewollter Reset ist.
Also z.B. so:
Code:$regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600 Config Portb.0 = Output Led_gruen Alias Portb.0 'grüne LED Config Portb.1 = Output Led_rot Alias Portb.1 'rote LED Config Portc.2 = Output Mo1_1 Alias Portc.2 Config Portc.3 = Output Mo1_2 Alias Portc.3 Config Portc.4 = Output Mo1_3 Alias Portc.4 Config Portc.5 = Output Mo1_4 Alias Portc.5 Config Pind.4 = Output 'OC1B, PWM-Ausgang Config Pind.5 = Output 'OC1A, PWM-Ausgang Config Timer1 = Pwm , Pwm = 9 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8 Pwm1a = 0 Pwm1b = 0 Dim I As Integer Led_gruen=1 wait 1 Led_gruen =0 Do I = 0 Mo1_1 = 0 Mo1_2 = 1 Mo1_3 = 0 Mo1_4 = 1 Do Pwm1b = I Waitms 40 I = I + 5 Loop Until I > 500 Led_rot =1 wait 1 led_rot =0 Wait 10 Do Pwm1b = I Waitms 40 I = I - 5 Loop Until I < 10 Pwm1b = 0 Led_rot=1 wait 3 Led_rot=0 Wait 10 Loop
und dann würde ich auch mal versuchsweise mit Pwm1b nicht ganz nach oben gehen, sondern nur so weit bis der Motor läuft und gucken was bei niedriger Leistung passiert.
Grüsse
Christian






Zitieren

Lesezeichen