科百科
当前位置: 首页 范文大全

自制高转速无刷电机(自制无刷电机控制器)

时间:2023-07-21 作者: 小编 阅读量: 4 栏目名: 范文大全

有感就是在电机端盖的部位加装霍尔传感器分别相隔30度或60度。一般调速就是调电压,6步pwm方式是目前常用的。但是上臂用nmos存在一个问题vgs控制电压大与vcc4v以上才能完全导通。有感模式控制相对简单,3个霍尔传感器输出一般都是数字信号,分压后直接接单片机io。主程序一直检测ad值,改变pwm占空比,及电流保护等。下图为uvw三相波形及w相霍尔电平下图为w相电平,w相上臂on下臂pwm,w相霍尔信号。

很早之前就想做一款无刷电机控制器,忙于工作一直没有弄。最近有点时间画板,打样,焊接,调试,总算顺利的转起来。
板子外观100*60mm 中等大小。DC 12V输入,设计最大电流10A.(实际没试过那么大的电机,手头的电机也就5 6A的样子)硬件上可以切换有感(HALL)和无感(EMF)两种模式,外部滑动变阻器调速 预留有 PWM输入、刹车、正反转、USB和uart等接口。


先来说下原理无刷电机其实就是直流电机,和传统的DC电机是一样的,只是把有刷的电滑环变成了电子换向器。
因为少了电滑环的摩擦所以寿命静音方面有了很大的提升,转速也更高。


当然难点就在如何获取当前转子的位置好换相,所以又分为两种有感和无感。
有感就是在电机端盖的部位加装霍尔传感器分别相隔30度或60度。无感就是靠检测悬浮相的感应电动势过零点(后面在细讲)。
当然各有各的优缺点,有感在低速方面好,可以频繁启停换相。无感的结构简单成本低,航模上应用居多。
先说有感,电源首先被分成了3个绕组U V W这个交流电还是有区别的。
它只是3个h桥按一定的顺序导通模拟出来的,本质还是直流电。电机靠hall位置按一定顺序换相,转速与电压电流有关。这一点切记,不是换的越快转的越快。(位置决定换相时刻,电压决定转速)一般调速就是调电压,6步pwm方式是目前常用的。当然后续还有foc等更好算法。
硬件部分网上基本都是成熟的方案。三相H桥,H桥一般有上臂mos和下臂mos组成,如果只是简单的做演示上臂选pmos下臂选nmos控制电路简单直接用单片机的io就可以驱动。但是pmos低内阻的价格高。功率上面很难做大。
这也就是为什么基本所有的商业控制器全是nmos的原因。

但是上臂用nmos存在一个问题vgs控制电压大与vcc 4v以上才能完全导通。为了简化电路采用了ir公司出的驱动ic,它内部有自举升压电路。外部仅需一个续流的二极管及储能电容即可。



有感模式控制相对简单,3个霍尔传感器输出一般都是数字信号,分压后直接接单片机io。


当然控制方式上也就简单很多,三个霍尔接中断输入,在中断处理程序中根据组合状态换相,程序上也没什么复杂的。主程序 一直检测ad值,改变pwm占空比,及电流保护等。
如下一个典型的换相代码。Stm32 有两个高级定时器tim1 tim8 可以输出4组互补型pwm,还可以设定死区时间等,使用上非常方便。
switch(step)
{
case 4: //BC-
/* Next step: Step 2 Configuration -------------------------------------- */
TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Disable);
TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Disable);



}
下图为uvw三相的霍尔检测到的电平及w相的波形。


下图为 uvw三相波形及w相霍尔电平


下图为 w相电平, w相上臂on 下臂pwm ,w相霍尔信号。


下图为w相ir2304芯片输出,上臂电压可明显看到已高于vcc,下臂为pwm信号


在说说无感模式,由于没有了霍尔,电机无法知道转子当前的位置所以就无法换相,而感应电动势也只有在转起来之后才有,所以无感模式的启动是个难点。
一般方法都是分三段法:1 预定位 2 启动 3 进入闭环反馈

