Open willdickson opened 6 years ago
I also noticed this problem with the above issue and recalculated the conversion formula. As @willdickson said, the conversion constant for ACC
and DEC
should be 0.06871948.
Also, the constant for INT_SPD
is 4 times smaller than the datasheet, and the constant for SPEED
is slightly smaller.
So these constants need to be fixed, I think. | Register Name | Current value | Calculated value |
---|---|---|---|
ACC / DEC | 0.137438 | 0.06871948 | |
INT_SPD | 4.1943 | 16.777216 | |
SPEED | 67.106 | 67.108864 |
The acceleration and deceleration as set via the setAcc and setDec appear to be off by a factor of two. This issue appears to be due an error in the conversion constant in the accCalc and decCalc functions found in SparkFunAutoDriverSupport.cpp. According the the L6470 manual the conversion constant should be given by (tick^2)/(2^-40) where tick = 250ns. This gives ((250e-9)**2)/(2^-40) = 0.068719476736 However, the constant in the AutoDriver library is 0.137438 which appears to be off by approximately a factor of two.