Problem statement
UW Robotics uses odrive V3.6(NRND) as the motor driver to control the odrive 150kv brushless motor. The goal of this document is to describe the current drive setup and to give a guide on how to set up the drive if someone needs to test it. This document also contain characterization data of the current setup.
Environment Setup:
Wiring diagram(hardware):
Configuration setup(software):
Testing Process:
Ensure ODrive is connected to a laptop and wired correctly
Add 5 V fuse to positive terminal of power supply
Open the odrivetool in an anaconda terminal
Start with a calibration for axis0 and axis1:
odrv0.axis0.requested_state = AXIS_STATE_FULL_CALIBRATION_SEQUENCE
Switch to closed loop control for axis0 and axis1:
odrv0.axis0.requested_state = AXIS_STATE_CLOSED_LOOP_CONTROL
Test velocity with velocity control:
odrv0.axis0.controller.input_vel = *insert number*
Characterizing result:
mechanical motor interference may be causing too much torque, generating high currents
Testing result(May 22):
Environment setup:
3 odrive and 6 motor + gearset
all the direction will be described in left and right relative to when a person is facing the skeleton board
Test 1:
Request the right most odrive to turn the right middle motor at speed 10 and 20
Result: both working as expected and are providing strong torque when trying to stop the turning
Test 2:
middle odrive and right last motor
Sent command for full axis calibration, calibration was completed, but when it was turning in reverse direction, observed motor was turning with difficulty. Decided to proceed with velocity testing at 10
7.5 A fuse, sent 3 closed loop control. First time the motor turned, then stopped, 2nd and 3rd did not turn motor locked in. Would twitch but not turn.
7.5 A fuse did not blow but wires are significantly heating, cause safety concern. Powered off after smelling smoke. Switch out alligator clips if overheating occurs.
Test 3: Used odrive 2 with left middle motor, calibration and velocity 10 ran as expected. Points towards mechanical issue with the mounting
Test Summary
All 6 axis on 3 odrives are working correctly on motor gearbox set L2
All other joints are likely to experience manufacturing tolerancing issues
Suggesting Next Steps
Set up encoder motor set on skeleton board for software and firmware to test while mechanical fixes drive train issues
If command send for close loop control does not work, power off and do not send additional commands as that will overheat motor driver in lock-in state. Motor driver and wires will overheat significantly and cause fumes and damage to rest of electronics
Mechanical side will RCA on manufacturing and assembly side
Grease the turning parts or using bearings to make connection smoother. Believe performance will be even better than now with working L2 set up
Need to test all the motor without load and test the motor functionality
Add On Follow Up Test
Started with L3 motor, in earlier testing was not giving enough torque. Took motor and encoder off drive train to test separately. When speed was set to 10, applied force on motor outer shell. Observed motor would stop when force is applied, then when force is taken off the motor would not recover rotation. Wire would heat up when this happens from current draw
2 hypothesis: motor is bad, needs to be replaced
Odrive protection mechanism for different tuning motors
Internal fixture is causing additional friction
Observation: when force is being added on bad motors over current limit is not stopping the motor, causing overheating
Note: Forces were added directly on outer shell of the motor. Performance would be better when it is mounted with the wheel
Summary
All 5 motors disassembled 3 motors were labelled as bad, other 2 performed strong torque resistance that we expected. More tests needed.
L3, R1, L1
Outstanding tickets:
- <action name>, <Assignee>
Reference and Datasheet
odrive software guide: https://docs.odriverobotics.com/v/0.5.6/getting-started.html
odrive V3.6: https://odriverobotics.com/shop/odrive-v36
odrive 150kv: https://odriverobotics.com/shop/odrive-custom-motor-d6374-150kv
CUI AMT10E2-V capacitive encoder: https://www.cuidevices.com/product/resource/amt10e-v.pdf