# 电机控制工程说明 ## 工程简介 本工程是一个基于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按键减少电机速度 ## 注意事项 - 确保电源电压符合电机和驱动电路的要求 - 正确连接电机相序,避免电机反转 - 首次运行时,系统会自动获取电流偏移量 - 参数识别功能会在电机运行过程中自动进行