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

下载本文档

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

文档简介

1、D基础与应用系统设计课程设计题目:基于DSP的步进电机控制模块设计姓名:吴清清院系:电力学院专业:电子科学与技术学号:201312309指导教师:谭联完成时间: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附录:

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

4、冲个数来控制角位移量, 从 而达到准确定位的目的; 同时可以通过控制脉冲频率来控制电机转动的速度和加 速度,从而达到调速的目的。2.2 步进电机的原理当电流流过定子绕组时, 定子绕组产生一矢量磁场。 该磁场会带动转子旋转 一角度,使得转子的一对磁场方向与定子的磁场方向一致。 当定子的矢量磁场旋 转一个角度。 转子也随着该磁场转一个角度。 每输入一个电脉冲, 电动机转动一 个角度前进一步。 它输出的角位移与输入的脉冲数成正比、 转速与脉冲频率成正 比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动 机各相绕组的通电顺序来控制步进电机的转动。2.3 步进电机的分类目前常用的有三

5、种步进电动机:(1)反应式步进电动机(VR)。反应式步进电动机结构简单,生产成本低, 步距角小;但动态性能差。(2)永磁式步进电动机(PM)。永磁式步进电动机出力大,动态性能好; 但步距角大。(3)混合式步进电动机(HB)。混合式步进电动机综合了反应式、永磁式步进 电动机两者的优点,它的步距角小,出力大,动态性能好,是目前性能最高的步 进电动机。它有时也称作永磁感应子式步进电动机3系统设计3.1 DSP芯片的选择本次课程设计选用的芯片为 TMS320F28335DSP:片。TMS320F2833型数字信号处理器TI公司的一款TMS320C28系列浮点DSP 控制器。与以往的定点DSP相比,该器

6、件的精度高,成本低,功耗小,性能高,外设集成度高,数据以及程序存储量大, A/D转换更精确快速等。TMS320F28335 具有150MHz的高速处理能力,具备32位浮 点处理单元,6个DMA通道支持ADC McBS味口 EMIF,有多达18路的PW输出,其中有6路为TI特有的更高精度的 PWM输出(HRPWM) 12位16通道ADC得益于其浮点运算单元,用户可快速编 写控制算法而无需在处理小数操作上耗费过多的时间和精力,与前代DSC相比,平均性能提高50%并与定点C28x控制器软件兼容,从而简化软件开发,缩短开发周期,降低开发成本。F2833X在保持150M HZ寸钟速率不变的情况下,新型

7、F2833X浮点控制器与TI前代领先数字信号控制器相比,性能平均提高50%与作用相当的32位定点技术相比,快速傅立叶转换(FFT)等复杂计算算法采用新 技术后性能提升了一倍之多。3.2系统框图图1步进电机设计原理3.3步进电机的DSP控制3.3.1芯片在电机控制中的应用DSP器件具有较高的集成度,具有比单片机更快的CPU更大容量的存储器, 内置有波特率发生器和FIFO缓冲器,提供高速、同步串口和标准异步串口。最为突出的是,DSP器件精简的指令系统(大多数指令能在一个指令周期内完成)、 独立的程序和数据空间等使其具有高速的数据运算能力。采用基于DSP的电机专用集成电路的另一个好处是,可以降低对传

8、感器等外围器件的要求。而且, DSP 控制器能自接以动态控制方式运行, 无需依赖于过去查寻图表的方式。 在高速控 制中,使用DSP可进行通常的位检测和逻辑运算以及高速数据传送。随着价格的日益下降,性能不断提高,采用DSPS件代替单片机来控制电机将成为电机控制 的发展趋势。DSP用于电机控制有很多好处:( 1)执行高级运算,减少力矩纹波,从而低振动、长寿命;( 2)高级运算使得谐波小,很容易满足国家标准要求,降低滤波器成本;( 3)提供无传感器运算,省去位置和速度传感器;( 4 )减少查询表,降低内存需求;( 5)实时产生平滑的、近乎完美的参考模型,获得好的性能;(6)控制逆变器,产生高精度PW