正如网友说的江湖一层纸,戳破不值半文钱。
1.预定为就是强制给某一相通电一段时间,让电机定位到这个位置。占空比30-50%不要太大,可能会发热。
2. 启动,就是逐步的强制换相,当然要有个加速的过程,使电机转起来。
这个过程太慢会抖动反转,太快会丢步。参数需要一点点试,有点像控制步进电机。要能使电机转的能产生电动势,我也是参照的德国MK 电调的算法。
每次延时时间比上一次少1/25,形成一个加速的过程,直到电机完全转起来产生足够的电动势。
3. 闭环反馈控制换相跟有感差不多一样。
speed_duty=30; //30% start
BLDC_PHASE_CHANGE(Step[Phase]); //固定一相
Delay_MS(200);
speed_duty=pwm;
timer = 300;
while(1)
{
for(i=0;i<timer; i)
{
Delay_US(120); //等待
}
timer-= timer/25 1;
if(timer < 25)
{
if(TEST_MANUELL)
{
timer = 25; //开环强制换向
}
else
{
bldc_dev.motor_state=RUN;
break;
}
}
Phase;
Phase %= 6;
BLDC_PHASE_CHANGE(Step[Phase]); //
}
说到感应电动势很多人不明白,先来说说电流,电机线圈的内阻通常很小比如0.2欧,电机的电压比如10v,按理来说电流100a为何电机不烧哪?
其实电机线圈在通电的一瞬间并不是完全导通的,因为有反向电动感应势的存在,可能有-9.8v。10v-9.8v = 0.2v /0.2 = 1A.这样算起来电流还合理。
在说说那个初中学习的法拉第 ,当线圈切割磁场时会产生感应电动势,根据右手定则。。。。。。。。不懂的自行上网搜。


如下图当ac相在通电12v的情况下,静止状态下正中间中性点理论为6v,但是转起来就不一定了,因为b相实际是在切割磁场,是会产生电动势的。而电动势的大小正负取决与当前在磁场ns极的位置。当切割ns时为-1,切割sn时为1,平行时为0.


利用这一特性不就刚好可以获得转子的位置吗?

首先检测电路网上已经一大很成熟了。
如下图,当然很多时候需要在4.7k对地的电阻上并一个100nf的电容,做一个低通滤波。也可以在软件中做滤波处理。


我们所要做的就是检测这个悬浮相的电动势过零点。
网上常用的两种方法:1单片机ad采集;2比较器比较。我选择了比较器lm339价格已经很便宜了,在高速上比ad有明显优势,只要比较cin bin ain 与n点的压差即可获得零点。


理想很完美,现实很残酷,实际中根本得不到这么完美的波形。
如下图,这个已经是比较好的了,还是有很多毛刺。这个给单片机中断,肯定一大堆问题,严重的换错相烧mos管。



为什么会有这些毛刺哪,有些还挺有规律。
参考了网上的介绍,这中间还有一个叫消磁的东西。


