0
点赞
收藏
分享

微信扫一扫

随想录(电机学习笔记)


 

    在学习ros机器人之前,我其实不太了解电机,对嵌入式的所有知识也仅仅限于51单片机、stm32、arm soc。但是,因为工作的需要,或者说更多来自于个人的兴趣,发现mcu+电机,可以做这么多事情,还是蛮吃惊的。小到玩具、大到机械臂,里面都有电机的影子,还是蛮有意思的。趁着现在还有点印象,赶紧做个笔记,供后面使用。

 

1、学习视频

    个人觉得这家开发板厂商出的电机教学视频非常棒,​​https://www.bilibili.com/video/BV1AZ4y1V7wt​​,有兴趣的同学可以看看。

 

2、电机种类

    目前使用比较多的电机主要有直流有刷电机、直流无刷电机、步进电机、舵机、三相交流电机。

 

3、控制电路板

    目前控制电路板主要还是以51单片机、arm mcu为主,尤其是stm32,基本是标配了。

 

4、驱动器

    因为功率的原因,本身控制电路板是没有办法直接驱动电机的,中间一般都有驱动器进行连接,比如说常见的步进电机驱动器就是这种产品。

 

5、编码器

    如果是开环控制,其实无所谓编码器,比如说,在现实应用中,为了成本的考量,步进电机一般都是开环控制。但是在一些精度要求比较高的地方,就需要编码器的参与了。这个时候,我们就需要采用带编码器的步进电机,这样才能形成闭环回路控制,进一步满足精度的要求。

 

6、PID控制方法

    坦率来讲,目前的控制方法还是以PID为主,不管是速度控制还是位置控制。在一些场合,比如直流有刷电机里面,还会使用串级PID控制,从里到外有三层,分别是电流环、速度环、位置环。当然,如果是直流无刷电机,现在还比较流行FOC控制,stm32也提供了对应的开发软件平台X-CUBE-MCSDk,可以试试看。

 

7、常见的驱动器接口

    驱动器上接控制电路板,一般有使能、方向和pwm接口。下接电机接口,中间还有各种sw接口,处理分频和电流大小的设置。

 

8、运动控制

    很多驱动器集成了PID控制算法,那么这个时候上层电路板就能负责运动控制的一部分工作了,比如数据插值运算、梯形加减速、速度规划、z轴处理、协议解析等工作。

    当然,仅仅知道上面这些还是不够,最好了解一下各个模型的运动控制方法,比如两轮差速模型等等,实际使用还是比较多的。

 

9、经典的运动控制场景

    我们以雕刻机来说,一般处理流程是这样的,pc-》运动控制电路板-》驱动器-》电机。首先pc将需要雕刻的图像切分成一个一个的G指令,通过串口或者usb传给运动控制电路板。电路板收到信号后,通过开源grbl代码的进一步分解,输出pwm信号给驱动器。这个时候驱动器收到pwm波形后,通过内部的转化,输出给电机,这样就形成了一个完整的控制操作。等到所有G指令都完成之后,电机停止运动归位,这样雕刻机的工作就完成了,就是这么一个流程。

 

10、常见软件开发方法

    代码一般就是裸奔,或者用rtos。不重要的协议解析、打印输出、lcd显示这些,都可以放在空闲任务来做,剩下来的代码就是在时间中断里面执行,计算每次需要输出的pwm个数,这样就可以了。

 

11、其他资料

    除了上面的视频资料,我觉得他的文字版也挺好的,​​https://ebf-motor-tutorial-stm32f407.readthedocs.io/en/latest/index.html​​。

 

ps:
    这篇文章和之前自己写的一篇文章,即“​​单片机和步进电机学习笔记​​”有一部分重合,相比较而言,原来谈的内容更加抽象,而现在这篇文章有具体的视频、开发板和实操,更加具体一点,大家可以两篇文章结合在一起看。

 

 

 

 

举报

相关推荐

0 条评论