
软件是硬件的灵魂,前面已经介绍了OpenFFBoard的电装,接下来最核心的就是刷固件并进行配置了。
可以使用OpenFFBoard的配置程序给OpenFFBoard控制板刷固件,不用借助其它软件,所以需要先到github上下载最新的OpenFFBoard固件和配置程序,网址如下:
固件:https://github.com/Ultrawipf/OpenFFBoard/releases/latest
配置程序:https://github.com/Ultrawipf/OpenFFBoard-configurator/releases/latest
固件下回来之后解压压缩包里面的OpenFFBoard-Firmware-F407VG目录下的OpenFFBoard_F407VG.hex到一个目录里面备用。

配置程序下载解压后运行里面的OpenFFBoard.exe。

配置程序启动后,先不要给主控板通电,不要接usb线。找到板子上标注boot0的两个焊盘(下图中画红圈的),将两个焊盘用线短接起来,在保持短接的情况下接上usb线,这时板子会进入固件刷写模式。

从配置程序主界面的Hardware菜单下的“Firmware Update”菜单打开固件更新界面。

如果上面信息显示找到了DFU设备,说明主控板已经进入了更新模式,此时可以去掉boot0的短接线。如果没有找到DFU设备,那么试一下拔掉usb线,然后重新短接再接上,如果尝试几次还不行,恐怕是主控板有问题了。
下一步点击"选择文件"按钮,找到我们前面解压的固件。

然后点击“上传固件”按钮,即可开始刷写固件。等待刷写过程结束,中间不要拔掉usb线,也不要退出这个界面。

刷写过程中会有进度和信息提示,等待完成即可。

刷写完成后,主控板会自动重启,此时,操作系统应该会报发现新硬件,说明主控板和固件已经正常工作了。

这时可以关闭固件更新界面,回到配置程序主界面,进行主控板配置了。
不过,在配置主控板之前,还需要先配置好电机驱动。ODdrive电机驱动配置要使用odrivetool,教程网上很多,这里不赘述了。也可以参考OpenFFBoard的Wiki里面的内容:https://github.com/Ultrawipf/OpenFFBoard/wiki/ODrive-guide。因为我选用了集成驱动的电机,所以电机、编码器的参数都已经预制好了,只需要做几个简单的配置:
设置电机CAN ID:两个电机要设置成不一样的,比如第一个电机设置成1,odrv0.axis0.config.can.node_id = 1,第二个电机设置成2,odrv0.axis0.config.can.node_id = 2
设置CAN速率:根据作者建议,两轴建议设置成1M,odrv0.can.config.baud_rate = 1000000
控制模式使用力矩控制:odrv0.axis0.controller.config.control_mode = CONTROL_MODE_TORQUE_CONTROL
取消速度限制:odrv0.axis0.controller.config.enable_torque_mode_vel_limit = False
启用CAN:odrv0.config.enable_can_a = True
然后保存设置:odrv0.save_configuration()
需要注意的是,伺泰威这个驱动板子usb和CAN不能同时工作(新版本的驱动可以同时工作了,没有这个限制),所以启用CAN之前,要把全部设置做好,不然usb不能用了,要设置就麻烦很多,需要借助USB转CAN的转接板和其它软件了。电机配置完了就可以把电机的CAN数据线接到主控板上。注意:这个时候建议先不要给电机上电,也不要给电机输出轴连接任何负载,以免出现意外电机突然启动。
主界面上串口下拉框如果没有自动刷新,点一下后面的“刷新”按钮,这时候应该会找到串口,选择后面带FFBoard的然后点击“连接”按钮。

新刷好的板子默认会进入单轴方向盘模式。

做摇杆用需要回到第一个页面,在主功能下拉框选择“FFB Joystick(2 Axis)”,然后单击后面的切换按钮。

板子会重启并重新连接,这时候应该有两个轴的页面了。

先选择Axis0页面进行设置。从电机驱动下拉框选择“ODrive(M0)”,然后单击“确认修改驱动”。

这时候会增加一个叫“ODrive(M0)”的页面,选择这个页面进行ODrive驱动相关的设置。先设置一下最大力矩,建议一开始不要设置太大,比如电机额定力矩是5nm,就先设置成5nm或者更小一点,后面调试好了再改大点都可以。然后CAN总线ID按前面给电机配置的ID号进行设置,比如说第一个轴用的电机ID是1,那就设置成1。完成以后点击“提交”按钮。

然后点击“更改CAN设置”按钮,设置CAN总线速率,把速率设置为1000k,然后单击OK。

接下来可以设置第二个轴,步骤和第一个轴是一样的(不用设置CAN总线速度),注意把CAN总线ID设置成第二个电机的ID,比如2。

设置完成后,记得点一下右下角那个“保存到设备”按钮,这样重启以后设置都不会丢。然后用硬件菜单下面的重启项重启一下主控,等重新连接上主控以后检查一下刚才配置的各个项目是不是都正确保存了,没有问题的情况下给电机上电,这时候在ODrive页面应该能看到电机的信息,说明配置正确。

这时转动电机轴,应该能感觉到电机会回弹,说明工作正常了,这时候可以完成整个杆子的组装,最后再回到置程序,完成参数调整就可以投入使用了。整个过程,不用编写程序,也不用画电路板,也无需借助其它软硬件,真的是开盒即用。
后续参数设置我再单独写一篇吧。