DIY无刷电机控制器:画板、打样、焊接...




很早之前就想做一款无刷电机控制器,但忙于工作一直没有弄 。最近有点时间画板、打样、焊接、调试,总算顺利的转起来了 。不过,期间也遇到了很多问题,上网查资料,自己量波形,前前后后搞了差不多将近一个月(中间又出差一周),总算搞得差不多了,特意写个总结 。
板子外观100*60mm中等大小,DC 12V输入,设计最大电流10A(实际没试过那么大的电机,手头的电机也就5-6A的样子),硬件上可以切换有感(HALL)和无感(EMF)两种模式,外部滑动变阻器调速预留有PWM输入、刹车、正反转、USB和uart等接口 。先来说下原理无刷电机,其实就是直流电机,和传统的DC电机是一样的,只是把有刷的电滑环变成了电子换向器 。
因为少了电滑环的摩擦,所以寿命静音方面有了很大的提升,转速也更高 。
有感就是在电机端盖的部位加装霍尔传感器分别相隔30度或60度;无感就是靠检测悬浮相的感应电动势过零点(后面再细讲) 。无论有感,还是无感,各有各的优缺点 。有感在低速方面好,可以频繁启停换相;无感的结构简单成本低,航模上应用居多 。先说有感,电源首先被分成了3个绕组uvw,这个交流电还是有区别的 。它只是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,还可以设定死区时间等,使用上非常方便 。





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

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

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

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

接下来,再说说无感模式 。由于没有了霍尔,电机无法知道转子当前的位置,所以就无法换相 。而感应电动势也只有在转起来之后才有,所以无感模式的启动是个难点 。一般方法都是分三段法:预定位、启动、进入闭环反馈 。正如网友说的“江湖一层纸,戳破不值半文钱” 。1、预定位:强制给某一相通电一段时间,让电机定位到这个位置;占空比30-50%不要太大,可能会发热 。2、启动:逐步的强制换相,当然要有个加速的过程,使电机转起来 。这个过程太慢会抖动反转,太快会丢步 。参数需要一点点试,有点像控制步进电机 。要能使电机转的能产生电动势,我也是参照的德国MK电调的算法 。每次延时时间比上一次少1/25,形成一个加速的过程,直到电机完全转起来产生足够的电动势 。3、进入闭环反馈:闭环反馈控制换相跟有感差不多一样 。

说到感应电动势,很多人不明白,先来说说电流 。电机线圈的内阻通常很小,比如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的电容,做一个低通滤波,也可以在软件中做滤波处理 。而我们所要做的,就是检测这个悬浮相的电动势过零点 。

网上常用的两种方法:单片机ad采集、比较器比较 。此次我选择了比较器,lm339价格已经很便宜了,在高速上比ad有明显优势,只要比较cin bin ain 与n点的压差即可获得零点 。

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



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

原理不深究了,反正时间很短,软件上做一个滤波消掉就可以了 。进入中断函数后,做如下处理,定时器的中断我暂时用的20us 。





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


(硬盘电机,无感模式)

(电动工具电机,有感模式)

(装散热片的样子)
-END-

 什么是移相全桥?12种工作模态全解析 美如画!电厂各类设备原理动图,看懂你也是大牛! 跪了!机房布线的最高境界……

(免责声明:整理本文出于传播相关技术知识,版权归原作者所有 。)

【DIY无刷电机控制器:画板、打样、焊接...】免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务 。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

    推荐阅读