9、M输出;( 7)提供单片控制系统。3.3.2步进电机的DSF控制原理DSP事件管理器的比较单元总共可以产生 12路PW脉冲,算上通用定时器 的比较操作总共可以提供16路PWM每个步进电机需要2路PWM路用于转向 控制,一路用于步进控制。 步进电机的驱动电路是根据控制信号工作的, 在步进 电机的DSF控制中,控制信号是由DSP产生的。其基本控制作用如下:( 1 )换相顺序 步进电机的通电换相顺序是严格按照步进电机的工作方式进行的, 通常把通 电换相这一过程称为“脉冲分配”。例如,三相步进电动机的单三拍工作方式, 其各相通电的顺序为A B C,通电控制脉冲必须严格地按照这一顺序的分别控 制A,B,

10、C相的通电和断电。(2)步进电机的转向 通过前面介绍的步进电动机的原理我们已经知道按给定的工作方式正序通电换相步进电机就正转; 如果按反序通电换相, 则电机就反转。 例如四相步进电 动机工作在单四拍方式,通电换相的正序是 A B C- D,电动机就正转,如果 按反序A D C B,电动机就反转。(3)步进电机的速度如果给步进电动机发一个控制脉冲, 它就转一个步距角, 再发一个脉冲, 它 会再转一个步距角。两个脉冲的间隔时间越短,步进电机就转得越快,因此,脉 冲的频率决定了步进电机的转速。4. 硬件电路设计图2.系统控制硬件框图4.1驱动电路4.1.1驱动器的选择设计中,执行元件选用的是两相混合

11、步进电机,故可用CPLD和L298两芯片可方便地组成步进电动机控制驱动器,其中CPLD是步进电动机控制器(包括环形分配器),L298是双H桥式驱动器。它们所组成的微处理器至双桥式步进 电动机的接口的优点是,需要的元件很少,从而使得装配成本低,可靠性高和占 空间小。并且通过软件开发,可以简化和减轻微型计算机的负担。(1)L298芯片的介绍L298N为SGS-THOMSONcroelectronics所出产的双全桥步进电机专用驱动芯片(Dual Full-BridgeDriver ),内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H

12、-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位 信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压; 此芯片可直接由单片机的IO端口来提供模拟时序信号,。L298N之接脚如图9 所示,Pin1和Pin15可与电流侦测用电阻连接来控制负载的电路;OUTI、OUT2和OUT3OUT4之间分别接2个步进电机;input1input4 输入控制电位来控制 电机的正反转;Enable则控制电机停转。4.2时钟电路TMS320F2833上有一个基于PLL电路的片上时钟模块,为CPUS外设提供 时钟有两种方式:一种是用外部的时钟源,将其连接到XTAL1引脚上或者X

13、CLKIN 引脚上,XTAL2接地;另一种是使用振荡器产生时钟,用30MHZ勺晶体和两个20PF 的电容组成的电路分别连接到 XTAL1和 XTAL2引脚上,XCLKIN引脚接地。我们 常用第二种来产生时钟。此时钟将通过一个内部PLL锁相环电路,进行倍频。由 于F28335的最大工作频率是150M所以倍频值最大是5。其中倍频值由PLLCR 的低四位和PLLSTS的第7、8位来决定。时钟电路如下:XTALl| C10MHz 口 20 /XTAL2 C2诃图3.时钟电路4.3复位电路设计TMS320F2833芯片具有复位操作功能。引脚RS为复位电平输入引脚,此引 脚 输入低电平时复位有效。RS是不

14、可屏蔽的外部中断,并具有最高优先级,可 以在上电 或芯片工作的任何时候进行复位,以便把 TMS320F28335芯片置为初 始状态。通常在 上电之后,系统的振荡器处于不稳定的起振工作阶段,芯片也 就处在未知状态,因此,在每次上电之后都应使芯片处于复位状态,即使RS引脚电平为低。 本次设计采用的复位电路由3.3V电源接通DSP的RST引脚,达 到复位的目的。3 3VRESETI4T5图4.复位电路4.4外部存储器设计我们在芯片外扩展了 64K*16位的存储器,存储器占用的地址空间共有256K,因此片外存储器实际占用的地址是 0x0100000-0x0110000,其他的部分暂 时没有使用,如果有

