完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 349060579 于 2016-6-6 11:28 编辑 首先我们先了解一下有刷直流电机。相信很多小伙伴小时候玩过四驱车,里面的小马达就是有刷直流电机。电机里面有一个电刷,专门是用来改变电流方向的,使线圈一直受到同一个方向的安培力,电机转子就转动起来了。 而无刷直流电机(简称BLDC)中不存在电刷,因此需要驱动器来完成电刷的工作,就是换向(换相)。在永磁无刷直流电机中,定子电枢采用类似于一般交流电机中的三相绕组,并且通过位置传感器检测出转子永磁体与定子电枢绕组之间的相对位置并发出相应信号,然后通过信号处理和控制,使相应的晶闸管导通,三相绕组就得到相应方向的电流,这样就实现了电子换向。通过一定规律的换向,使转子上永磁铁一直受到同一个的转矩,电机就转动起来了。
直流无刷电机就介绍到这里。接下来就是怎样用FPGA来控制无刷直流电机。这里只讲使用霍尔位置传感器的,原因是非常简单易懂,而反电动势检测的就复杂多了。 FPGA需要根据接受到的霍尔信号来判断电机的位置,然后给出相应的控制信号去控制晶闸管。 信号说明: input [2:0] abc 输入的霍尔信号,用于判断电机位置,一共有6种状态,分别是001、010、011、100、101、110。而000和111视为错误的信号。 Output [6:1](这里是为了与晶闸管序号对应) S 输出的晶闸管控制信号,高电平晶闸管导通,低电平晶闸管阻断。 S=010_001 GB1GB5 0°——60° =100_001 GB1GB6 60°——120° =100_010 GB2GB6 120°——180° =001_010 GB2GB4 180°——240° =001_100 GB3GB4 240°——300° =010_100 GB3GB5 300°——360° 那么6种状态的控制信号又分别是怎样的呢?如果不知道电机的具体内部结构,那么就需要进行实验了,首先只给霍尔传感器通电,然后读取霍尔传感器的信号(可以用电压表或示波器),用手将无刷直流电机转动一格(电机一圈的格数=相数X磁极对数),依次记录下来,这就是电机转动时,霍尔传感器信号的规律,而我的霍尔传感器的信号规律是: 010—110—100—101—001—011。(电机转动的方向相反,那么这个顺序也是相反的) 最后就是将状态信号和控制信号对应起来。读取当前传感器信号,然后我们分别输出不同的控制信号,然后观察电机是否有转动一格,这里强调一下,有两个控制信号会使电机转动一格,但是要取的是当初用手使电机转动的方向相同的那个控制信号,这样就使控制信号S与传感器信号abc对应起来了。我使用的电机,abc=010对应的S=010_001。 以下就是换向的程序。 https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzYwODk5fDhiN2FkMWU3MWYwMjc5YTkwZGIxOGNmMTc3Y2VhMTZjfDE3MzIyMDg1OTE%3D&request=yes&_f=.zip abc信号是外部输入的信号,因此需亚稳态处理(此处省略),具体可参考小梅哥的按键消抖的视频。 clk_ph PWM波,通过占空比来调节电机转速。通常电机不能以占空比为100%启动,必须先低占空比启动,然后才增加占空比到100%。 这是我第一次发贴,希望大家能有所收获。 |
||||||
相关推荐
|
||||||
1413 浏览 1 评论
1208 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1419 浏览 0 评论
913 浏览 0 评论
2223 浏览 0 评论
1424 浏览 34 评论
5610 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:03 , Processed in 0.388092 second(s), Total 38, Slave 29 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号