【VESC】一.配置开发环境、烧录固件

一.介绍

VESC是一个开源的无刷电机驱动器,由工程师本杰明研发,最初应用于电动滑板,但是由于其出色的性能,也渐渐在其他领域得到了应用。

由于VESC的固件是基于电动滑板这个应用场景开发的,所以如果我们想将其应用在其他领域,就需要对其源码进行二次开发,修改通讯协议或增添自定义的功能。本文章分别介绍了如何在Ubuntu和Windows下搭建开发环境和烧录固件。

二.Ubuntu平台

1.说明
  • 系统:Ubuntu-16.04

  • 开发环境:GNU Arm Embedded Toolchain + build-essential + 文本编辑器

    • GNU Arm Embedded Toolchain为arm的嵌入式编译工具链,可以为Arm Cortex-M架构的芯片编译程序,VESC的缔造者本杰明就是使用该工具链编写的VESC固件。
    • build-essential提供了make等编译工具。
    • 最后需要一个文本编译器用于修改代码。
  • 烧录:STLink + st-flash

2.搭建开发环境
#下载arm编译工具链
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt update
sudo apt install gcc-arm-embedded
#下载基本的编译工具
sudo apt install build-essential
#从github上下载VESC固件的源码
cd ~ && git clone https://github.com/vedderb/bldc.git vesc_firmware
cd vesc_firmware
#编译
make
3.烧录固件
#安装依赖
sudo apt-get install git libusb-1.0.0-dev
#下载编译stlink软件
git clone https://github.com/stlink-org/stlink.git
cd stlink
mkdir build && cd build
cmake ..
make
sudo make install
#BLDC_4_ChibiOS.bin为编译出的固件名
st-flash write BLDC_4_ChibiOS.bin 0x08000000

若首次使用st-flash时出现链接库错误,可以使用sudo ldconfig修复。烧录成功的提示见下图。
在这里插入图片描述

4.连接BLDC tool
#安装依赖
cd ~
sudo apt-get install qtcreator qt-sdk libudev-dev libqt5serialport5-dev
#下载编译BLDC tool
git clone https://github.com/vedderb/bldc-tool.git
cd bldc-tool
qmake -qt=qt5
make clean && make
#给予串口访问权限
sudo adduser $USER dialout
#重启使设置生效
reboot
#运行BLDC tool
cd ~/bldc-tool
./BLDC_Tool

打开BLDC tool以后,使用mini USB连接VESC V4,或者使用mirco USB连接VESC V6。

注意要焊接该0R电阻,才可以通过USB给VESC供电,若没有焊接,则需要给VESC上强电,下图是VESC V4 0R电阻的位置:
在这里插入图片描述
随后在BLDC tool中选择串口,单击右上角的Connect按钮,若右下角显示连接,则证明固件烧录成功。
在这里插入图片描述

三.Windows平台

1.说明
  • 开发环境:VSCode + GNU Arm Embedded Toolchain + mingw + git bash

    • VSCode作为文本编译器,同时也将git bash集成在VSCode中,方便进行代码的修改和编译。
    • GNU Arm Embedded Toolchain为arm的嵌入式编译工具链,可以为Arm Cortex-M架构的芯片编译程序,VESC的缔造者本杰明就是使用该工具链编写的VESC固件。
    • mingw可以在windows上提供make指令,可以解释makefile中的编译连接规则。
    • git bash用于在windows上提供一个类linux的终端,执行一些linux命令。
  • 烧录:STLink + STM32 ST-LINK UtilityJ-Link + J-flash

    • 这两种方式都可以通过VESC上的SWD接口为stm32烧录bin文件。
2.搭建开发环境

我们需要分别下载上面提到的VSCode、GNU Arm Embedded Toolchain、mingw 、git,其中GNU Arm Embedded Toolchain可能使用的人比较少,只需去arm官网对应界面中选择gcc-arm-none-eabi-10-2020-q4-major-win32.exe下载即可。其余三种工具下载起来都比较容易,网上也有很多教程,我在这里就不说了。

下载上述工具时一定要注意配置好环境变量,否则终端无法识别对应的命令。我们可以通过快捷键Win+R打开运行,输入cmd并回车,打开终端。在终端输入gitgccarm-none-eabi-gcc三条命令,若终端都可以正常识别,则环境变量配置正确,否则需要手动添加环境变量。

