| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # 电机控制工程说明
- ## 工程简介
- 本工程是一个基于STM32F407的电机控制项目,实现了无刷直流电机的FOC(磁场定向控制)算法。
- ## 主要功能
- 1. **硬件初始化**:包括PWM、ADC、霍尔传感器、按键等硬件模块的初始化
- 2. **FOC算法**:实现了磁场定向控制算法,包括坐标变换、PI控制等
- 3. **参数识别**:使用递归最小二乘算法在线估计电机参数(电感、电阻、磁链)
- 4. **速度控制**:实现了基于霍尔传感器的速度闭环控制
- 5. **用户交互**:通过按键控制电机启停和速度调节
- 6. **串口通信**:实现了基于DMA的串口通信,支持printf重定向
- ## 目录结构
- - `user/`:用户代码,包括硬件配置、中断处理等
- - `motor/`:电机控制相关代码,包括FOC算法、参数识别等
- - `Libraries/`:STM32标准库和CMSIS库
- ## 硬件配置
- - **主控芯片**:STM32F407
- - **电机类型**:无刷直流电机
- - **传感器**:霍尔传感器
- - **驱动电路**:基于IR2110的三相桥驱动
- ## 软件架构
- - **底层驱动**:STM32标准库
- - **硬件抽象**:board_config模块
- - **控制算法**:FOC算法模块
- - **参数识别**:递归最小二乘算法模块
- - **任务调度**:基于SysTick的任务调度
- ## 使用说明
- 1. 编译工程并烧录到STM32F407开发板
- 2. 连接无刷直流电机和霍尔传感器
- 3. 按下KEY1按键启动/停止电机
- 4. 按下KEY2按键增加电机速度
- 5. 按下KEY3按键减少电机速度
- ## 注意事项
- - 确保电源电压符合电机和驱动电路的要求
- - 正确连接电机相序,避免电机反转
- - 首次运行时,系统会自动获取电流偏移量
- - 参数识别功能会在电机运行过程中自动进行
|