关于直流电机调速问题
我在做直流电机PWM波的调速例程,可是我改变比较器的值后,为什么电机的转速没有改变的啊?我把EV的函数发上来,请大家指教void InitEv(void)
{
EALLOW;
GpioMuxRegs.GPAMUX.all=0x00FF;
EDIS;
EvaRegs.EVAIFRA.all = 0xFFFF; //清除中断标志
EvaRegs.T1PR= 2500; //定时器1周期值,定时0.4us*2500=1ms
EvaRegs.T1CMPR =50; //比较值
EvaRegs.T1CNT = 0; /* timer1 count is zero */
EvaRegs.T1CON.all = 0xF54A; //增模式, TPS系数80M/32=2.5M,T1使能,
EvaRegs.ACTR.all = 0x0006; //PWM1,2低有效
EvaRegs.DBTCONA.all = 0x0534; //使能死区定时器1,分频80M/32=2.5M,死区时间5*0.4us=2us
EvaRegs.COMCONA.all = 0xA600; //比较控制寄存器
EvaRegs.EVAIMRA.all = 0x0080;
}
用示波器测量也没有波形!!!
原理图如下:
http://cache.amobbs.com/bbs_upload782111/files_25/ourdev_528015.png
电机控制电路 (原文件名:截图21.png) 请大家指教谢谢了 主函数如下:
#include "DSP28_Device.h"
Uint16 XPWM=0;
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE控制寄存器*/
InitPieCtrl();
/*初始化PIE矢量表*/
InitPieVectTable();
XPWM=1400; //最大值2500
/*初始化EV*/
InitEv();
EINT;
ERTM;
for(;;)
{ }
} 回复【2楼】cnhzjwq
-----------------------------------------------------------------------
你这个原理图有点问题吧,上面的四个三极管的上两个应该用p沟道的,四个一样的肯定是不行的。而且你的两个pwm如果同时为高那就危险啦。我个人认为这张原理图有点问题。 三极管导通条件不满足,你打个电路仿真下~
页:
[1]