一、项目资源背景
硬件:
使用正点原子的F407IGT6电机开发板为主控板,控制板也用的正点原子的无刷电机驱动板,电机是正点原子的PMSM,自带1000线增量式光电编码器。
软件:
CUBEMX V 6.12.0,芯片包:V1.27.1
KEIL 5 V
二、项目描述及预期
基于STM32 F407 IGT6实现PMSM的FOC运动控制,主要包含三种模式:位置模式、速度模式、力矩模式;实现扩展卡尔曼滤波和过零检测的无感控制,实现正弦波高频注入。
三、CUBEMX的配置
(一)使用到的外设接口:
1.LED(PE0 PE1)
2.KEY (PE2 PE3 PE4)
3.BEEP (PF0)
4.LCD屏幕(FSMC,BL:PH9)
5.ADC的DMA传输(TIM1:IN0,IN3,IN6,IN8,IN9)
6.USART1 ( PB6 PB7)
7.PWM (TIM1:CH1 CH2 CH3 CH1N CH2N CH3N)
8.编码器(TIM3:CH1 CH2 TIM9:CH2)
(2)RCC、SYS、时钟树配置
DEBUG选择:serial wire
(三)PWM配置
预设定MOS开关频率为1Khz,即单次驱动控制周期为100us。根据时钟树可知,高级定时器TIM1的时钟来源为APB2 timer clocks为168Mhz;因此TIM1时钟=168Mhz,
定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us.
Ft=定时器工作频率(这里为:168Mhz)
arr:自动重装值;
psc:时钟预分频值
这里将PWM模式设置为互补输出,带死区控制和刹车输入
1.参数设置:
psc:168
arr:1000
Tout=168*1000/168M=1khz=1000us
所以一个完整的PWM波形频率为1Khz,与设定MOS管开关周期符合。
通道1和通道1的互补通道设置及2.3通道都是一样的。
生成代码,到KEIL5中编译,无错误,无提醒