智能车制作

标题: 示波器看到PWM波了,但是舵机没有动,悲剧,难道舵机坏了? [打印本页]

作者: k410533234    时间: 2010-4-8 21:38
标题: 示波器看到PWM波了,但是舵机没有动,悲剧,难道舵机坏了?
示波器看到PWM波了,但是舵机没有动,悲剧,难道舵机坏了?
程序如下,哪位高人指点一二啊,怎么才能知道舵机是好还是坏的啊


#include <hidef.h>      /* common defines and macros */
#include <mc9s12xs128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void PLL_init(void)
{
CLKSEL=0 ;        
PLLCTL_PLLON=0;  
PLLCTL_PRE=1;   
PLLCTL_PCE=1;   
PLLCTL_SCME=1;  
PLLCTL_CME=1;     
PLLCTL_PLLON=1;
SYNR=8;         
REFDV=0X07;     
while(!CRGFLG_LOCK)
CLKSEL_PLLSEL=1;
}
void PWM_init(void)
{
PWME=0;              
PWMCNT01=0;
PWMCTL_CON01=1;   
PWMCTL_CON45=0;  
PWMCTL_PSWAI=1;   
PWMCTL_PFRZ=1;   
PWMPOL=0X03;     
PWMCLK=0X33;     //01、45分频
PWMPRCLK=0X03;   //A_CLOCK=BUS_CLOCK/8=3MHZ
PWMSCLA=15;      //SA_CLOCK=A_CLOCK/2*15=100KHZ
PWMCAE=0X00;     //输出波形左对齐,否则中心对齐
PWMDTY01=100;
PWMPER01=2000;   //设置PWM01通道频率100KHZ/2000=50HZ
PWMPER4=20;      //设置PWM4频率为5KHZ
PWMPER5=20;
PWMDTY5=100;
PWMDTY4=100;      // 占空比为1:1
PWME=0X13;       //使能PWM 0001  0011
}
  void delayms(int ms)
{   
   int ii,jj;
   if (ms<1) ms=1;
   for(ii=0;ii<ms;ii++)
     for(jj=0;jj<3338;jj++);    //40MHz--1ms      
}
void main(void)
{
   int a,c,d;
   PLL_init();
   PWM_init();
   DDRB=0XFF;
   PORTB=0XF0;
  for(c=0;c<1000;c++)
  {
    for(a=0;a<2;a++)
   {  
   PWMDTY01=120;
     PORTB=0xaa;
     delayms(500);
   }
   for(d=0;d<2;d++)
   {              
   PWMDTY01=1200;
     PORTB=0xc1;
     delayms(500);
   }
  }
}
作者: lj00000lj    时间: 2010-4-8 21:38
我也和你有过同样的经历,我的解决方法是,占空比应该给小一些,首先你应该知道你程序写完,你给的输出周期是多少,舵机是实际调出来的,示波器很容易看,可是舵机不是很好调,加油吧!!!
作者: chiusir    时间: 2010-4-8 22:37
借一个好用的舵机试试看,可以确定是舵机还是单片机的问题
作者: xbhan_06    时间: 2010-4-9 10:55
你加电源了吗?
作者: k410533234    时间: 2010-4-9 20:21
显然加了,……
作者: k410533234    时间: 2010-4-9 20:21
显然加了,……
作者: xiaohaipolang    时间: 2010-4-9 21:54
没遇到过
作者: liang110034    时间: 2010-4-9 23:54
你“地线”接到一起了吗?
作者: jiutian0396    时间: 2010-4-11 09:40
是啊,先检查下线路有问题吗,程序没发现问题
作者: 风里达    时间: 2010-4-11 10:58
回复 6# k410533234


   新车模的电池怎么保管啊
作者: 霜~哀伤    时间: 2010-4-11 11:35
上来别用100%占空比,还有频率需要看舵机规格~
作者: fengnan    时间: 2010-4-11 21:24
你的电压幅值太小
作者: ming112    时间: 2010-4-19 16:06
这个可以调试!
作者: jupiterwjj    时间: 2010-4-22 11:30
好像程序有问题哦
作者: jupiterwjj    时间: 2010-4-22 11:30
好像程序有问题哦
作者: dzy130120    时间: 2010-4-23 08:54
试一下别人舵机,有可能是舵机不好使,我那个接上也不转,我把舵机拆开才发现连接电机的焊点就没焊,我自己焊上后就好了
作者: luoguoying    时间: 2010-4-23 18:50
占空比是从2.5%到13%左右比较合适,这时转角从正90°到负90°。
作者: shuixingoo    时间: 2010-5-20 21:28
把这句话#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
改成#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
试试
作者: 星雨    时间: 2010-5-21 15:20
不用猜就知道你的车模是B型吧。B的舵机太垃圾了,负重时转动时迟滞的,不灵敏,设置了某一个PWM,可是舵机仍然不动,很烦人
作者: lhqx    时间: 2010-5-24 22:11
kankan
作者: machuan20082006    时间: 2010-12-9 16:26
不懂 先看看
作者: zhoutialing    时间: 2010-12-12 18:09
舵机的转角看高电平维持的时间 中心脉宽一般在1.5ms左右 和舵机的安装结构也有关 6ms左右也是有可能的
作者: 寒塘鹤影    时间: 2011-5-21 19:53
打酱油




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