智能车制作

标题: K60调试SD5舵机时,LM2940发烫严重,探讨一下子! [打印本页]

作者: X【②⑥】    时间: 2014-2-22 22:53
标题: K60调试SD5舵机时,LM2940发烫严重,探讨一下子!
芯片:K60。问题:初始化FTM1_pwm模块频率150HZ,SD5舵机频率在50HZ——300HZ,没有超过频率,为何LM2940稳压芯片会严重发烫?舵机本身没坏,放到XS128那组还是能用的。望知识帝给点指导,感激不尽。/*********************************************************************
  1. /*********************************************************************
  2. * 函  数  名:FTM1_PWM_Init
  3. * 功      能:FTM1模块PWM功能初始化函数
  4. * 参      数:freq--期望频率,单位Hz
  5. * 返  回  值:0--配置错误      1--配置成功
  6. ********************************************************************/
  7. uint8_t FTM1_PWM_Init(uint32_t freq)
  8. {
  9.   uint32_t bus_clk_hz;
  10.   uint32_t mod;
  11.   uint8_t ps;

  12.   bus_clk_hz = periph_clk_khz*1000;
  13.   
  14.   if(freq>bus_clk_hz) return 0;
  15.   
  16.   if((mod=bus_clk_hz/(freq*128)) < 0xFFFFu)
  17.   {
  18.     ps = 7;
  19.     CAR_FTM1_MOD = mod;
  20.     if((mod=bus_clk_hz/(freq*64)) < 0xFFFFu)
  21.     {
  22.       ps = 6;   
  23.       CAR_FTM1_MOD = mod;  
  24.       if((mod=bus_clk_hz/(freq*32)) < 0xFFFFu)
  25.       {
  26.         ps = 5;
  27.         CAR_FTM1_MOD = mod;  
  28.         if((mod=bus_clk_hz/(freq*16)) < 0xFFFFu)
  29.         {
  30.           ps = 4;  
  31.           CAR_FTM1_MOD = mod;   
  32.           if((mod=bus_clk_hz/(freq*8)) < 0xFFFFu)
  33.           {
  34.             ps = 3;
  35.             CAR_FTM1_MOD = mod;
  36.             if((mod=bus_clk_hz/(freq*4)) < 0xFFFFu)
  37.             {
  38.               ps = 2;
  39.               CAR_FTM1_MOD = mod;
  40.               if((mod=bus_clk_hz/(freq*2)) < 0xFFFFu)
  41.               {
  42.                 ps = 1;
  43.                 CAR_FTM1_MOD = mod;
  44.                 if((mod=bus_clk_hz/(freq*1)) < 0xFFFFu)
  45.                 {
  46.                   ps = 0;
  47.                   CAR_FTM1_MOD = mod;
  48.                 }
  49.               }
  50.             }
  51.           }
  52.         }  
  53.       }
  54.     }
  55.   }
  56.   else
  57.   {
  58.     return 0;
  59.   }
  60.   
  61.   // 使能FTM时钟模块
  62.   SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;
  63.   
  64.   // 配置FTM控制寄存器
  65.   // 禁用中断, 加计数模式, 时钟源:System clock(Bus Clk), 分频系数:8
  66.   // 假设SysClk = 50MHz, SC_PS=3, FTM Clk = 50MHz/2^3 = 6.25MHz
  67.   FTM1_SC = FTM_SC_CLKS(1)|FTM_SC_PS(ps);
  68.   
  69.   // 设置PWM周期及占空比
  70.   //    PWM周期 = (MOD-CNTIN+1)*FTM时钟周期 :
  71.   // 配置FTM计数初始值
  72.   FTM1_CNT = 0;
  73.   FTM1_CNTIN = 0;
  74.   // 配置FTM计数MOD值
  75.   FTM1_MOD = CAR_FTM1_MOD;
  76.   
  77.   return 1;
  78. }
复制代码




作者: X【②⑥】    时间: 2014-2-22 22:54

作者: jmucycx2010    时间: 2014-2-22 23:10
频率太高了
作者: skssg0525    时间: 2014-2-22 23:12
jmucycx2010 发表于 2014-2-22 23:10
频率太高了

学长回答的真好啊。

作者: X【②⑥】    时间: 2014-2-22 23:13
jmucycx2010 发表于 2014-2-22 23:10
频率太高了

  100HZ也试过,也烫

作者: MLDWXX    时间: 2014-2-22 23:19
估计是舵机出了问题。我上次也这样,把舵机拆开,原来是黑线和红线短路了。
作者: X【②⑥】    时间: 2014-2-22 23:33
MLDWXX 发表于 2014-2-22 23:19
估计是舵机出了问题。我上次也这样,把舵机拆开,原来是黑线和红线短路了。

换了一个舵机,也是烫的。不知道程序上,和这个发烫有没有关系

作者: rubick    时间: 2014-2-23 01:15
应该不是程序的问题
作者: MLDWXX    时间: 2014-2-23 10:20
那会不会是2940有问题
作者: 雪恨    时间: 2014-2-23 10:36
看看你的LM1940电压输出是否正常一般在4.96V左右,如果电压正常把舵机去掉看看是不是还发烫,如果还发烫那就是不是舵机的问题了。也不是程序的问题哈
作者: 冷霜    时间: 2014-2-23 17:46
有堵转的情况发生。。。
作者: X【②⑥】    时间: 2014-2-23 20:25
冷霜 发表于 2014-2-23 17:46
有堵转的情况发生。。。

我将舵机安装在车子上,然后用电流表串联在舵机的VCC输入端,当舵机摆向极限的时候,发现了电流有1.34A。 请问这样的测量方式合理吗?电流合理吗?

作者: 冷霜    时间: 2014-2-24 13:24
X【②⑥】 发表于 2014-2-23 20:25
我将舵机安装在车子上,然后用电流表串联在舵机的VCC输入端,当舵机摆向极限的时候,发现了电流有1.34A。 ...

资料上说的堵转电流为800mA 但我觉得没那么简单,一定不能长时间堵转。。。
作者: X【②⑥】    时间: 2014-2-24 20:48
问题解决了。附上解决方案。我们犯了个错误。1.就是将舵机拆下来,测了左右极限,然后依照这个左右极限装到了车子上,限于车子的结构,在跑的实际过程中,舵机是不可能达到拆下来时测得左右极限,所以舵机堵转了。2. 按照这个想法,将舵机安装到车子上,重新测了舵机在车子上的左右极限。问题解决了。
作者: 763375164@qq.co    时间: 2014-3-21 20:12
哥们,你的问题解决了没?是什么原因呢?

作者: X【②⑥】    时间: 2014-3-26 17:20
763375164@qq.co 发表于 2014-3-21 20:12
哥们,你的问题解决了没?是什么原因呢?

呵呵呵呵





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