STM32 电机教程 6 - 步进电机转动控制

前言

      上一讲给大家介绍了步进电机的基础知识,相信大家对步进电机的基本工作原理有了一定的了解(如果没看上一节内容,可以先看一下,https://blog.csdn.net/zhanglifu3601881/article/details/102844594或学习下面网页的内容:

https://www.orientalmotor.com.cn/web_seminar/stkiso2-1-1/),如果你手头有步进电机及相应的驱动板,学习完本节的内容后也你可以轻松地实现对步进电机的控制。

 

      本节演示步进电机实物图如下,因没有找到电机的详细参数,只能从型号中大致猜测一些(电机工作电压4V,电流4A),结合万用表实测,得知该步进电机为两相四线电机,具体接线关系如下图所示。

 

示例详解

本节用到ST官方推出的NUCLEO-F103RB和MPS的EV8049S-U-00A 电机控制评估板 ,EV8049S-U-00A评估板使用MP8049双通道全桥芯片,可同时控制两个有刷直流电机或两个喇叭或一个步进电机,本节将用它来控制一个步进电机,手头没有EV8049S-U-00A评估板的可以用专门的步进电机驱动板(tb6560等)代替,也可以用L298N电机驱动板来控制

 

 

NUCLEO-F103RB对应的大致原理接线图:

EV8049S-U-00A 电机控制评估板原理图:

 

 

 

    1. 准备操作
      1. MP8049驱动芯片工作电压是5-26V,因不太确定步进电机工作电压具体是多少,本示例以该驱动支持的最低电压5V控制步进电机(电压越低,电机电流越小,电机越不容易烧坏,但出力也越小),关于EV8049S-U-00A评估板及MP8049双通道全桥芯片的详细数据手册可在mps官网下载),连接好NUCLEO-F103RB与EV8049S-U-00A及电机:

 

需要用到的信号

对应MCU引脚

PWM1A

PA0

PWM1B

PA1

PWM2A

PA4

PWM1B

PB0

GND

GND

本节将直接使能PA0,PA1,PA4,PB0引却配置成通用输出模式 ,直接以接高或拉低方式控制步进电机的各相通电状态。

 

关于两相步进电机的控制节拍:

正转:

(1)四拍:A 1000,A- 0010,   B 0100,  B- 0001.

(2)八拍:A 1000,AA- 1010,A- 0010,A-B 0110,B 0100,BB- 0101,B- 0001,B-A 1001.

反转为正转的逆序,本节将演示以上两种控制方式的步进电机正反控制。

 

 

 

 

 

 

 

 

 

      1. 在STM32CubeMX中,有专门的NUCLEO-F103RB工程模板,新建一个Cube工程,芯片型号为st32f103rb:

生成一个简单的工程模板实现了RCC,SYS,USART2接口的配置,同时还实现了LD2(LED)引脚的配置。接下来手动配置PA0,PA1,PA4,PB0为普通输出功能:

 

生成工程:

 

 

      1. 打开工程,在main.c中加入如下代码:

经过测试,示例使用四拍方式刚好是400步走完一圈,故步距角是 360/400 = 0.9 度,又因

步距角 = 180/(相数*转子极对数),前面已实测出该步进电机相数为2 ,可知,转子极对数为100。八拍驱动方式为四拍驱动方式的1/2细分驱动,在该驱动方式下,步时电机每拍转动 1/2 步距角即0.45度故需要800个节拍才能起完一圈。

设置工程下载后自动运行:

编译代码,下载程序运行可直以看到步时电机成功转动起来,先是快速正一圈(4拍),然后慢速反转一圈(8拍),然后是快慢速正反各两圈,依次循环运动。程序中可以修改HAL_Delay(1)的延时时间来实现步时电机的速度控制,需要注意的是延时时间不能过短,不然步时电机可能会跟不上节拍导致丢步,延时时间太长也有可能导致动作不连贯。在步进电机转动时,可以看到如下的驱动波形图,四拍波驱动波形:

八拍驱动波形:

 

通过本节内容,学习了步进电机的基本节拍控制,对步进电机的控制原理有了更加具体及深刻的认识。其实现在市面上已经有了很多完整的步进电机驱动方案(芯片或控制板),这些驱动方案往往都已经完整地实现了步进电机的节拍控制,在使用时,用户往往只需给定简单的脉冲(一个脉冲走一步或一个细分步)信号及方向信号就可以实现步进电机的控制,使得控制步进电机变得更加简单。OK,本期实验完成!下一期将给大家介绍步进电机的开环速度控制,如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

 

文中源码及资料下载,关注十三公众号:

在公众号里给十三发送 “下载|STM32 电机教程6” :

 

 

  • 15
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值