二维云台的结构设计和运动仿真参考模板_第1页
二维云台的结构设计和运动仿真参考模板_第2页
二维云台的结构设计和运动仿真参考模板_第3页
二维云台的结构设计和运动仿真参考模板_第4页
二维云台的结构设计和运动仿真参考模板_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉纺织大学毕业设计(论文)任务书课题名称: 二维云台结构设计与运动仿真 完成期限:2011年 月 日至2011年 月 日院系名称 高等职业技术学院 指导教师 刘祥燕 专业班级 机电一体化091班 指导教师职称 讲师 学生姓名 胡廷舰 学号:0911282049院系毕业设计(论文)工作领导小组组长签字 1 / 51摘 要安全监控是随着人们生活生产需求应运而生的一项安全技术,安防系统由前端、传输、信息处理/控制/显示/通信三大单元组成。云台系统作为前端转动控制部件,在整个系统中起到非常重要的作用。云台分为固定云台和电动云台,固定云台适用于监视范围不大的情况,在固定云台上安装好摄像机后可调整摄像机

2、的水平和俯仰的角度,达到最好的工作姿态后只要锁定调整机构就可以了。电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。目前这两类云台广泛应用于各种场所,固定云台适用于小范围的监视;电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。在控制信号的作用下,云台上的摄像机既可自动扫描监视区域,也可在监控中心值班人员的操纵下跟踪监视对象。步进电机作为云台的转动器件,它的工作可靠性直接影响了云台的质量。此次我们设计的是一个基于AT89S52单片机的云台控制装置。本装置能自动或手动的进行上下移动和水平转动。

3、当角度或高度超过预先设定的限位时,云台停止转动并进行声光报警,并且能自动的对某一范围内的光源进行跟踪,实现准确的定位,当超过预设范围时,自动报警。其中通过键盘按键实现云台自动和手动控制的切换,用LM297和LM298集成芯片驱动步进电机,采用L7805CV和L7812CV芯片作为三端集成线性稳压电源,用LCD液晶显示屏精确的显示云台当前的位置。关键词:云台控制; AT89S52单片机; LCD液晶屏; 步进电机; 定位ABSTRACTSummary security monitoring is as people live production needs have emerged as a

4、security technology, security system consists of a front-end information processing/display/control/communications, transmission, composed of three units. Pan/Tilt systems as a front end turning control part, played an important role throughout the system. PTZ is divided into fixed dome and electric

5、 cloud, fixed dome apply for monitoring small, fixed cloud platform installed cameras after a good level and pitch angle of the camera can be adjusted, to achieve the best attitude adjustment as long as the lock after agencies working on it. Electric head scan monitor applies to a wide range, it can

6、 expand the camera's monitor range. Currently these two types of cloud platform widely used in various places, fixed dome apply to small-scale monitoring; electrical head scan monitor applies to a wide range, it can expand the camera's monitor range. Electric head is implemented by the two f

7、orce motor, motor accepts signals from the controller to run precise positioning. Under the action of control signals, cloud on the camera can automatically scan monitoring area, also available at the control centre duty officer manipulated by tracking and monitoring of objects. As head of stepping

8、motor rotation device, reliability of its work directly affects the quality of pan/tilt. This we will design a PTZ control device based on AT89S52 microcontroller. The appliance can automatically or manually moved up and down and horizontal rotation. When the angle or height exceeds a predetermined

9、limit position, head stop and sound and light alarm, and automatically track on a range of light sources, for accurate positioning when you exceed a preset range, auto alarm. Through the keyboard pressed key realization of automatic and manual control for pan/tilt switch, LM297 and LM298 integrated

10、chip driving stepping motor, use L7805CV and L7812CV chips as a three-Terminal integrated linear regulated power supply, LCD liquid crystal display precise PTZ current location is displayed. Key words: pan/tilt control; AT89S52 microcontroller and LCD flat panel screens; stepper motor; positioning目

