vedderb/bldc

GitHub: vedderb/bldc

VESC开源电机控制固件,为无刷直流电机和FOC控制提供可深度定制的底层驱动方案。

Stars: 2988 | Forks: 1729

# VESC 固件 [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Travis CI Status](https://travis-ci.com/vedderb/bldc.svg?branch=master)](https://travis-ci.com/vedderb/bldc) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/75e90ffbd46841a3a7be2a9f7a94c242)](https://www.codacy.com/app/vedderb/bldc?utm_source=github.com&utm_medium=referral&utm_content=vedderb/bldc&utm_campaign=Badge_Grade) [![Contributors](https://img.shields.io/github/contributors/vedderb/bldc.svg)](https://github.com/vedderb/bldc/graphs/contributors) [![Watchers](https://img.shields.io/github/watchers/vedderb/bldc.svg)](https://github.com/vedderb/bldc/watchers) [![Stars](https://img.shields.io/github/stars/vedderb/bldc.svg)](https://github.com/vedderb/bldc/stargazers) [![Forks](https://img.shields.io/github/forks/vedderb/bldc.svg)](https://github.com/vedderb/bldc/network/members) 一个开源的电机控制器固件。 这是 VESC DC/BLDC/FOC 控制器的源代码。了解更多信息请访问 [https://vesc-project.com/](https://vesc-project.com/) ## 支持的开发板 支持所有型号! 通过输入 `make` 查看支持的开发板 ``` [Firmware] fw - Build firmware for default target supported boards are: 100_250 100_250_no_limits 100_500... ``` 还有许多其他选项可以在 [conf_general.h](conf_general.h) 中更改。 ## 前置条件 ### 在 Ubuntu (Linux)/macOS 上 - 工具:`git`、`wget` 和 `make` - 额外的 Linux 需求:`libgl-dev` 和 `libxcb-xinerama0` - 实用的 Ubuntu 命令: ``` sudo apt install git build-essential libgl-dev libxcb-xinerama0 wget git-gui ``` - 实用的 macOS 工具: ``` brew install stlink brew install openocd ``` ### 在 Windows 上 - Chocolatey:https://chocolatey.org/install - Git:https://git-scm.com/download/win。请务必点击所有选项将 Git 添加到您的环境变量(即 PATH)中 ## 安装开发环境并构建 ### 在 Ubuntu (Linux)/MacOS 上 打开终端 1. `git clone http://github.com/vedderb/bldc.git` 2. `cd bldc` 3. 继续 [在所有平台上](#on-all-platforms) ### 在 Windows 上 1. 打开 Windows Powershell 终端(请克制以管理员身份运行 Powershell 的冲动,这会导致问题) 2. 输入 `choco install make` 3. `git clone http://github.com/vedderb/bldc` 4. `cd bldc` 5. 继续 [在所有平台上](#on-all-platforms) ### 在所有平台上 1. `git checkout origin/master` 2. `make arm_sdk_install` 3. `make` <-- 从支持的开发板列表中选出您的目标设备名称。例如,我有一个 Trampa **VESC 100/250**,所以我的目标是 `100_250` 4. `make 100_250` <-- 这将构建 **VESC 100/250** 固件并将其放入 `bldc/builds/100_250/` 目录中 ## 其他工具 **Linux 可选 - 添加 udev 规则以在不使用 root 权限的情况下使用 stlink v2 编程器** ``` wget vedder.se/Temp/49-stlinkv2.rules sudo mv 49-stlinkv2.rules /etc/udev/rules.d/ sudo udevadm trigger ``` ## IDE ### 前置条件 #### 在 macOS/Linux 上 - `python3` 和 `pip` #### 在 Windows 上 - Python 3:https://www.python.org/downloads/。请务必点击选项将 Python3 添加到您的环境变量中。 ### 所有平台 1. `pip install aqtinstall` 2. `make qt_install` 3. 打开安装在 `tools/Qt/Tools/QtCreator/bin/qtcreator` 中的 Qt Creator IDE 4. 使用 Qt Creator 打开名为 vesc.pro 的 VESC 固件 Qt Creator 项目。您可以在 `Project/Qt Creator/vesc.pro` 中找到它 5. IDE 默认配置为构建 100_250 固件,可以在左侧面板底部更改此设置,在那里您会找到 VESC 支持的所有硬件版本 ## 上传到 VESC ### 方法 1 - 使用 STLink SWD 调试器刷写 1. 首先构建并刷写 [bootloader](https://github.com/vedderb/bldc-bootloader) 2. 然后对您选择的目标执行 `_flash`。例如,对于 VESC 100/250: ``` make 100_250_flash ``` ### 方法 2 - 通过 VESC 工具经 USB 上传固件 1. 按照上面的构建说明克隆并以 **.bin** 格式构建固件 在 VESC 工具中 2. 连接到 VESC 3. 导航到左侧菜单的 Firmware(固件)选项卡 4. 点击 Custom file(自定义文件)选项卡 5. 点击文件夹图标以选择构建好的 .bin 格式固件(例如 `build/100_250/100_250.bin`) ##### [ 提醒:在固件上传过程中看到 VESC 断开连接是正常的 ] ##### **[ 警告:请勿在上传过程中断开 VESC 的电源/USB 连接,否则您可能会使 VESC 变砖 ]** ##### **[ 警告:仅在进度条完成并显示“FW Upload DONE” 10 秒后断开 VESC 连接 ]** 6. 按下右下角的上传固件按钮(向下箭头)开始上传所选固件。 7. 进度条完成后等待 **10秒**(警告:过早拔出可能会导致 VESC 变砖) 8. 新固件上传完成后,VESC 将自动断开连接。 ## 如果您的 VESC 变砖了 您需要向 VESC 上传一个新的可用固件。 但是,要向变砖的 VESC 上传固件,您必须使用 SWD 调试器。 ## 贡献 前往 [论坛](https://vesc-project.com/forum) 参与并改进此项目。 加入 [Discord](https://discord.gg/JgvV5NwYts) 获取实时支持和聊天 ## 标签 每个固件版本都有一个标签。它们的创建方式如下: ``` git tag -a [version] [commit] -m "VESC Firmware Version [version]" git push --tags ``` ## 许可证 该软件基于 GNU General Public License version 3.0 发布
标签:BLDC, bldc-tool, FOC, GPLv3, PMSM, PWM控制, Python 3.9+, STM32, Vedder, VESC, 固件, 场定向控制, 客户端加密, 嵌入式系统, 开源固件, 开源硬件, 换相控制, 无刷直流电机, 机器人驱动, 滑板, 物联网, 电动车, 电机控制, 电机驱动器, 电调, 硬件开发, 逆变器控制, 驱动程序