基于DSP的步进电机控制模块设计_第1页
基于DSP的步进电机控制模块设计_第2页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DS基础与应用系统设计课程设计题目:基于DSP的步进电机控制模块设计名:院系:电力学院专业:电子科学与技术学号:指导教师:完成时间:2016年12月31日摘要电动机控制是工业自动化进程中一个相当重要的组成部分,随着工业自动控制对电动机控制产品需求的不断增加,现代电动机控制技术也变得越来越重要,微处理器已经广泛用于电动机控制领域。由于处理数据量的增加和对实时性的要求不断提高,传统的基于单片机的控制策略越来越不能满足需要,随着数字信号处理器(DSP)的迅速发展及性价比的不断提高,数字信号处理器应用于电动机控制领域已经成为一种趋势。因此研究DSP在控制系统中的应用也有重要的意义。关键词:电动机控制;

2、步进电动机;数字信号处理器;控制系统目录摘要1课程设计题目、内容与要求11.1 设计内容12.步进电机的介绍12.1步进电机的概念12.2步进电机的原理12.3步进电机的分类13系统设计23.1 DSP芯片的选择23.2系统框图23.3步进电机的DSP控制23.3.1 芯片在电机控制中的应用24.硬件电路设计34.1驱动电路44.2时钟电路44.3复位电路设计54.4外部存储器设计54.5JTAG仿真接口65程序设计75.1流程图75.2程序86实验现象87.总结98.参考文献9附录:101课程设计题目、内容与要求1.1 设计内容利用DSP设计一个步进电机控制模块。掌握使用DSP的扩展I/O端

3、口控制外围设备信息的方法。掌握使用DSP通用计时器的控制原理及中断服务程序的编程方法。了解步进电机的控制方法。1.2 具体要求(1) 完成硬件各部分的设计(2) 软件部分的设计。2.步进电机的介绍2.1 步进电机的概念步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。2.2

4、步进电机的原理当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。2.3 步进电机的分类目前常用的有三种步进电动机:(1) 反应式步进电动机(VR)。反应式步进电动机结构简单,生产成本低,步距角小;但动态性能差。(2) 永磁式步进电动机(PM)。永磁式步进电动机出

5、力大,动态性能好;但步距角大。(3) 混合式步进电动机(HB)。混合式步进电动机综合了反应式、永磁式步进电动机两者的优点,它的步距角小,出力大,动态性能好,是目前性能最高的步进电动机。它有时也称作永磁感应子式步进电动机3系统设计3.1 DSP芯片的选择本次课程设计选用的芯片为TMS320F28335DSP芯片。TMS320F28335型数字信号处理器TI公司的一款TMS320C28X系列浮点DSP控制器。与以往的定点DSP相比,该器件的精度咼,成本低,功耗小,性能咼,外设集成度高,数据以及程序存储量大,A/D转换更精确快速等。TMS320F28335具有150MHz的高速处理能力,具备32位浮

6、点处理单元,6个DMA通道支持ADC、McBSP和EMIF,有多达18路的PWM输出,其中有6路为TI特有的更高精度的PWM输出(HRPWM),12位16通道ADC。得益于其浮点运算单元,用户可快速编写控制算法而无需在处理小数操作上耗费过多的时间和精力,与前代DSC相比,平均性能提高50%,并与定点C28x控制器软件兼容,从而简化软件开发,缩短开发周期,降低开发成本°F2833X在保持150MHz时钟速率不变的情况下,新型F2833X浮点控制器与TI前代领先数字信号控制器相比,性能平均提高50%。与作用相当的32位定点技术相比,快速傅立叶转换(FFT)等复杂计算算法采用新技术后性能提

7、升了一倍之多。3.2系统框图3.3步进电机的DSP控制3.3.1芯片在电机控制中的应用DSP器件具有较高的集成度,具有比单片机更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓冲器,提供高速、同步串口和标准异步串口。最为突出的是,DSP器件精简的指令系统(大多数指令能在一个指令周期内完成)、独立的程序和数据空间等使其具有高速的数据运算能力。采用基于DSP的电机专用集成电路的另一个好处是,可以降低对传感器等外围器件的要求。而且,DSP控制器能自接以动态控制方式运行,无需依赖于过去查寻图表的方式。在高速控制中,使用DSP可进行通常的位检测和逻辑运算以及高速数据传送。随着价格的日益下降,

8、性能不断提高,采用DSP器件代替单片机来控制电机将成为电机控制的发展趋势。DSP用于电机控制有很多好处:(1)执行高级运算,减少力矩纹波,从而低振动、长寿命;(2)高级运算使得谐波小,很容易满足国家标准要求,降低滤波器成本;(3)提供无传感器运算,省去位置和速度传感器;(4)减少查询表,降低内存需求;(5)实时产生平滑的、近乎完美的参考模型,获得好的性能;(6)控制逆变器,产生高精度PWM输出;(7)提供单片控制系统。3.3.2步进电机的DSP控制原理DSP事件管理器的比较单元总共可以产生12路PWM脉冲,算上通用定时器的比较操作总共可以提供16路PWM。每个步进电机需要2路PWM,路用于转向

9、控制,一路用于步进控制。步进电机的驱动电路是根据控制信号工作的,在步进电机的DSP控制中,控制信号是由DSP产生的。其基本控制作用如下:(1)换相顺序步进电机的通电换相顺序是严格按照步进电机的工作方式进行的,通常把通电换相这一过程称为“脉冲分配”。例如,三相步进电动机的单三拍工作方式,其各相通电的顺序为ABC,通电控制脉冲必须严格地按照这一顺序的分别控制A,B,C相的通电和断电。(2)步进电机的转向通过前面介绍的步进电动机的原理我们已经知道按给定的工作方式正序通电换相步进电机就正转;如果按反序通电换相,则电机就反转。例如四相步进电动机工作在单四拍方式,通电换相的正序是ABCD,电动机就正转,如

10、果按反序ADCB,电动机就反转。(3)步进电机的速度如果给步进电动机发一个控制脉冲,它就转一个步距角,再发一个脉冲,它会再转一个步距角。两个脉冲的间隔时间越短,步进电机就转得越快,因此,脉冲的频率决定了步进电机的转速。4.硬件电路设计14图2.系统控制硬件框图4.1 驱动电路4.1.1驱动器的选择设计中,执行元件选用的是两相混合步进电机,故可用CPLD和L298两芯片可方便地组成步进电动机控制驱动器,其中CPLD是步进电动机控制器(包括环形分配器),L298是双H桥式驱动器。它们所组成的微处理器至双桥式步进电动机的接口的优点是,需要的元件很少,从而使得装配成本低,可靠性高和占空间小。并且通过软

11、件开发,可以简化和减轻微型计算机的负担。(1)L298芯片的介绍L298N为SGS-THOMSONMicroelectronics所出产的双全桥步进电机专用驱动芯片(DualFull-BridgeDriver),内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号,。L298N之接脚如图9所示,Pinl和Pinl5可与电流侦测用电阻连接来控制负载

12、的电路;OUTl、OUT2和OUT3、OUT4之间分别接2个步进电机;inputlinput4输入控制电位来控制电机的正反转;Enable则控制电机停转。4.2时钟电路TMS320F28335上有一个基于PLL电路的片上时钟模块,为CPU及外设提供时钟有两种方式:一种是用外部的时钟源,将其连接到XTAL1引脚上或者XCLKIN引脚上,XTAL2接地;另一种是使用振荡器产生时钟,用30MHz的晶体和两个20PF的电容组成的电路分别连接到XTAL1和XTAL2引脚上,XCLKIN引脚接地。我们常用第二种来产生时钟。此时钟将通过一个内部PLL锁相环电路,进行倍频。由于F28335的最大工作频率是15

13、0M,所以倍频值最大是5。其中倍频值由PLLCR的低四位和PLLSTS的第7、8位来决定。时钟电路如下:XTAL1|C丄11LOMHz_|20/XTAL2cP-图3.时钟电路4.3复位电路设计TMS320F28335芯片具有复位操作功能。引脚RS为复位电平输入引脚,此引脚输入低电平时复位有效。RS是不可屏蔽的外部中断,并具有最高优先级,可以在上电或芯片工作的任何时候进行复位,以便把TMS320F28335芯片置为初始状态。通常在上电之后,系统的振荡器处于不稳定的起振工作阶段,芯片也就处在未知状态,因此,在每次上电之后都应使芯片处于复位状态,即使RS引脚电平为低。本次设计采用的复位电路由3.3V

