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算法、滤波器、数学函数,保证固件升级不会炸电机。

posted @ 2026-01-03 22:34  四叶草HHQ  阅读(7)  评论(0)    收藏  举报