11、录1 绪论31.131.241.351.4 设计任务的提出和主要研究内容62 振动下料机的工作原理及基本结构6383.183.283.393.3.193.3.2103.4113.4.1113.4.2123.4.3124165195.1195.2205.2.1205.2.2215.2.3215.2.4225.2.5235.2.6236236.1236.2257257.1257.2278 总结展望29参考文献30附 录32外文资料35中文翻译49致 谢62绪 论安全监控是随着人们生活生产需求应运而生的一项安全技术,安防系统由前端、传输、信息处理/控制/显示/通信三大单元组成。云台系统作为前端转动控

12、制部件,在整个系统中起到非常重要的作用。摄像机云台是一种安装在摄像机支撑物上的工作平台,用于摄像机与支撑物之间的连接,同时它具有水平和垂直运动的功能,在云台水平、垂直运动的同时,它也带动摄像机做相同的运动,这样就可以通过控制云台的运动来控制摄像机的运动,它与摄像机配套使用能达到扩大监视范围的目的,提高了摄像机的使用价值。云台分为固定云台和电动云台,固定云台适用于监视范围不大的情况,在固定云台上安装好摄像机后可调整摄像机的水平和俯仰的角度,达到最好的工作姿态后只要锁定调整机构就可以了。电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。目前这两类云台广泛应用于各种场所,固定云台适用于

13、小范围的监视;电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。在控制信号的作用下,云台上的摄像机既可自动扫描监视区域,也可在监控中心值班人员的操纵下跟踪监视对象。步进电机作为云台的转动器件,它的工作可靠性直接影响了云台的质量。目前国内外的云天控制技术系统已经相当的成熟,它给人们的生产生活带来了极大的便利,为人们的生命财产安全提供了相当大的保障。云台系统已经运用到了生活的几乎每一个场所,当需要对某个地方进行实时监控时,就可以很方便的运用其代替人力,很大程度上降低了人力资源,并且还可以根据需要进行远程监控,

14、这一点在生活中是及其有利的,它很大程度上节约了时间。目前市面上所生产的云台控制器,大都采用一体化设计,这种设计方法具有密封性能好、集成度高便于安装等优点。1.1系统设计目的在实时监控、在线直播、公安、教育等许多领域都需要用到计算机控制云台动作及摄像机镜头的焦距、景深、光圈。云台是一种设备,专门用于监控时调整摄像头位置。摄像头安装于云台之上,通过开关电源,就可实现摄像头在垂直方向进行俯仰运动、水平方向进行摆动,从而调整监视位置。云台镜头控制系统除了控制摄像头的俯仰和水平运动控制外,通常还要控制电子镜头(安装于摄像头前端、电机控制的光学镜头)的聚焦、光圈和变倍等,以便调整视野范围和清晰度。能够很好

15、的进行实时监控和精确定位。本次设计注重对单片机工作原理以及键盘控制及显示原理的理解和应用,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。此次设计更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。1.2 系统设计思想本次所设计的云台控制系统,在

16、一定范围内,能完成垂直方向的移动和水平方向的转动,从而达到对目标的实时跟踪和精确定位。本设计中我们用at89s52单片机进行控制,通过键盘可以实现手动云台控制,使其做垂直方向的上下移动60cm和水平方向的左右转动60度;通过按键实现云台自动和手动控制的切换,当切换到自动档时,能使云台自动跟踪某一可见光源(40W灯泡),用步进电机进行调速。根据设计的思想,所画的系统总体框图如下所示:图一 系统整体框图主控芯片为AT89S52,采用4*4键盘,其上不同的按键代表不同的功能;采用红外进行光源检测,采用LCD液晶显示屏进行显示,用LM297和LM298集成芯片驱动步进电机,采用L7805CV和L781