原理不深究了,反正时间很短,软件上做一个滤波消掉就可以了。
进入中断函数后做如下处理 ,定时器的中断我暂时用的20us。
const unsigned int FilterNums = 0xff;
static unsigned int nums =0;
static unsigned int Queue_UStatus =0;
static unsigned int Queue_VStatus =0;
static unsigned int Queue_WStatus =0;
static unsigned char EMF_SVal =0;
unsigned char Filter_U_Status=0;
unsigned char Filter_V_Status=0;
unsigned char Filter_W_Status=0;
unsigned char EMF_Val=0;
unsigned int status_h;
unsigned int status_l;
unsigned int Delay30deg =0;
/* 清除中断标志位 */
if ( TIM_GetITStatus(TIM3 , TIM_IT_Update) != RESET )
{
TIM_ClearITPendingBit(TIM3 , TIM_FLAG_Update);



至于网上说检测到过零点后,延时30度换相,对电源效率有影响。我试了下,好像没什么明显的差异。也有人说在大功率的电机下不延时反而更平滑等等。真实怎样有待各位实际实验了。
最后秀几张转起来的照片



硬盘电机 无感模式


电动工具电机 有感模式

加装散热片的样子


本文来源机器人网,版权归原作者所有。如涉及版权问题,请与我们联系,我们将第一时间协商版权问题或删除内容

    推荐阅读
  • 海信发布uled超画质电视u7(海信发布全新显示技术平台)

    ULED是海信10年前推出的自主研发显示技术,ULEDX则是对ULED技术的持续迭代。据悉,ULEDX技术平台通过在7个核心技术方向取得重大突破,获得了13项行业领先的技术。至此,海信ULED相关专利技术申请也达到了909项。据悉,海信2013年推出了首款ULED电视,十年来已经完成了6次技术和产品的创新迭代,其中多分区动态背光控制技术目前已成为全球中高端液晶电视产品的标配。今年第二季度,海信系电视全球出货量份额跃居全球前二,创历史新高。

  • 生什么病有何禁忌(生什么病忌什么口)

    9糖尿病甜,酒,油腻,炸烤,高热量食物。14跌打损伤猪头骨肉,醋,花生,甜食,香蕉,啤酒。16风湿性关节炎啤酒,香蕉,肉类,避寒露水。22胸痛肥肉、海鲜等。24腹痛狗肉、肥猪肉、羊肉、海鱼、虾、蟹等;冰制品、酸菜、坚果、糯米类。26呕吐烟、酒及葱、蒜、韭菜等27腹泻肥肉、海鲜等;辣椒、葱、蒜等。34心悸烟、酒及浓茶、咖啡;咸鱼、咸肉等。37黄疸酒、鱼、虾、肥肉、煎蛋、葱、蒜及生冷瓜果。

  • 这部喜剧片戳中观众的笑神经(这部悲剧顶着喜剧的头衔)

    张一曼在其他人的逼迫下无奈承认了,铜匠为了保护一曼,与妻子撕破了脸,但是却被一曼给羞辱。铜匠被特派员发现,特派员为了骗取美国人的钱,答应了铜匠的要求,对张一曼进行侮辱,并且剪了她的头发,张一曼照了镜子后疯了。周铁男想要保护一曼,却被枪吓的懦弱。佳佳作为校长的女儿,在这场闹剧中扮演了铜匠的未婚妻,最终无奈之下和铜匠结了婚。婚礼没有进行成功。经过一系列事情后,张一曼在开学的前一天自杀了。

  • 陆小凤与花满楼电视剧剧情介绍(陆小凤与花满楼18集电视剧演员表全集剧情介绍1-48大结局)

    西山四鬼继续跟踪在陆小凤的身后,没想到半夜的时候被神秘人杀害。阿信告诉陆小凤,西山四鬼可能已经死亡了。幸好此时孤独师兄出现了,告诉他们陆小凤并非杀人凶手。陆小凤心中记挂西山四鬼离奇死亡的事情,再次检查了西山四鬼身上的伤口,结果发现他们几个人都死于峨眉武功下。花满楼随后对观读师太进行了治疗,为对方祛除了蛊虫,但是师太依旧昏迷不醒。两名杀手一男一女,连忙跟踪了上去。得知绪王被害,太后震惊不已。

  • 历史朝代顺序表(历史朝代顺序介绍)

    下面希望有你要的答案,我们一起来看看吧!历史朝代顺序表中国朝代顺序表:夏朝、商朝、西周、东周、秦朝、西汉、新朝、东汉、三国、西晋、、南北朝、隋朝、唐朝、五代十国、宋、辽、西夏、金、元朝、明朝、清朝。政权寿数的一个规律是:越近现代,政权寿数越短。其中稳定统一期:夏商西周;秦汉;隋唐;元明清;割据不稳定期:东周;三国两晋南北朝;五代十国宋辽夏金。

  • babycare硅胶奶瓶测评(美亚直邮新安怡Avent新生儿奶瓶礼盒套装开箱晒单)

    套装外3侧面2,讲解产品亮点,奶嘴选择什么的。套装外4菊部,左上角可以看到写明是PP材质,右上边写的England英格兰制造,下边喷码看不懂,看不出生产日期。分解姿势1分解姿势2,可以看到内外筒是有防呆设计,左手边有个平面专门对准用的。

  • 8部经典儿童电影送给你(这10部儿童电影有时间就陪孩子看看吧)

    1、《奇幻森林》即便没有老虎的威胁,狼妈妈也不见得就能保护小男孩一辈子。

  • 部编版六年级下册生字组词全部(部编版六年级下册生字组词)

    一单元1北京的春节,我来为大家科普一下关于部编版六年级下册生字组词全部?下面希望有你要的答案,我们一起来看看吧!

  • 鬼谷八荒宗门亲密度如何提升 鬼谷八荒宗门亲密度怎么提升

    鬼谷八荒游戏中有着亲密度系统,玩家们能通过提升与门派亲密度获取各种好处。鬼谷八荒提升宗门亲密度方法推荐玩家进入到宗门之中,然后与门派中人进行联系。玩家选择对话和其他的增加亲密度的方法,增加好感度后即可提高与宗门的亲密度。关于鬼谷八荒提升宗门亲密度方法推荐,想要了解更多相关攻略的小伙伴可以持续关注本站,这里每天会为大家推送最新最全的攻略,一定不要错过哦。

  • 小猪皮肤红好吗(可能预示着什么)

    急性型猪瘟由猪瘟病毒引起的猪急性、热性、败血性传染病。猪附红细胞体病由附红细胞体寄生于猪红细胞或血浆中而引起的血虫病,主要传播媒介是蚊及吸血的节肢动物,以夏、秋季节发病最多。猪渗出性皮炎由猪葡萄球菌感染引起的仔猪急性接触性皮炎,以全身油脂样渗出性皮炎为特征。