15、特殊需要,可以最多放置512K的存储器。片外扩展的存储器型号是IS61LV6416,这种器件可以按照8位或16位的方 式使用,它的电平可以和通常的3.3V器件连接。存储器与DSP连接的示意图如 下所示。XZCS7XWEXRDA15-A0D15-D0WEOEAL5-ADDI5-D0图5.存储器与DS连接的示意图外扩的存储器可以实现随机访问,这部分映射空间可以在DSP上电复位后的 任何时候访问,此时不需要对DSP做任何初始化。如果需要这部分存储器在高速 的状态下运行,需要修改DSP的存储器等待状态。具体设置DSP的存储器和数值 可以参考TMX320F2833数据手册。一般来说,为保证存储器的稳定读

16、写,当DSP 在最高速状态运行时,只需要1个软件等待状态。4.5JTAG仿真接口JTAG目标器件通过专用的仿真端口支持仿真,此端口由仿真器直接访问并 提供仿真功能。JTAG接口电路为仿真器与微机的接口电路,便于系统进行在线 调试。在仿真器和JTAG目标系统之间提供高质量的信号是极为重要的,用户必 须提供正确的信号缓冲,测试时钟输入以及多处理器的内部连接,以确保仿真器和目标系统良好工作。为了便于DSP写入程序,设计了 JTAG仿真接口。如图 3-10 所示:电路与 DSP 的 TMS TDI,TDO TCK EMU0TRST, EMU1 的引脚相连组成JTAG仿真接口。TMS引脚带内部上拉的JT

17、AG方式选择,该串行控制输入在TCK的上升沿锁 存到TAP控制器中。TDI引脚带内部上拉JTAG测试数据输入,在TCK的上升 沿从TDI输入的数据的锁存到选定的寄存器中。TDO为JTAG扫描输出,测试数 据输出,在TCK的下降沿,选定寄存器的内容被移出到 TDO的引脚。TCK为带 内部上拉的JTAG测试时钟。EMU0带内部上拉仿真器I /O引脚,当TRST引脚 被拉高时,该引脚用作仿真器的中断,通过JTAG扫描可定义为I /O引脚;TRST 引脚带内部下拉的JTAG的测试复位,当TRST拉高时,扫描控制系统的控制控 制器运行,若该引脚未接或低电平时,控制器运行在功能方式,并且测试复位信 号无效

18、。EMU1仿真器引脚,该引脚禁止所有的输出,当 TRST引脚拉高时,该 引脚用作来自或到仿真器的中断。相反,该引脚为OFF引脚。12JTAG图6. JTAG仿真电路5程序设计5.1流程图(1)中断程序图7中断程序(2)主程序图8主程序5.2程序见附录一6实验现象可以看到显示/控制模块上的电机指针在转动,使用“ 4”和“6”键可控制其转动方向。7. 总结本次设计主要研究基于DSP勺步进电动机控制系统的实现和设计。论文的主 要工作总结如下:(1)系统总体方案设计:选取TI公司的TMS320F28335DSP为控制核心。(2)在硬件控制系统方面,详细讨论步进电机的DS控制方法,完成了电机 驱动、按键

19、控制、PW产生以及各种外围电路等单元的设计和调试,极大地简化 了系统组成,提高系统的运行速度。(3)在软件控制系统方面,详细讨论了该控制系统的组织体系结构,设计 了控制单元的软件系统,完成了系统的电机控制等流程图。(4)步进电动机控制系统研究:本人认真研究和分析了步进电动机控制系 统的基本概念、原理,构建了 DSP控制系统,使我对步进电动机控制系统有了深 入的理解。本论文针对DSPS制步进电动机采用了硬件分配脉冲的方式,改善控 制性能。8. 参考文献1王念旭.DSPS础和应用系统设计M.北京航空航天大学出版社,2002.附录:#includeDSP2833x_Device.h#includeD

