乒乓球发球机控制器软件设计

上传人:痛*** 文档编号:79737152 上传时间:2022-04-24 格式:DOC 页数:61 大小:886.50KB
收藏 版权申诉 举报 下载
乒乓球发球机控制器软件设计_第1页
第1页 / 共61页
乒乓球发球机控制器软件设计_第2页
第2页 / 共61页
乒乓球发球机控制器软件设计_第3页
第3页 / 共61页
资源描述:

《乒乓球发球机控制器软件设计》由会员分享,可在线阅读,更多相关《乒乓球发球机控制器软件设计(61页珍藏版)》请在装配图网上搜索。

1、摘 要 本文针对乒乓球发球的特点,模拟设计了一种乒乓球发球机控制器。该发球机控制器由8位单片机STC89C51为核心的硬件电路和相关软件编程组合而成。实现改变发球速度、发球高度及角度等的功能,以满足练习者的不同技术需求,同时设置了随机发球模式,实现落球点的随机变化。本课题的软件设计采用了主函数调用各状态子程序的方法,完成了按键控制、液晶显示、驱动电机调速的功能。配合本组同学的硬件设计完成了单片机外围硬件电路的设计,其中包括电动机驱动模块、键盘模块及液晶显示模块。最后我们在完成硬件电路的分析和软件模块调试的基础上,进行了联机调试,对各模块电路实行软硬件检测,有效地将两者结合起来,完成了系统的整体

2、控制。关键词:乒乓球发球机,控制器,发球模式,单片机ABSTRACT Considering the characteristics of the table tennis served,the thesis designs a kind of table tennis serving controller. It is consist of traditional 8 monolithic integrated circuitsSTC89C51 for the hardware circuit design and related software C51 for programming d

3、esign. It can accomplish the function of changing the balls speed,altitude and angle,in order to satisfy the needs of people. Meanwhile the random serving patten was designed and the fall points of the table tennis become randomly. The software in this essay is designed using the form that the main

4、function calls a subroutine,and finishing the function of button control,liquid crystal display,drive motor speed regulation.The hardware design produced a peripheral circuit of monolithic integrated circuits including the drive motor module,keyboard module and LCD display module. Finally,on the bas

5、is of finishing hardware circuit analysis and software module debug, we match the soft and hardware and test all modules carefully, then the basic function of the system achieves the desired effect.KEYWORDS: the table tennis serving machine,controller,serving pattern,single chip microcomputer 目录第一章

6、绪论11.1本课题的研究背景和意义11.2国内外乒乓球发球机的研究现状1121国外乒乓球发球机的研究现状2122国内乒乓球发球机的研究现状41.3 本课题研究内容与设计步骤51.3.1本课题研究内容51.3.2本课题设计步骤6第2章 乒乓球发球机控制器设计分析82.1乒乓球发球机的结构及电动机选择82.2主控单片机的选型92.2.1单片机的主要特性92.3液晶显示芯片的选择102.3.1 LCD12864引脚说明112.3.2 LCD12864工作时序122.4驱动芯片的选择132.4.1 L298N引脚说明132.5步进电机的调速方法152.5.1步进电动机概述152.5.2步进电动机的调速

7、152.6直流电动机的调速方法152.6.1直流电动机概述152.6.2直流电动机的调速16第3章 乒乓球发球机控制器硬件设计173.1总体设计183.2单片机的最小系统183.3驱动电路模块193.4按键电路模块203.5 LCD液晶显示电路模块20第4章 乒乓球发球机控制器软件设计214.1 系统软件设计概述214.1.1 软件程序编写的原则214.1.2 程序设计方法224.1.3 软件设计步骤234.2 编译软件介绍234.3系统各部分流程图244.3.1 主程序流程244.3.2 LCD12864流程254.3.3 按键流程274.3.4 电机驱动流程294.3.4.1 直流电机驱动

8、流程304.3.4.2 步进电机驱动流程31第5章 系统调试325.1 硬件调试325.1.1 硬件静态调试325.1.2 硬件动态调试335.2 软件调试335.3 联机调试345.4 调试结果35第6章 结束语376.1总结376.2心得体会37致 谢38参考文献39附 录40附录一 硬件实物图40附录二 硬件原理图41附录三 程序4257第一章 绪论 本章从该课题的研究背景出发,提出了本设计的必要性。其次,介绍了国内外的研究现状。最后,对该课题的研究内容和设计流程进行了简单的描述。从整体上把握了基于51单片机控制的乒乓球发球机控制器的设计原则和内容,为完成本次设计做出预备工作。1.1本课

9、题的研究背景和意义随着中国在世界上的地位越来越举足轻重,我国的体育事业也正在蓬勃发展。从第一届奥林匹克运动会没有亚洲人的身影,到2008年我们中国作为东道主,自己举办奥运会,很多项目都取得了零随着我国运动员在奥运会中连续取得佳绩,让人们在为体育健儿加油喝彩的同时,也极大地调动了全国人民投入体育运动的热情。乒乓球作为我国的国球,更是得到很多人的喜爱。它集健身、竞技、娱乐于一体,不仅可以锻炼身体,还可以练习头脑的灵活性、眼睛的反应力以及全身的协调性。但是对于初学者,捡球的时间却比真正在台上打球的时间多,这样要提高技术水平就很慢,也会削弱人们对乒乓球的兴趣。对于一些高水平的选手,由于人手发球速度和频

