Hello
I'm struggling with getting the (standard brushed) mower motor to work:
are there already serial commands to just let the mowing driver actuate the motor with a fixed PWM, get the state of the driver (measured current, fault flag), ... .
It's not that easy to debug during a cycle like done when running AT+Q
I'm struggling with getting the (standard brushed) mower motor to work:
- when running AT+Q test, the mowing motor does not spin (the wheels spin)
- I get a suspicious motor fault (from the moment I touch the motor fault pin when I measure with a multimeter), the sunray firmware starts to report motor fault. (But not when trying to actuate the motor through the test.)
- I don't immediately see traces of any burned parts on the driver
- when switching the (working) driver of the wheels to the mower side, I also didn't get any movement in the mower motor
are there already serial commands to just let the mowing driver actuate the motor with a fixed PWM, get the state of the driver (measured current, fault flag), ... .
It's not that easy to debug during a cycle like done when running AT+Q
// ----- mowing motor -------------------------------------------------
// NOTE: motor drivers will indicate 'fault' signal if motor current (e.g. due to a stall on a molehole) or temperature is too high for a
// certain time (normally a few seconds) and the mower will try again and set a virtual obstacle after too many tries
// On the other hand, the overload detection will detect situations the fault signal cannot detect: slightly higher current for a longer time
#define MAX_MOW_PWM 200 // use this to permanently reduce mowing motor power (255=max)
#define MOW_FAULT_CURRENT 8.0 // mowing motor fault current (amps)
#define MOW_TOO_LOW_CURRENT 0.005 // mowing motor too low current (amps)
#define MOW_OVERLOAD_CURRENT 2.0 // mowing motor overload current (amps)
// should the direction of mowing motor toggle each start? (yes: true, no: false)
#define MOW_TOGGLE_DIR true
// #define MOW_TOGGLE_DIR false
// should the error on motor overload detection be enabled?
#define ENABLE_OVERLOAD_DETECTION true // robot will stop on overload
// #define ENABLE_OVERLOAD_DETECTION false // robot will slow down on overload
// should the motor fault (error) detection be enabled?
#define ENABLE_FAULT_DETECTION true
// #define ENABLE_FAULT_DETECTION false // use this if you keep getting 'motor error'
// #define ENABLE_RPM_FAULT_DETECTION true // use mow rpm signal to detect a motor fault (requires mowing motor with rpm output!)
#define ENABLE_RPM_FAULT_DETECTION false // do not use mow rpm signal to detect a motor fault
// should the robot trigger obstacle avoidance on motor errors if motor recovery failed?
#define ENABLE_FAULT_OBSTACLE_AVOIDANCE true
// shall the mow motor be activated for normal operation? Deactivate this option for GPS tests and path tracking running tests
#define ENABLE_MOW_MOTOR true // Default is true, set false for testing purpose to switch off mow motor permanently