Hallo,
bin gerade dabei eine Schrittmotorsteuerung zu fertigen und stehe vor einem Problem.
Würde gerne 2 Schrittmotoren ansteuern und die Geschwindigkeit mit einem Timer regeln.
Jeder Motor soll mit einem Timer geregelt werden.
Zur Simulation habe ich erstmal anstelle der Motoren einfach 4 Stk. Led`s verwendet.
Eine Led für links und eine für rechts und das mal 2.
Für 2 Led`s (Motor1) funktioniert die Regelung wunderbar.
Aber sobald ich die beiden anderen Led's (Motor2) dazuschalte entsteht folgendes Problem:
Die Led`s blinken nur noch minimal auf und wenn ich alle abschalte blinken sie immer noch minimal weiter.
Anbei ein Auszug aus meinem Programm.
Zuerst dachte ich, dass die IRQ zu lange dauert und sich die beiden Timer im Wege sind.Code:Config Timer1 = Timer , Prescale = 64 On Timer1 Timer1_interrupt_motor1 Enable Timer1 Enable Interrupts Start Timer1 Geschwindigkeit_motor1 = 55000 Timer1 = Geschwindigkeit_motor1 Config Timer0 = Timer , Prescale = 1024 On Timer0 Timer0_interrupt_motor2 Enable Timer0 Enable Interrupts Start Timer0 Geschwindigkeit_motor2 = 1 Timer0 = Geschwindigkeit_motor2 ************* Timer1_interrupt_motor1: If Motor1_auf_aktiv = 1 Or Teleskop_auf_rechts_aktiv = 1 Then Toggle Motor1_auf End If If Motor1_ab_aktiv = 1 Then Toggle Motor1_ab End If If Taster_m1_schneller = 0 And Taster_m1_langsamer = 1 Then Geschwindigkeit_neu_motor1 = Geschwindigkeit_motor1 + 100 Geschwindigkeit_motor1 = Geschwindigkeit_neu_motor1 Else Geschwindigkeit_motor1 = Geschwindigkeit_motor1 End If If Taster_m1_langsamer = 0 And Taster_m1_schneller = 1 Then Geschwindigkeit_neu_motor1 = Geschwindigkeit_motor1 - 100 Geschwindigkeit_motor1 = Geschwindigkeit_neu_motor1 Else Geschwindigkeit_motor1 = Geschwindigkeit_motor1 End If Timer1 = Geschwindigkeit_motor1 Return Timer0_interrupt_motor2: If Motor2_links_aktiv = 1 Or Teleskop_auf_links_aktiv = 1 Then Toggle Motor2_links End If If Motor2_rechts_aktiv = 1 Then Toggle Motor2_rechts End If Timer0 = Geschwindigkeit_motor2 Return
Habe aber die IRQ bis auf eine Zeile gekürzt und hatte noch immer das selbe Problem.
Will aber unbedingt mit den zwei Timern arbeiten da ich so die Geschwindigkeit wunderbar über Taster regeln kann.
MfG
Martin
Lesezeichen