14、电源接通DSP的RST引脚,达到复位的目的。|R24Jloe图4.复位电路4.4外部存储器设计我们在芯片外扩展了64K*16位的存储器,存储器占用的地址空间共有256K,因此片外存储器实际占用的地址是0x0100000-0x0110000,其他的部分暂时没有使用,如果有特殊需要,可以最多放置512K的存储器。片外扩展的存储器型号是IS61LV6416,这种器件可以按照8位或16位的方式使用,它的电平可以和通常的3.3V器件连接。存储器与DSP连接的示意图如下所示。1SCS7XWEXRDA15-A0D15-D0图5.存储器与DSP连接的示意图外扩的存储器可以实现随机访问,这部分映射空间可以在DS

15、P上电复位后的任何时候访问,此时不需要对DSP做任何初始化。如果需要这部分存储器在高速的状态下运行,需要修改DSP的存储器等待状态。具体设置DSP的存储器和数值可以参考TMX320F28335数据手册。一般来说,为保证存储器的稳定读写,当DSP在最高速状态运行时,只需要1个软件等待状态。4.5JTAG仿真接口JTAG目标器件通过专用的仿真端口支持仿真,此端口由仿真器直接访问并提供仿真功能。JTAG接口电路为仿真器与微机的接口电路,便于系统进行在线调试。在仿真器和JTAG目标系统之间提供高质量的信号是极为重要的,用户必须提供正确的信号缓冲,测试时钟输入以及多处理器的内部连接,以确保仿真器和目标系

16、统良好工作。为了便于DSP写入程序,设计了JTAG仿真接口。如图3-10所示:电路与DSP的TMS,TDI,TDO,TCK,EMUO,TRST,EMU1的引脚相连组成JTAG仿真接口。TMS引脚带内部上拉的JTAG方式选择,该串行控制输入在TCK的上升沿锁存到TAP控制器中。TDI引脚带内部上拉JTAG测试数据输入,在TCK的上升沿从TDI输入的数据的锁存到选定的寄存器中。TDO为JTAG扫描输出,测试数据输出,在TCK的下降沿,选定寄存器的内容被移出到TDO的引脚。TCK为带内部上拉的JTAG测试时钟。EMU0带内部上拉仿真器I/O引脚,当TRST引脚被拉高时,该引脚用作仿真器的中断,通过J

17、TAG扫描可定义为I/O引脚;TRST引脚带内部下拉的JTAG的测试复位,当TRST拉高时,扫描控制系统的控制控制器运行,若该引脚未接或低电平时,控制器运行在功能方式,并且测试复位信号无效。EMU1仿真器引脚,该引脚禁止所有的输出,当TRST引脚拉高时,该引脚用作来自或到仿真器的中断。相反,该引脚为OFF引脚。JTAG5程序设计5.1流程图1)中断程序图6.JTAG仿真电路图7中断程序2)主程序图8主程序5.2 程序见附录一6实验现象可以看到显示/控制模块上的电机指针在转动,使用“4”和“6”键可控制其转动方向。7. 总结本次设计主要研究基于DSP的步进电动机控制系统的实现和设计。论文的主要工

18、作总结如下:(1)系统总体方案设计:选取TI公司的TMS320F28335DSP作为控制核心。(2)在硬件控制系统方面,详细讨论步进电机的DSP控制方法,完成了电机驱动、按键控制、PWM产生以及各种外围电路等单元的设计和调试,极大地简化了系统组成,提高系统的运行速度。(3)在软件控制系统方面,详细讨论了该控制系统的组织体系结构,设计了控制单元的软件系统,完成了系统的电机控制等流程图。(4)步进电动机控制系统研究:本人认真研究和分析了步进电动机控制系统的基本概念、原理,构建了DSP控制系统,使我对步进电动机控制系统有了深入的理解。本论文针对DSP控制步进电动机采用了硬件分配脉冲的方式,改善控制性

19、能。8. 参考文献1王念旭.DSP基础和应用系统设计M.北京航空航天大学出版社,2002.附录:#include"DSP2833x_Device.h"#include"DSP2833x_Examples.h"interruptvoidcpu_timer0_isr(void);voidDelay(unsignedintnTime);voidGpio_select(void);voiderror(int);voidprogram_stop();voidGpio_PortA(void);voidGpio_PortB(void);voidGpio_PortF(v

