背景
之前学习了定时器的一些基本知识,实现了1ms的定时,本次学习定时器的PWM功能,用定时器产生的PWM波作为步进电机的脉冲频率,实现步进电机转动控制,并实现电机S型曲线的加减速控制。
步进电机基本知识
步进电机根据接线关系分为双极性和单极性,单极性两组线圈中间有抽头,接电源;而双极性的线圈中间无抽头。本次实验采用双极性42步进电机,24V供电。
步进电机外观图
电机驱动原理图及控制接线关系
本次电机驱动芯片采用TOSHIBA的TB67S109AFTG芯片来驱动双极性步进电机,该芯片支持最大驱动电压为50V,最大驱动电流为5A,最大支持32细分。
驱动电机原理图
接线关系
细分控制引脚分配
DMODE0 -----> PB0 DMODE1 ------> PB1 DMODE2 ------> PB2
电机正反转控制引脚
CW/CCW----> PC0
驱动芯片使能控制引脚
ENABLE ---->PC1
电机步进时钟PWM输入引脚(定时器2,第4通道)
CLK----->PB11
步进电机加减速原理
步进电机运行加减速控制,若是运行的距离不够加减速控制的步数,则该轨迹为三角形,即没有均速运行过程。
电机加减速运行轨迹
加速或减速控制曲线
根据电机加减速的曲线可以通过改变定时器的定时频率,输出不同频率的PWM脉冲波,来实现电机的加减速。
代码实现过程
cube mx软件配置基本参数,实现定时器PWM和GPIO口控制的初始化。核心部分如下
定时器2的PWM波基本参数配置
生成代码工程后,添加电机加减速控制代码,其核心代码如下
步进电机控制参数的结构体定义
电机控制参数结构体定义1
电机控制参数结构体定义2
计算电机加减速参数1
计算电机加减速参数2
计算电机加减速参数3
然后在定时的中断回调函数中添加,电机加减速服务函数即可。
定时器中断回调函数
本次实验使用的板子
实验的主控板
实验的电机驱动板
全部0条评论
快来发表一下你的评论吧 !