ODrive电机驱动算法VScode环境配置笔记教程
1、ODrive基本介绍
ODrive 是一个开源的优秀电机控制器项目,旨在为各种应用提供高性能、高可靠性的电机控制解决方案。这个项目是专门用于驱动无刷直流电机(BLDC)和永磁同步电机(PMSM)的高性能开源伺服控制系统。ODrive电机驱动器主要面向的是那些需要精密控制电机的应用领域,例如机器人技术、3D打印、数控机床(CNC)等。
Orive提供了磁场定向控制(FOC)和空间矢量脉宽调制(SVPWM)算法。基于上述的算法,ODrive实现了精确的速度和位置控制,确保电机运行的平稳性和准确性。并且ODrive也集成了多种通信协议,如 UART、SPI、I2C 和 USB,方便与上位机或其他控制器进行数据交换。开发者可以根据自己的需要,对ODrive进行适配。
2、ODrive配置工具安装
①、python3
进入python官网,下载python3
Welcome to Python.orghttps://www.python.org/
下载完成后,和普通的应用程序一样,点击运行安装python3即可。
安装完成后,需要安装ODrive源码编译时,所需要的插件:
pip install PyYAML Jinja2 jsonschema
注意:这几个python的插件一定要安装,否则在编译ODrive源码时,会有各种错误提示。
②、Git
在对ODrive编译时,需要用到Git的bash终端,因此需要下载安装Git。
进入Git官网,下载Git for Windows
Git - Downloads (git-scm.com)https://git-scm.com/downloads
然后点击下载的exe文件,根据需求配置,或者直接系统默认安装即可。
git bash终端如下图所示。
③、VScode
进入VScode官网,下载VScode:
Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/
下载完毕后,点击exe文件,直接安装即可。
④、MingGW64
MinGW64的安装,在前面写的一篇博客文章中,已经作出了非常详细的讲解,如有需要,可以浏览如下博客内容:
MinGW编译器任意版本使用配置经验教程-CSDN博客https://blog.csdn.net/weixin_49337111/article/details/140274770?spm=1001.2014.3001.5502
提醒:MinGW64需要被添加到环境变量中
⑤、OpenOCD
OpenOCD(Open On-Chip Debugger)是一个开源的片上调试器,旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。它通过调试仿真器辅助完成这些功能,调试仿真器是一个提供调试目标电信号的小型硬件单元。
Open On-Chip Debugger (openocd.org)https://openocd.org/
Release latest · openocd-org/openocd · GitHubhttps://github.com/openocd-org/openocd/releases/tag/latest
跳转到OpenOCD的仓库地址后,选择需要的windows的版本下载。
提醒:OpenOCD需要被添加到环境变量中
将解压出来OpenOCD中的bin文件路径复制,并添加到环境变量中,然后确定保持即可。
在终端中,输入openocd --version即可查看是否安装成功及安装的版本信息。
⑥、TUP
Tup是一个基于文件的构建系统,适用于Linux、OSX和Windows。它输入一个文件更改列表和一个有向无环图(DAG),然后处理DAG以执行更新依赖文件所需的适当命令。
在ODrive的源码中,依赖了Tup构建了工程,因此需要下载配置TUP。
tup | Home (gittup.org)https://gittup.org/tup/
提醒:TUP需要被添加到环境变量中
将解压出来的TUP文件路径复制,并添加到环境变量中,操作方式同上。
在终端中,输入tup --version即可查看是否安装成功及安装的版本信息。
⑦、GNU MCU Eclipse
GNU MCU Eclipse是一个基于Eclipse平台的插件,专为微控制器(MCU)和微处理器(MPU)的嵌入式系统开发设计。它通过集成GNU编译器、调试器和其他工具,为开发者提供了一个强大的开发环境,支持多种MCU系列,如ARM Cortex-M系列等。
GNU MCU Eclipse Build Tools是一组用于构建和打包嵌入式软件项目的工具集,它是GNU MCU Eclipse插件的一部分,旨在简化和标准化嵌入式软件开发流程。
GNU MCU Eclipse Windows Build Tools v2.12 20190422 released (gnu-mcu-eclipse.github.io)https://gnu-mcu-eclipse.github.io/blog/2019/04/22/windows-build-tools-v2-12-20190422-released/
提醒:GNU MCU Eclipse需要被添加到环境变量中
将解压出来的GNU MCU Eclipse文件的bin路径复制,并添加到环境变量中,操作方式同上。
⑧、GUN ARM Embedded Toolchain
GUN ARM Embedded Toolchain是一套用于ARM架构嵌入式系统的综合性工具链。主要用于交叉编译ODrive设备的STM32代码。
提醒:GUN ARM Embedded Toolchain需要被添加到环境变量中
将解压出来的GUN ARM Embedded Toolchain文件的bin路径复制,并添加到环境变量中,操作方式同上。
在终端中,输入arm-none-eabi-gcc --version、arm-none-eabi-gdb --version即可查看是否安装成功及安装的版本信息。
⑨、ST-Link
ST-Link驱动是在使用ST-Link连接设备下载程序到STM32设备中时需要使用的。可访问ST官网下载,或使用开发板厂商提供的资料安装,资料较多,本文不过多描述。
在上述的所有工具软件安装完成后,环境变量中,应该有如下几个新增加的信息。
3、VScode配置
①、插件安装
打开VSCode,在插件安装页面,分别查找安装以下几个主要的插件,并安装即可。
(1)C/C++
(2)Cortex-Debug
(3)Include Autocomplete
(4)Path Autocomplete
(5)Auto Comment Blocks
②、终端修改
修改VSCode终端为Git Bash
修改完成后,关闭重新打开的终端如下图所示。
4、ODrive源码编译
①、源码下载
访问ODrive官方的仓库:
GitHub - odriverobotics/ODrive: High performance motor controlhttps://github.com/odriverobotics/ODrive
根据需要切换到所需的代码版本后,打包下载即可。
②、源码编译
解压打开下载的ODrive程序源码后,点击ODrive_Workspace.code-workspace文件,即可打开整个ODrive的VSCode工程。
点击firmware文件夹,修改tup.config.default文件名为tup.config,然后将文件内容修改如下所示:
# Copy this file to tup.config and adapt it to your needs
# make sure this fits your board
CONFIG_BOARD_VERSION=v3.6-56V
CONFIG_USB_PROTOCOL=native
CONFIG_UART_PROTOCOL=ascii
CONFIG_DEBUG=false
CONFIG_DOCTEST=false
# Uncomment this to error on compilation warnings
#CONFIG_STRICT=true
打开VSCode终端,选择Firmware文件夹,然后终端中输入make -j4编译工程源码。
如果编译过程中,有提示git相关信息,可以输入git init配置一下当前工程,即可清除掉git相关的提示信息。
注意:如果输入make -j4,出现错误,或者没有任何作用,可以尝试关闭VSCode后,再次打开工程编译。