___________________________
well, 即使电枢电压和反电动势同向也并不会像下文说的那样短路,因为PWM频率足够大,电流只是有些脉动而已。
——12月又复习了一下电机
___________________________
最近做F2812控制无刷直流电机,没有参考足够的资料,只是知道根据转子状态改变输入电压的相(已经有相序表),用PWM控制输入电压的大小来调速。
电路是MOS做的三相桥,三相输出接电机的ABC输入,三相桥的直流测接12V电。三相桥的驱动器用MAX4428,MOS用的IRF7317(PN对),用F2812的EVA6路全比较PWM输出。
举个例子,检测到转子状态101,根据相序表,导通BNC,也就是A相关掉,BC相通直流电。问题是。。。这个直流电是用BC相的两桥控制的,这时就是H桥嘛,所以有双极性控制和单极性控制两种方式,我鬼使神差的用了双极性,于是悲剧诞生了。
我的程序:
1、 算法测试
三对MOS管,每种导通情况都是关闭一对,另一对构成H桥,然后用Vo=Vin*(2D-1)的关系,给出D来控制输出电压
霍尔信号检测采用边沿捕获,用ChangePhase()来调用换向函数
需要配置的外设:
CPU时钟;EVA时钟;定时器T1和全比较单元;6路PWM输出;捕获引脚CAP1~3;
具体参数:
300ns死区,15k的PWM,对称PWM输出,CPU=150M,PWM周期PR=500*2=1000;
所以计数频率f/1k=15k得f=15M,即配置HSPCLK=5(CPU/10=15),EVA预定标不分频
测试目标是 ①输出正确的PWM波 ②正确换向 ③能捕获边沿信号引起中断
纠正了程序的BUG之后,似乎是能根据捕获的状态输出正确的PWM了,(双极性控制),这时并没有把驱动加给电机,只是用手转电机,用示波器看PWM输出。这时的问题是,电源有时会限流(设定1A),感觉中间有短路。
2、 开环转速实验
电机控制、速度检测与显示、占空比设定(增减) 三部分的综合
配置T2,增计数周期15000,这样15M的计数频率产生中断频率是1k(周期1ms),计数1k次将能得到1s,1s以后计算速度(10N,N为换向次数)
显示模块:实时转速显示
把电机一接,能转,限流,电压源已不能提供12V电压,转了一会,用手试着加载,结果有芯片冒烟,应该是MOS烧了。
老师给分析了一下,原因大概是在电机的反电势上,当电机按某一方向转动,反电势就是固定的,和输入电压反向,但是我用的是双极性控制,虽然平均电压时正的直流,但是总有一段时间的负压加载导通相上,这就使反电势和外加电压同相,所以这个时候相当于短路。
结论是,大概,好像,无刷直流电机不能用双极性控制吧。只要简单的把导通相开关开关,而把不该导通的相全关掉吧。。。
下面的3还没做。
3、 闭环转速实验
电机控制、速度检测与显示、PID算法产生控制信号,控制信号转成占空比
因为1s计算一次速度太慢,不妨用换向捕获差值来计算速度,换向捕获定时器值,这样应该记录从一次捕获到下一次捕获所经过的周期匹配数,得到换向间隔取6个换向间隔的捕获时间做和得一转的时间。以1000r/min记,每转60ms,换向间隔10ms,应能捕获到T2 PR匹配10次
_____________________________
还是很大程度上改变了原来的想法,原来想发挥三相桥的功能,结果最终却发现还是每次开关一个MOS比较简单和保险,只给一个开关管PWM信号就好了,其他管子常开或常断。
文章评论(0条评论)
登录后参与讨论