本帖最后由 useisbb 于 2014-6-19 10:00 编辑
本人前不久自己DIY了无刷电调走了不少弯路,特意整理了一些小笔记给后来的同志们点思路,业余选手,说的不周全的地方请高手指点。
看到梯形波的关键:
1.不是靠启动算法的强制换向;
2.也不是靠延迟30度角再换向;
3.当然也不是非得航模电机;
4.更不要认为匀速的强制换向就会看到梯形波。
成功的前提:
1.准备一个硬盘电机或者软驱电机,因为这些电机的磁体间隙很小,波形会很漂亮,而且硬盘电机很小的启动电流就能启动(12V的电压20%的PWM足以启动);
2.MOS管的三相桥,确保强制换向时能正确的驱动信号高低逻辑,硬件水平不好的童鞋最好照搬现成电路,参考我的电路;
我是按照这个电路做的,三极管使用的是3904,MOS是SI2305和SI2308,这两只MOS管的Id电流很小,我只有这两种MOS管,同志们可以搞电流大一些的MOS管。
3.反向电动势的采集电路采用成熟的三线模拟中心点电路。值得注意是电路中的飞线一定要短小精干,因为电机是一个EMI的干扰源,闹得不好会严重干扰比较器工作。而是选好前面的分压电阻,否则比较器输入会被钳位,导致结果错误;
这里强调一下如果使用外部比较器,电机供电>5V,最好将R11,R12,R13的阻值更换为10K的电阻,否则比较器输入端钳位输出结果就不可预测了。
4.模拟比较器可以使用单片机内部的比较器,一定要注意这里的比较器输出最好能出发中断。当然也可以使用外部比较器,如LM339或者运放LM324,注意LM339是漏极开路输出,要在输出端接5.1K的上拉电阻。
5.不管使用内部比较器还是外部比较器,比较器的输出最好能触发上升沿和下降沿中断,否则你的单片机要用类似AD采集反向电动势那样不断的判断比较。
6.最后就是很简单的程序流程。程序中跳过启动部分直接写反向电动势检测部分,不过电机要手动轻轻转一下才能启动.我的处理器是LPC17XX,不过无所谓STM32也一样的驱动。
7.能转起来再写启动算法将非常容易,移植也是一样简单。还有电流监测限制,30度延时换向,起停控制逻辑,转速闭环控制等都不是难事。
下面是只有中断换向的程序效果。梯形波和消磁现象都出现了吧。 下图是超前30°换向可以看到梯形波不对称。左边高,右边低 采集到反向电动势延迟30°后的波形,可能是由于电容延时的原因导致波形还是不够对称。左边低,右边高,这个不影响转动效果的。 转动的电机简易的环境
稍后来详细说说代码,今天代码没有整理出来就先不发的了 |