2

stm32和电机开发(直流有刷电机和步进电机)

 1 year ago
source link: https://blog.csdn.net/feixiaoxing/article/details/125455338
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

stm32和电机开发(直流有刷电机和步进电机)

original.png
嵌入式-老费 newUpTime2.png 已于 2022-06-25 09:55:11 修改 articleReadEyes2.png 6

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        很多的课程都喜欢把电机原理完完整整讲一遍。但是对于控制的同学,这部分内容是否真的需要值得商榷。做电机控制,大部分都是在学了stm32之类的mcu之后才开始进行的。这部分,不如按照个人认知习惯去学习或许效率更高

1、直流有刷电机和步进电机

        虽然直流无刷电机bldc、pmsm这两类电机似乎更有技术含量一点,但是从学习角度来说,直流有刷电机和步进电机是最合适的。说到直流有刷电机,大家可以把它想象成小时候玩具上的电机。上面会有一个正负极,分别连接在电源两侧。如果是正着接,那么电机就正转;如果反着接,就反转。

        步进电机,看的比较多的是二相四线步进电机,可以简单看成两对正负线。如果要电机步进电机转起来,只需要定时给一定数量的方波即可。比如一个方波发送出来,电机就转到1.8°。只要不停给pwm方波,电机就会一直转下去。

2、直流有刷电机和直流无刷电机bldc

        接口上看,前者一般就正负极两个接口;bldc一般有三个接口,分别是u、v、w。

3、控制方法

        那直流有刷电机来说,如果是直接接到电源两侧,那么肯定有一个最大转速。在这个最大转速的基础上,大家试想一下,把电源切分成一段一段的方波。比如说,把1s时间切分成1000份,1ms的时间内,有一部分时间供电,一部分时间不供电,这样电机的速度是不是就可以降下来了。如果要提速,那就增加供电的时间比例;如果要降速,那么就降低供电的时间比例,这样是不是就可以达到我们的目的了。

        而对步进电机来说,控制方法就更简单了。如果要速度快一点,是不是单位时间内发送更多的方波个数就好了;慢一点,就发送少一点方波就好了。

4、反馈控制

        上面说到了电机控制。但是,如何保证控制的有效性呢?比如对直流有刷电机来说,我们希望保持在一个恒定的速度,那么除了调节方波之外,还需要什么呢?是不是需要一个测量传感器。这个传感器会告诉我们当前的速度是多少。现实中,这个传感器叫编码器。因为电机控制有一定延时性,如果测量发现速度慢了,就增加供电比例;如果快了,就减少供电比例。这个过程,就把它写成代码做到stm32里面就好了。

5、用驱动板实现电机控制

        之前说到把电源变成切分成一段一段的方波。这个过程是怎么完成的,那就是驱动板。在这之前,需要了解控制信号和驱动信号的区别。控制信号,这个Control电压一般很小,小到几伏就可以;但是驱动信号,这个就很大,一般会有几十、几百、上万伏都有可能。所以驱动板就相当于一个开关,开通后,外界电源直接传递给电机;关闭后,切断外界电源和电机的联系。

1bfd86f51e76487e9faec0ea9db6437b.png

6、电机控制的目标

        电机控制目标一般就三个,扭矩或电流、速度、距离。这里面精度的保证主要来源于编码器和控制算法。评价电机好坏有很多指标,比如响应时间、精度等等。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK