智能车制作

标题: 舵机初始化可以转动,改变占空比无效!? [打印本页]

作者: 漫无止尽的八月    时间: 2013-1-30 14:38
标题: 舵机初始化可以转动,改变占空比无效!?
舵机初始化可以按指定的占空比转动到指定方向,但是接下来改变占空比PWMDTY舵机怎么也不转,
一开始初始化,完全正常的转到指定位置,延时后,改变占空比,没反应,然后我改用定时中断,1S一次修改占空比也是没反应···
搞了2天了还是不得要领啊,放下愚蠢的程序,求各位大侠看看···


#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

static void PWM_Init(void)
{     
    //SB,B for ch2367
    //SA,A for ch0145   

    PWMCTL_CON01=1;
作者: 漫无止尽的八月    时间: 2013-1-30 14:40
忘记说了!我的是MC9S12XS128控制舵机FUTABA S3010~~~~
作者: 漫无止尽的八月    时间: 2013-1-30 14:41
程序没贴上?第一次发帖···不好意思·····

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

static void PWM_Init(void)
{     
    //SB,B for ch2367
    //SA,A for ch0145   
      
    PWMCTL_CON01=1;                  //0和1联合成16位PWM;
    PWMCAE_CAE1=0;                        //选择输出模式为左对齐输出模式
    PWMCNT01 = 0;                                //计数器清零;
    PWMPOL_PPOL1=1;                        //先输出高电平,计数到DTY时,反转电平
    PWMPRCLK = 0X40;    //clockA不分频,clockA=busclock=16MHz;CLK B 16分频:1Mhz   
    PWMSCLA = 4;        //对clock SA 进行2*4=8分频;pwm clock=clockA/8=1MHz;     
    PWMCLK_PCLK1 = 1;   //选择clock SA做时钟源
    PWMPER01  =  20000;   //周期20ms; 50Hz;(可以使用的范围:50-200hz)
    PWMDTY01  =  555;   //高电平时间为1.5ms;  
    PWME_PWME1 = 1;        
}

void Pwm01_duty(unsigned int duty)
{
          PWME&= ~0x02;                                               //禁止PWM通道1
         
          PWMDTY01 = duty;                                            //极性为1时,占空比= PWMDTY23/PWMPER23
         
          PWME|= 0x02;                                                       //使能PWM通道3       
       
}

void main(void) {
  /* put your own code here */
  DDRB=0X0F;
  PORTB=0XFF;
  PIT_init();

        PWM_Init();

       
        Delay_ms(5000);
        Pwm01_duty(1555);


        EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */


   
  } /* loop forever */
  /* please make sure that you never leave main */
}
作者: melon_1    时间: 2013-2-1 20:18
这个1555已经差不多是静止的了,多设置几组看看
作者: 漫无止尽的八月    时间: 2013-2-2 18:57
问题找出来了····舵机运行的时候单片机的电压被拉低了,然后就断电了····
作者: ludlee    时间: 2013-2-2 18:59
换一下参数
作者: 顺⑦.zì繎.    时间: 2013-4-17 23:41
漫无止尽的八月 发表于 2013-2-2 18:57
问题找出来了····舵机运行的时候单片机的电压被拉低了,然后就断电了····

那请问楼主是怎么解决的呢?

作者: 漫无止尽的八月    时间: 2013-5-3 12:45
顺⑦.zì繎. 发表于 2013-4-17 23:41
那请问楼主是怎么解决的呢?

当时我没有稳压电源,拿的是BDM供电的,所以抬不起来·······

作者: 顺⑦.zì繎.    时间: 2013-5-9 22:23
漫无止尽的八月 发表于 2013-5-3 12:45
当时我没有稳压电源,拿的是BDM供电的,所以抬不起来·······

一般都要加稳压源的,不然电源电压不稳定

作者: 厌倦ァswing    时间: 2013-5-17 14:47
melon_1 发表于 2013-2-1 20:18
这个1555已经差不多是静止的了,多设置几组看看

静止的时候,你去手扳舵机,能轻易扳动吗?

作者: melon_1    时间: 2013-5-17 20:58
厌倦ァswing 发表于 2013-5-17 14:47
静止的时候,你去手扳舵机,能轻易扳动吗?

上电的时候不能去掰,,,,,断电才可以





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