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

stm32和电机开发(开篇)相关推荐

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

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 很多的课程都喜欢把电机原理完完整整讲一遍.但是对于控制的同学,这部分内容是否真的需要值得商榷.做 ...

  2. stm32和电机开发(从mcu到架构设计)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 有过外资企业工作经验的同学应该都有这样的感觉,好像老外都很擅长做架构设计.与此相比较,国内的同学 ...

  3. 基于阿里云IOT Studio和STM32的电机远程监测设计

    今天来总结一下用阿里云的IOT Studio做的一个电机远程监控的小系统吧! 说来话长,在去年九月份的时候,我踏入了研究生的行列.我的导师是搞电机方向的,但我本科是测控的,考虑我的基础,导师给我推荐了 ...

  4. STM32-Chapter1-6电机开发概述,定时器之基本定时器定时高级定时器互补输出输入捕获输出比较实验

    一  需要掌握的技能 希望经过前面介绍的电机开发的应用场景对学习电机应用开发产生浓厚的兴趣,并且能让你更 加坚定地开始学习电机应用开发.那么该如何学习呢?对于电机驱动开发工程师,会有如下基本 要求: ...

  5. stm32非操作系统开发和带uCos的开发的区别,及一些解析

    源:stm32非操作系统开发和带uCos的开发的区别,及一些解析 转载于:https://www.cnblogs.com/LittleTiger/p/7427039.html

  6. linux 搭建开发stm32 stlink,Ubuntu下搭建stm32+stlink的开发环境

    Ubuntu下搭建stm32+stlink的开发环境 热度 3已有 15960 次阅读2014-8-19 21:09 | 上周因为忙于别的事情,很久没切到ubuntu下了,这周继续弄了弄. 弄到了一些 ...

  7. 了解库开发,我们从STM32标准库开发学起

    摘要:从STM32新建工程.编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣. 自从CubeMX等图像配置软件的出现,同学们往往点几下鼠标就解决了单片机的配置问题.对于追求开发速度的业 ...

  8. 【系】微信小程序云开发实战坚果商城-云开发开篇

    第 3-2 课:云开发开篇 目录 开篇 [系]微信小程序云开发实战坚果商城-开篇 基础篇 [系]微信小程序云开发实战坚果商城-弹性盒子 [系]微信小程序云开发实战坚果商城-ES6 简单入门 [系]微信 ...

  9. 【STM32 .Net MF开发板学习-02】GPIO测试

    前段时间我借用市面上现成的Corex-M3开发板,打造了最低价的.Net Micro Framework开发板(参见<免费发放firmwave,打造史上最低价.Net MF开发板>),在此 ...

最新文章

  1. 夏季编辑系统的联想感觉
  2. ESXI5.5添加本地磁盘出错的解决
  3. android intent短信,android – 通过Intent发送短信,并知道短信是否已被发送
  4. UITabBarController 的配置
  5. C#基于Socket的CS模式的完整例子
  6. Eigen(6)快操作
  7. 【笔记】2-SAT (tarjan)
  8. dojochina的ExtJS视频教程学习笔记(二
  9. 如何区分abcd类地址_ip地址abc类怎么区分
  10. itextpdf生成pdf,html转pdf,pdf转图片
  11. python学生成绩管理程序设计总框图_学生成绩管理系统ER图+流程图+组织结构图-课程设计...
  12. 虚拟内存怎么设置最好_虚拟内存怎么设置到d盘
  13. 中鑫吉鼎|白领投资理财有哪些注意事项
  14. 软件外包的合同要怎么签?
  15. CentOS7 或 Ubuntu20.04、22.04 安装最新版 Podman-4.1.1,离线安装请移步到连接
  16. Android指纹解锁
  17. 五:Dubbo中Provider参数配置及源码讲解
  18. android开花动画,放下手机,听花开的声音 -- 花儿 の Time #Android #iPhone
  19. 部分期刊的缩写(计算机方向)、期刊缩写及其影响因子的查询方法
  20. 2012站长论坛排行榜

热门文章

  1. linux readdir64,readdir()32/64兼容性问题
  2. linux中111rpcbind端口,linux rpcbind 什么用的
  3. openwrt 使用校园网 无法ping6通ipv6.google.com
  4. Redis主从复制和集群配置系列之四
  5. python 桑基图 地理坐标_手把手教你用Python绘制酷炫的桑基图
  6. FPGA数值的表示与运算
  7. 基于STM32F103C8T6实现用2.4G模块(NRF2401)传输室内温湿度并显示OLED
  8. 熊市中只赚不赔的唯一方法
  9. Pytorch的反向传播backward()详解
  10. 【批处理DOS-CMD命令-汇总和小结】-文件(夹)属性更改命令(attrib)