17、2CV芯片作为三端集成线性稳压电源。该云台有两个电机(一大一小),分别负责云台的上下和左右方向的转动。其工作电压的不同也决定了该云台的整体工作电压,我们使用了直流5V和直流12V。当进行上、下动作时,大的电机转动,经滑轮带动云台垂直动作;当进行左、右动作时,小电机转动直接带动云台底部滑轮转动。1.3 系统设计方案(一)系统设计方案的提出本设计是基于AT89S52单片机的键盘控制及显示电路设计,从系统的设计功能上看,系统可分为四大部分,即数字显示部分、控制移动或转动部分、电源部分和电机驱动部分,对于每一个部分都有不同的设计方案,起初我们组拟订了下面两种方案:1.数字显示部分(1) 采用LED 数

18、码管显示,利用多个数码管来显示数字。(2)LCD液晶屏显示。2.控制移动或转动部分(1)用按键控制动作。(2)用4*4键盘控制动作。3电源部分:(1)购买开关电源。(2)自制电源。4.电机驱动部分(1)用交流电机。(2)用直流步进电机,采用集成芯片LM298与LM297组成驱动电路。(二) 方案比较及确定(1)若用LED数码管显示,LED数码管亮度高、小巧轻便,但是电路复杂,显示信息量较小;LCD的优点是:工作电流较小、功耗很低,而且可以清晰显示大量信息,趣味性强。所以选用LCD液晶显示。(2)对于控制移动或转动部分用第一种方案实现原理太简单,用第二种方案使用键盘控制,易于控制,操作简单、方便

19、,故选用第二种方案。(3)购买的开关电源带负载的能力比较好,比较稳定,但是为了提升自己的动手能力,我们选择自己焊接所需的电路。(4)若用交流电机,转动速度固定,一般为水平转动速度为4°/秒6°/秒,垂直转动速度为3°/秒6°/秒。其缺点是无法大电流驱动.降低了工作效率且不容易实现。若选用集成芯片LM298驱动直流步进电机,具有转速高、可变速的优点,十分适合需要快速捕捉目标的场合。其水平最高转速可达4050°/秒,垂直可达1024°/秒。这种电路通过芯片产生正反向电压.用于控制云台的运行方向开启,运行.实现对云台电机运转状态的控制.从而

20、保证了可以简单地实现转速和方向的控制:开关速度很快.稳定性极强.效率也非常高。基于上述考虑.我们拟选用方案二。1.4创新性、实用性、可行性本装置的研制是在控制领域的新应用,该云台控制装置,不仅能自动或手动的进行上下移动和水平转动,而且能够对高度和角度进行任意的设置,而且能对某些信号进行跟踪,从而实现一定范围内的定位,并且当超过预设范围时还具有自动报警的功能。本装置采用LCD液晶进行显示,显示的内容丰富。本装置有很好的固定装置而且价格便宜、操作简单灵活。无论是用于实时监控,还是电视台的在线直播,该云台控制装置都是不错的选择。该系统的设计很好的满足了各行业的需求,是一个理想的智能化的设计,还能够对

21、信号进行跟踪,功能较多,造价低,应用非常广泛。该系统的设计为人们提供了方便,同时又扩大了单片机的应用领域。我们利用电机拖动和数字电路的知识设计了云台控制装置,该控制装置的设计采用模块化结构,采用AT89S52单片机芯片作为中央处理芯片,用LM297和LM298集成芯片驱动步进电机,采用L7805CV和L7812CV芯片作为三端集成线性稳压电源,采用LCD进行显示。从理论技术上来看,本系统具有可行性。第4章 系统硬件设计根据系统要实现的功能,本系统分为五个模块:稳压模块、驱动模块、键盘模块、显示模块和控制模块。分别将各单元模块功能介绍如下:2.2.1稳压模块稳压电源模块我们采用三端集成线性稳压集

22、成块:L7805CV和L7812CV芯片。本设计中我们所需的5V电源使用L7805CV芯片完成。因为它的外围电路比较简单,并且工作比较稳定。它的稳压精度为2%,工作电流1.5A,封装为TO-220(A),工作温度也很不错,并且具有过温保护和短路保护,最大输入电压为35V,能对电路的长时间工作有很大的保障,故用其作为稳压芯片。所需的12V电源我们使用L7812CV芯片完成。2.2.2驱动模块步进电机是数字控制系统中的一种重要执行元件,广泛应用于各种控制系统中。 步进电机的驱动电路一般由两部分组成,一部分是数字逻辑部分,即环行脉冲分配器,它决定步进电机各项绕组的通电顺序。 另一部分是功率放大部分,

