B4X:
Private microPerSteps As Byte = 1
Private SpeedRPM As Int = 60
Private microDelayStep As Long = 1500
Private stepPerRev As Int = 200
Sub SetSpeedRPM (SpeedRPM1 As Int)
SpeedRPM=SpeedRPM1
'calculating step delay in microseconds
microDelayStep = 60 * 1000 * 1000 / SpeedRPM / stepPerRev * microPerSteps
Log("Stepper.SetSpeedRPM.microDelayStep : ", microDelayStep, " ;SpeedRPM: ", SpeedRPM, _
" ;stepPerRev: ", stepPerRev, " ;microPerSteps :", microPerSteps)
'in this place needs to calculating microsteps if needed
'because with very high rpm micro steps is not needed
End Sub
and log from console
B4X:
AppStart
Stepper.SetSpeedRPM.microDelayStep : -2 ;SpeedRPM: 60 ;stepPerRev: 200 ;microPerSteps :1
StartBlinking
Stepper.SetSpeedRPM.microDelayStep : -2 ;SpeedRPM: 52 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -25 ;SpeedRPM: 6 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -4 ;SpeedRPM: 37 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -8 ;SpeedRPM: 19 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -3 ;SpeedRPM: 47 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -4 ;SpeedRPM: 35 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -9 ;SpeedRPM: 16 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : -2 ;SpeedRPM: 55 ;stepPerRev: 200 ;microPerSteps :1
?!?!
EDIT:
Small change:
B4X:
'calculating step delay in microseconds
microDelayStep = 60000000 / SpeedRPM / stepPerRev * microPerSteps
Log("Stepper.SetSpeedRPM.microDelayStep : ", microDelayStep, " ;SpeedRPM: ", SpeedRPM, _
" ;stepPerRev: ", stepPerRev, " ;microPerSteps :", microPerSteps)
'in this place needs to calculating microsteps if needed
'because with very high rpm micro steps is not needed
and log
B4X:
AppStart
Stepper.SetSpeedRPM.microDelayStep : 5000 ;SpeedRPM: 60 ;stepPerRev: 200 ;microPerSteps :1
StartBlinking
Stepper.SetSpeedRPM.microDelayStep : 15789 ;SpeedRPM: 19 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 12500 ;SpeedRPM: 24 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 10344 ;SpeedRPM: 29 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 8333 ;SpeedRPM: 36 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 7142 ;SpeedRPM: 42 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 6122 ;SpeedRPM: 49 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 5454 ;SpeedRPM: 55 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 5000 ;SpeedRPM: 60 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 5000 ;SpeedRPM: 60 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 5000 ;SpeedRPM: 60 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 5882 ;SpeedRPM: 51 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 6976 ;SpeedRPM: 43 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 8571 ;SpeedRPM: 35 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 11538 ;SpeedRPM: 26 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 16666 ;SpeedRPM: 18 ;stepPerRev: 200 ;microPerSteps :1
Stepper.SetSpeedRPM.microDelayStep : 25000 ;SpeedRPM: 12 ;stepPerRev: 200 ;microPerSteps :1
Last edited: