><FONT face=仿宋_GB2312 color=#70cc33 size=4> 我们学校是第一次参加飞思卡尔比赛,很多东西得靠我们自己摸索,对于电机驱动,我们选用了MC33886,用一块芯片把两个半桥并联可以实现电机的正转和制动,但是当我们尝试用全桥时候遇到了困难。我按照附近连接电路,调试程序代码如下,</FONT></P><P><FONT face=仿宋_GB2312 size=4>#include <hidef.h> /* common defines and macros */<BR>#include <mc9s12dg128.h> /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</FONT></P><FONT face=仿宋_GB2312 size=4><P><BR> <BR>}<BR>void INITPLL(void) <BR> <BR> { SYNR=0X02;<BR> REFDV=0X01;//设定总线时钟为24M<BR> asm nop<BR> asm nop<BR> asm nop<BR> asm nop<BR> asm nop //等待<BR> while(CRGFLG_LOCK==0); //等待VOC(压控振荡器)稳定<BR> CLKSEL=0X80; //锁定锁相环时钟<BR> }</P><P> </P><P>void INITPWM(void)</P><P>{ <BR> PWME=0X00; // 1,5通道使能<BR> PWMCTL=0X50; //01,45级联<BR> <BR> PWMPOL=0XFF; // 高电平有效 <BR> PWMCAE=0X00; //默认左对齐<BR> PWMPRCLK=0X00; //对时钟0分频<BR> PWMCLK=0X22; //A时钟频率24M<BR> PWMSCLA=3; //SA时钟频率4M<BR> PWMSCLB=3;<BR> PWMPER01=1000; <BR> PWMPER45=1000; //输出频率为4K<BR> PWMDTY01=750; <BR> PWMDTY45=0; // 控制占空比 <BR> PWME=0X22; <BR>}</P><P> </P><P>void main(void) </P><P>{ DisableInterrupts;<BR> <BR> <BR> INITPLL();<BR> INITPWM();<BR> EnableInterrupts;<BR> <BR> <BR> for(;;) { PORTB=~PORTB;} </P><P>}</P><P>结果电机总转不了,即使我们尝试用两块芯片并联,还是不行,电机部分已经调试好几天了,没有什么进展,请大家看看,到底是什么问题!谢谢</FONT></P>
><FONT style="BACKGROUND-COLOR: #cce8cf">问题解决了,是PWM极性问题</FONT></P>
| 欢迎光临 智能车制作 (http://dns.znczz.com/) | Powered by Discuz! X3.2 |