23、它提供步进电机所需要的功率设计中我们采用集成芯片LM298和LM297组成驱动电路,选用集成芯片LM298驱动直流步进电机,是因为其具有转速高、可变速的优点,十分适合需要快速捕捉目标的场合。其水平最高转速可达4050°/秒,垂直可达1024°/秒。这种电路通过芯片产生正反向电压.用于控制云台的运行方向。实现对云台电机运转状态的控制.从而保证了可以简单地实现转速和方向的控制。开关速度很快,稳定性极强,效率也非常高。该驱动电路既可以驱动步进电机也可驱动直流电机,原理图如下所示:图二 步进电机驱动原理图该电路结构简单,可靠性高,可与单片机直接连接,对两相永磁式步进电机具有很好的驱

24、动和控制能力。2.2.3键盘模块本系统中,由于按键较多,为了减少I/O口的占用,我们采用4*4键盘。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。右图为4*4矩阵键盘图: 4*4矩阵键盘图结合键盘矩阵图,将各按键的功能列表如下:按键编号按键功能1数字12数字23数字34数字45数字56数字67数字78数字89

25、数字90数字0/跳出右转左转×下降÷上调=复位/停止ON/C切换模式右图是一个4*4键盘的接线图: 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。通过键盘模块,我们可以对当前状态任意的进行设置和清零。比如设置上移、下移、左转、右转、停止报警等。2.2.4显示模块本系统我们采用LCD液晶显示屏进行显示

26、。LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。液晶的物理特性是:当通电时导通,排列变的有秩序,使光线容易通过;不通电时排列混乱,阻止光线通过。让液晶如闸门般地阻隔或让光线穿透。从技术上简单地说,液晶面板包含了两片相当精致的无钠玻璃素材,称为Substrates,中间夹著一层液晶。当光束通过这层液晶时,液晶本身会排排站立或扭转呈不规则状,因而阻隔或使光束顺利通过。大多数液晶都属于有机复合物,由长棒状的分子构成。在自然状态下,这些棒状分子的长轴大致平行。将液晶倒入一个经精良加工的开槽平面,

27、液晶分子会顺着槽排列,所以假如那些槽非常平行,则各分子也是完全平行的。LCD占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。在系统中,LCD主要进行高度和角度的显示。2.2.5 控制模块 本设计的所用的单片机系统其实就是单片机最小系统,所谓最小系统就是能是单片机正常工作的最少配置。本此设计的单片机系统由AT89C52单片机、复位电路、时钟电路和电源电路组成,如图4-2所示。 图4-2 单片机最小系统本设计中我们采用AT89S52单片机作为主控芯片,At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术

28、制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中

29、断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。下图即为AT89C52。图4-1 AT89C52 3 系统软件设计此云台系统可分为手动和自动控制两种模式,手动模式主要通过键盘来控制垂直和水平方向移动的距离和角度,自动模式则是依靠五个不同方向的接收管来检测和跟踪光源,各部分程序设计如下:3.1手动控制模式程序流程图如下:部分程序:if(Mode=0)Temp=Key_Scan();Delay(40000);if(Temp<10)switch(flag)case0:Num=Temp;flag+;break;case1:Num=Nu

30、m*10+Temp;break;elseswitch(Temp)case10:Up();break;case11:Down();break;case12:Left();break;case13:Right();break;case15:Mode=!Mode;break;default :break;3.2自动控制模式程序流程图如下:部分程序:voidSearchLight() switch(DoubleLed) case0xfe:SearchLightUp(); break; case0xfd:SearchLightDown();break;case0xfb:SearchLightLeft()