20、oid);voidGpio_PortDEG(void);charConvertScanToChar(unsignedcharcScanCode);#defineT46uS0x0d40/键盘#defineSCANCODE_00x70#defineSCANCODE_10x69#defineSCANCODE_20x72#defineSCANCODE_30x7A#defineSCANCODE_40x6B#defineSCANCODE_50x73#defineSCANCODE_60x74#defineSCANCODE_70x6C#defineSCANCODE_80x75#defineSCANCODE_9

21、0x7D/CTRREG#defineCTRGR*(int*)0x208000#defineCTRLCDCMDR*(int*)0x208001#defineCTRKEY*(int*)0x208001#defineCTRLCDCR*(int*)0x208002#defineCTRCLKEY*(int*)0x208002#defineCTRLCDLCR*(int*)0x208003#defineCTRLCDRCR*(int*)0x208004#defineCTRLA*(int*)0x208005#defineCTRLR*(int*)0x208007unsignedintuWork;intjishu=

22、0;unsignedintuWork,nCount,nSpeedCount;unsignedintpwm18=0x8e,0x8c,0x8d,0x89,0x8b,0x83,0x87,0x86;unsignedintpwm28=0x86,0x87,0x83,0x8b,0x89,0x8d,0x8c,0x8e;intnAddStep,nStep,uTimPrd0,nFlashLed;voidmain(void)intnCount=0;charcKey;unsignedintnScanCode;uTimPrd0=8;nSpeedCount=0;nFlashLed=64;/初始化系统控制/PLL,看门狗,

23、使能化外围时钟/ThisexamplefunctionisfoundintheDSP281x_SysCtrl.cfile.InitSysCtrl();/初始化GPIO:InitXintf16Gpio();/清除所有的中断和初始化PIE向量表/禁用CUP中断DINT;InitPieCtrl();/禁用CPU中断和清除所有CPU中断标志IER=0x0000;IFR=0x0000;InitPieVectTable();EALLOW;/需要写入EALLOW寄存器PieVectTable.TINT0=&cpu_timer0_isr;EDIS;/禁止写入受保护的TEALLOW寄存器/初始化所有的外

24、围设备InitCpuTimers();#if(CPU_FRQ_150MHZ)/配置CPU定时器ConfigCpuTimer(&CpuTimer0,150,1000000000);#endif#if(CPU_FRQ_100MHZ)ConfigCpuTimer(&CpuTimer0,100,1000000);#endifCpuTimer0Regs.PRD.all=0xffff;CpuTimer0Regs.TPR.all=0;CpuTimer0Regs.TIM.all=0;CpuTimer0Regs.TPRH.all=0;CpuTimer0Regs.TCR.bit.TSS=1;Cpu

25、Timer0Regs.TCR.bit.SOFT=1;CpuTimer0Regs.TCR.bit.FREE=1;CpuTimer0Regs.TCR.bit.TRB=1;CpuTimer0Regs.TCR.bit.TIE=1;CpuTimer0.InterruptCount=0;StartCpuTimer0();/启用中断/启用CPUINT1连接到CPU定时器0IER|=M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7=1;EINT;/使能化全局中断INTMERTM;/使能化实时中断DBGMnStep=0;nAddStep=1;CTRGR=0x80;/初始化ICETEK-C

26、TRCTRGR=0x0;CTRGR=0x80;CTRLR=0;/关闭东西方向的交通灯CTRLR=0x40;/关闭南北方向的交通灯CTRLR=0xc2;/开步进电机uWork=CTRCLKEY;StartCpuTimer0();while(1)if(nCount=0)nScanCode=CTRKEY;nScanCode&=0x0ff;uWork=CTRCLKEY;if(nScanCode!=0)if(nScanCode=9)break;elsecKey=nScanCode;cKey=nScanCode;if(cKey!=0)switch(cKey)case4:nAddStep=1;break;/正向case6:nAddStep=-1;break;/反向case2:if(uTimPrd0>2)uTimPrd0-;break;/增速case8:if(uTimPrd0<16)uTimPrd0+;break;/减速interruptvoidcpu_timer0_isr(void)CpuTimer0.InterruptCount+;/从组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论