10、率比较慢,而且陪练员长时间发球也不太可能,因此要进行变化多、强度大的多球练习比较困难,而且从经济观点或科研方面考虑,乒乓球发球机的开发、研究与应用都能极大地推动体育运动事业的发展。正是在这种情况下,研究乒乓球发球机是极其必要的。1.2国内外乒乓球发球机的研究现状对于乒乓球发球机的研究可以追溯至六十年代末和七十年代初,当时欧洲出现了乒乓球发球机。它通过一定的机械装置,按乒乓球技术训练的不同要求,将球不断发射出来。发球机发出的球,比人速度更快,力量大,且旋转更强,所以,它对提高乒乓球运动员的训练水平有一定的作用。目前市场上销售的乒乓球发球机,按控制类型可以分为两类:一类是半自动,简单操作系列;另一

11、类是全自动,电脑程控系列。半自动式,无论是安装还是使用都比较麻烦,而且发球的方式、力量、速度都是固定的,如果要改变各项技术参数,就必须停下来,人工来校准调整机头旋转角度,来实现各种旋转球,手动抬高或降低机头,来调整球的射程弧度,而且机械性能比较差,经常卡球,但这类产品还是受到很多人的青睐,因为它的价格低,符合大多数人的需求。全自动式,是由全电脑程控的,能模拟运动员常用的技术,可发出很多高性能的球,可以模拟真人发球,还能发多种速度不同的球,人性化的设计能够满足不同技术水平的人的需要,技术好的可以选择多速度和角度发球;技术不好的可以选择基本发球。而且其电脑记忆功能还能记录球员打球的路数,能起到专业

12、陪练效果。这种机器虽然性能很高,但价格也比较贵,令很多人望而止步。 按出球方式可以分为三类:一类是轮式发球机,一类是压气式发球机,另一类是捶击式发球机。其中轮式发球机的原理是由于装有轮子的通道空间很小,当球从滑轨滚入通道时,轮子就将球喷出。这种情况和小石头被打滑的车轮喷出是一样的。这种发球方式有两种,一种是单轮驱动,另一种是双轮驱动。单轮驱动发球机的弊端是:发出来的球如果速度快,那么同时旋转也强;如果速度慢,那么同时旋转也弱。这和人们实战打球是完全不同的,实际上球速和旋转并不是完全成正比的,比如攻球的速度最快,但是旋转并不强;而弧圈球虽然旋转极强,但是速度未必很快。双轮驱动的发球机完全解决了单

13、轮驱动速度和旋转的矛盾,可发出各种旋转的球,同时也可以发出不转球。压缩式发球机是利用空气压缩机来发射球的,球被装入长桶的底部由一个窄口固定住,这个窄口的直径比球的直径略小一些。当压缩空气推挤乒乓球穿过窄口的时候,球就被发射出去了。这种发球机的缺点是噪音极大而且不能提供高的性能,同时,空气压缩消耗的功率很大,难以使用电池来供电;它的优点是价格比较便宜。捶击式发球机有多种设计方案,最常见的是通过凸轮带动摆杆,将落入发球口的乒乓球击出去,这种方式性能单一,而且不方便控制,已经逐渐被淘汰。121国外乒乓球发球机的研究现状国外的乒乓球发球机发展比较快,其功能比较齐全,自动性能也比较高,既可以满足普通练习

14、者的需求,也可以满足专业运动员的要求。目前,世界上生产乒乓球发球机的厂家比较多,具有代表意义的厂家是美国的LNEWGY公司和日本的Butterfly公司。1 LNEWGY公司之乐吉发球机:其发球原理是由电动机带动的位置可调旋转轮和一固定的摩擦块组成发射机构,当球进入发球通道,由旋转轮将球旋出发球口来,旋转轮的位置不同,则可得到不同旋向的球。该系列乒乓球发球机一般可分为三个等级,初级发球机是为初学者和娱乐者设计的,中级发球机是为中级和比赛级球员设计的,而高级发球机是专为专业运动员和爱好乒乓球的行家设计。该系列发球机的特点之一是使用者可以根据自己的水平状况选择合适的发球机等级,当水平提高时,该发球

15、机可以通过升级包,快速方便的达到高的等级。通过控制球桌旁的控制盒可以调节发球速度、发球频率、旋转速度以及出球口角度:通过手动调节出球口上的旋钮可以发射出上旋、逆旋、侧旋甚至混合旋转等各种旋向的球;通过手动调节发球机后的两个控制杆可以实现发球角度摆动范围的变化,利用两杆的不同组合可有八种摆动范围选择,还可实现定点发球;通过设置球型号开关调节旋转轮与摩擦块之间距离,可以选择适合所使用球型的发射轨道;通过将发球机安装在不同的位置可以实现不同的发球角度和发射弧度。2.Butterfly公司之Amicus发球机:其发球原理是采用两个高速旋转的轮子(旋转方向相反),由于轮子的空间小于球的直径,当球从滚道滚

16、入两轮之间的时候,轮子将球旋出,但它只能形成45的侧旋球。其旋转速度和球发射速度没有关联,可以发射慢旋的短球和快速的突发球,这是同类发球机无法做到的。该发球机有三个不同的发球模式可选择,一种是规则模式,发射固定落点的球;一种是自动模式,发射随机球或组合球;另外一种是自定义模式,根据需求自己编写发球模式的程序。同时它具有记忆功能,能够保存使用者输入的程序以及记录前一使用者的选择模式和命令。在使用者一端装有控制界面,实现对发球机的远程控制。该发球机结构紧凑,底座下有轮子,使用者可方便调整发球机位置,但其高度不能调节。122国内乒乓球发球机的研究现状相对国外而言,国内的乒乓球发球机起步比较晚,但发展

17、很快,从最初的全手动发球机到现在的全自动发球机,甚至有些产品性能超过了国外的同类产品。主要有以下几个典型方面:1.半自动式乒乓球发球机:该发球机是福建省的林清云所设计的,其机械结构包括机身壳体、基座、储球斗、发球机构、弧度调节机构、角度摆动机构及电机调速电路。其工作原理是:由于储球斗装于机器上方,乒乓球可通过自身重力落入发球机构,发球机构中的拨叉在电动机的带动下击打落入球道的乒乓球,乒乓球经球道前端的摩擦辊高速切搓后成旋转状飞出球道。其发球机构由拨叉、电动机和凸轮组成,拨叉由L形臂和直臂两部分组成,与机身底盘间有一弹簧相连,L形臂可摆动到球道的入球端,直臂与双扇结构的凸轮面相接触。通过电动机带

18、动凸轮转动,在弹簧的作用下,拨叉即可做出打击动作,将乒乓球击出。其弧度调节机构可以调节出球的弧线,而角度摆动机构完成出球角度的左右摆动变化,形成丰富的出球线路;电机调速电路即可控制出球频度和旋转强度。该发球机的特点是结构简单,发球速度快,经济实惠;缺点是故障率高,质量差、发球变化少,调节不方便。2.双蛇牌乒乓球发球机:该发球机是双蛇公司研发生产的全自动电脑控制操作系列的发球机,它是在研究总结众多发球机的优缺点的基础上,专为乒乓球运动爱好者开发出的具有突破性的创意产品。其主要特点是通过电脑编成实现“一键一功能”,即使用者通过遥控器或者控制面板上的按键来改变发球特性,只要按一下按键,就可以自动发出

19、攻球、前冲弧圈球、削球、长胶球、高吊球性能的球;还可以自动发出上旋球、下旋球、不转球、右侧上、右侧下、左侧上、左侧下、右侧旋、左侧旋九种基本旋转发球方式的球。该发球装置设计有云台旋转机构,并安装有旋转角度极限装置,可以左右各旋转20度,在训练时,使用者可根据自己的需求进行任意调整,通过细调可以派生出多种多样性能的球,从而使发出的球更接近人工发球,也更具有人性化。发球装置主球道的滑轨设计为三根可更换式的滑轨,从而解决了球在此段摩擦大,运行中阻力大的缺点。其机头摩擦轮设计为组装式,由轮毅、压圈和橡胶组成,其优点是更换橡胶圈方便,成本低,保证射点准确。其电脑控制系统具有记忆功能,使得在关机前处于什么

20、状态,再次开机时会仍然处于该状态。由于其旋转机构需手动调机,使整个装置不能完全实现自动化。3.许绍发智能乒乓球教练机:该发球机是由三鼎公司采用生产研制,采用微电脑控制,在一定程度上实现了训练过程的自动化,其桌面分割为多个小方块,可根据程序设定准确地将球射到指定区域。它利用对转双轮原理的特性,借助轮子与球之间的摩擦力来获取能量,使球获得一定的初速度将球发射出去。按照使用者要求可发射各种旋向球和不转球,可任意改变球的落点,落点与旋向可任意组合。有300个训练程序可选择,使用者可根据自己需求来输入所需程序。它比现实市面销售的同类产品领先的关键在于它的可控制性,它抛出的球接近人工打球的速度、旋转弧线。

21、其不足之处是不能像真正的人工发球可根据实际情况来应变发球,由于发球程序模式所限,所发球具有一定的规律性。尽管乒乓球发球机经过多年发展,己有很大改进,但发球机“打”出的球和人打得球还是许多不同:一是发球机发出来的球和运动员实际打过去的球在性能上不大相同;二是运动员打球时都有一个挥球拍动作,接球者可以借此来判断和反应,而发球机发出的球则很突然,接球者不好判断。1.3 本课题研究内容与设计步骤1.3.1本课题研究内容本课题的研究内容包括以下几个部分:研究乒乓球发球机控制系统方案,了解单片机的特性、C语言程序设计、PROTEL仿真环境、基本实验、扩展实验及其使用方法。熟悉芯片各个部分的功能及L298控

22、制电机设计。进行基于单片机控制的乒乓球发球机软件设计,与其他同学配合实现乒乓球发球机控制系统软硬件结合,实现所需要的功能。具体而言:(1) 了解STC89C51单片机的特性、指令系统、程序设计、Keil uVision开发环境;(2) 研究、分析乒乓球发球机控制系统设计方案; (3) 分析自动乒乓球发球机的工作原理及工作过程;(4) 实现基于51单片机控制的控制系统软、硬件联机控制。1.3.2本课题设计步骤本课题的研究与设计为时一个学期,经历了选题、选择方案、硬件设计、软件编写、调试等过程,具体的流程如图1.1所示:图1.1 系统设计流程图第2章 乒乓球发球机控制器设计分析本章节的研究内容包括

23、:乒乓球发球机的结构、电动机选择、主控单片机的和主要芯片的选择、以及电机的调速方法。2.1乒乓球发球机的结构及电动机选择 如图2.1所示:乒乓球发球机由机座、乒乓球输送机构、拨球机构、摇摆机构和发射机构组成。 图2.1 乒乓球发球机的机械结构图 电动机选择:拨球机构的作用是将乒乓球按照一定的速度靠自身重力落入输送机构,可以用步进电机来带动;输送机构与拨球机构中乒乓球的速度和方向一致,只负责将球送入发射机构,此过程可以用直流电机带动;摇摆机构的作用是带动发射装置实现上下、左右的摆动,从而使发球的角度和弧度发生变化,可采用步进电动机来带动;发射机构的发射装置设计为由两个摩擦轮组成,分别由两个直流电

24、动机来带动,通过控制两个直流电机给予不同速度,从而实现乒乓球的上、下旋。2.2主控单片机的选型本系统采用STC89C51为核心处理器,STC89C51是单片机是是一个新一代抗干扰,低功耗,高性能CMOS 8位单片机,片内含4KB的可反复擦写的Flash只读程序存储器,128B的随机存取数据存储器(RAM),与工业标准的MCS-51指令集和输出管脚相兼容。本系统需要扩展I/O口,因此选89C51比选80C31少扩展ROM,节省电路空间,且应用较为普遍,其引脚如图2.2所示:图2.2 STC89C51单片机引脚图2.2.1单片机的主要特性(1) 增强型6时钟/机器周期,12时钟/机器周期8051C

25、PU;(2) 用户应用程序从4K64K不等;(3) 3V/5V工作电压,操作频率033MHz; 5V工作电压,操作频率040MHz;(4) 4个8位I/O口,含3个高电流P1口,可直接驱动LCD;(5) 可编程看门狗定时器(WDT);(6) 兼容TTL和CMOS逻辑电平;(7) 3个16位定时器/计数器;(8) 通用异步串行口(UART),还可用定时器软件实现多个UART;(9) 掉电检测和低功耗模式等。 2.3液晶显示芯片的选择本设计中,液晶显示器是一个非常重要的模块,其作用是对乒乓球发球机发球状态进行实时监控并可以显示制作者信息,当前工作模式和提示用户操作。常用的是LCD1602和LCD1

26、2864。LCD1602是一种专门用于显示字母、数字、符号等的点阵式LCD,而LCD12864一般用来显示汉字。根据本设计所要实现的功能,应该选用LCD12864液晶显示器。LCD12864外形如图2.3所示:图2.3 LCD12864外形图LCD12864汉字图形型液晶显示模块,可显示汉字及图形,提供8位,4位并行接口及串行接口可选,内置8192个中文汉字(1616点阵)、128个字符(816点阵)及64256点阵显示RAM(GDRAM)。显示屏最多可实现32个中文字符或64个ASCII码字符的显示。其优点如下:(1) 显示质量高;(2) 数字式接口:和单片机系统的接口简单可靠,操作方便;(

27、3) 功耗低;(4) 体积小、重量轻。2.3.1 LCD12864引脚说明LCD12864引脚图如图2.4所示:图2.4 LCD12864引脚图(1)VSS:模块的电源地;(2)VDD:模块的电源端,通常使用5V电压; (3)VO:LCD驱动电压输入端,对比度(亮度)调整;(4)RS:数据/指令选择端:RS为高电平时,表示DB7DB0为数据;RS为低电平时,表示DB7DB0为指令;(5)R/W:读/写选择信号。R/W为高电平时,读取数据;R/W为低电平时,写入数据;(6)E:并行的使能信号(脉冲有效);(7)DB0DB7:数据位0数据位7。(8)PSB:并/串行接口选择:高电平时为并行接口;低

28、电平时为串行接口;(9)NC:空脚;(10)/RST:复位,低电平有效;(11)LED_A:背光源正极;(12)LED_K:背光源负极。2.3.2 LCD12864工作时序本设计所采用的液晶显示模块,主要体现在软件中,对LCD12864的编程是一个重点和难点。要实现对LCD12864的编程,就必须对其工作时序图清楚地把握。单片机与LCD12864的数据传输有两种模式:并行通信模式和串行通信模式。本设计采用并行通信模式。 LCD12864的并行读/写操作时序如图2.5(a)和(b)所示: 图2.5(a) LCD12864的并行读操作时序 图2.5(b) LCD12864的并行写操作时序 由图可知

29、:当需要写指令字,设置LCD12864的工作方式时:需要把RS置为低电平,RW置为低电平,然后将数据送到数据口D0D7,最后E引脚一个高脉冲将数据写入。当写入数据字,在LCD1602上实现显示时:需要把RS置为高电平,RW置为低电平,然后将数据送到数据口D0D7,最后E引脚一个高脉冲将数据写入。2.4驱动芯片的选择L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器。可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机,而且电路简单,使用比较方便。其优

30、点如下:(1) 可实现电机正反转及调速;(2)启动性能好,启动转矩大;(3)工作电压高,最高达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A。2.4.1 L298N引脚说明L298N引脚图如图2.4所示:图2.4 L298N引脚图L298N内部逻辑图如图2.5所示: 图2.5 L298内部逻辑图 (1) SENSING-A/SENSING-B:与地之间连接电流检测电阻,将检测量反馈给步进电机控制芯,可以恒流驱动步进电机。 (2)OUTPUT1/OUTPUT2:全桥驱动器A的输出端,用来连接负载。 (3)Vs:电动机驱动电源输入端,与地之间需连接高、低频退耦合电容。 (4)INPU

