2

stm32和电机开发(开篇)

 1 year ago
source link: https://blog.csdn.net/feixiaoxing/article/details/125355767
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-19 14:56:01 修改 articleReadEyes2.png 30

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

        第一次知道电机开发,是在2019年的时候,也就是差不多3年半前。当时有一位同事在美的上班,是他让我知道了电机控制的一些应用场景。等到后来自己做了AGV的一些工作,对电机开发和控制这块就更有兴趣了。利用pwm就可以控制加速度、速度和位置,这本身就是很神奇的事情。现在网上,尤其是b站上面已经有很多mcu控制电机的视频了,某野火、某原子也出了类似开发板,正好可以拿来学一下

1、电机种类

        常用电机主要是直流有刷电机、直流无刷电机、步进电机、舵机和永磁同步电机(pmsm)这几种。

2、电机控制构成

        电机控制一般有这几个部分组成,控制电路板(一般是mcu开发板)、驱动板(实现控制信号到电机驱动信号的转变)、电机、电源这几个部分组成。如果是精确控制,一般还涉及到编码器。

3、编码器

        在电机控制中,常用控制方式一般是pwm。但如果只使用pwm控制,这只是一种开环控制方式,控制不一定精准。特别是有负载的时候,如果没有编码器,使用开源控制是远远达不到控制效果的。有了编码器,就相当于有了一个测量值,目标值和测量值之间有了一个负反馈,有了这个负反馈就可以去实现精准控制了

4、控制方法

        目前比较实用多的还是PID。根据控制目标不同,PID还分成单极PID和串级PID。比如说,扭矩-速度控制,扭矩-速度-位置控制等等。当然对于直流无刷电机和永磁同步电机,还会有foc控制。foc可以用x-cube-mcsdk生成。但是foc一般用来控制加速度或扭矩,外环的速度、位置还是可以用PID完成。

        PID也有位置法和增量法两种,灵活加以应用。

5、安全检测

        驱动板一般还会包含电压检测、电流检测和温度检测三个部分。过低电压、过高电流、过高温度,这部分都是需要进行安全处理的。

6、代码架构

        电机控制的架构一般就是前后台。一部分是后台while(1)控制,相关工作就是log输出、串口数据输入等;一部分是时间中断的PID计算和PWM修改输出。

7、电机控制和其他软件的配合

        电机控制实现的只是电机部分,控制的目标其实还是来自于上层soc、或者说pc的设定。这里面就可能涉及到slam定位算法、opencv算法、路径算法规划等内容。所以,我们知道电机控制的同时,也要明白电机控制的终极目标和本质。

8、学习视频链接

https://www.bilibili.com/video/BV1AZ4y1V7wt

https://www.bilibili.com/video/BV1hv4y1g7s3

9、文档链接

https://doc.embedfire.com/motor/motor_tutorial/zh/latest/index.html

https://doc.embedfire.com/motor/motor_tutorial/pdf/[%E9%87%8E%E7%81%ABEmbedFire]%E3%80%8A%E7%94%B5%E6%9C%BA%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98%E6%8C%87%E5%8D%97%E2%80%94%E5%9F%BA%E4%BA%8ESTM32%E3%80%8B.pdf

http://47.111.11.73/docs/boards/stm32dj/ATK-DMF407.html

10、代码链接

https://gitee.com/Embedfire-motor/ebf_motor_tutorial_code_stm32f407_jiaoyang


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK