stm32和电机开发(开篇)

Posted 嵌入式-老费

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32和电机开发(开篇)相关的知识,希望对你有一定的参考价值。

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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

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

9、文档链接

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

or

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

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于stm32和电机开发(开篇)的主要内容,如果未能解决你的问题,请参考以下文章

步进电机原理介绍与基于STM32的SPWM驱动步进电机,使用软件实现电机细分

电机与stm8/stm32开发工具的连接怎么连接

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

stm32和电机开发(上位系统)

电机分类与永磁电机

stm8电机库原理