31、T1/INPUT2:输入标准TTL逻辑电平信号,控制全桥驱动器A通断。 (5)ENABLE-A/ENABLE-B:使能控制端,控制全桥驱动器的工作状态,低电平时禁止工作。 (6)GND:接地端,芯片本身的散热与该引脚相连接。 (7)Vss:逻辑控制部分的电源输入端。 (8)INPUT3/INPUT4:输入标准TTL逻辑电平信号,控制全桥驱动器B通断。 (9)OUTPUT3/OUTPUT4:全桥驱动器B的输出端,用来连接负载。2.5步进电机的调速方法2.5.1步进电动机概述步进电机又叫脉冲电机,它是一种将电脉冲信号转换为角位移或线位移的机电式数模转换器。即给电机加一个脉冲信号,电机则转过一个步距

32、角,由于步进电动机能直接接收数字量的输入所以特别适合单片机控制。2.5.2步进电动机的调速步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入的脉冲数决定,而电机的转速由脉冲信号频率决定。两个脉冲间隔时间越短,步进电机转的越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。因此可以通过51单片机定时器进行控制,将电动机换相子程序放在定时器中断服务程序中,定时器中断一次,步进电动机就换相一次,调整定时器的定时常数就可以实现调速。2.6直流电动机的调速方法2.6.1直流电动机概述直流电机由静止的定子和旋转的转子两大部分组成。定子的主要作用是产生磁

33、场,转子的作用是产生感应电动势或电磁转矩,是直流电机进行能量转换的枢纽。直流电动机具有调速性能好、精度和效率高、起动转矩大、过载能力强等优点,因此广泛应用于启动和调速要求高的器械上。2.6.2直流电动机的调速 直流电动机通常可以采用改变电枢电压、减弱励磁磁通、改变电阻三种调速方法。对于要求在一定范围内无极平滑调速的系统来说,一般采用改变电枢电压的方式。通常采用脉宽调制即PWM法来改变电枢电压的大小进行调速。(1)PWM的基本原理及实现方法 PWM的基本原理是加在负载的脉冲电压频率不变,调节脉冲电压的占空比,从而改变电动机速度。其方法是通过改变电机电枢电压接通时间与通电周期的比值即占空比来控制电

34、机速度。由公式(1)可知:Vd=Vmax*D (1) 当我们改变占空比D时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格地讲,平均速度与占空比Vd并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。(2)产生 PWM信号的方法 利用单片机产生 PWM信号,可以采用利用延时方法产生 PWM信号和利用定时器产生 PWM信号。(3)PWM调速工作方式 方案一:双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输 出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。 方案二:单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输

35、出 PWM信号,两口的输出切换和对 PWM的占空比调节决定电动机的转向和转速。 由于单极性工作制中,应用相对简单易于实现与操作,所以我们采用了单极性工作制。(4)PWM调脉宽方式调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在产生PWM脉冲的实现上比较方便。(5)桥式可逆PWM变换器PWM变换器的作用是:用脉冲宽度调制的方法,把恒定的直流电源电压调制成频率一定、宽度可变的脉冲电压序列,从而改变平均输出电压的大小,以调节电机转速。一般采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精

36、确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,调速范围广、过载能力大,稳定性也极佳,是一种广泛采用的PWM调速技术。桥式可逆PWM变换器电路如图2.6所示。电动机M两端电压的极性随开关器件驱动电压的极性变化而变化。图2.6 桥式可逆PWM变换器电路第3章 乒乓球发球机控制器硬件设计乒乓球发球机控制器硬件设计是由本组同学主要负责,在此我做了相应的辅助工作。本章简单的介绍硬件电路各模块及原理。3.1总体设计 在硬件电路的设计中,配合本组同学做出了如下工作:选用STC89C51单片机作为主控芯片,外围电路包括:

37、电动机驱动电路、键盘及液晶显示电路。系统上电开始工作,液晶屏显示制作者信息,提示利用按键选择工作模式,当用户按下按键后,对应的模块开始运行。STC89C51向驱动电路发出数据,驱动电路接收到高低电平信号后,电机开始运行。于此同时,12864液晶显示接收单片机的控制,显示当前工作模式。系统整体结构框图如图3.1所示。图3.1系统整体结构框图3.2单片机的最小系统单片机最小系统包括了复位电路和时钟晶振电路,功能是先以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的操作,用来协调单片机内部各功能部件之间的数据传输、数据运算等操作。最小系统电路图如图3.2所示

38、。 图3.2 单片机最小系统电路图3.3驱动电路模块本设计采用3个型号相同的L298驱动电路,电路中给单片机提供5V电压,L298提供12V电压。驱动电路接线如图3.3所示:图3.3 电机驱动电路接线图 3.4按键电路模块按键作为一种不带自锁保护功能的开关,只有在动作的瞬间会接通电路,其余时刻均处于掉电模式。在本设计中,总共用到了五个单列式按键,按键部分的接线图如图3.4所示。 图3.4 键盘接线图3.5 LCD液晶显示电路模块在本设计中,液晶显示模块的作用非常重要,主要用来实时监控当前机器的工作状态。LCD12864液晶显示模块电路接线图如图3.5所示:图3.5 液晶显示模块电路接线图第4章

39、 乒乓球发球机控制器软件设计4.1 系统软件设计概述C语言是一种结构化的高级语言,其优点是可读性好、移植容易,是普遍使用的一种计算机语言。它有功能丰富的库函数,兼顾了多种高级语言的特点,并具备汇编语言的功能,而且可以直接实现对系统硬件的控制。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。所以本研究课题选择单片机C语言作为软件设计语言。4.1.1 软件程序编写的原则(1)实时性:即能够在对象允许的时间完成对系统的检测、计

