本文记录了我学习FOC的第一步,只是使用方波简单的驱动无刷电机,并未使用FOC控制算法
一.让电机转起来!
1.配置cubemx
1.1开启外部晶振
1.2开启DEBUG
1.3配置定时器TIM1内部时钟、PWM互补通道
1.4配置预分频值和ARR值,以及开启自动重装载
1.4.1时钟计算
主频时钟200M/2预分频/5000ARR得到20khz
1.5 PWM通道设置及死区时间
PWM占空比先不设置
1.6时钟设置
1.7生成代码
接着点击右上角的GENERATE CODE就行
2.接线图
控制板 | 驱动板 |
PA8 | PU_H |
PB13 | PU_L |
PA9 | PV_H |
PB14 | PV_L |
PA10 | PW_H |
PB15 | PW_L |
PC6 | U(霍尔) |
PC7 | V(霍尔) |
PC8 | W(霍尔) |
GND | GND |
PB8 | 停止 |
3.程序部分
3.1 main里填写开启PWM和互补通道
3.2使用宏定义设置CCR比较值
A0~C0代表3个H桥的上桥
A1~C1代表3个H桥的下桥
3.3 循环部分
编译并下载,开启数字电源,数字电源设置的是24V,3A,再按下开发板上的复位键电机就旋转起来了。
4.实验现象
5.总结
这种驱动方式只是简单的让电机旋转起来,转久了电机就会很烫。使用FOC控制算法会改善很多。