Hi!
TLDR: I could never make Anaconda Odrivetool work with my Odrive 3.6 24V board in windows. Board works with arduino and is recognized by windows.
Error Anaconda
(base) C:\WINDOWS\system32>odrivetool -v
ODrive control utility v0.4.11
Waiting for ODrive...
USB discover loop
ConfigurationValue 1
InterfaceNumber 0,0
EndpointAddress 130
InterfaceNumber 1,0
EndpointAddress 1
EndpointAddress 129
EndpointAddress for writing 1
EndpointAddress for reading 129
Connecting to device on USB device bus 0 device 1
C:\ProgramData\Anaconda3\lib\site-packages\fibre\shell.py:104: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('import sys')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\ProgramData\Anaconda3\lib\site-packages\fibre\shell.py:105: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('superexcepthook = sys.excepthook')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\ProgramData\Anaconda3\lib\site-packages\fibre\shell.py:106: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('def newexcepthook(ex_class,ex,trace):\n'
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
C:\ProgramData\Anaconda3\lib\site-packages\fibre\shell.py:109: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('sys.excepthook=newexcepthook')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Please connect your ODrive.
You can also type help() or quit().
no response - probably incompatible
USB discover loop
USB discover loop
What I know:
Flashed Firmware
Flashed latest .elf firmware with ST-Link/V2 following all instructions. It said it successfully wrote the firmware.
Board Works with Arduino
Successfully configured Odrive board via UART with Arduino to work in sensorless mode, do calibration, check voltage. The board works.
How I configured the board through Arduino:
// Set Variables
if (c == 's') {
// Misc Config
odrive_serial << "w axis0.controller.config.vel_limit " << 22000.0f << '\n';
odrive_serial << "w axis0.motor.config.current_lim " << 11.0f << '\n';
// Sensorless Config
odrive_serial << "w axis0.controller.config.vel_gain " << 0.01f << '\n';
odrive_serial << "w axis0.controller.config.vel_integrator_gain " << 0.05f << '\n';
odrive_serial << "w axis0.controller.config.control_mode " << 2 << '\n';
odrive_serial << "w axis0.controller.vel_setpoint " << mySpeed << '\n';
odrive_serial << "w axis0.motor.config.direction " << 1 << '\n';
odrive_serial << "w axis0.sensorless_estimator.config.pm_flux_linkage " << 0.001285148f << '\n';
odrive_serial << "w axis0.controller.control_mode " << 1 << '\n';
Serial << "Speed: " << mySpeed << '\n';
}
// Run
if (c == 'r') {
odrive_serial << "w axis0.requested_state " << ODriveArduino::AXIS_STATE_SENSORLESS_CONTROL << '\n';
}
Board Recognized by Windows
Ordered by Type:
Ordered by Connection: