dsp在生活中的应用之步进电机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
void c_int2( ) { if( PIVR !=-0x 27 ) { asm(" CLRC INTM " ); return; } TICNT=0 ; if(Y<X)jiasu( ); if (Y==X)hengsu( ); if (Y>X)jiasu( ); EVAIFRA=0x80; asm ( "CLRC INTM " ); } Void jiasu( ) { Z=X; if (SREP!=0)STEP--; else {X=X-10;STEP=100;} }
基于dsp的步进电机控制应用
By:王新悦 B1201304
dsp微处理器的优势
DSP是目前流行的微处理器,是以数字信号来处理大量信息
的器件它不仅具有可编程性,而且实时运行速度可达每秒执行
数以千万条的复杂指令程序,远远超过通用微处理器,是数字
化电子世界中日益重要的计算机芯片。由于其强大的数据处理 能力和高运行速度,可用于自动控制、语音和图像处理 多个领
Void hengsu( ) { SPEEDCN--; if(SPEEDCN= =0) Y=Y+10;Z=Y; }
Void Kickdog( ) { WDKEY=0x5555; WDKEY=0xAAAA; }
END
By:王新悦 B12011304
本系统采用上述2种不同的原理对3台步进电动机进行控制。2种原理不同之 处在于通用定时器Timer X与内部时钟比较产生脉冲TXPWM未设有自带死区 单元,需要通过程序设计给出死区单元,所用到的寄存器有TXCMPR、
TXCON等;而通用定时器与比较单元比较产生脉冲PWM自带有死区单元,所
用到的寄Βιβλιοθήκη Baidu器有CMPRX等。下述为通过比较单元产生脉冲的原理对1台步进 电动机进行控制应用的例子。
void PWM_ Init( ) { MCRA=MCRA | 0x 00C0; EVAIFRA=0xFFFF; ACTRA=0x0006; DBTCONA=0x 530 ; TIPR=X; CMPRI = XPWM; COMCONA=0x A600; TICNT=0; EVAIMRA=0x0080; TICON =0x144E ;
1)目标。实现步进电动机从初速度X逐渐加速到Y,保持恒速一段 时间,再逐渐减速到停止,电动机顺时针转动。 2)方案。采用匀加、减速曲线方式,由初过度X加速至恒速Y,每 级100步,每升1级,速度值加10(即速度周期寄存器TIPR数值减 10),保持一段时间,直到恒速Y步数走完,进入减速阶段,由恒 速Y开始减速,直到减速步数走完后停止。利用EVA模块中的通用 定时器1产生比较时钟,PWM1和PWM2引脚比较输出带死区单元 的PWM波,改变定时器1的周期寄存器TIPR的值可调节电动机转 速,PWM3输出(引脚)强制高使电动机顺时针转动。
履带-腿式移动机构由执行装置,传动装置和行走装置3部分构
成,如图1所示。正常行驶时,履带环两侧的摆臂收起,步进电
动机1和2控制履带环的运动,越障时,需使摆臂配合动作,由 步进电动机3控制摆臂的转动。
a)俯视图
图1
控制系统的设计
硬件设计
控制系统分为5个部分,分别为PC机,仿真器,DSP,电动机驱 动器和步进电动机,在PC机上通过软件CCS发出指令,利用仿
真器将PC机与DSP链接,DSP控制部分负责发送步进电动机所
需的相序信号和PWM波,还负责与外部通信,电动机驱动器采 用高集成度步进电动机控制专用驱动步进电动机。
图2
软件设计
DSP一般有2个事件管理器EVA和EVB,每个事件管理器均包括2个通 用定时器(GP)和3个比较单元等。可使每个通用定时器通过自身 的比较方式独立地提供1个PWM输出;另外,每个比较单元和相应 的通用定时器共同作用可产生2路PWM输出。这样通过比较操作2 个事件管理器,总共可以产生多达16路的PWM输出(引脚),为 多台步进电动机的同步控制提供了必要条件。每个步进电动机需要 3路PWM输出( 引脚),其中2路PWM输出( 引脚 )产生一路带死区单 元的PWM波,用来控制电动机的转速;另―路PWM输出(引脚 )通 过强制高或低来控制电动机的转向。
3)程序。部分程序如下。
include " global. c" void SystemInit( ) ; void PWM _Init( ) ; void jiasu( ); void hengsu( ); void jiansu( ); void KickDog( ); int X, Y , Z , SPEEDCN , SPEEDWN , STEP =100 ; main( ) { SystemInit( ); MCRA= MCRA & 0xC0FF ; XPWM= 2400 ; PWM_Init( ) ; asm( " CLRC INTM " ) ; while(SPEEDWN ! = 0) ; }
void SystemInit( ) { asm( " SETC INTM ") ; asm ( " CLRC SXM " ) ; asm( " CLRC CNF " ) ; asm (" CLRC OVM " ) ; SCSRI =0x83FE ; WDCR= 0x006F ; KickDog(); IFR=0xFFFF ; IMR=0x 0002; }
域。
步进电动机和普通电机的区别
步进电动机作为执行元件,和普通电动机的区别在于其驱动形 式为脉冲驱动,可以通过控制脉冲个数来控制角位移量,达到
准确定位的目的。同时可以通过控制脉冲频率来控制电动机的
转速和加速度,达到调速的目的,在高响应、高精度的速度位 置等控制领域中,步进电动机被广泛地应用。
履带-腿式移动机构