31、;break;case0xf7:SearchLightRight();break;case0xfa:Up_Left();break;case0xf6:Up_Right();break;case0xf9:Down_Left();break;case0xf5:Down_Right();break;default:Stop();Display();break; 3.3 程序总流程图 图四 系统程序流程图3.3 主函数程序#include"main.h"voidmain()Lcd_Init();Welcome();ChooseMode();while(1)if(Mode=0)Tem

32、p=Key_Scan();Delay(40000);if(Temp<10)switch(flag)case0:Num=Temp;flag+;break;case1:Num=Num*10+Temp;break;elseswitch(Temp)case10:Up();break;case11:Down();break;case12:Left();break;case13:Right();break;case15:Mode=!Mode;break;default :break;Display();else SearchLight();5.3 Proteus仿真软件Proteus软件是英国Lab

33、 Center Electronice公司开发的EDA工具软件。从1989年问世至今已有20年的历史,在全球得到广泛应用。Proteus软件除具有和其他EDA工具软件一样的原理编辑、印制电路板制作外,还具有交互式的仿真功能。它不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界上最先进、最完整的多种型号微处理器系统的设计与仿真平台,真正实现了在计算机中完成电路原理图设计、电路分析与仿真、微处理器程序设计与仿真、系统测试与功能验证到形成印制电路板的完整电子设计、研发过程。Proteus软件由ISIS(Intelligent Schematic Input System)和ARE

34、S(Advanced Routing and Editing Software)两个软件构成,其中ISIS是一款智能电路原理图输入系统软件,可作为电子系统仿真平台;ARES是一款高级布线编辑软件,用于制作印制电路板(PCB)。Proteus电路原理图设计是在ISIS软件环境中进行绘制,该软件编辑环境具有友好的交互式人机界面,其设计功能强大,使用方便。图5-10为本设计原理图,下面介绍用Proteus ISIS原理图的绘制方法。 图5-10 单片机系统控制电路图1.新建设计文件首先打开ISIS 7 Professional窗口,单击菜单命令“File”下的“New Design”,弹出如图5-1

35、1所示的图纸模板选择窗口。 图5-11 图纸模板选择窗口 横向图纸为Landscape,纵向 图纸为Portrait,DEFAULT为默认模板。本设计中选用的“DEFAULT”,选中后再单击“OK”,则新建了一个DEFAULT模板。新建一个模板后,单击保存图标进行保存。在弹出的对话框中,选择保存在C盘“程序与仿真”目录下,保存文件名为“lijiansheji”。该文件的扩展名为.DSN,即该文件名为lijiansheji.DSN。文件保存后在ISIS 7 Professional窗口的标题栏上显示为lijiansheji。2. 设定图纸大小执行菜单命令“System”下“Set Sheet S

36、ize”,在弹出的“Sheet Size Configura.”对话框中选择“A4”选项,单击“OK”按钮,完成图纸的设置。3. 添加元器件 本系统中使用的原件如表5-1所示。 表5-1 本设计中使用的原件单片机AT89C52步进电机MOTOR-STEEPER步进电机驱动ULN2003A虚拟终端串口COMPIM电解电容AUDIO 1U瓷片电容CAP 30pF电阻10K 1K 按钮BUTTON 在器件选择按钮中单击“P”按钮,或执行菜单命令“Library”下“Pick Device/Symbol”,弹出如图5-12所示的对话框。在此对话框中,添加原件的方法有两种。 图5-12 “Pick De

37、vices”对话框 图5-13 输入元件名称(1) 在关键字中输入原件的名称,如AT89C52,则出现与关键字匹配的原件列表,如图5-13所示,选中并双击AT89C52所在行后,单击“OK”按钮或按ENTER键,便将器件AT89C52加入到ISIS对象选择器中。 (2)在原件类型列表中选择元件所属类,然后再元器件子类列表中选择所属子类;同时,当对元件的制造商有要求时,在制造商区域选择期望的厂商,即可在元件列表区域得到相应的元件。按照以上方法将元件添加到ISIS对象选择器中。4. 放置、移动、旋转、删除对象将元件添加到ISIS对象选择器中后,在对象选择器中,单击要放置的元件,蓝色条出现在该元件名

