【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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. mysql安装源是什么_mysql官方源安装的一些问题
  2. 讲你肯定能懂的机器学习多维极值求解
  3. 一起学nRF51xx 23 -  s130蓝牙API介绍
  4. jQuery核心函数的使用总结
  5. 用Python实现二叉树,完全二叉树和满二叉树
  6. 创建基于MailKit和MimeKit的.NET基础邮件服务
  7. linux modprobe命令参数及用法详解--linux加载模块命令
  8. 设计模式——Template Method模板方法
  9. json java 数据类型_程序员都应该了解的一种数据格式之 JSON
  10. azure云数据库_将Azure SQL数据库警报集成到Slack
  11. 谁是杨强?首位AAAI华人主席,身兼5大顶级组织Fellow,也是华为诺亚方舟实验室开创者...
  12. 《Total Commander:万能文件管理器》——第4.5节.其他补充
  13. dell服务器错误代码
  14. 德赛西威领投智驾科技B轮3亿元,加速智能驾驶人人可享
  15. VC2012换字体问题
  16. 湖北理工学院计算机学院优秀毕业生,关于表彰2012届优秀毕业生的决定
  17. 国际象棋渲染测试软件,国际象棋与Cinebench渲染
  18. 假设检验 python_假的解释|假的意思|汉典“假”字的基本解释
  19. 《python大战机器学习》勘误
  20. 性能监控工具(nmon)

热门文章

  1. linux中chkconfig命令的作用,Linux系统下chkconfig命令使用详解
  2. QT配置android环境,简单易懂
  3. 专插本之路——C语言学习
  4. linux0.11启动时bootsect.s和setup.s的主要作用
  5. 2007-5-16 mhxy
  6. 注册表启动项的具体位置
  7. C++随机马赛克图程序
  8. Springboot集成Jersey
  9. 使用函数的选择法排序
  10. windows11 安装 Linux子系统 WSL及ubuntu22.04