mirror of
https://github.com/synthetos/g2.git
synced 2026-09-22 11:29:24 +08:00
@@ -45,13 +45,8 @@
|
||||
#define SPINDLE_ENABLE_POLARITY 1 // 0=active low, 1=active high
|
||||
#define SPINDLE_DIR_POLARITY 0 // 0=clockwise is low, 1=clockwise is high
|
||||
#define SPINDLE_PAUSE_ON_HOLD true
|
||||
#define SPINDLE_SPINUP_DELAY 1.5 // after unpausing and turning the spindle on, dwell for 1.5s
|
||||
#define SPINDLE_SPINUP_DELAY 0.1 // after unpausing and turning the spindle on, dwell for 1.5s
|
||||
#define SPINDLE_SPEED_CHANGE_PER_MS 7.0
|
||||
// #define SPINDLE_SPEED_CHANGE_PER_MS 1.0 // testing absurdly low setting
|
||||
// OLD CODE:
|
||||
// // PWM soft-start: original estimate 13ms/100RPM, but tweaked for slipping
|
||||
// #define SP_RPM_INCREMENT 500.0 // RPM
|
||||
// #define SP_DLY_PER_RPM_INCR 75 // ms per RPM increment (above)
|
||||
|
||||
#define ESC_BOOT_TIME 5000 // how long the ESC takes to boot, in milliseconds
|
||||
#define ESC_LOCKOUT_TIME 900 // how long the interlock needs to be engaged before killing power... actually 1s, but be conservative
|
||||
|
||||
+6
-6
@@ -137,15 +137,15 @@ void _actually_set_spindle_speed() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (fp_ZERO(spindle.speed_change_per_tick)) {
|
||||
if (fp_ZERO(spindle.speed_change_per_tick)) { // || (spindle.speed <= spindle.speed_actual)
|
||||
spindle.speed_actual = spindle.speed;
|
||||
}
|
||||
pwm_set_duty(PWM_1, _get_spindle_pwm(spindle, pwm));
|
||||
|
||||
if (fp_NE(spindle.speed_actual, spindle.speed)) {
|
||||
if (fp_NE(spindle.speed_actual, spindle.speed)) { // && (spindle.speed > spindle.speed_actual)
|
||||
// use the larger of: spindup_delay setting, or the time it'll take to ramp to the new speed, converted to seconds
|
||||
if (fp_NOT_ZERO(spindle.speed_change_per_tick)) {
|
||||
mp_request_out_of_band_dwell(std::max(spindle.spinup_delay, std::abs(spindle.speed_actual-spindle.speed)/spindle.speed_change_per_tick)/1000.0);
|
||||
mp_request_out_of_band_dwell(spindle.spinup_delay + 0.001*std::abs(spindle.speed-spindle.speed_actual)/spindle.speed_change_per_tick);
|
||||
} else {
|
||||
mp_request_out_of_band_dwell(spindle.spinup_delay);
|
||||
}
|
||||
@@ -446,9 +446,9 @@ static float _get_spindle_pwm (spSpindle_t &_spindle, pwmControl_t &_pwm)
|
||||
|
||||
if ((_spindle.state == SPINDLE_CW) || (_spindle.state == SPINDLE_CCW)) {
|
||||
// clamp spindle speed to lo/hi range
|
||||
if (_spindle.speed_actual < speed_lo) {
|
||||
_spindle.speed_actual = speed_lo;
|
||||
}
|
||||
// if (_spindle.speed_actual < speed_lo) {
|
||||
// _spindle.speed_actual = speed_lo;
|
||||
// }
|
||||
if (_spindle.speed_actual > speed_hi) {
|
||||
_spindle.speed_actual = speed_hi;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user