首页 论坛 原厂专区 TI MCU 利用MSP430的PWM功能实现电机的调速(可实现精确调速)

发帖 回复

[资料] 利用MSP430的PWM功能实现电机的调速(可实现精确调速)
1923 查看
9 回复
 楼主 | 发布于 2018-09-27 | 只看楼主
分享到:
/*
               
                        电机PWM调速原理演示程序


   程序说明:利用定时器TA产生固定周期的方波,控制方波高电平时间即可控
             制平均输出功率。这种控制方法称为PWM调制。
                 MSP430单片机的定时器TA可以在无需CPU干预的情况下输出2
             路PWM调制波形。用其中一路(TA1)通过三极管驱动电动机。只要
             写CCR1寄存器即可随时改变占空比,从而改变电机功率。这种控
             制方法功率损失很小(控制元件导通/截至都不耗电),效率高。


  (C)西安电子科技大学 测控技术与仪器教研中心 编写:谢楷 2008/01/31 
  
*/
//
//
//               MSP430FE425
//            -----------------
//           |              XIN|-
//           |                 |   32kHz
//           |             XOUT|-
//           |                 |
//           |         P1.2/TA1|----->三极管驱动--->小马达  
//           |         (CCR1)  |     _    _    _    _
//           |                 |   _| |__| |__| |__| |_
//           |                 |       40%~100% PWM
//


#include <MSP430X42X.h>


void Sys_Init()
{
  WDTCTL=WDTPW+WDTHOLD;  //停止看门狗
  FLL_CTL0|=XCAP18PF;	  //配置晶振负载电容
  P1DIR |= BIT2;                            // P1.2  output
  P1SEL |= BIT2;                            // P1.2  TA1 otions 
  TACTL = TASSEL_1 + MC_1;                  // ACLK, up mode
  CCR0 = 500;                               // PWM Period
  CCTL1 = OUTMOD_7;                         // CCR1 reset/set
  CCR1 = 200;                               // CCR1 PWM duty cycle

}

void main( void )
{  int i;
   char SpeedMode=0;
   Sys_Init();
   while(1)
   {
     for(i=0;i<4000;i++);  //延迟

     if(SpeedMode==0)      //加速模式下
      {
       CCR1++;             //占空比不断提高
       if(CCR1>=500) SpeedMode=1; //到达100%后转为减速模式
      } 
     if(SpeedMode==1)      //减速模式下
      {
       CCR1--;             //占空比不断降低
       if(CCR1<=200) SpeedMode=0; //到达40%后转为加速模式
     }     
   }
}
(0 ) (1 )
回复 举报

楼主 | 回复于 2018-09-27 沙发

(0 )
评论 (0) 举报

楼主 | 回复于 2018-09-27 2#

(0 )
评论 (0) 举报

回复于 2018-09-28 3#

不错,感谢分享
(0 )
评论 (0) 举报

回复于 2018-10-10 4#

顶一个~
(0 )
评论 (0) 举报

回复于 2018-10-10 5#

感谢
(0 )
评论 (0) 举报

回复于 2018-10-10 6#

谢谢分享!
(0 )
评论 (0) 举报

回复于 2018-10-11 7#

感谢分享
(0 )
评论 (0) 举报

回复于 2018-10-19 8#

感谢分享,有需要机器人方案的可联系我,相互学习,共同进步
(0 )
评论 (0) 举报

回复于 2022-12-02 9#

不错啊
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部