40、算、处理和控制。此外,尽可能采用一些设计技巧,使程序尽量简单、紧凑、避免不应有的浪费。同时,对多个处理任务系统应实行中断嵌套或采用多重中断的办法,加快处理速度。(2)针对性:应用程序的最大特点是具有较强的针对性,即应用程序应根据一个具体系统的要求来设计。(3)灵活性和通用性:一个好的应用程序,不仅要针对性强,而且要有一定的灵活性和通用性,即稍加改变后就能适应不同系统的要求。为此,在程序设计时采用模块化结构,尽量把公用的程序编写成不同功能的子程序,这样易于设计和修改。(4)可靠性:在水泵调速系统中,系统的可靠性是至关重要的。只有在硬、软件都非常可靠的情况下,系统才能可靠地正常运行。为了提高系统软

41、件的可靠性,采用一些软件设计技巧,并把调试好的应用软件固化在单片机中。4.1.2 程序设计方法目前,单片机C语言最重要的程序设计方法是结构化的程序设计。用结构化方法设计的程序只存在三种基本结构,即顺序结构、分支结构、循环结构,程序代码的空间顺序和程序执行的时间顺序基本一致,程序结构清晰。在编写软件程序的过程中,结构化程序设计应遵循以下原则:(1)自顶向下,逐步细化。即抓住整个问题的本质特性,采用自顶而下逐层分解的方法,对问题进行抽象,划分出不同的模块,形成不同的层次概念。把一个较大的复杂问题分解成若干相对独立而又简单的小问题,只要解决了这些小问题,整个问题也都解决了。(2)模块化设计。模块化设

42、计是把复杂的算法或程序,分解成若干相对独立、功能单一,甚至可供其他程序调用的模块。模块化结构不仅使复杂的程序设计简单化,开发周期得以缩短,节省费用,提高了软件的质量,而且还可以有效地防止磨时间错误的扩张,增强整个系统的稳定性与可靠性;同时,还使程序结构具备灵活性,层次分明,条理清晰,便于组装,易于维护。(3)结构化编程。所谓结构化编程是利用高级语言提供的相关语句实现三种基本结构,每个基本结构具有唯一的出口和入口,整个程序由三种基本结构组成,程序中不使用goto之类的语句。本设计的软件编程选择结构化的程序设计方法,具体说来是采用主函数调用子函数的方法,将各子函数模块化,自顶向下、逐步细化,最终系

43、统整体软件的编程。4.1.3 软件设计步骤(1)系统定义:就是清楚地列出系统的各个部分与软件设计有关的特点,并进行定义,以作为软件设计的依据,系统定义是对系统任务的描述。(2)程序设计:程序设计是制定程序的纲要,也就是将系统定义的问题用程序的方式进行描述、绘制流程图,结构化程序设计、模块化程序设计和自顶向下设计等,都是此步骤的有效方法。(3)文件编制:文件编制是用流程图、注释、存储器分配说明等方法来描述程序来形成文件,以便用户和操作人员了解。文件编制的好坏,直接影响到程序的使用、维护和扩充。(4)维护和再设计:当软件投入现场运行时,一方面可能会发生各种现场问题,因而需要进一步对系统软件进行改造

44、和完善;另一方面,用户往往会由于环境或技术条件的变化,提出比原计划更多的要求,因而需要对原系统软件进行改进和扩充,然后再重新固化,以适应情况变化的要求。4.2 编译软件介绍随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括编译器、宏汇编、链接定位、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil Software公司推出的uVision3是一款可用于多种8051MCU的集成开发环境(IDE)。除

45、增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。 使用独立的Keil仿真器时,要注意以下的问题: (1)仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中插其他频率的晶振。 (2)仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 (3)仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外

46、引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。使用Keil编译软件进行程序的编译与调试的步骤为:建立工程文件、选择单片机、建立源文件、保存为.C文件、加载C文件、编译、运行,最后生成HEX文件。4.3系统各部分流程图4.3.1 主程序流程本设计利用STC89C51单片机作为控制机,采用单片机C语言进行程序的编写,将各部分模块化,使用主函数调用子函数的方法,遵循自顶向下、逐步细化的原则,实现了按键扫描、单片机P0口发出数据、控制L298驱动电路、LCD12864液晶显示的功能。 乒乓球发球机控制器的主程序流程图

47、如图4.1所示。单片机上电复位后,首先进行各端口和个芯片的初始化,LCD液晶显示器显示毕设题目和制作者信息;其次利用if-else语句进行按键扫描,对按键判断并依次对每种按键模式作出相应的程序控制。当按键1作用后,液晶显示器显示要选择的发球模式,此时若按键2作用,液晶显示器显示进入随机模式,按键4作用,随机模式发球;若按键2不作用,按键3作用,进入定向模式,按键1作用,左旋,按键4作用,右旋。具体流程如图4.1所示:图4.1 主程序流程图当系统开始工作后,液晶显示制作者信息和毕设题目,然后根据选择按键的不同,进入不同的工作模式,液晶显示当前工作模式。4.3.2 LCD12864流程 LCD12

