STM32CubeMX(5)—— STM32利用PWM控制42步进电机

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);

总结

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

  • 42
    点赞
  • 365
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
引用:在STM32CUBEMX中使用步进电机进行控制需要进行一系列的配置。首先在驱动芯片配置函数中,需要进行一些初始化操作,如启动传输、设置电机电流、配置斩波器和驱动配置寄存器等。 引用:其次,需要使用脉冲设置函数来生成指定数量的脉冲信号。这个函数通过读写函数来实现,其中设置发送缓冲区和接收缓冲区,并使用SPI通信来发送和接收数据。 引用:最后,在步进电机控制过程中,为了实现精确的位置和速度控制,可以利用STM32CUBEMX配置定时器来输出指定数量的PWM脉冲信号。这样可以实现步进电机的运动控制。 综上所述,要在STM32CUBEMX中使用步进电机进行控制,需要进行一系列的配置,包括驱动芯片的初始化、脉冲的设置以及定时器的配置。这样可以实现步进电机的精确运动控制。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [STM32cubeMX+PWM频率控制步进电机)+TMC260](https://blog.csdn.net/qq_28455253/article/details/123581069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(2)-定时器中断产生指定数量脉冲](https://download.csdn.net/download/qq_24312945/88184732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzzzzzzm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值