ODrivetool是ODrive驱动板的上位机控制软件,用python语言编写的控制台软件,功能比较全,可以较好的和驱动板进行交互。我们安装的是051版的odrivetool,这个是应用比较广泛的,网上介绍的这个版本的指令也比较多,056版odrivetool在vscode版源码里有自带,可以通过vscode里的cmd启动,在本文的末尾有介绍。
1,硬件准备:
1.ODrive 3.6驱动板一个 ODrive 购买链接:某宝购买
2.电源一个( 可根据使用的电机电压进行配置,给驱动板供电)
3.Type C USB线一条(连接到电脑)
2,安装odrivetool上位机python库,有如下两种方式
2.1 ,在联网状态下,打开CMD终端,输入命令: pip install odrive==0.5.1.post0,即可下载相关的安装包和组件,但由于python库更新的比较快,下载的依赖项可能不匹配odrivetool,需要根据情况手动更新相关的依赖项。
图1
2.2,由于odrive依赖项比较多,网速不好的情况下比较费时间,对于不熟悉odrive的初学者,初次安装更费精力,还不一定能安装好,作者把odrive051的python安装包和对应的依赖项都打包放在资料同一个文件夹里,对odrivetool和odriveGUI可以进行一次性离线安装。
找到odrivetool051文件夹,打开后找到requirement.txt, 然后在 CMD中输入如下指令后回
车即可进行离线安装: pip install -r filepath1/requirements.txt --no-index -f filepath1
filepath1:requirements.txt和python安装包*.whl所在的路径,如图3.
图2
图3
当安装好odrivetool的python库后,在CMD中输入odrivetool,
图4
由于还没有安装odrivetool的usb驱动libusb-win32,此时给驱动板上电并不能连接到odrivetool,所以显示不出来驱动板的序列号,下一步我们进行usb驱动的安装。
3,安装odrivetool的usb驱动
3.1 用Type C USB线连接odrive驱动板到电脑,然后对驱动板上电。
图5
3.2,从资料文件夹里找到zadig软件,双击打开, 图6
此时点击zadig软件的options->list all device
图7
选择odrive 3.6 native interface
图8
此时在图9标识1那里通过下拉箭头选择如下,点击标识2,等待安装完成,然后关闭软件。
图9
4 odrivetool的使用介绍
4.1 ,当安装好usb驱动后,打开cmd终端,输入 odrivetool ,此时会显示所使用的上位机版本为0.5.1以及驱动板序列号 , 输入:odrv0.vbus_voltage,可显示板子的输入电压。
图10
4.2 Odrivetool参数的备份和恢复:
odrivetool backup-config path/to/my_config.json,备份到电脑文件夹里,
odrivetool restore-config path/to/my_config.json,从文件夹里复制参数到odrive驱动器里
请注意:复制参数到驱动器的只是一些基本参数,编码器的相位参数不能复制,
只能上电后重新校准
4.3 启动liveplotter,在终端里输入odrivetool liveplotter,即可调出odrivetool的GUI。
图11
也可以打开odrivetool,输入start_liveplotter(lambda: [odrv0.axis0.encoder.pos_estimate]),
也可以打开对应的参数的GUI图形。
图12
4.4 Odrivetool的DFU升级,输入指令:odrivetool dfu path/to/firmware/file.hex 051版本的固件
测试发现无法进行此项指令的升级,056版本固件应用正常
注意:如果在升级过程中出现掉电或者程序死机,则驱动板里的程序会被擦除掉,无法重新启
动,必须要用烧录器重新烧录 。
图13
4.5 在vscode环境里启动056版的odrivetool,首先打开vscode版源码,新建CMD终端,进入tools
文件夹 路径 。
图14 启动odrivetool,输入dev0.vbus_voltage,即可查看输入电源电压。 注意:如果是0.5.6版的odrivetool,输入指令应以dev0开始,如果是0.5.1版, 输入指令以odrv0开头 图15
也可以用056版odrivetool进行在线升级,输入odrivetool dfu path/to/file.hex。
注意:必须是hex固件
图16
图17
当出现图17的界面后,等待驱动板复位后就可以使用了。