Hi, I have ODrive v3.6-56V with fw 0.5.6. However, ‘start-up’ of the motor is prevented by the endstop being activated. ( After turning off the rig, the rig drops down (because of gravity) and then activates the min-endstop). Is there a way to ignore the endstop on start-up?
For example, can I omit the end-stop and start (from the starting point) with an offset as ‘normal’ in the homing sequence? This, so that the zero point of the actuator is just above the physical start of the axis. In other words, a normal homing startup but without looking for the end-stop and ‘just’ starting (by looking for the encoder’s index) from the point where the actuator is currently. And start from there.
Hi! Sorry for the delay in my reply.
Sounds like you should probably just disable the endstop on startup, then re-enable it when you want to actually home to the min endstop? Is there another reason this wouldn’t work?
Sorry for my late response and the suggestion but I don’t know how to do: ‘…just disable the endstop on startup, then re-enable it when you want to actually home to the min endstop…’.
I have now ‘disabled’ the endstop (odrv0.axis0.min_endstop.config.enabled = False) as well as homing (odrv0.axis0.config.startup_homing = False). Index-search is ‘on’ (odrv0.axis0.config.startup_encoder_index_search = True).
Now if the rig is turned off (or causes an error), it falls back to the ground, due to gravity. The actuators go to their physical starting point. On restart, the actuators search the index (the right way = away from the physical starting point) and start from there (input_pos = 0). (They obviously ignore the end stop)
What I don’t have yet is an offset (as with odrv0.axis0.min_endstop.config.offset) but at least now I don’t have to manually lift my rig slightly (past the endstops) every time to be able to (re)start.