当前位置:   article > 正文

STM32CubeMX(5)—— STM32利用PWM控制42步进电机_pwm四路输出控制步进电机正反转

pwm四路输出控制步进电机正反转

STM32利用PWM控制42步进电机


前言

42步进电机也是经常使用的一类电机,其控制方法也十分简单,但如果要用好步进电机,还需要了解一些前瞻知识,这篇文章除了介绍其控制方法外,还会介绍其中一些必备的知识。

一、硬件准备

42步进电机
在这里插入图片描述
42步进电机在市面上还是挺常见的,每一款都大同小异。而市面上最为常用的为两相四线制的步进电机。两相即AB相,四线即步进电机引出来的四根线。

对于引出四线的步进电机,比较关键的是怎么区分哪两根线是同一相的,对于如何接线来说十分重要。

在这里插入图片描述
对于一般的万用表,都有一个检测导线两端是否接通的功能,即上图中间的那一档,有个二极管的

一般比较常用的方法是用万用表的通断功能来测量,即上图中间那个带二极管有个声波的那个。用两个表笔两两测量四根线,有响声或者说万用表上有示数的即为同一相,这里A,B相没有严格区分,即一对是A相,另一相就是B相。

还有一种较为简单的方法,先用手去转动步进电机的转轴,感受一下力。然后将其中两根线缠在一起形成短接,再去用手转动步进电机的转轴,感受一下力,如果发现此时的力比之前的要费劲了,说明这两跟线是同相的

下面介绍驱动步进电机的驱动器

TB6600步进电机驱动器
在这里插入图片描述
步进电机实际上是按着一定的频率,分别去给线圈上电,最后使其转起来,但我们有了驱动器就不需要考虑这么多了,里面已经帮我们把所需的电路集成好了,这里我们只需要会连线就行了。

电机驱动器步进电机STM32
ENA-\GND
ENA+\IO
DIR-\GND
DIR+\IO
PUL-\GND
PUL+\PWM
B-B相线\
B+B相线\
A-A相线\
A+A相线\

其中还有的VCC接购买的步进电机所需的电压值

其中ENA,DIR,PUL的接线有两种,一种是共阳,另一种是共阴接法,共阳即将ENA+,DIR+,PUL+都接5V的口,而共阴接法则由上表格所示。

下面说一下ENA,DIR和PUL分别是什么。

ENA为使电机脱机状态控制端子
若按上述接线,当ENA+赋予高电平时,电机处于脱机状态,手可以转动转轴,电流撤去。故一般工作情况,ENA+要赋予低电平。

DIR为控制步进电机正反转的控制端子
按上述接线,当DIR+赋予低电平时,默认为反转,DIR+赋予高电平时,默认为正转,可以通过控制这个端子去控制步进电机按照指定方向运作

PUL为脉冲控制端子
PUL为控制步进电机最为关键的端子。而在介绍PUL前,还需要介绍一个步进电机的基础知识,即细分和步距角

步距角:输入一个电脉冲信号,步进电动机转子相应的角位移。
即说明,给一个PWM波,步进电机转子转过的角度。对于1.8°步距角的步进电机来说,转一圈则需要360/1.8=200个脉冲

步进电机细分技术:细分通俗易懂的说就是将上面所说的需要200个脉冲转一圈变成需要更多的脉冲才能转一圈了,如果是二细分,则为400个脉冲转一圈。

其中脉冲信号我们从PUL+中输入,而细分,则由驱动器上的说明设置
在这里插入图片描述
最后还剩下最后一项就是设置额定的电流值
在这里插入图片描述
我们可以按照拨码,来设置所需的电流值,其中,我们在小负载的情况下,可以设置的电流值小于额定电流,在大负载的情况下,也可以设置比额定电流大一点的电流值,只是这个时候不建议长时间使用。

二、代码部分

1.CubeMax配置

开了一个定时器,这里PWM波的频率为1kHz,如果在没有细分的情况下,1s为5圈(1圈200个脉冲,1kHz为一秒1000个脉冲)
在这里插入图片描述
开了两个用于ENA和DIR的IO口
在这里插入图片描述
其中PE3为ENA,默认输出为低电平,即上电就为非脱机状态
PE4为DIR,默认为高电平,即正转模式

2.代码编写

代码这一部分其实是比较简单的

只需要在main函数中开启PWM波即可

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_4);
  • 1

总结

后续还会出一期有关步进电机控制策略的相关教程。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/57107
推荐阅读
相关标签
  

闽ICP备14008679号