《基于DSP的步进电机控制系统(共11页).doc》由会员分享,可在线阅读,更多相关《基于DSP的步进电机控制系统(共11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录第1章 设计内容及要求1.1 设计内容设计基于TMS320C55x 步进电机控制系统1、能开关控制步进电机正反转,实现调速及步进电机角位置控制。2、设计系统结构图,设计系统电源模块,复位电路,时钟模块,JTAG接口,步进电机驱动和控制模块电路等。3、设计程序流程图,通过TMS320C55x DSP的软件集成开发环境CCS进程序进行编译调试运行。4、编写程序代码,调试程序。1.2 设计要求和主要任务1、掌握ULN2003器件使用原理;2、外扩电路控制电机正反转;3、掌握DSP与外扩电路的通信连接技术;4、熟悉所用开发软件和工具箱的使用方法;5、对指定题目进行电路图设
2、计;6、实现设计电路,编写DSP程序,进行测试和记录。第2章 总体设计方案2.1 系统总设计框图本系统主要由TMS320F2812模块、电源模块、电机驱动模块组成,系统框图如图1。电机运转步进电机驱动模块复位模块TMS320F5509电源模块稳压模块比较模块图一 系统总体框图2.2 系统分析根据设计的要求挑选器件,使用MC1403芯片为DSP5509为步进电机提供稳定的电压,来使步进电机稳定的工作。提前设置基准电压,用LM339(电压比较器)来使ULN2003输出高低电平来驱动步进电机,用按键功能来实现其正转、反转。画出电路图并编写程序进行调试修改,领取器件按图焊接并在开发版上完成测试。因为D
3、SP5509芯片需要在最小系统下运行,要设计其电源电路、时钟电路、复位电路。 MC1403芯片能提供稳定的电压。 ULN2003芯片大电流驱动阵列,7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平。也可以作为一些器件,如步进电机的驱动电路。2.3系统设计2.3.1电源电路设计许多DSP芯片采用双电源供电,通常I/O引脚电源采用3.3V电压,内核电源采用3.3V、2.5V、或者更低的1.8V电源。使用时考虑它们的加电次序。因此采用双电源供电,使用TPS73HD318芯片输出的电压分别为3.3V和1.8V,每路的电源最大输出电流为75
4、0ma,并且提供200ms的复位脉冲。如图二所示: 图二 原理图2.3.2驱动电路设计ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压5V,适用于TTL COMS,由达林顿管组成驱动电路。ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外
5、接负载可根据以上参数估算。采用集电极开路输出,输出电流大。故可直接驱动步进电机。设计如图三所示: 图三 ULN2003 2.3.3 稳压电路设计MC1403是低压基准芯片。一般用作812bit的D/A芯片的基准电压等一些需要基本精准的基准电压的场合。 输出电压: 2.5 V /- 25 mV 输入电压范围: 4.5 V to 40 V 输出电流: 10 mA 电路截图如图四 图四 MC1403芯片2.3.4 时钟电路设计DSP芯片提供时钟一般有两种方法,一种是使用外部时钟源的时钟信号,二是利用DSP芯片内部的振荡器构成的时钟电路。采用第二种方法,在芯片的X1和X2/CLKIN引脚之间接入一个晶
6、体,用于启动内部振荡器。如下图五 图五 时钟电路2.3.5 比较电压电路设计LM339集成块内部装有四个独立的电压比较器,该电压比较器的特点是:1)失调电压小,典型值为2mV;2)电源电压范围宽,单电源为2-36V,双电源电压为1V-18V;3)对比较信号源的内阻限制较宽;4)共模范围很大,为0(Ucc-1.5V)Vo;5)差动输入电压范围较大,大到可以等于电源电压;6)输出端电位可灵活方便地选用。LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固
7、定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻,选3-15K)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载
8、的值。另外,各比较器的输出端允许连接在一起使用。图六为该器件的引角图,电器截图如图七 图六 LM339引脚图 图七 LM339N2.3.6 系统总电路图 图八 电路原理图第3章 DSP5509及程序设计3.1 DSP5509介绍DSP 芯片是模拟信号变换成数字信号以后进行高速实时处理的专用微处理器,其处理速度比最快的 CPU 还快 10-50 倍,具有处理速度高、功能强、性能价格比好以及速度功耗比高等特点,被广泛应用于具有实时处理要求的场合。DSP,即Digital Signal Processor数字信号处理器,它是以数字信号来处理大量信息的器件,强大数据处理能力和高运行速度。其工作原理是接
9、收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。DSP5509开发板是一套功能齐全的基于TMS320VC5509A DSP的学习开发平台,DSP5509开发板既可作为开发板供用户学习使用,也可作为系统板嵌入到用户的产品供用户进行二次开发以便缩短产品开发周期。是迄今为止市面上性价比最高的5509开发板。2.2 DSP开发环境CCS介绍TI公司的CCS IDE(Code Composer S
10、tudio Integrated Development Environment)提供环境配置、源程序编辑、编译、链接、程序调试、跟踪分析等各个环节,以加速软件开发进程,提高工作效率。一般一种CCS只适用于一个系列的DSP芯片,这里只就C5000系列芯片(包括C54x和C55x)CCS使用方法做一介绍。系统配置程序“Setup CCS 2(C5000)”用来定义DSP芯片和目标板类型。2.3 程序代码#include #include #include #include unsigned char CW8=0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08; /逆时
11、钟旋转相unsigned char CCW8=0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09; void delay();/*锁相环的设置*/PLL_Config myConfig = 0, 1, 24, 1;main() /*初始化CSL库*/ CSL_init(); /*设置系统的运行速度为144MHz*/ PLL_config(&myConfig); /*确定方向为输出*/ GPIO_RSET(IODIR,0x0F); maic(); void delay()Uint32 j = 0,k = 0;for(j = 0;j0x01;j+)for(k= 0;k0
12、xffff;k+)maic()for(;)unsigned char a=GPIO_pinRead(GPIO_PIN4);unsigned char b=GPIO_pinRead(GPIO_PIN6);if(a=0)int i;for(i=0;i8;i+)GPIO_RSET(IODATA,CCWi);delay(); /调节转速if(b=0)int i;for(i=0;i8;i+)GPIO_RSET(IODATA,CWi);delay(); elseGPIO_pinWrite(GPIO_PIN0,0); /电机停止GPIO_pinWrite(GPIO_PIN1,0);GPIO_pinWrite
13、(GPIO_PIN2,0);GPIO_pinWrite(GPIO_PIN3,0);第4章 项目设计总结及结论近些年来,通信与电子技术迅猛发展。DSP是现代电子系统的核心和灵魂,随着DSP性能价格比的不断提高,DSP在网络、通信、电子测量、语音/图像处理、数字影视、自动控制、仪器仪表、医疗设备、家用电器等众多领域得到了越来越广泛的应用。本设计是基于DSP步进电机的控制,其内容涉及了DSP与步进电机的知识,无论是硬件设计、软件设计,还是调试、仿真,都要求我能较熟悉地理解和掌握。CCS是一种功能强大的全面集成开发环境(IDE),它集代码生成工具和代码调试工具于一体,可以完成应用开发过程中每一步骤所需
14、要的众多功能,并且CCS具有开放式架构,使TI和第三方能芯片通过无缝插入并附加专用工具扩展IDE功能。虽然这个设计是完成了,但在这次的设计中也遇到了很多的问题。首先是步进电机的原理知识,在那个时候我们还没有学一些关于步进电机的知识,后来经过不同书的比较和学习从中了解了步进电机的控制原理。然而除了步进电机的原理方面的知识。软件的也是一个很难的地方,一开始就看不懂的,其中有很的的知识是不了解的,通过请教谢老师一个一个寄存器的问,在老师的细心指导下我把所有的寄存器再改写成二进制,看每一位对应的是什么位,有什么功能,通过老师的讲解和查阅有关的资料才知道了这方面的知识。但在用到CCS的时候又出现了问题,
15、我在之前的编程中一般都是建一个.C文件或是建一个.ASM再建一个.CMD文件就可以了。在以前的编程中我都只是用到2个.C和.ASM,可在这个设计的程序中要建3个文件。这让我突破以前的传统思维。有些工程建2个是不行的的。 通过对本次课题的设计,我学会了如何发现问题、独立思考问题,然后用自己的专业知识以及通过现代科技的各种手段来解决问题,在很大程度上提高了我的动手能力,团队合作协调能力。并在一定程度上促进了我对专业知识的学习和巩固。在这期间,老师和同学们都给了我很大的帮助,特别是谢芳芳老师的指导,在此,我要对他们致以最诚挚的谢意参考文献1赵明忠,顾斌等.DSP应用技术.西安:西安电子工业出版社,2004.2黄仁欣.EDA技术实用教程.北京:清华大学出版社,2006.3王鸿钰.步进电机控制技术入门.上海:同济大学出版社,1990.4张雄伟,陈亮等.DSP集成开发与应用实例.北京:电子工业出版社,2002.5张雄伟,曹铁勇.DSP芯片的原理与开发应用(第3版).北京:电子工业出版社, 2003.附录项目设计评 语项目设计成 绩指导教师(签字) 年 月 日专心-专注-专业
限制150内