Kommando för upprampning av steppper hastighet
Du kan testa denna koden, jag har inte testat att det fungerar, men du borde få lite hjälp i alla fall.
Med koden borde du kunna reglera hastigheten från 3 ms till 0.1 ms i fem steg.
Kod: Markera allt
$crystal = 3200000
$regfile "2313def.dat"
Dim Wa As Byte
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Input
Config Pinb.3 = Input
Config Timer0 = Timer , Prescale = 64
Wa = 150
Do
Debounce Pinb.2 , 0 , Snabbare , Sub
Debounce Pinb.3 , 0 , Langsammare , Sub
Set Portb.0
Reset Portb.1
Gosub Vanta
Set Portb.1
Set Portb.0
Gosub Vanta
Reset Portb.0
Set Portb.1
Gosub Vanta
Reset Portb.1
Reset Portb.0
Gosub Vanta
Loop
Vanta:
Do
Loop Until Tcnt0 >= Wa
'when 10 pulses are count the loop is exited
'or use the special variable TIMER0
Timer0 = 0
Return
Snabbare:
If Wa <= 34 Then
Wa = 5
Else
Wa = Wa - 29
End If
Return
Langsammare:
End If
If Wa => 121 Then
Wa = 150
Else
Wa = Wa + 29
End If
Return
Jag har kollat i simulatorn nu och det verkar fungera som det ska. Det som kan hjälpa är att stänga av timern i knappfunktionerna. Kopplade du knapparna rätt? Dvs de ska gå låga när du trycker ner knappen. Om du har kopplat fel så ändra debounce-parametern till aktiv hög.
Och startar motorn med en paus på 3ms? Du sa aldrig vilket intervall du ville ha på hastigheten!
Och startar motorn med en paus på 3ms? Du sa aldrig vilket intervall du ville ha på hastigheten!
jo, men är dom aktivt låga?
dvs att du har kopplat det så är
dvs att du har kopplat det så är
Kod: Markera allt
|
|-Pd2-------[ 10 k ]------ +5V
| |
\
\
|
|
jord