STM32F103定时器PWM驱动步进电机加减速

描述

背景

之前学习了定时器的一些基本知识,实现了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

然后在定时的中断回调函数中添加,电机加减速服务函数即可。

电机驱动

定时器中断回调函数

本次实验使用的板子

电机驱动

实验的主控板

电机驱动

实验的电机驱动板

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分