48、864液晶显示器的工作流程包括:初始化、写命令、写数据、显示。LCD12864的控制指令如表4.1所示,读写控制信号如表4.2所示:表4.1 LCD12864控制指令表指令功能说明清屏将DDRAM填满“20H”,AC设为“00H”地址归位AC=0,游标移到原点进入点设定设定游标、指定显示的移位显示开关状态设置显示、游标及位置游标、显示移位控制设置游标、显示的移位控制单元,不影响DDRAM功能设置工作方式设置(初始化指令)CGRAM地址设置设置CGRAM地址到ACDDRAM地址设置设置DDRAM地址到AC读BF及AC值读忙标志BF值和地址计数器AC值写数据到RAM将D7D0写入内部RAM读出RA

49、M的值从内部RAM读取数据到D7D0表4.2 读写控制时序表RSR/WE功能00下降沿写指令01高电平读忙标志或地址AC10下降沿写数据11高电平读数据LCD12864上电后,首先要进行忙碌的检测,执行每条指令之前一定要确认模块的忙碌标志lcd_busy为低电平,表示不忙,可写指令与数据。其次是初始化,初始化包括基本指令、扩充指令的操作、显示开、关坐标以及清除LCD的显示内容。初始化完成之后,要设定显示位置,即输入显示地址(此处要注意显示第二行内容时,因为写入显示地址时要求最高位D7恒定为高电平1,因此地址要加上0x80),LCD12864指定显示位置是通过LCD写命令子程序来实现的,由表4.

50、2可知,此时设置RS、R/W为低电平并且E为下降沿。在位置确定后,在该位置写入数据,通过写数据子程序来实现,此时应该设置RS为高电平、RW为低电平并且E为下降沿。在数据写完之后, LCD12864写入的数据便会显示在液晶屏上。而且液晶显示模块对时间的要求很严格,延时时间的准确把握对液晶显示的精确工作有至关重要的作用,因此软件设计中需要延时程序。LCD12864流程图如图4.2所示:图4.2 LCD12864程序流程图4.3.3 按键流程在本设计中,键盘是操作人员与仪表进行交流的输入设备,借助键盘可实现对系统参数的设置。本设计单片机控制系统中,需要功能键较少,因此,可以采用非编码键盘的独立式按键

51、结构。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O,每个按键的工作不会影响其它I/O口线的状态,软件结构简单。本设计中单片机的P1口与键盘相连。 由于按键不具备自锁的功能,按键的动作是瞬间引起的,因此要考虑外界震动引起的误差,在程序中应用到消抖的方法,可以采用微小的延时。按键控制的五种模式是相互独立的,可通过5个嵌套的if语句来任意选择哪个按键作用。按键的流程图如图4.3所示: 图4.3按键扫描流程图4.3.4 电机驱动流程4.3.4.1 直流电机驱动流程 直流电动机采用PWM的调速方法,利用定时器中断的方法产生PWM信号,改变其占空比可以实现电动机的调速

52、。本设计中只需对直流电机进行调速,不需要改变转向。本设计中采用L298驱动直流电机,晶振采用12MHz,1个PWM信号由100次中断产生。上电后,定时器初始化,定时时间到,允许开中断,开始计数,将数值与预设数值加以比较,根据所计数据和预设数值的关系确定输出电平的高低。若所计数据大于预设数值,则输出高电平;反之,输出低电平,从而实现占空比的调节。直流电机驱动流程图如图4.4所示: 图4.4直流电机驱动流程图4.3.4.2 步进电机驱动流程 步进电机的转速是由脉冲频率控制的,两个脉冲之间时间间隔越短,电机转的越快,一般通过51单片机定时器进行控制。本设计中的步进电机的速度是固定不变的,只需要实现电

53、机的正反转控制。同样采用L298驱动,驱动电压为12V。步进电机采用的型号是25BY48L058F,额定电压为12V,额定电阻为40W,采用4相八拍工作方式。系统上电后,定时器初始化,当定时时间达到预设时间时,依次输出预设脉冲,脉冲在软件中是由数组生成的,从而使步进电机按照预设效果依次运行。步进电机驱动流程图如图4.5所示:图4.5步进电机驱动流程图 第5章 系统调试所谓调试,是将编写的程序投入实际的硬件电路中,检验硬件电路的输出正误,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程,从而使得硬件与软件有机的结合起来。整个调试过程分为三个部分:硬件调试,软件调试,系统联机调试。5.

54、1 硬件调试单片机系统的硬件调试和软件调试是不能分开的。通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件调试是基础,如果硬件调试不通过,软件调试则是无从做起。当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试分为以下两步:静态调试和动态调试。 5.1.1 硬件静态调试硬件静态调试,主要针对以下几点:(1) 排除逻辑故障:这类故障主要包括错线、开路、短路。排除的方法是首先认真对照原理图,看接线是否有错误。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线是否存在相互之间短路或与其它信号线短路,必要时利用数字万用表的短路测试功能。(2)

55、 排除元器件失效:造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。首先可以采取检查元器件与设计要求的型号、规格和安装是否一致,在保证安装无误后,用替换方法排除错误。(3) 排除电源故障:电源的故障包括电压值不符合设计要求、电源引出线和插座不对应、电源功率不足、负载能力差等。在通电前,要检查电源电压的幅值和极性,否则很容易造成集成块损坏。其次,加电后检查各插件上引脚的电位(单片机IO口的引脚电压在4.5V5.0V属于正常情况)。(4) 解决可靠性差:引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部的干扰、电源

