1. 摘要
本篇笔记主要介绍,通过CAN通信控制两个直流无刷电机的快速开发和应用
2. 准备工作
IAR 8.3.1
3. 工程建立
这次工程以STM32F103RC为例用CAN驱动控制两路直流无刷电机,带霍尔传感器,TIM1和TIM8用来输出PWM,TIM2和TIM4用来接霍尔,采用6步法控制算法实现电机的换向和控制,电机的转速由霍尔信号计算,每个电机的电流采用单电阻采样,使用DMA,减少CPU处理时间,使用CubeMX快速配置工程,管脚分布,生成初始工程,为了代码可读性,分配管脚时候,命名为代码中要使用的名字如霍尔三个管脚可命名为M1_HALL_H1, M1_HALL_H2, M1_HALL_H3。

4. 工程配置
霍尔的配置

PWM配置

MCU为72M时钟,PWM使用20k,1分频时钟,则PWM的周期寄存器配置为
72000000/20000 – 1= 3599.
CAN通信的配置为250kbps

本文详细介绍了如何使用STM32F103RC通过CAN总线控制两个带有霍尔传感器的直流无刷电机。工程配置包括霍尔传感器、PWM设置和CAN通信设置。PID参数整定、转速调节和电流采样通过DMA实现,以减少CPU负载。系统设计为一拖二,最多可控制10台电机,软件结构模块化。
最低0.47元/天 解锁文章
4582





