智能车制作

标题: 电机驱动问题 [打印本页]

作者: hanjianbo    时间: 2008-3-28 01:01
标题: 电机驱动问题
<><FONT face=仿宋_GB2312 color=#70cc33 size=4>&nbsp;&nbsp;&nbsp;&nbsp; 我们学校是第一次参加飞思卡尔比赛,很多东西得靠我们自己摸索,对于电机驱动,我们选用了MC33886,用一块芯片把两个半桥并联可以实现电机的正转和制动,但是当我们尝试用全桥时候遇到了困难。我按照附近连接电路,调试程序代码如下,</FONT></P><P><FONT face=仿宋_GB2312 size=4>#include &lt;hidef.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* common defines and macros */<BR>#include &lt;mc9s12dg128.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</FONT></P><FONT face=仿宋_GB2312 size=4><P><BR>&nbsp; <BR>}<BR>void&nbsp; INITPLL(void) <BR>&nbsp; <BR>&nbsp; {&nbsp; SYNR=0X02;<BR>&nbsp;&nbsp;&nbsp;&nbsp; REFDV=0X01;//设定总线时钟为24M<BR>&nbsp;&nbsp;&nbsp;&nbsp; asm nop<BR>&nbsp;&nbsp;&nbsp;&nbsp; asm nop<BR>&nbsp;&nbsp;&nbsp;&nbsp; asm nop<BR>&nbsp;&nbsp;&nbsp;&nbsp; asm nop<BR>&nbsp;&nbsp;&nbsp;&nbsp; asm nop&nbsp;&nbsp;&nbsp; //等待<BR>&nbsp;&nbsp;&nbsp;&nbsp; while(CRGFLG_LOCK==0);&nbsp; //等待VOC(压控振荡器)稳定<BR>&nbsp;&nbsp;&nbsp;&nbsp; CLKSEL=0X80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //锁定锁相环时钟<BR>&nbsp; }</P><P>&nbsp;</P><P>void INITPWM(void)</P><P>{ <BR>&nbsp;PWME=0X00;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 1,5通道使能<BR>&nbsp;PWMCTL=0X50;&nbsp;&nbsp;&nbsp; //01,45级联<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;PWMPOL=0XFF;&nbsp;&nbsp;&nbsp;&nbsp; // 高电平有效&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;PWMCAE=0X00;&nbsp;&nbsp;&nbsp; //默认左对齐<BR>&nbsp;PWMPRCLK=0X00;&nbsp; //对时钟0分频<BR>&nbsp;PWMCLK=0X22;&nbsp;&nbsp;&nbsp; //A时钟频率24M<BR>&nbsp;PWMSCLA=3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //SA时钟频率4M<BR>&nbsp;PWMSCLB=3;<BR>&nbsp;PWMPER01=1000;&nbsp;&nbsp;&nbsp; <BR>&nbsp;PWMPER45=1000;&nbsp;&nbsp;&nbsp; //输出频率为4K<BR>&nbsp;PWMDTY01=750;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;PWMDTY45=0;&nbsp;&nbsp; //&nbsp; 控制占空比 <BR>&nbsp;PWME=0X22;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>}</P><P>&nbsp;</P><P>void main(void) </P><P>{ DisableInterrupts;<BR>&nbsp; <BR>&nbsp;&nbsp; <BR>&nbsp; INITPLL();<BR>&nbsp; INITPWM();<BR>&nbsp; EnableInterrupts;<BR>&nbsp; <BR>&nbsp;<BR>&nbsp; for(;;) { PORTB=~PORTB;} </P><P>}</P><P>结果电机总转不了,即使我们尝试用两块芯片并联,还是不行,电机部分已经调试好几天了,没有什么进展,请大家看看,到底是什么问题!谢谢</FONT></P>
作者: tjustar    时间: 2008-3-28 05:51
标题: Re:电机驱动问题
现用示波器或万用表看看PWM有没有波形输出?没有,八成是软件的问题;有输出,那就看你的33886接的有没有问题了
作者: hanjianbo    时间: 2008-3-28 17:48
标题: Re:电机驱动问题
我们用示波器看了,频率确实是4K,是不是这个两路PWM的调配上出了问题呢?
作者: hanjianbo    时间: 2008-3-29 00:36
标题: Re:电机驱动问题
<><FONT style="BACKGROUND-COLOR: #cce8cf">问题解决了,是PWM极性问题</FONT></P>
作者: heguohong    时间: 2008-4-1 19:09
标题: Re:电机驱动问题
33886是如何控制电机的啊?谢谢.
作者: liuaiping-99    时间: 2008-5-7 21:58
标题: Re:电机驱动问题
两块33886级联如何连呢 ??电路什么样
作者: 刘雪磊    时间: 2009-4-27 18:12
我也遇到这个问题了。怎么都转不了,怎么办啊???????????????????????????????????????????????????????????????????????????????????????????????????
作者: 534458635    时间: 2012-7-12 01:39





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2