智能车制作

标题: 第九届光电组 电机PWM初始化问题 [打印本页]

作者: Lotus_seed    时间: 2014-4-25 22:12
标题: 第九届光电组 电机PWM初始化问题
程序烧进去后,电机完全没反应。电机是光电组车模原配的。十有八九是程序问题。各位大哥大姐们帮忙看一下程序。
[attach]58995[/attach]
void  PWM_Init(void)
{


  PWMCTL_CON01=1;  //0和1联合成16位PWM

  PWMCAE=0x00; //选择输出模式为左对齐输出模式?????????
  PWMCNT01=0; //计数器清零????
  PWMPOL_PPOL1=1; //先输出高电平,计数到DTY时,反转电平?????????
  PWMPRCLK = 0; //clock?A不分频,即clock?A=busclok???????????????????????
  PWMSCLA = 20; //对clock?SA进行分频,PWM?clock=clockA/(2*20)=1MHz???????????????????
  PWMSCLB = 20; //对clock?SA进行分频,PWM?clock=clockA/(2*20)=1MHz???????????????????
  //PWMPER01 = 3333; //周期为3.3ms;300Hz?
  PWMPER01 = 20000; //周期为20ms;50Hz?????????????????????????
  PWMCLK_PCLK1 = 1; //选择clock?SA作时钟源??????
  PWMCTL_PSWAI=1;     //不准许等待模式下分频时钟禁止运行
  PWMCTL_PFRZ=1;   //不准许冷结模式下PWM波形输出



  PWMCTL_CON45=0;  //0和1联合成16位PWM
  PWMCNT4=0; //计数器清零????
  PWMCNT5=0; //计数器清零????
  PWMPOL_PPOL4=1; //先输出高电平,计数到DTY时,反转电平?????????
  PWMPOL_PPOL5=1; //先输出高电平,计数到DTY时,反转电平?????????
  //PWMPER01 = 3333; //周期为3.3ms;300Hz?
  PWMPER4 = 200; //周期为0.020ms;50Hz?????????????????????????
  PWMPER5 = 200; //周期为0.020ms;50Hz?????????????????????????
  PWMCLK_PCLK4 = 1; //选择clock?SA作时钟源??????
  PWMCLK_PCLK5 = 1; //选择clock?SA作时钟源??????


  PWMDTY01=1300;   //舵机  1300 为中  900 1000 1100 1200    1300    1400 1500  1600  1700
  PWMDTY4=15;   //电机  
  PWMDTY5=45;   //电机  

  PWME=0x33; //PWM1通道使能????


   }



作者: Lotus_seed    时间: 2014-4-25 22:12
S128系统
  MCU: MC9S12XS128MAL - 112Pin
OSC: 16.000MHz
BUS: 40.0MHz
作者: Lotus_seed    时间: 2014-4-25 22:13
舵机是正常的
作者: 时光机╰'    时间: 2014-4-25 22:42
驱动有问题吗?示波器看下波形呗~
作者: 一亩田    时间: 2014-4-25 22:46
一步步来检查呗,先检查io口输出是否正常,不正常那就是程序问题,正常就再检查驱动输入,再检查驱动输出。检查电路有没有虚焊,没焊什么的。

作者: 纸船    时间: 2014-4-25 22:54
仿写吧,80M主频的
void PWM_Init(void)
{

  PWME=0x00;
  PWMCTL=0x70;      // 在通道1,3,5输出//01级联//23级联//45级联
  PWMPOL=0x2a;       //1,3,5通道初始输出高电平
  PWMCLK=0x00;      /*全选 A B*/
  PWMPRCLK=0x43;    //Busclock/16=5MHZ duo ji     dian ji  10MHZ
  PWMCAE=0x00;      //左对齐方式输出
  PWMPER01=1000;    //01通道  10Khz
  PWMDTY01=420;
  PWMPER23=20000;   //250Hz
  PWMDTY23=7750;     //舵机在中间
  PWMPER45=1000;
  PWMDTY45=580;                    
  PWME=0x2a;        //通道3,1使能  
}
作者: 听海观月    时间: 2014-4-25 23:06
楼主敢不敢把电机直接接到电池上试试好坏
作者: nfdianzi    时间: 2014-4-25 23:40
顶一下
作者: 破风浪挂云帆    时间: 2014-4-26 01:19
听海观月 发表于 2014-4-25 23:06
楼主敢不敢把电机直接接到电池上试试好坏

是个好方法

作者: 灬爱    时间: 2014-4-26 02:12
写的太繁琐了!
作者: 避风港1717    时间: 2014-4-26 08:50
我可以说pwmdty4和5不能同时给值吗?
作者: 超超超超人    时间: 2014-4-26 12:17
听海观月 发表于 2014-4-25 23:06
楼主敢不敢把电机直接接到电池上试试好坏

为什么不敢啊,有什么损害么,我就试过

作者: 听海观月    时间: 2014-4-28 08:44
超超超超人 发表于 2014-4-26 12:17
为什么不敢啊,有什么损害么,我就试过

没啥损害啊,我拿到一个电机就这样干一次啊

作者: 梦想和平    时间: 2014-7-17 20:59
大神,你那有舵机控制程序吗???




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