38、上,再在原理图编辑窗口中单击就放置了一个元件。也可以在按住鼠标左键的同时,移动鼠标,在合适的位置释放左键,将元件放置在预定位置。在原理图编辑窗口中,若要移动元件或连线,应先右击对象,是元件或连线处于选中状态(默认为红色),再按住鼠标左键拖动,元件或连线就跟随指针移动,到达合适位置时,松开鼠标左键。放置元件前,单击要放置的元件,蓝色条出现在该元件上,单击方向工具栏上相应的转向按钮可旋转元件,再在原理图编辑窗口中单击就放置了一个已经更改方向的元件。若在原理图编辑窗口中需要更改元件方向,应单击选中该元件再单击块旋转图标,在弹出的对话框中键入旋转的角度也可实现更改元件方向。在原理图编辑窗口中要删除元件

39、时,右键双击该元件就可删除元件,或者先左击选中元件,再按下Delete键也可删除。通过放置、移动、旋转、删除原件后,将各元件放置在原理图编辑窗口中的合适位置即可。5. 放置电源、地单击工具箱中的“元件终端”图标,在对象选择器中单击“POWER”,使得出现蓝色条,再在原理图编辑窗口的合适位置单击鼠标就将电源放置在原理图中。同样的方法可将地放置在原理图中。6.布线在ISIS原理图编辑窗口中没有专门的布线按钮,但系统默认自动布线按钮有效,因此可直接布线。1) 在两个对象之间连线将光标靠近一个对象的引脚末端,该处自动出现一个红色小方框,单击左键。2)移动画线、更改线型 步骤如下: (1)单击鼠标左键选

40、中连线,将指针靠近该画线,该线出现双箭头。 (2)按住左键拖动鼠标,该线就跟随移动。 (3)若要同时移动多根线,应先框选这下线,再单击块移动按钮,拖动鼠标,在合适位置单击鼠标左键,就可改变线条的位置。7. 设置、修改元件属性在需要修改的元件上右击鼠标,在弹出的菜单中选择“Edit Properties”或按快捷键Ctrl+E,将出现“Edit Properties”对话框,在此对话框中设置元件属性。例如,修改电容为30pF,如图5-14所示。 图5-14 设置元件属性根据以上步骤及方法在原理图编辑窗口中绘制出如图3-10所示电路图。8. 建立网络表网络就是一个设计中有电气连接的电路,例如在电路

41、中,单片机的P2.0与ULN2003A的一个输入脚连在一起。执行菜单命令“Tools”下“Netlist Compiler”,弹出如图4-15所示的对话框。在此对话框中,可设置网络表的输出形式、模式、范围、深度和格式等,这里不进行修改,单击“OK”按钮以默认方式输出如图5-16所示内容。 图5-15网络表设置对话框 图5-16 输出网络表内容9. 电气检测画完电路并生成网络表后,可进行电气检测。执行菜单命令“Tools”下“Electrical Rule Check”,弹出如图5-17所示的电气检测窗口。在此窗口中,前面是一些文本信息,接着是电气检测结果;若有错,会有详细的说明。从窗口内容中科

42、看出,网络表已产生,并且无电气错误。 图5-17 电气检测窗口5.4 MSComm控件Microsoft Communication Control (简称MSComm)是Microsoft 公司提供的简化Windows 下的串行通信编程的ActiveX 控件,为应用程序提供了串口接收发送数据的简便方法。MSComm 控件通过串行端口传输和接收数据为应用程序提供串行通信功能。MSComm 提供了两种处理通信问题的方法:一是事件驱动法,主要利用OnComm 事件捕获并处理这些通信时间,也可以检查和处理通信错误;二是询法,在这种情况下,每当应用程序执行完一个串口操作后,将查看MSComm 控的Co