下面给出我安装GNU Arm Embedded Toolchain时添加环境变量的选项:
在这里插入图片描述
下面我们去github上下载源码,下载完使用VSCode打开该文件夹,如果是第一次使用VSCode,则需要先把git bash设置为VSCode的默认集成终端。

我们打开终端后,在终端中输入mingw32-make命令,即可成功编译固件,如下图所示:
在这里插入图片描述
在这里插入图片描述
编译生成的固件在./build路径中。
在这里插入图片描述
在帮助同学配置开发环境的过程中,我发现在同学的电脑上只能成功编译固件一次,之后就会报错,删去编译生成的./.dep文件夹中的中间文件就可以重新编译了。我写了一个脚本来简化编译流程:

if [[ $1 = "force" ]];then
    rm -rf ./build
    rm -rf ./build_all
fi

if [ -f "./Makefile" ];then
    rm -rf ./.dep
    mingw32-make
else
  echo "找不到makefile文件,尝试更换文件夹"
fi
3.烧录固件

这里以STLink + STM32 ST-LINK Utility为例介绍如何为VESC烧录固件, J-Link + J-flash操作几乎相同。

首先需要在ST的官网上面下载STM32 ST-LINK Utility,记得要留自己的邮箱,这样才能收到下载链接,下载过程中可能会询问你是否要按照STMicroelectronics Virtual COM驱动,我们选择安装。

打开STM32 ST-LINK Utility,将VESC通过ST-LINK连接到电脑。

点击connect按钮,若系统检测到单片机,则可成功连接,若没有检测到,需要再检测一下连接线路。
在这里插入图片描述
随后将我们刚刚编译生成的.bin固件拖进该软件中:
在这里插入图片描述
随后点击烧录按钮进行烧录。
在这里插入图片描述
记得要勾选reset选项,不然烧录进固件以后无法自动
运行,需要手动复位才能运行。在这里插入图片描述

4.连接VESC tool

有关VESC tool的使用,我将会在下一篇博客中详细介绍,这里使用VESC tool来连接电调,只是为了检测我们是否成功烧录了固件。

打开VESC tool,使用mini USB连接VESC V4,或者使用mirco USB连接VESC V6。

注意要焊接该0R电阻,才可以通过USB给VESC供电,若没有焊接,则需要给VESC上强电,下图是VESC V4 0R电阻的位置:
在这里插入图片描述

点击连接按钮,若能成功检测到VESC,则证明固件烧录成功。
在这里插入图片描述

四.参考资料

Benjamin’s robotics

vedderb/bldc-tool

vedderb/bldc

stlink-org/stlink

bilibili up:北冥有鱼qzs

  • 6
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
VESC (Vedder Electronic Speed Controller)是一种开源的电动车电调控制器。配置VESC的编译环境需要一些步骤,下面我将简要介绍如何配置。 首先,你需要安装一些必要的软件和工具。你可以从VESC的官方网站上下载VESC的源代码。同时,你还需要安装GCC编译器、Git版本控制工具、CMake构建工具和GNU Make等工具。你可以通过命令行输入相应的命令来安装这些软件和工具。 接下来,你需要设置和配置开发环境。你需要打开VESC的源代码目录,并在命令行中输入"make"命令。这样,编译环境就会被自动配置和创建。这个过程可能需要一些时间,具体时间取决于你的计算机性能和网络速度。 一旦编译环境设置完成,你可以使用"make"命令进行编译。你可以在命令行中输入"make"命令,然后按下回车键,编译过程会自动开始。编译完成后,你就可以使用VESC控制器了。 除了配置编译环境,你还可以在代码中进行一些自定义的修改。例如,你可以修改电机参数、控制算法等。修改完成后,你需要重新编译代码,以使修改生效。 总结起来,配置VESC的编译环境需要安装必要的软件和工具,然后设置和配置开发环境。一旦环境配置完成,你可以使用"make"命令进行编译。希望这些简要说明对你有所帮助。如果你需要更详细的配置步骤和说明,请参考VESC的官方文档或相关论坛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值