VESC源码目录结构
(1)applications
功能:控制策略层
| app_adc.c | app_ppm.c | app_uart.c | app_nunchuk.c | app_pas.c | app_custom.c |
| 模拟油门、电压输入 | RC 接收器 | 串口命令控制 | Wii 手柄 | 脚踏助力(电动车) | 你写自己的控制逻辑 |
(2)comm
功能: 通信协议栈
| comm_usb.c | comm_uart.c | comm_can.c | packet.c | commands.c |
| USB CDC | 串口协议 | CAN 总线 | VESC 数据包封装 | 所有上位机命令解析 |
(3)motor
功能: 电机物理引擎
| mc_interface.c | motor.c | foc_math.c | foc_controller.c | foc_observer.c | foc_pll.c | foc_encoder.c | foc_openloop.c | foc_temp_comp.c |
| 所有控制入口 | 主调度器 | Clarke / Park / SVPWM | Id/Iq 电流环 | 无感磁链观测器 | 转子角度 & 转速 | 编码器支持 | 开环起转 | 电阻温漂补偿 |
(4)hwconf
功能: 板级适配,硬件抽象层
详情:ADC通道、PWM定时器、MOSFET引脚、温度传感器、电流采样比例
(5)util
功能:数学工具箱
详情:atan2、低通滤波、数字滤波、限幅、CRC、滑动平均
(6)conf_xxx
功能:参数系统
| conf_general.c | conf_motor.c |
| 应用参数(UART, CAN, 模式) | 电机参数(R, L, λ, 极对数) |
(7)blackmagic
功能:Black Magic Probe 调试器固件
详情:让 VESC 本身可以变成一个调试器
(8)ChibiOS_3.0.5
功能:ChibiOS 实时操作系统
详情:线程调度、定时器、CAN / USB 任务、电机控制任务优先级
(9)driver
功能:STM32 外设底层驱动
详情:ADC、PWM、SPI、DMA、GPIO、UART
(10)encoder
功能:位置传感器
详情:ABI编码器、SPI编码器、Sin/Cos
(11)imu
功能:惯性测量单元
详情:加速度计、陀螺仪、姿态解算
(12)libcanard
功能:UAVCAN 协议栈
详情:这是无人机用的UAVCAN 协议
(13)lispBM
功能:VESC 自带脚本引擎
详情:这是嵌入式 Lisp 虚拟机
(14)qmlui
功能:VESC Tool 界面
详情:这是电脑上的 VESC Tool UI 源码:电流调节、FOC界面、实时波形用 Qt + QML 写的
(15)tests
功能:单元测试
详情:用来测试:FOC算法、滤波器、数学函数,保证固件升级不会炸电机。

浙公网安备 33010602011771号