43、mmEvent 属性以确定执行结果或者检查某一事件是否发生。本设计中采用时间驱动法。5.4.1 基于VC的MSComm控件串口编程基本步骤(1)在建立的Workspace 中插入MSComm 控件;(2)添加MSComm 控件的ID 的控制变量; (3)对串口进行初始化,设置MSComm 控件的属性; (4)添加串口事件消息处理函数OnComm()函数,在函数中编写数据处理代码; (5)编写串口发送等其它代码;(6)关闭串口。5.4.2 MSComm控件属性 MSComm 控件的属性较多,下面简单的介绍几个比较重要的属性:1)CommPort:设置或返回通信端口号。 2)Settings:设置

44、并返回通信参数,用来指定数据传输率(波特率)、奇偶校验、数据位数和停止位数。 3)PortoPen:设置或返回通信端口的状态,属性为True 时打开端口,False 则关闭端口,并清除接收和传输缓冲区。 4)OutPut:向传输缓冲区写数据,可以传输文本数据和二进制数据。 5)InPut:返回并删除接收缓冲区中的数据。 6)InputLen:设置并返回Input 属性从接收缓冲区读取的字符数,缺省值是0 表示用Input 读取接收缓冲区中全部的容。 7)RthresholdSthreshold: 设置并返回引发OnComm 事件中接收发送的字符数。 8)OutBufferSizeInBuffe

45、rSize:设置或返回传输 接收缓冲区大小。5.5 Visual C+软件 1.建立一个基于对话框的MFC程序命名为MCUPC,设置好保存路径。如图5-18。MFC程序程序名字 图5-18 创建新的应用程序界面点击OK,其它选为默认即可。2.进入对话框设计页面,利用STATIC, BUTTON,图像控件设计软件界如图5-19所示: 图5-19 控制界面3.添加串口通信控件,过程如下:菜单Project-Add to Project-Conponents and Controls -Microsoft Communications Control, version 6.0.如图5-20所示: 图

46、5-20 控制界面命名控件ID:IDC_MSCOMM1。为其添加对应的对象命名为:m_mscomm。在其属性设置如下,如图5-21所示。 图5-21 属性设置对话框双击“打开串口”按钮,添加函数,OnBtnopen(),添加代码实现串口的初始化,程序如下:m_mscomm.SetCommPort(2);/设置通信串口为COM2m_mscomm.SetRThreshold(1);/ 接收缓冲区有1个及1个以上字符时,将引发接收数据的/OnComm事件m_mscomm.SetPortOpen(TRUE);/打开串口双击“关闭串口”添加函数,OnBtnclose (),添加关闭串的代码:m_msco

47、mm.SetPortOpen(FALSE);5,分别为“向上”“向下”“向左”“向右”,添加单击响应事件函数:OnBtnup(),OnBtndown() OnBtnleft(),OnBtnright()添加代码如下:void CMCUPCDlg:OnBtnup() /向上CString a;a='A'm_mscomm.SetOutput(COleVariant)a);/ 向串口发送“A”void CMCUPCDlg:OnBtndown() CString a;a="B"m_mscomm.SetOutput(COleVariant)a); /向串口发送“B”v

48、oid CMCUPCDlg:OnBtnleft() CString a;a='C'm_mscomm.SetOutput(COleVariant)a); /向串口发送“C”void CMCUPCDlg:OnBtnright() CString a;a='D'm_mscomm.SetOutput(COleVariant)a); /向串口发送“D”void CMCUPCDlg:OnBtnauto()/向串口发送“Z”CString a;a="Z"m_mscomm.SetOutput(COleVariant)a);6.添加以上代码后,编译,运行,即可

49、仿真。第6章 系统软件设计6.1 系统流程整个云台控制系统分为初始化,键盘扫描,串口中断,延时程序和步进电机运转五部分。主函数通过调用各子程序来实现键盘扫描,串口中断程序的调用来实现步进电机的控制。本设计的系统主程图如图6-1所示,中断子程序流程图如图6-2所示。 图6-1 系统主流程图图6-2 中断子程序流程图6.2 初始化模块所谓初始化就是在应用系统中,需要对软件进行初始化设置,以能够满足该系统的正常工作。在本系统中,如果没有初始化,则该系统无法正常工作。本系统中初始化程序包括两部分,一部分是定时器初始化,另一部分是串口初始化。而这些都是通过设置相应的特殊功能寄存器来实现的。本设计中定时器

50、初始化包括定时/计数器选择、定时/技术器工作方式、计数器装初值、打开定时器;串口初始化包括串口工作方式设置、打开串口、开总中断。和定时/计数器有关的特殊功能寄存器有TOMD、TCON,和串口相关的特殊功能寄存器有SCON、PCON。前面已经介绍了特殊功能寄存器,这里不再赘述。串口工作方式1的波特率由定时/计数器T1、T2的溢出速率和SMOD共同确定,计算公式为波特率=(/32)·(TI溢出率),TI溢出率=fosc/12×256(TH1),本系统波特率为9600bit/s,晶振频率为11.0592MHz,串口选择工作方式为1,所以初值等于0xfa。定时计数器的初始化编程步骤

51、:1) 根据定时时间要求或计数要求计算初值;2) 工作方式控制字送TMOD;3) 送计数初值到THx和TLx寄存器中;4) 启动定时/计数器,即将TRx置位。6.3 键盘模块 综合考虑,本设计单片机I/O资源比较丰裕,所以采用了独立式键盘。独立式键盘的每一个按钮直接控制单片机的P0相连接,当其中有一个按钮被按下时,PO口的相应位就被置为高电平,没有按下则为低电平。所以单片机只需要识别PO的值就可以做出相应的动作。6.4 延时模块通过用C语言写一段循环程序,来占用CPU一段时间从而达到延时的目的。在该系统中,延时程序有至关重要的作用,一是作为普通的延时程序,而是产生步进电机的工作所需脉冲频率,延

52、时的多少决定步进电机的转速,在本系统中,对步进电机的转速没有做过多要求,所以采用了for循环语句构成的比较简单的延时程序,如果对延时时间、步进电机转速有要求的系统中,则可以使用定时器定时,定时器的精度相当高。下面是采用普通延时的程序源代码:void delay(uint z)/延时 uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);6.5 串口中断模块在本系统中,单片机通过串口向单片机发送远距离控制信号,一旦PC机发送控制信号后,单片机接受到信息产生中断,通过中断服务程序去控制步进电机动作。由于串口中断具有优先级别高的特点,所以不需要担心键盘和串口

53、信息发生冲突。6.6 步进电机动作模块在本系统中,步进电机的运行方式选用的是单、双8拍运行方式,即按A-AB-B-BC-C-CD-D-DA-A或者相反顺序通电的。单片机的P2的低四位分别连接的是控制云台竖直方向转动电机的A、B、C、D四相,高四位则分别接的是控制云台水平方向转动的电机的A、B、C、D四相。在编程中,将步进电机通电相的正序、反序分别放在两个数组中,在电机动作模块中使用不同的数组,就能达到控制电机的正转、反转,它们分别为moveup、movedown、movelefe、moveright。另外为了还在本次系统只还设置了自动运行方式,这种方式是通过循环调用moveup、movedown、movelefe和moveright函数来实现自动运行的。第7章 系统调试与运行仿真是一项非常有效的检测设计工作是否达到预期的结果方法,而且非常具有实际意义。一项新的系统不经过调试仿真就直接进入实用,这样是非常不科学的,既费时又费里,所以一项新的设计只有在经过了仿真的考验才能真正的得到实际应用。仿真就是一个完成目标模型的建立过程,对于本次设计来说仿真所要完成的工作有:搭建虚拟串口、Keil软件中程序的编译并生成HEX文件、Proteus仿真软件电路模型的建立。7.1 虚拟串口首先安装好SerialNu

温馨提示

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

评论

0/150

提交评论