56、纹波系数过大、器件负载系数过大等造成逻辑电平不稳定;另外,走线和布局的不合理等也会引起系统可靠性差。针对以上各种情况,分别提供了解决方案。5.1.2 硬件动态调试动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障,器件间连接错误的一种硬件检查。动态调试借用开发系统资源来调试用户系统中单片机的外围电路,使系统在运行中暴露问题,从而发现故障,排除故障。其方法是由近及远,由分到合的顺序。由分到合是指,按照逻辑功能将用户系统硬件电路分为若干块,如显示部分,DA部分,比较电路部分等,先分块调试。当调试某块电路时,与该电路无关的器件全部从用户系统中去掉,这样,就可以将故障范围限定在

57、局部电路上。当各块电路调试无故障后,将各块电路逐步加入系统之中,再对各块电路功能及各电路间可能存在的相互联系进行试验,直到所有电路加入系统后各部分电路仍能正确工作为止,由分到合的调试就完成了。5.2 软件调试软件调试方法与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块调试好后,再进行系统程序总调试;如果采用实时多任务结构程序,一般逐个任务进行调试。本次设计,我们的软件采用的是模块化结构。软件调试过程如下:(1) 模块结构程序调试时要一个个子程序分别调试。调试的手段可采用单步运行的方式和断点运行的方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序

58、执行结果是否符合设计要求。(2) 各程序模块调试通过以后,可以把有关的功能模块联合起来一起进行整体程序综合调试。在这个阶段发生故障的原因可能是各子程序运行时破坏现场、缓冲单元发生冲突、标志位的建立和清除在设计上失误、堆栈区域溢出等。(3) 在上述两步调试完成后,除了单步和断点调试,还应进行连续调试。因为这样可以能确定CPU的实时响应问题。(4) 当全部调试完成后,反复运行了多次,观察稳定性,必要时要对延时子程序作适当的修改。软件调试的界面图如下图5.1所示:图5.1软件调试界面图5.3 联机调试软件调试通过之后就是进行软硬件联机调试,在联机调试中出现了以下问题:(l)步进电机不能正常运行,通电

59、后不断抖动。检查后发现驱动电路所加的驱动电压过小,加大后,电机正常运行。(2)运行后,直流电机不能运行。经仔细检查后发现将驱动电路输出电平评估错误,输入低电平经驱动电路后输出高电平,因此,直流电机另一端应该与接地端相连接。调整接线后,运行正常。(3)12864显示不正常,经过检查后发现是软件的延时程序有问题,改变延时时间,就解决问题。(4)按键操作失灵,经检查后发现焊接时发生短路,纠正后操作正常。5.4 调试结果通过以上硬件调试、软件调试、联机调试三个阶段的工作后,系统总体上实现了预期的效果。单片机上电复位后,液晶显示制作者信息及毕设题目;按1号键,显示发球模式;按2号键,进入随机模式;按3号

60、键,进入定向模式。本次设计的调试结果如下图所示。未上电时系统如图5.2所示。图5.2 系统未上电上电后,液晶显示制作者信息并提示用户利用按键选择模式。如图5.3(a)和(b)所示。 (a)显示制作者信息 (b)提醒用户选择模式图5.3 系统上电显示图当用户按下按键后,显示当前模式,如图5.4所示显示当前模式的发球计数。 (a)随机模式 (b)定向模式(c)定向模式中设定的上旋球发球模式 (d)定向模式中设定的下旋球发球模式 图5.4 显示当前运行模式的发球计数第6章 结束语6.1总结本次毕业设计的核心是应用51单片机做出硬件,并结合软件实现乒乓球发球机控制器的设计。通过参阅单片机编程方面的文献

61、,对各模块电路原理有了进一步的了解。由我所负责的软件在设计方面,尽量做到程序设计系统全面。从确定研究任务后,我们在参阅了大量文献的基础上,设计了系统的结构框图,在整体上把握了研究课题的内容;第二个阶段是对各模块的细化,设计各模块电路图,确定系统整体硬件原理图,分析该原理的可行性之后,开始进行硬件电路的焊接。在硬件电路的焊接同时,利用原理图开始进行软件的编程,并分别进行软硬件的调试。联机调试是一个重要的且耗时最多的研究阶段,经过软硬件的结合运行,不断发现问题解决问题,实现了调试的圆满成功,从而系统的基本功能得到实现。乒乓球发球机的各个结构用3个直流电机和2个步进电机来带动来模拟实现乒乓球发球机工

62、作时的内部运行状况,并且使用LCD12864液晶显示器显示信息和提示操作步骤。经过几个月的努力,对系统的设计有了全面的实践经历,受益很大。但是由于条件有限,效果不如预想的那样,不过也基本达到了毕设的要求。6.2心得体会本次毕业设计不仅仅是我作为一名本科毕业生所必须完成的课题研究,更是对我大学四年学习情况的一个总结与检验,用来检验我基本的理论知识与综合的分析问题的能力。 一个学期的毕业设计,它不仅仅使我回顾了四年里的基本理论知识、掌握了宝贵的专业知识,更重要的是它教我学会了怎样去独立思考问题,如何解决实际问题,大大提高了我自己的动手能力和专业方面的素养,为我今后更加深入的学习奠定了坚实的基础。在本次毕业设计的过程中,学到了很多书本中永远学不到的知识,处理实际问题的能力在积累中得到了跨越式的进展。学会了如何查阅与分拣科技文献,如何将书本上的知识用到实践中来,如何处理理论与实际的偏差问题。在设计中我们

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!