01_FOC学习之先让电机转动起来
硬件介绍:
- STM32F4核心板。
- DRV8313驱动版
- 云台电机。
引脚定义及芯片资料
DRV8313芯片资料
芯片框图及应用
电机参数
以上框出来的,使我们需要使用到的参数。
STM32F4 引脚分配
STM32F4 | 说明 |
---|---|
PF9 | LED指示 |
PF12 | 连接DRV8313模块公共EN引脚 |
PE9 | 连接DRV8313模块 IN1 (PWM输出) |
PE11 | 连接DRV8313模块 IN2(PWM输出) |
PE13 | 连接DRV8313模块 IN3(PWM输出) |
PB10 | AS5600磁编码器 SCL |
PB11 | AS5600磁编码器 SDA |
开环速度测试:
代码编写参考的是DengFOC视频教程,后续会把软件工程放到Github方便大家下载。
这里记录一下调试过程中遇到的问题,以及需要注意的事项。
- 这里我们经过测试,使用math自带的fmod()函数取余时,执行的时间非常慢,需要2us。其中改函数会在角度归一化中进行调用。
- 执行速度开环代码需要消耗1.5ms。。(主要耗时还是执行了串口调试打印)
- 去掉串口打印以后,也需要耗时104us。因此,通常会引入定点数来处理浮点型的问题,或者引入arm数学库。
- 角度是从0增加到2PI的,即变量为需要转的机械角度(Shaft_angle),需要累加的,并不是给一个固定的角度。
另外需要注意: