around a year ago, I built my first satNOGS rotor.
It’s still going strong, but there is one thing I am quite frustrated about.
I am using the Arduino Uno + CNC shield variant with this firmware: Quartapound / satnogs-rotator-firmware · GitLab with stepper motors and without encoders.
Sometimes (for unknown reasons), the rotor goes below 0° and e.g. points the antenna to -7° elevation. When it comes back up, it always rips of the endstops arm and I have to tideously replace the whole microswitch (happened 9 times in the last year).
Why is that? would it be possible to make the firmware obey they endstops not only during homing, but also during normal operation so that it can’t possibly go below 0°?
I’m building my station, reviewing the code, and happen to see this.
Based on my read, the HOME_DELAY is not used to control homing deceleration rate. Instead, it’s been to get “delay” time after 2nd homing been triggered.
For example: if AZ homed first then EL homed. The HOME_DELAY is the delay time (milsec) after EL homed been trigger, give EL motor time to going back to home position.
I personally change my code from HOME_DELAY to AFT_HOMING_DELAY to avoid confusion.
#define AFT_HOMING_DELAY 12000 ///< Delay time (in millisecond) after homing, to complete the movements
And
// Delay after homing, to complete the movements
uint32_t time = millis();
while (millis() - time < AFT_HOMING_DELAY) {
wdt.watchdog_reset();
stepper_az.run();
stepper_el.run();
}
@crosswalkersam1 : I think what you are asking is adding additional logic to use MIN_M2_ANGLE (usually set to 0) to avoid EL going negative? I haven’t reach that point yet but I will see what I can do during my build.