网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C2000 >> 文章正文
  TMS320LF2407无刷直流电动机调速控制程序(1)         ★★★ 【字体:
TMS320LF2407无刷直流电动机调速控制程序(1)
作者:61IC    文章来源:本站原创    点击数:    更新时间:2007-1-16    

《无位置传感器的无刷直流电动机调速控制程序》

          .INCLUDE "240x.H"

;--------------------------------------以下定义常数和变量--------------------------------------------------

KP       .SET 245                    ;电流调节比例系数, 0.12Q11格式

KPS      .SET 100                    ;速度调节比例系数

          .BSS CAPT,1                 ;换相控制字

          .BSS COMP,1                ;更新占空比的比较值,由电流调节输出

          .BSS IDC_REF,1              ;电流参考值,由速度调节输出

          .BSS IDC_ERRORK,1         ;电流偏差

          .BSS FLAGCUR,1            ;更新比较值和换相标志,1-允许更新,0-不允许

          .BSS SPEED_REF,1           ;给定速度参考

          .BSS V_ERRORK,1           ;速度偏差

          .BSS SPEED_COUNT,1        ;速度调节环计数器

          .BSS V1,1                   ;相电压1

          .BSS V2,1                   ;相电压2

          .BSS V3,1                   ;相电压3

          .BSS NEUTRAL,1            ;中性点电压

          .BSS FLAG,1                ;感应电动势变符号标志,1-变了;0-没变

          .BSS FLAGUP,1              ;转过一机械转标志,1-没转过,0-转过

          .BSS BCOUNT,1              ;延迟时间更新值,磁定位时临时变量

          .BSS B2COUNT,1             ;延迟时间

          .BSS STALL,1                ;磁定位结束标志,1-结束,0-没结束

          .BSS ASYM,1                ;延时计算感应电动势计数器

          .BSS SPEEDFLAG,1          ;第一转时禁止速度调节标志,1-禁止,0-允许

          .BSS TIME                  ;每转时间计数器

          .BSS STACK,6               ;软堆栈区

;--------------------------------------定义主向量-------------------------------------------------------------

         .SECT "VECTORS"

RSVECT   B         _C_INT0           ;复位

INT1      B         PHANTOM         ;INT1

INT2      B         PHANTOM         ;INT2

INT3      B         PHANTOM         ;INT3

INT4      B         PHANTOM         ;INT4

INT5      B         PHANTOM         ;INT5

INT6      B         ADCINT           ;ADC中断

            …             ;

;--------------------------------------以下是程序-------------------------------------------------------------

         .TEXT

;--------------------------------------初始化程序--------------------------------------------------------------

_C_INT0

         SETC      CNF   

         CLRC      OVM               

         SETC      SXM                ;符号扩展

         SETC      INTM               ;关中断

         LAR       AR1,#STACK

         LDP       #0E0H

         SPLK      #68H, WDCR          ;不用看门狗

         SPLK      #0284H,SCSR1        ;10MCLKIN,20MCLKOUT

         LDP       #0E8H

         SPLK      #500,T1PR           ;PWM设置,周期50微秒

         SPLK      #0000H,T1CNT

         SPLK      #0FFFH,ACTRA        ;PWM16全部高电平输出

         SPLK      #01F4H,DBTCONA      ;死区1.6微秒

         SPLK      #500,CMPR1           ;占空比为0

         SPLK      #500,CMPR2 

         SPLK      #500,CMPR3

         SPLK      #8200H,COMCONA      ;允许比较,T1下溢重载

         SPLK      #0840H,T1CON        ;连续增减计数,内部时钟,不分频

         SPLK      #0100H,GPTCONA      ;T1周期中断标志启动AD转换

         LDP       #0E1H

         SPLK      #0FC0H, MCRA        ;引脚设置为PWM

         LDP       #0

         LACC      #020H

         SACL      IMR                 ;允许INT6中断

         LACC      IFR                 ;清标志

         SACL      IFR

         LDP        #0E8H

         LACC      EVAIFRA             ;清标志

         SACL      EVAIFRA

         LACC      EVAIFRB

         SACL      EVAIFRB

         LACC      EVAIFRC

         SACL      EVAIFRC

         SPLK       #0,EVAIMRA         ;屏蔽中断

         SPLK       #0,EVAIMRB

         SPLK       #0,EVAIMRC

         LDP        #0E1H              ;AD设置

         SPLK       #0500H,ADCTRL2     ;允许EVA启动AD转换

         SPLK       #0900H,ADCTRL1     ;10分频

         SPLK       #0003H,MAXCONV     ;4个转换通道

         SPLK       #3210H,CHSELSEQ1   ;ADCIN00-03通道

         CLRC      INTM                ;开总中断

;--------------------------------------变量初始化---------------------------------------------------------

         LDP        #0                 ;变量初始化

         SPLK      #020H,IDC_REF       ;磁定位电流

         SPLK      #0,IDC_ERRORK

         SPLK      #0300H,SPEED_REF    ;转速初值

         SPLK      #00112,COMP         ;最小占空比

         SPLK      #0000H,FLAGCUR

         SPLK      #0000H,SPEED_COUNT

         SPLK      #0000H,CAPT

         SPLK      #0000H,V1

         SPLK      #0000H,V2

         SPLK      #0000H,V3

         SPLK      #0000H,NEUTRAL

         SPLK      #0000H,FLAG

         SPLK      #0001H,FLAGUP       ;没转过一转

         SPLK      #0001H,SPEEDFLAG   ;禁止速度调节

         SPLK      #0000H,BCOUNT

         SPLK      #0000H,B2COUNT

         SPLK      #0000H,STALL

         SPLK      #0000H,ASYM

         SPLK      #0000H, V_ERRORK

         SPLK      #0000H,TIME

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TMS320LF2407上实现快速傅里…
    基于TMS320LF2407的馈线终端…
    TMS320LF2407控制GTG-128324…
    基于DSP的电动汽车CAN总线通…
    TMS320LF2407的将BCD码转换成…
    SVPWM,死区补偿,有电压电流A…
    基于TMS320LF2407的LCD的驱动…
    TMS320LF2407与D/A转换器的接…
    TMS320LF2407与MCG12864A8-3…
    TMS320LF2407与CAN驱动接口电…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号