CableCam as video platform


#1

We redesigned the CableCam for ODrive

Currently the parts are manufactured - so we will update above with images and videos.

Controller is currently changed to support ODrive ASCII protocol.


#2

Very nice! Make sure to show us a video when you get it working ;D


#3

Okay, cablecam controller can now control the odrive.

I have implemented that as a state machine and using non-blocking calls using the ASCII protocol.

  1. Send “r axis0.motor.is_calibrated\n” and wait for a reply. if == 1 move state one level higher.
  2. Send “r axis0.encoder.is_ready\n” and wait for a reply. if == 1 move state one level higher.
  3. Send “r axis0.current_state\n” and wait for a reply. if == 8 (closed loop) move state one level higher.
  4. Send “r axis0.controller.config.control_mode\n” and wait for a reply. if == 2 (velocity mode) move state one level higher.
  5. Send “r axis0.controller.config.vel_limit\n” and wait for a reply. The returned value is the 100% speed output.

So the idea is that the motor needs to be pre-calibrated because I cannot guarantee it is not hanging on the zip line already and hence might have a gravitational load already.
Once the odrive responds, the encoder calibration is triggered and then the odrive’s configuration values are read.
The vel_limit is used as hard upper limit. So the cablecam controller can define a lower limit but will never send values higher than that. The idea is, in the cablecam controller you might want to set a max speed of 20km/h but the odrive controller would allow for 50km/h.

Now I have to wait for the milled parts to arrive.


#4

Sounds great! Can’t wait to see it in action!