《基于DSP的飞剪控制系统设计-毕业论文.doc》由会员分享,可在线阅读,更多相关《基于DSP的飞剪控制系统设计-毕业论文.doc(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计(论文)题 目基于DSP的飞剪控制系统设计 系 (院)电气工程系专 业电气工程与自动化班 级2010级3班学生姓名张波学 号1014090322指导教师何芳职 称助 教二一四年六月二十日独 创 声 明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。据我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。作者签名: 年 月 日毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、
2、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定)作者签名: 年 月 日滨州学院本科毕业设计(论文)基于DSP的飞剪控制系统设计摘 要横向剪切运行中的轧件的剪切机叫做飞剪,它是一种能快速切断铁板、钢管、纸卷的加工设备,飞剪常用于轧钢,造纸等生产线上。广泛采用飞剪有利于使轧钢生产迅速向高速化、连续化方向发展。因此,它是轧钢生产发展
3、的重要环节之一,定尺飞剪应该保证良好的剪切质量定尺精确、切面整齐和较宽的定尺调节范围,同时还要有一定的剪切速度。此飞剪控制系统采用TMS320F2812作为主控单元,提出了一种基于DSP的飞剪控制系统设计方案。文中首先对飞剪工作原理作了详细的介绍。其次,分别论述了飞剪控制系统的硬件设计和软件设计。硬件部分设计主要包括DSP系统设计、电机驱动电路设计、显示模块设计以及飞剪模型设计等,软件部分主要采用C语言编写,实现TMS320F2812对飞剪模型的状态控制。经调试,系统方案设计合理,并在论文结尾提出了需要完善之处。关键词:飞剪控制系统,系统设计方案,剪切质量Flying Shear Contro
4、l System Design Based on DSPAbstractThe shearing machine that laterally shears the operating rolled piece is called flying shear. And it is a processing equipment to quickly cut off the iron plate, steel tube and scroll. Flying shear is often used in production line, such as steel rolling and paper
5、making. Widely used flying shear is helpful to make the production of steel rolling to rapidly develop in the direction of high speed and serialization. Therefore, it is one of the most important part of the production development of steel rolling. Flying shear for definite distance should ensure th
6、e good shearing quality : accurate length,neat section and wider adjustment range of length.Meanwhile,it also includes certain cutting speed .Flying shear control system uses TMS320F2812 as the master unit and expresses a design plan based on flying shear control system. Firstly,the paper introduces
7、 the working principle of flying shear in detail .Secondly, the hardware and software design of the flying shear control system were discussed respectively. Hardware designing mainly includes DSP system design, the motor drive circuit design, display module design, and flying shear model design and
8、so on. Software adopts C language, then TMS320F2812 can control the state of flying shear model . After debugged, the plan of system design is reasonable and points out parts that need to be improved at the end of the paper. Key words: Flying Shear control system, The plan of system design , Shearin
9、g qualityi目 录第一章 绪论11.1 研究背景11.1.1 飞剪机的应用与发展11.1.2 DSP应用于控制领域的发展与优势11.2 设计的目的和意义11.3 设计的主要工作2第二章 系统总体方案设计3第三章 系统硬件设计53.1 硬件选型53.1.1 LCD显示屏选型53.1.2 主控单元选型53.1.3 稳压电源芯片选型63.1.4 电机驱动芯片选型63.1.5 电压比较器芯片选型73.2 DSP主控单元设计83.2.1 TMS320F2812简介83.2.2 TMS320F2812系统设计83.3 电机驱动电路设计123.3.1 28BYJ-48步进电机123.3.2 ULN2
10、803驱动芯片及驱动电路133.4 传感器与电压比较电路设计133.4.1 传感器电路设计133.4.2 电压比较电路设计143.5 LCD显示及按键电路设计163.5.1 LCD显示模块电路设计163.5.2 按键电路设计17第四章 系统软件设计184.1 DSP开发平台简介194.2 人机交互程序设计194.2.1 显示单元程序设计194.2.2 按键输入程序设计224.3 电机控制程序设计244.4 速度采集与飞剪切割长度控制程序设计284.4.1 速度采集程序设计284.4.2飞剪切割长度控制程序设计29第五章 总结32谢 辞33参考文献34附 录35I第一章 绪论1.1 研究背景1.
11、1.1 飞剪机的应用与发展横向剪切运行中的轧件的剪切机叫做飞剪,是一种能快速切断铁板、钢管、纸卷的加工设备,是冶金轧钢行业、高速线材及螺纹钢定尺剪断机,是现代轧制棒材剪断中的产品。飞剪机在我国生产领域的应用已经有几十年的历史,它是工业中不可缺少的重要设备,也是我国长期以来一直引进的重要的冶金设备。飞剪机的剪切精度是使用的关键,而影响剪切精度的重要因素除机械制造精度外,更重要的是控制精度一定要高,这样才能保证产品质量,而随着控制技术和电机技术的发展,对于飞剪机自动化运动控制的研究也在不断发展中。1.1.2 DSP应用于控制领域的发展与优势随着以DSP为代表的高速高性能专用微处理器的出现和普及,以
12、DSP为核心的微控制器已成为发展主流,它强大的信息处理能力和运动控制能力相结合,具有信息处理能力强、运动控制方便、通用性好的特点。本课题所采用的以DSP为核心的控制技术,充分发挥了DSP相对于传统单片机处理能力强、实时性好、片内外设及I/O端口丰富、开发环境友好等特点1。这些特点的采用正适应了运动控制技术数字化,开放化的发展趋势。此外,简易运动控制系统的搭建为运动控制技术方面的算法验证和演示提供了平台。1.2 设计的目的和意义本文对飞剪控制系统硬件和软件的设计进行说明。以TMS320F2812作为控制核心,非常适用于高速、精确的控制系统。系统进行飞剪剪切速度、剪切尺度数据的实时监测与控制,监测
13、数据精度高,控制准确,系统操作简单,可更好的适应于各种不同的生产环境。DSP微控制器处理速度高,处理数据量大,运行稳定可靠,更适用于控制精度要求高,数据处理量大的生产需求,有着广泛的应用前景。通过本次的毕业设计,可以能将大学四年学的知识串联起来,也算是对这四年自己学习状况的一次考核。我不仅复习了以前学过的专业知识,还扩大了知识面,提高了自己的认识水平。最重要的是,这让我全面的了解了一个课题的研究过程。在拿到一个题目后,知道从何处入手,知道研究一个课题要分成多个模块个个突破,化整为零,这样才能对一个课题有所感觉。1.3 设计的主要工作本系统的构建需要能完成一些基本的飞剪系统控制的要求,根据系统需
14、求,首先构建一个飞剪模型以及一个DSP的最小系统,由DSP系统通过外部的相关接口电路控制飞剪模型的正常运作,然后通过显示模块显示出飞剪系统的运行状态同时通过按键可设定飞剪的工作参数。在此过程中,需要解决飞剪运动模型设计、DSP外围接口电路设计、飞剪系统运行数据采集、DSP对飞剪运行状态的控制等问题,最重要的就是如何将飞剪系统控制的更为精确。46第二章 系统总体方案设计对于系统的硬件设计,需要明确设计要求,根据要求进行硬件电路设计和芯片的选择,完成相应的功能,实现电机、舵机的驱动、显示和键盘输入以及数据采集等功能。系统软件设计要在硬件的基础上通过软件编程实现对各个模块的控制,通过软硬件的结合促使
15、整个系统有规律的正常运行。本系统硬件分为以下几个部分:电源部分,DSP系统部分,电机驱动部分,按键与显示部分等。系统的总体设计思路是DSP控制单元通过按键与显示部分获得用户输入的飞剪模型的工作参数并实时显示,然后DSP通过这些参数控制飞剪模型的送料速度以及切割时间并采集飞剪模型通过传感器回传的相关数据,实现更精确的闭环控制。系统的整体设计框图如图2-1所示。 图2-1系统总体设计框图 为使硬件设计尽可能合理,系统的电路设计遵循了以下几个方面:(1)在对硬件系统总体结构考虑时,考虑通用性的问题。对于一个较复杂的系统,采用模块化的设计方式,即对主控制单元、输入接口、输出接口等部分进行分块设计,然后
16、将其组合成一个完整的系统;(2)选用功能强、集成度高的电路或芯片;(3)选择通用性强的元器件;(4)选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。在电路设计时,充分考虑应用系统各部分的驱动能力。不同的电路有不同的驱动能力,对后级系统的输入阻抗要求也不一样。如果阻抗匹配不当,系统驱动能力不够,将导致系统工作不可靠甚至无法正常工作。第三章 系统硬件设计3.1 硬件选型3.1.1 LCD显示屏选型显示的方式有很多中,例如数码管显示,液晶显示等。考虑到本设计中要求显示模块能够同时显示飞剪模型的多种状态信息以及控制信息,而且数码管的显示在程序方面不如液晶好控制,因此在此选用液晶显示。在选
17、择何种液晶显示时,我主要比较了一下LCD1602、LCD12864和Nokia5110这三种显示器件。在设计中,从成本控制和实用角度出发,Nokia5110较LCD1602、LCD12864性价比更高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符,价格便宜;同时Nokia5110接口简单,仅四根I/O线即可驱动,而LCD1602需11根I/O线,LCD12864需12根;Nokia5110的数据传输速度更快快,其采用的是采用串行接口与主处理器进行通信,其数据传输速度是LCD12864的20倍,是LCD1602的40倍;Nokia5110工作电压3.3V,
18、正常显示时工作电流200uA以下。从整个系统需要及性能考虑,我最终选择了Nokia5110作为系统信息的显示器件。3.1.2 主控单元选型在考虑选择何种控制芯片时,我比较了一下DSP和普通单片机的区别。DSP器件的特点与单片机相比,DSP器件具有较高的集成度,DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和缓冲器,提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样保持电路,可提供PWM 输出。DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。内置高速的硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力DSP器件比16位单片机单
19、指令执行时闻决810倍,完成一次乘加运算快1630倍。DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。本设计要实现的功能主要以控制为主,同时为了能够利用做毕业设计的机会学习DSP的相关知识,因此在经过多方比较之后选用了控制能力较强的美国德州仪器(TI)公司的TMS320F2812型DSP。3.1.3 稳压电源芯片选型由于本设计中选用的主控芯片TMS320F2812是以3.3V和1.8V供电,为了使其能够正常工作同时工作更稳定,我们需要
20、为其设计专用的稳压电路2。在选择稳压芯片时,我首先想到的是常用的AMS1117-3.3V稳压芯片。在查阅相关资料后发现虽然AMS1117稳压芯片能够提供1A输出电流且工作压差可低至1V,但其电压输出存在比较大的误差,而且如果要满足TMS320F2812的供电需求就分别需要AMS1117-3.3和AMS1117-1.8两片稳压芯片同时为其供电,供电电压有误差,且外围电路设计较繁杂。而另一款双路低压差电源调整器TPS767D301则能够更好的承担起为TMS320F2812供电的工作。TPS767D301是TI公司推新推出的双路低压差电源调整器,主要应用在需要双电源供电的DSP设计中,其主要特点如下
21、:带有可单独供电的双路输出,一路固定输出电压为3.3V,另一路输出电压可以调节,范围为1.55.5V;每路输出电流的范围为01A;电压差大小与输出电流成正比,且在最大输出电流为1A时,最大电压差仅为350mV;具有超低的典型静态电流(85A),器件无效状态时,静态电流仅为1A;每路调整器各有一个开漏复位输出,复位延迟时间为200ms;28引脚的TSSOP PowerPAD封装形式可保证良好的功耗特性;工作温度范围为-40125,且每路调整器都有温度自动关闭保护功能。能够更好的保护DSP芯片。最终我选择了使用TPS767D301作为为TMS320F2812供电的稳压芯片。3.1.4 电机驱动芯片
22、选型由于本飞剪模型模拟的的是纸张的切割操作,因此需要往其中不断的送入纸料,为了使其完成自动运转,就需要使用电机为其提供动力。由于电机功率比较大,直接使用DSP的I/O端口无法完成直接驱动,因此需要为其提供相应驱动电路。本设计所使用的电机为28BYJ-48步进电机,而驱动该电机的最常用驱动芯片主要有L298N、ULN2003、ULN2803等。在驱动芯片的选择上,主要考虑其驱动能力、外围电路的繁简以及价格等方面因素。L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;
23、额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。但是其外围电路较ULN2003和ULN2803复杂,价格也相对较高。 ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻
24、辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。外围电路简单,价格低。ULN2803与ULN2003结构、参数基本相同,唯一区别是其是由八个硅NPN 复合晶体管组成。由于飞剪模型使用两个28BYJ-48步进电机提供动力,如果选用ULN2003需要两片,而选用ULN2803只需要一片即可3,因此综合多方面因素,最后确定本设计使用ULN2803 作为步进电机的驱动芯片。3.1.5 电压比较器芯片选型设计中用于采集飞剪系统运行信息的传感器主要为光电开关类,由于光电管的导通不完全或其他外界的影响,会
25、使传感器输出电平偏离所希望得到的高电平或低电平,因此在此我们需要添加电压比较器来矫正传感器的输出电平。通常所使用的电压比较主要有LM393和LM339,比较这两种比较器的区别:一片LM393内部集成了两路电压比较器,而一片LM339内部集成了四路电压比较器。而飞剪模型中使用了3个光电传感器传送飞剪运行的相关信息。因此根据实际需要,设计最终选择LM339最为电压比较芯片。3.2 DSP主控单元设计 本设计所使用的主控芯片为美国德州仪器(TI)公司生产的更偏向于控制类的DSP微控制器TMS320F2812。3.2.1 TMS320F2812简介TMS320F2812是TI公司的一款用于控制的高性能
26、、多功能、高性价比的32位定点DSP芯片。该芯片兼容TMS320F2407指令系统最高可在150MHZ主频下工作,并带有18K16位等待周期片上SRMA和12816位片上FLASH(存取时间36ns)。其片上外设主要包括28路12位ADC(最快80ns转换时间)、2路SCI、1路SPI、1路McBSP、1路eCAN等,并带有两个事件管理模块(EVA、EVB),分别包括6路PWM/CMP、2路QEP、3路CAP、2路16位定时器(或TxPWM/TxCMP)。另外,该器件还有3个独立的32位CPU定时器,以及多达56个独立编程的GPIO引脚,可外扩大于1M16位程序和数据存储器4。TMS320F2
27、812采用哈佛总线结构,具有密码保护机制,可进行双1616乘加和3232乘加操作,因而可兼顾控制和快速运算的双重功能。 图3-1 TMS320F2812实物图3.2.2 TMS320F2812系统设计一个典型的DSP最小系统如图3-2所示,包括DSP芯片、电源电路、复位电路、时钟电路及JTAG接口电路。对于TMS320F2812的最小系统同样是由这些部分构成的,由于本系统中使用了不带字库的LCD显示屏,因此在显示时需要首先对字符进行编码,为了增大最小系统的存储空间,还为其最小系统添加了外扩的Flash。 图3-2 DSP最小系统框图要使TMS320F2812的最小系统能够正常工作以及完成相关功
28、能,首先需要的就是最小系统的电源电路为其提供所需要的正常工作电压,然后由时钟电路为DSP提供系统时钟保证芯片内部各模块正常工作,用户使用下载器通过JTAG接口电路将程序烧写到芯片内部的Flash中存储。最后在复位电路的作用下,DSP系统上电后,程序开始从头执行。为了增加系统的数据存储空间,一般在DSP芯片外部再扩展一片Flash存储器。在本设计中,此外扩的Flash存储器主要用来存储系统的历史数据以及字符编码等。(1)电源及复位电路设计DSP系统一般都采用多电源系统, 电源及复位电路的设计对于系统性能有重要影响。TMS320F2812是一个较低功耗芯片, 核电压为1.8V,IO电压为3.3V。
29、本文采用TI公司的TPS767D301电源芯片该芯片属于线性降压型DC/DC变换芯片,可以由5V电源同时产生两种不同的电压(3.3V、1.8V或2.5V),其最大输出电流为1000mA, 可以同时满足一片DSP芯片和少量外围电路的供电需要,如图3-3所示。图3-3中,外部供电电源为5V直流输入,输入电流通过线圈L1消除交流分量,然后通过稳压芯片PS767D301转换为1.8V与3.3V两路为DSP芯片提供所需电源,图3-3 电源电路原理图同时该芯片还自带电源监控及复位管理功能,其端口的RST1与RST2端为DSP的复位电路提供上电复位信号,可以方便的实现复位电路的设计。其复位电路如图3-4所示
30、。图3-4 复位电路原理图图3-4中,74HC08芯片为四组2输入端与门,其中1A4A为输入,1B4B为输入,1Y4Y为输出5。系统上电后,RST1、RST2、RS端均为高电平,1Y输出高电平,S1未闭合时,SW_RST为高电平,此时T_RS输出高电平,因此在复位键为按下时,DSP复位信号DSP_RST为高电平,系统正常运行,当按键按下后,SW_RST为低电平,导致T_RS输出低电平,从而DSP_RST输出低电平,系统复位。(2)时钟电路设计TMS320F2812的时钟有两种连接方式, 即外部振荡器方式和内部谐振器方式。若使用内部振荡器, 须在X1/XCLKIN和X2两个引脚之间连接一个石英晶
31、体。若采用外部时钟,可将输入时钟信号直接连到X1/CLKIN引脚上,X2悬空。本文采用的是内部谐振器方式,直接选择一个3.3V供电的30MHz有源晶振实现。系统工作是通过编程选择5倍频的PLL功能,可实现F2812的最高工作频率(150MHz)。晶振电路如图3-5所示。图3-5 晶振电路原理图(3)DSP与JTAG接口设计JTAG接口提供对DSP内部Flash的烧写和仿真调试,它所具备的这些能力需要软件的配合,具体实现功能则由具体的软件决定。JTAG接口是一个业界标准,这部分的引脚定义不要随意改变6。本设计中将其设计成一个标准的14针插座。JTAG接口电路如图3-6所示。图3-6 JTAG接口
32、电路原理图(4)外扩Flash接口电路设计本系统的显示模块由于自身不带有字库,所以其所有显示的字符与汉字等都需要先对其进行编码,编码后的数组会占用很多的存储空间,特别是汉字和图片编码,而TMS320F2812片内自身所带的存储空间有限,且程序代码需要占用很大一部分存储空间,如果将字符编码全部存放于内部的存储空间将会造成程序存储空间不足。因此需要为其外扩一个Flash存储器。本设计中使用SST39VF400A作为外扩存储器。SST39VF400A存储空间为256K*16,可擦写10万次,保存数据100年以上,其使用并口进行数据的读写,读写速度快且寻址方便,SST39VF400A与DSP的接口电路
33、如图3-7所示。图中,XA0XA19为地址总线接口,DQ0DQ15为数据总线接口,WE与OE分别为写数据与读数据控制端,低电平有效,CE为片选端,低电平有效。 图3-7 外扩Flash的接口电路原理图3.3 电机驱动电路设计本系统使用28BYJ-48步进电机作为纸带传送的动力源,TMS320F2812作为控制单元只能提供电机的控制信号,却无法直接驱动步进电机的工作,要使步进电机正常工作就需要为电机设置驱动电路7。本设计选择ULN2803作为电机驱动单元的驱动芯片,其具有驱动电流大、耐压高、价格便宜、外围电路简单等优点。3.3.1 28BYJ-48步进电机步进电机是一种将电脉冲转化为角位移的执行
34、机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 3.3.2 ULN2803驱动芯片及驱动电路ULN2803为八重达林顿晶体管阵列,脚1,2,3,4,5,6,7,8为输入,对应的脚18,17,16,15,14,13,12,11为输出,10脚为8路输出的续流二极管公共端。输入电压5V的TTL和5V的CMOS电路可直接驱动。输出最高500MA、50V。因为输出是集电极开路,所以输出接负载,负载的另一端得接正
35、电源。应用时是9脚接地。当输入为0时,输出达林顿管截止,负载无电流。输入为高电平时,输出达林顿管饱和,负载就有电流流入输出口。10脚是在驱动感性负载时用的,驱动感性负载时10脚接负载电源的正极。ULN2803驱动步进电机的接线图如图3-8所示,使用一片ULN2803同时驱动两个步进电机。由于系统中使用的两个步进电机要求转速相同,因此两个电机使用相同的控制信号。控制脉冲由GPIOB0GPIOB3四个I/O口提供。图中的所有电阻均为上拉电阻增强驱动能力。 图3-8 ULN2803驱动电路图3.4 传感器与电压比较电路设计3.4.1 传感器电路设计本设计中用于对飞剪模型的纸带位置、电机转速等信息进行
36、采集的传感器主要为光电管。光电管按测量位置需求可大体分为反射式和对射式两种工作状态8。反射式光电对管的发射管与接收管平行放置,头端处于同一水平线,发射管与接收管之间使用塑料套管隔离,当对管头端有反光物体经过时,发射管发射的红外光会被反射回来,接收管接收反射回来的红外光后导通,通过其外围电路引起电平变化,完成信息的传递。对射式光电管以头对头放置,在其中间如果没有物体遮挡的话,发射管发射的红外光被接收管接收,接收管处于导通状态,如果两管之间有物体遮挡,那么发射管发射的红外光将无法被接收管接收,接收管处于截止状态,然后通过其外围电路反应出电平变化,从而完成信息传递。红外对管作为传感器时常用接线电路如
37、图3-9所示,接通电源后,发射管正常工作,发射红外光,当发射管与接收管之间没有物体遮挡时,接收管接收发射管发射的红外光导通,此时输出端口输出低电平,当发射管与接收管间被遮挡时,接收管处于截止状态,输出端口输出高电平,输入端口通过捕获的高低电平状态获取信息。图3-9 红外对管电路图3.4.2 电压比较电路设计使用光电对管做传感器时,由于对管间相隔距离、反射光强度以及其他外界的干扰等因素影响会使得对管电平转换电路转换出来的电平并不是完全的高低电平,如果将此电平直接用于DSP的信号输入,DSP将无法识别9。因此我们需要对该电平信号进行电压比较处理。本设计选用的电压比较芯片为LM339。LM339集成
38、块内部装有四个独立的电压比较器,该电压比较器的特点是:(1)失调电压小,典型值为2mV;(2)电源电压范围宽,单电源为236V,双电源电压为1V18V;(3)对比较信号源的内阻限制较宽;(4)共模范围很大;(5)差动输入电压范围较大,大到可以等于电源电压;(6)输出端电位可灵活方便地选用。LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“
39、+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻,选315K)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用10。LM339的电压比较器接线图如图3-10所示,信号输入端均接到
40、比较器的信号负输入端,比较电压接到正输入端,比较电压由电位器R69R72产生。电阻R73R76为输出端的上拉电阻,在使用的过程中发现,当负相输入端的最低电压超过4.1V时,电压比较器将无法完成比较,为了解决此问题,我在信号输入端接了电位器R104R107用于调节输入电压的范围。当负相输入电压低于正相电压时,比较器输出高电平,反之,比较器输出低电平。 图3-10 电压比较器电路原理图3.5 LCD显示及按键电路设计3.5.1 LCD显示模块电路设计根据系统显示需要,本设计选用的LCD显示屏为Nokia5110。该模块为48x84 的点阵LCD,可以显示4行汉字,其采用串行接口与主处理器进行通信,
41、接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9条。支持多种串行通信协议(如AVR单片机的SPI、MCS51 的串口模式0等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。采用低电压供电,正常显示时的工作电流在200uA以下,且具有掉电模式。当其接通电源后,内部寄存器和RAM的内容是不确定的,这需要一个RES低电平脉冲复位一下。当VDD变为高电平,达到VDDmin(或更高)之后,最多100ms,RST输入低电平(电平幅度0.3VDD)11。Nokia5110与DSP的接口电路图如图3-11所示,电位器R55用于调节LCD的Vin端电压,以此调节LCD的偏置电压,控制LCD的
42、对比度。通过电位器R56调节LCD的背光亮度。 图3-11 Nokia5110电路接线原理图3.5.2 按键电路设计本设计需要实现飞剪模型的可控性操作,因此需要设置可用于输入信息的按键模块。系统共设置5个按键为系统输入用户设定的参数,该五个按键功能分别为:上下选择、左右选择、参数加减/确定、纸料退出、重新设定参数。按键的电路原理图如图3-12所示。图3-12 按键电路原理图图3-12中,当按键未按下时,按键输出端均为高电平,当按键按下后,对应的输出端直接与GND相接,输出低电平。DSP通过捕获端口的高低电平来判断按键的状态。第四章 系统软件设计系统软件是系统运行的核心,怎样把控制系统的硬件和软
43、件有效的结合起来是系统设计成功的关键。依托DSP硬件系统,DSP软件系统采用C语言进行程序设计,具有较高的可移植性。DSP软件设计部分主要完成了LCD显示及传感器信息采集,电机启停机转速控制,舵机动作时间控制等。与硬件设计一样,软件设计更需要明确系统的功能要求,然后根据功能划分软件模块化,完成各部分程序设计12。先由LCD屏显示提示信息,提示用户输入控制参数,然后DSP通过获取用户输入的控制参数控制电机的转动停止以及转速,控制舵机摆动的时间间隔以控制飞剪模型的剪切长度,同时DSP不断采集飞剪模型的运行状态信息,实现对飞剪模型的闭环控制。具体包括人机交互程序设计、电机控制程序设计、舵机动作程序设
44、计等。软件系统的总体执行过程如下图4-1所示:图4-1 系统总流程图 4.1 DSP开发平台简介DSP系统的开发离不开软件工具和硬件工具。如图4-2所示,软件需要TI公司提供的CCS软件,硬件则需要的是仿真器和目标板。由于本设计使用的DSP为TMS320F2812,以此目标板即为TMS320F2812的最小系统,仿真器为HDSP-XDS510 USB2.0。图4-2 DSP开发所需的工具CCS(Code Composer Studio)是开发DSP时所需的软件开发环境,即编写、调试DSP代码都需要在CCS软件中进行。目前,TI公司发布的CCS软件版本中常用的有CCS2.2、CCS3.1、CCS
45、3.3、CCS4.1以及CCS5.0等。CCS2.2是一个分立版本的开发环境,即针对TI公司的每一个系列的DSP都有一个相对应的CCS软件13。CCS3.1以后均为集成版本的开发环境,包含了TI公司几乎所有的DSP型号,所以不管需要开发哪一款DSP,只需要安装一个CCS软件就可以了。设计使用的开发环境为CCS3.3。4.2 人机交互程序设计4.2.1 显示单元程序设计本系统采用Nokia5110显示屏显示系统工作状态, Nokia5110(PCD8544)的指令集如表4-1所示。在使用时要注意的是“功能设置”命令的“H”和“V”。H=0使用基本指令集命令,H=1使用扩展指令集命令。V=0水平寻
46、址,V=1垂直寻址。48*84点阵的格式如图4-3,数据以字节8bit为单位下载到PCD8544,48*84bit显示数据RAM矩阵。列通过地址指针寻址,地址范围为X:083(1010011),Y:05(101)。地址不允许超过这个范围。表4-1 nokia5110指令集指令D/CDB7DB6DB5DB4DB3DB2DB1DB0描述NOP000000000空操作功能设置000100PDVH掉电控制写数据1D7D6D5D4D3D2D1D0写数据到显示RAM 图4-3 48*84点阵的格式与地址在垂直寻址(V=1),Y地址在每个字节之后递增,经最后的Y地址(Y=5)之后,Y绕回0,X递增到下一列的
47、地址。在水平寻址模式(V=0),X地址在每个字节之后递增,经最后的X地址(X=83)之后,X绕回0,Y递增到下一行的地址。经每一个最后地址之后(X=83,Y=5),地址指针绕回地址(X=0,Y=0)。Nokia5110(PCD8544)的通信协议是一个没有MISO只有MOSI的SPI协议,如果控制器有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。模拟SPI接口时序写数据/命令LCD子程序:void LCD_write_byte(unsigned char dat, unsigned char command) unsigned char i; LCD_CE = 0; /5110片选有效,允许输入数据 if (command = 0) /写命令 LCD_DC = 0; else LCD_DC = 1;