![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| TMS320LF2407无刷直流电动机调速控制程序(1) | |||||
作者:61IC 文章来源:本站原创 点击数: 更新时间:2007-1-16 ![]() |
|||||
|
《无位置传感器的无刷直流电动机调速控制程序》 .INCLUDE "240x.H" ;--------------------------------------以下定义常数和变量-------------------------------------------------- KP .SET 245 ;电流调节比例系数, 0.12的Q11格式 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 ;PWM1~6全部高电平输出 SPLK # 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 | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|