20、SP2833x_Examples.hinterruptvoid cpu_timer0_isr (void );void Delay ( unsigned int nTime);void Gpio_select ( void );void error ( int );void program_stop ();void Gpio_PortA ( void ); void Gpio_PortB ( void ); void Gpio_PortF ( void );void Gpio_PortDEG (void );char ConvertScanToChar ( unsigned char cSca

21、nCode);#defineT46uS 0x0d40/ 键盘#defineSCANCODE_0 0x70#defineSCANCODE_1 0x69#defineSCANCODE_2 0x72#defineSCANCODE_3 0x7A#defineSCANCODE_4 0x6B#defineSCANCODE_5 0x73#defineSCANCODE_6 0x74#defineSCANCODE_7 0x6C#defineSCANCODE_8 0x75#defineSCANCODE_9 0x7D/CTR REG#defineCTRGR *( int *)0x208000#defineCTRLC

22、DCMDR *( int *)0x208001#defineCTRKEY *( int *)0x208001#defineCTRLCDCR *( int *)0x208002#defineCTRCLKEY *( int *)0x208002#defineCTRLCDLCR *( int *)0x208003#defineCTRLCDRCR *( int *)0x208004#defineCTRLA *( int *)0x208005#defineCTRLR *( int *)0x208007unsignedint uWork;int jishu=0;unsignedint uWork,nCou

23、nt,nSpeedCount;unsignedint pwm18= 0x8e,0x8c,0x8d,0x89,0x8b,0x83,0x87,0x86 ;unsignedint pwm28= 0x86,0x87,0x83,0x8b,0x89,0x8d,0x8c,0x8e ;int n AddStep, nStep,uTimPrdO, nFlashLed;void main (void )int n Cou nt=O;char cKey;un sig ned int n Sca nCode;uTimPrdO=8; nSpeedCou nt=O; nFlashLed=64;/初始化系统控制/ PLL,

24、看门狗,使能化外围时钟/ This example function is found in the DSP281x_SysCtrl.c file.In itSysCtrl ();/初始化GPIO:In itXi ntf16Gpio();/清除所有的中断和初始化PIE向量表/禁用CUF中断DINT;In itPieCtrl ();/禁用CPU中断和清除所有 CPU中断标志IER = 0x0000;IFR = 0x0000;Ini tPieVectTable ();EALLOW;/ 需要写入EALLOW寄存器PieVectTable. TINT0 = & cpu_timer0_isr;EDIS;

25、/禁止写入受保护的 T EALLOW寄存器/初始化所有的外围设备In itCpuTimers ();#if (CPU_FRQ_150MHZ)/配置CPU定时器Co nfigCpuTimer(&CpuTimer0, 150, 1000000000);#en dif#if (CPU_FRQ_100MHZ)Co nfigCpuTimer(&CpuTimerO, 100, 1000000);#en difCpuTimer0Regs.PRD all=0xffff;CpuTimer0Regs.TPR.all=0;CpuTimer0Regs.TIM.all=0;CpuTimer0Regs.TPRH all=

26、0;CpuTimer0Regs.TCRbit.TSS=1;CpuTimer0Regs.TCRbit.SOFT=1CpuTimer0Regs.TCRbit.FREE=1CpuTimer0Regs.TCRbit.TRB=1;CpuTimer0Regs.TCRbit.TIE =1;CpuTimer0. In terruptCou nt=0;StartCpuTimer0();/启用中断/启用CPU INT1 连接到CPU定时器0IER |= M_INT1;PieCtrIRegs. PIEIER1 . bit . INTx7 = 1;EINT; /使能化全局中断INTMERTM; /使能化实时中断 DB

27、GMnStep=0; n AddStep=1;CTRGR=0x80;/ 初始化 ICETEK-CTRCTRGR=0x0;CTRGR=0x80;CTRLR=0;/关闭东西方向的交通灯CTRLR=0x40;/关闭南北方向的交通灯CTRLR=0xc2; /开步进电机 uWork=CTRCLKEY;StartCpuTimer0();while (1)if ( nCount=0 )n Sca nCode=CTRKEY;n Sca nCode&=0x0ff; uWork=CTRCLKEY;if ( nSca nCode!=0 )if ( nScanCode=9 )breakelse cKey=nScanCode;cKey=nScanCode;if ( cKey!=0 )switch ( cKey )case4:nAddStep=1;break ;/ 正向case6:nAddStep=-1;break; / 反向case2:if ( uTimPrd02 )uTimPrd0-;break ;/增速case8:if ( u

温馨提示

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

评论

0/150

提交评论