|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
Data Fields | |
| uint16_t | centre_us |
| int16_t | step_us |
| uint16_t | max_travel_us |
| uint16_t | settle_ms |
| uint16_t | measure_ms |
| float | knee_ratio |
| The knee. Current must exceed the free-running baseline by both a ratio and an absolute margin before a step counts as bound. | |
| float | knee_margin_a |
| float | hard_limit_a |
| float | stall_above_a |
| Working hard: above this the servo is doing real work, and it may not do so for longer than stall_ms. | |
| uint16_t | stall_ms |
| uint16_t | backoff_us |
| uint16_t servo_limit_cfg_t::backoff_us |
how far short of the bind to programme
| uint16_t servo_limit_cfg_t::centre_us |
where the search starts
| float servo_limit_cfg_t::hard_limit_a |
abort at once, wherever it happens
| float servo_limit_cfg_t::knee_ratio |
The knee. Current must exceed the free-running baseline by both a ratio and an absolute margin before a step counts as bound.
Either test alone misreads a common case. A ratio alone is fooled by a very low baseline, where sensor noise is a large multiple of almost nothing. An absolute margin alone is fooled by a large servo, whose free current exceeds a threshold chosen for a small one.
| uint16_t servo_limit_cfg_t::max_travel_us |
how far from centre the search may go
| uint16_t servo_limit_cfg_t::measure_ms |
average over this long once settled
| uint16_t servo_limit_cfg_t::settle_ms |
wait for the servo to arrive before reading
| float servo_limit_cfg_t::stall_above_a |
Working hard: above this the servo is doing real work, and it may not do so for longer than stall_ms.
A threshold of its own, independent of the knee test. Armed from the knee, the stall protection would depend on a tuning value: a knee set too high to find anything would also disarm the timer meant to catch a search pushing into a stop.
It sits between the free current of any servo on this bench and the hard ceiling, so ordinary work does not trip it and a bind does.
| uint16_t servo_limit_cfg_t::stall_ms |
how long that may persist
| int16_t servo_limit_cfg_t::step_us |
signed: direction and size of a step