DSP课程设计报告讲解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-I-JIUJIANGUNIVERSITYDSP应用课程设计报告题目利用按键任意输入一个数值控制的转动角度院系电子工程学院专业电子信息工程姓名班级1211学号35日期2015.5.22内容提要步进电机作为一种电脉冲—角位移的转换元件,由于具有价格低廉、易于控制、无积累误差和计算机接口方便等优点,在机械、仪表、工业控制等领域中获得了广泛的应用。通过DSP对步进电机的控制可以实现系统实时、精确、高效、安全的设计要求,从而实现了自动化生产过程。作为重要部件的DSP是否实现控制要求是应用系统能否可靠工作的关键。许多研究机构和电机生产厂家对于用单片机和用功率器件来设计步进电机驱动系统作了大量的研究,如把MCS-51系列的8031单片机、美国Microchip公司的PIC系列的PIC16C5X、各类PLC和VMOS管等功率器件作为控制系统都是比较成熟的。这些方面的资料和经验对于将更高速的DSP器件用在驱动系统上都是很有帮助的。现在流行的方法是将一系列外围设备如数模转换器(A/D)、脉宽调制发生器(PWM)和数字信号处理器(DSP)内核集成在一起,就获得一个强大又非常经济的电机控制专用的的DSP。许多厂家开发出了电机专用的DSP器件和支持各种通用算法的模拟软件。不仅芯片的运算速度越来越快,且软件中集成和固化在硬件中的算法模块越来越多,使得实现各种功能和进行电机性能研究变得现实和容易,能够实现更加理想的控制要求,随着对步进电机的研究更加深入与芯片价格的降低和功能的增加以及随着半导体工艺,尤其是高密度CMOS工艺的发展和进步,芯片的价格日益下降,而性能却不断提高,软件和开发工具越来越多,越来越好,应用范围日益广泛。DSP作为一种高速处理器件在驱动系统中的应用也会更加广泛和普及,研究DSP在控制领域中的应用也有着重大现实意义。-III-目录一课程设计要求...............................................................................................4二总体方案.......................................................................................................5三硬件系统设计...............................................................................................6四软件系统设计.............................................................................................10五系统调试及结果分析.................................................................................34六总结.............................................................................................................344一课程设计要求设计要求:一、利用开发板上的3*3的矩阵键盘的S1~S6的6个按键实现输入1~360之间任意给定的一个整数,用4位数码管依序显示输入的整数。二、按键S7表示“退格”键。按下此键:若数码管当前显示的数值是两位及以上的数时,删除所显示数据最后的一位;若当前显示的数是一位数时,则显示数据变成0。三、按键S8表示“+/-”符号键。按下此键,改变显示数据的符号:若当前显示的数值是正数时,则在显示的数前加“-”号;若当前显示的数是负数时,则去掉显示的数前的“-”号。四、按键S9代表“确认”。按下此键,步进电机根据数码管显示数值进行相应的动作。规则如下:1、如果数码管显示的是正数,则步进电机顺时针旋转显示数字的角度。如:数码管显示125,则步进电机顺时针转动至与起始位置成125度的位置停下。步进电机转动完成后,蜂鸣器“嘀-嘀-嘀”响三声。2、如果数码管显示的是负数,则步进电机逆时针旋转显示数字的角度。如:数码管显示-125,则步进电机逆时针转动至与起始位置成125度的位置停下。步进电机转动完成后,蜂鸣器“嘀-嘀-嘀”响三声。3、步进电机的转动角度和所设定的角度的误差控制在15度以内,如果误差超过15度,可以利用按键输入一个数值让步进电机再转动一次进行角度修正。但修正之后的误差要控制在8度以内。二总体方案按照设计要求可以把设计分为4个部分。首先是对按键电路的设计、数码管电路的设计、步进电机的设计、蜂鸣器响应的设计。下面分别介绍这4个部分的详细方案。按键电路:采用3*3的键盘。S1键为数码管数值+1,S2键为数码管数值+10,S3键为数码管数值+100,S4键为数码管数值-1,S5键为数码管数值-10,S6键为数码管数值-100,S7为退格键,S8为负号键,S9为确定键。数码管显示电路:采用共阳极四位七段数码管。由按键控制显示值,显示值为(0~正负360)。步进电机:由按键S9控制。数码管显示的数值即为电机需要转动的角度,按键按下S9电机转动。按键S8控制电机正转(正数)或反转(负数)电机所转的角度计算过程:。蜂鸣器:步进电机转完,蜂鸣器响3声。按键蜂鸣器响应步进电机数码管显示6三硬件系统设计本设计用到了DSPF28335开发板上的数码管、3*3按键、蜂鸣器还有电机。1.数码管本开发板上的数码管采用的是共阳极四位七段数码管。每个数码管内部共有12个引脚,分别是内部四个数码管共用a~dp这8根数据线(也称段选线)和四个数码管的四个公共端SEG1~SEG4(也称位选线)。7段数码管是指数码管里有7个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。除了7段式以外常用的还有8段式,8段比7段多了一个小数点,其他基本相同。一个7段或8段数码管称为一位,多个数码管并列在一起可构成多位数码管,如本开发板是4个数码管并在一起,所以叫4位数码管。图3数码管控制电路3.按键1.3*3矩阵键盘的工作原理和扫描确认方式当键盘中按键数量较多时,为了减少对I/O口的占用,通常将按键排列成矩阵形式,也称为行列键盘。矩阵式键盘接口如图4所示,它由行线和列线组成,按键位于行、列的交叉点上。当按键按下时,其交点的行线和列线接通,相应的行线或列线的电平发生变化,DSP通过检测行或列线上的电平变化可以确定哪个按键被按下。图4F28335键盘接口图在矩阵键盘的软件接口程序中,经常使用的按键识别方法有行列扫描法和线反转法,本项目采用列扫描法对矩阵键盘进行判别。图1中GPIO53、GPIO52、GPIO51为3根行线,作为键盘的输入口(工作于输入方式);GPIO50、GPIO49、GPIO48为3根列线,作为输出口(工作于输出方式),由DSP控制其输出的电平值。按键识别的过程如下。1)将全部列线GPIO50、GPIO49、GPIO48置低电平输出,然后读GPIO53、GPIO52、GPIO51三根输入行线中有无低电平出现。只要有低电平出现,则说明有按键按下(实际编程时,还要考虑按键的消抖);如果读到的电平都是高电平,则表示无按键按下。82)在确认某行有按键按下后,需要确定具体是哪一列的按键按下。其思路是:依次将列线置为高电平,并检测行线的输入,如果行线的电平值由低电平变为高电平,则该列对应的按键处于闭合状态。由此,DSP对矩阵键盘的按键识别是,采用扫描方式控制列线的输出信号和检测行线输入的信号相配合实现。4.电机采用的是步进电机。步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得步进电机在速度、位置等控制领域的控制操作非常简单。对于步进电机可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达调速的目的。图步进电机接口5.蜂鸣器图蜂鸣器与DSP的硬件连接图开发板采用三极管来控制峰鸣器的发声,输入的控制信号是DSP的GPIO35管脚,经J23跳线选择。10四软件系统设计1.软件流程主程序流程图:按键设置流程图:12数码管显示流程图电机流程图:14蜂鸣器响应流程图:中断流程图:2.完整程序清单/*********************************************************************文件名:数码管显示程序*描述:执行该程序,数码管显示数字从0000~9999递增**********************************************************************//********************************************************************程序说明:更换控制平台,仅需更改IO口初始化、宏定义以及spi初始化16********************************************************************/#includeDSP2833x_Device.h//DSP2833xHeaderfileIncludeFile#includeDSP2833x_Examples.h//DSP2833xExamplesIncludeFile#defineSET_KY3GpioDataRegs.GPBSET.bit.GPIO48=1//Y3拉高#defineRST_KY3GpioDataRegs.GPBCLEAR.bit.GPIO48=1//Y3拉低#defineSET_KY2GpioDataRegs.GPBSET.bit.GPIO49=1//Y2拉高#defineRST_KY2GpioDataRegs.GPBCLEAR.bit.GPIO49=1//Y2拉低#defineSET_KY1GpioDataRegs.GPBSET.bit.GPIO50=1//Y1拉高#defineRST_KY1GpioDataRegs.GPBCLEAR.bit.GPIO50=1//Y1拉低#defineKX3_STATUSGpioDataRegs.GPBDAT.bit.GPIO51//X3状态#defineKX2_STATUSGpioDataRegs.GPBDAT.bit.GPIO52//X2状态#defineKX1_STATUSGpioDataRegs.GPBDAT.bit.GPIO53//X1状态//数据第3位,SEG1,GPIO16#defineSET_BIT4GpioDataRegs.GPASET.bit.GPIO16=1//与外设板8_LEDS端子的IO16对应#defineRST_BIT4GpioDataRegs.GPACLEAR.bit.GPIO16=1//与外设板8_LEDS端子的IO16对应//数据第2位,SEG2,GPIO17#defineSET_BIT3GpioDataRegs.GPASET.bit.GPIO17=1//与外设板8_LEDS端子的IO17对应#defineRST_BIT3GpioDataRegs.GPACLEAR.bit.GPIO17=1//与外设板8_LEDS端子的IO17对应//数据第1位,SEG3#defineSET_BIT2GpioDataRegs.GPBSET.bit.GPIO62=1//与外设板8_LEDS端子的IO62对应#de

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功