首页 > 行业资讯 > 正文

背景

之前学习了定时器的一些基本知识,实现了1ms的定时,本次学习定时器的PWM功能,用定时器产生的PWM波作为步进电机的脉冲频率,实现步进电机转动控制,并实现电机S型曲线的加减速控制。

步进电机基本知识

步进电机根据接线关系分为双极性和单极性,单极性两组线圈中间有抽头,接电源;而双极性的线圈中间无抽头。本次实验采用双极性42步进电机,24V供电。

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册

步进电机外观图

电机驱动原理图及控制接线关系

本次电机驱动芯片采用TOSHIBA的TB67S109AFTG芯片来驱动双极性步进电机,该芯片支持最大驱动电压为50V,最大驱动电流为5A,最大支持32细分。

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册1

驱动电机原理图

接线关系

细分控制引脚分配

DMODE0 —–> PB0 DMODE1 ——> PB1 DMODE2 ——> PB2

电机正反转控制引脚

CW/CCW—-> PC0

驱动芯片使能控制引脚

ENABLE —->PC1

电机步进时钟PWM输入引脚(定时器2,第4通道)

CLK—–>PB11

步进电机加减速原理

步进电机运行加减速控制,若是运行的距离不够加减速控制的步数,则该轨迹为三角形,即没有均速运行过程。

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册2

电机加减速运行轨迹

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册3

加速或减速控制曲线

根据电机加减速的曲线可以通过改变定时器的定时频率,输出不同频率的PWM脉冲波,来实现电机的加减速。

代码实现过程

cube mx软件配置基本参数,实现定时器PWM和GPIO口控制的初始化。核心部分如下

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册4

定时器2的PWM波基本参数配置

生成代码工程后,添加电机加减速控制代码,其核心代码如下

步进电机控制参数的结构体定义

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册5

电机控制参数结构体定义1

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册6

电机控制参数结构体定义2

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册7

计算电机加减速参数1

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册8

计算电机加减速参数2

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册9

计算电机加减速参数3

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

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册10

定时器中断回调函数

本次实验使用的板子

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册11

实验的主控板

STM32F103定时器PWM驱动步进电机加减速-stm32f103r6 中文手册12

实验的电机驱动板

猜你喜欢