基于STC单片机的云台控制系统设计.docx
- 文档编号:30122104
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:28
- 大小:191.36KB
基于STC单片机的云台控制系统设计.docx
《基于STC单片机的云台控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于STC单片机的云台控制系统设计.docx(28页珍藏版)》请在冰豆网上搜索。
基于STC单片机的云台控制系统设计
摘要
根据此次论文的设计所研究的是单片机的云台控制系统设计,其实就是以单片机为控制器,设计一个云台控制系统,并且配合步进电机完成物体的水平竖直运动,使云台按期望的方式运行。
使用微控制器云台控制器构成不仅具有控制精度高,控制灵活,编程简单,功耗低,可靠性高,和一些新的微控制器更可在线编程,无需从工作环境的更新可以被剥离出来的微控制器,以方便软件维护以及如果需要,通过在上进行协同控制两个方向上预先设定的自动驱动电机。
关键词:
STC单片机;云台控制;步进电机;液晶显示;并口通信;调试
Abstract
Inviewofthisthesisdesignisthestudyofthesinglechipmicrocomputeryuntaicontrolsystemdesign,isactuallywiththesinglechipprocessorasthecontroller,ayuntaicontrolsystemdesign,andcooperatewithsteppermotorcompletehorizontalverticalmovementoftheobject,makeyuntairuntheway.Usingsingle-chipcomputers.theyuntaicontrollernotonlyhashighcontrolaccuracy,flexiblecontrol,simpleprogramming,lowpowerconsumption,highreliability,etc,andsomenewtypesingle-chipmicrocomputerhasmoreonlineprogrammingfunction,withoutthesinglechipmicrocomputerprogramupdatescanbespunofffromtheworkenvironment,convenientforsoftwaremaintenance,andcanaccordingtoneed,bypreprogrammedprogramautomaticallyonthedrivemotorofthetwodirectionsofcoordinatedcontrol.
Keywords:
onSTCmicrocontroller;Yuntaicontrol;Steppingmotor;Liquidcrystaldisplay;Parallelportcommunication;Debugging.
目录
第1章绪论1
1.1云台1
1.2单片机1
1.3本设计完成的任务1
第2章总体方案3
2.1云台控制系统简析3
2.2云台控制系统实现3
2.3云台系统设计结构及系统结构框图4
第3章云台系统硬件设计5
3.1STC89C52单片机简介5
3.1.1STC89C52各引脚功能6
3.1.2串口通信6
3.1.3中断系统7
3.2步进电机7
3.2.1工作原理7
3.2.2云台步进电机的驱动功能8
3.3驱动电路8
3.4矩阵键盘9
3.5液晶显示器10
第4章云台系统软件设计11
4.1系统流程11
4.2初始化模块12
4.3键盘模块13
4.4延时模块13
4.5串口中断模块13
4.6步进电机驱动模块13
第5章系统的调试与运行14
5.1硬件调试14
5.2Keil软件调试14
5.3整体调试15
总结16
致谢17
参考文献18
附录一单片机程序源代码19
附录二电路原理23
第1章绪论
1.1云台
众所周知,云台监控技术在现代人的生活中起着很重要的作用。
人们生活质量不断提高,社会发展逐步完善,经济效益大幅增长,那么随之而来的社会治安问题就凸显而来。
监测安全系统的一部分包括传输,前端,信息处理,显示,控制,通信和其他硬件的组合。
其中的云台系统是行驶移动部分,它在整个云台控制系统中起着很关键的作用。
云台可分为手动和电动云台。
其中,手动监测范围小;电动扫描范围广,监控范围可扩大主摄像头。
电动机头系统由两个实现,从电动机控制器接收到脉冲信号可被定位到运行。
根据控制信号的作用,云台上的对象可以自动移动区域。
由于步进电机的旋转设备,以执行其工作稳定性的头部直接影响云台的质量。
本次设计利用STC单片机搭载云台,在云台上安装一个简单的设施或物品,如木头,使其能够在云台上水平、垂直运动便足以。
也可以安装个摄像头之类的物品更能真实的体现出云台监控这一概念。
最后通过STC单片机的对其控制,实现其在空间上的前后摆动就可以了。
1.2单片机
单片机是一个完整的计算机系统中的单个芯片的集成。
它的大多数功能都可以集成在一个小的芯片上,但它有一个多数来完成计算机系统所需的元件:
内部和外部总线系统中,CPU等SCM是随机存储器,只读存储器,CPU,I/O接口电路和定时芯片集成在一块芯片上的微控制器。
单片机以其低廉的价格,功能消耗,工作可靠,可编程等诸多优点,深受广大青睐的应用程序。
MCU可以运行程序,你可以修改程序。
通过不同的节目有不同的影响,尤其是一些特殊的独特的功能,这需要很大的努力,但另一部分做实现的,有些是伟大的努力是很难完成的。
单片机是通过编写程序来实现高效率,高智能,高可靠性。
1.3本设计完成的任务
该控制器的设计是基于STC单片机设计一个旋转的云台控制系统,使木头与铁块搭载衔接安装在控制机上,工作所需的方式,用4*4键盘控制其水平竖直运动,达到设计目的。
本次设计的完成任务:
1)采用4*4键盘输入云台控制步进电机;
2)12864液晶屏设计使用的人机交互界面;
3)使用IAREmbeddedWorkbench的编程软件,并完成调试,仿真;
4)单片机的外围电路设计和用于驱动该头的步进电机线步进电机的驱动电路。
第2章总体方案
2.1云台控制系统简析
目前市场上的单片机已经延伸到我们生活中的各个领域,所以基本很难找到哪个领域没有单片机的痕迹。
汽车的导航系统,飞机的仪表控制,计算机的网络通讯,工厂工业自动化的数据处理和实时控制,还有广泛使用的IC卡,监控安全的保障系统,摄像机、手机、电视机的控制,还有玩具汽车、电子宠物等等,这些都离不开单片机。
该设计主要是设计云台转动,并根据特定操作的要求。
开始时,头就开始从一开始做的动作序列,停止,停在头的当前位置。
再次启动时,按停止在头部运动和方向的前方继续。
物体摆在任意位置,按下启动键,云台将完成向上,向左,向右,向下的动作任务。
云台可以实现,而逆时针旋转周期的动作,也可以手动控制云台转动的时间。
为了控制头部转动的空间范围,物体向上,左,下,右动作转换靠限位开关来控制。
为了满足控制的基本要求,云台设置手动和自动两种工作方式:
1)手动工作方式:
是用按钮对云台的每一步进行划分单独控制,例如,按“向下”按钮,云台使物体向下;按“向右”按钮,云台使物体向右。
2)连续工作方式:
云台在初始位置时,按下“自动”按钮,云台可以自动连续执行周期动作。
当按下停止按钮,云台保持通过停止行动,继续重启后恢复原先的工作状态。
2.2云台控制系统实现
根据其中控制的主要部分,它是一个步进马达驱动器,并且该系统与主计算机的主点的结构和功能的需要之间传递信息。
要实现这种设计的选择STC模型的单片机云台系统。
有自动操作和手动操作模式,而在主机计算机上,该系统是由一个微控制器模块,电机驱动模块,键盘模块,远程控制和其它控制模块的控制下。
该系统由硬件STC单片机,键盘,显示器,驱动器,步进电机组成。
其中,单芯片控制模块是设计的核心任务。
其工作包括处理键盘输入,电机控制,如针对PC串口中断。
键盘模块完成的控制输入信号。
在本系统中采用的是4#4矩阵键盘式键盘。
电机驱动模块是用于控制木材的运动系统设计任务的执行机构。
电机转速云台系统具有一定的局限性,同时步进电机驱动模块将被使用,同时产生所需的脉冲信号步进电机的工作,这样就可以实现对电机的控制。
远程控制模块是能够实现的手术室中的机器将能够控制现场微控制器来控制步进电机。
它通过RS485总线实现,PC将通过RS485总线发送的信息从串口将信息传输到单片机的部位,通过指令处理的协调控制微控制器命令来获取PC,发送控制信息来控制步进电机的运行,鉴于设计最终目的是现场搭载云台控制系统,本次设计还没有考虑到远程控制云台。
2.3云台系统设计结构及系统结构框图
系统由以下几部分构成:
1)单片机:
设计的重要任务是在软件中实现,以对键盘输入的识别信息的参与下,发出指令,根据输入的脉冲信号,步进电机的头部来实现前进/后退,过程控制,速度控制功能,然后将步进电机的转速通过数码管显示;
2)步进电机及驱动器:
云台系统的作用是接通在垂直和水平方向,它是系统的执行部件;
3)键盘:
输入设备的外部信息,云台指挥和控制人事工作系统的重要组成部分;
4)显示:
实时同步速度步进电机展到运营商来决定的基础上,云台的速度控制方案。
图2.3系统结构框图
上图2.3所示为本次云台设计系统的结构系统框图。
第3章云台系统硬件设计
3.1STC89C52单片机简介
STC89C52单片机是新一代高速/低功耗/超强抗微控制器,与传统的指令代码8051完全兼容,12时钟/机器周期和6时钟/机器周期可任意选择。
普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM(数据存储器)、ROM(程序存储器)、定时器/计数器和多种功能的I/O(输入/输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。
STC89C52RC有很宽的工作电源电压,可为2.7~6V,当工作在3V时,电流相当于6V工作时的1/4。
STC89C52RC工作于12Hz时,动态电流为5.5mA,空闲态为1mA,掉电状态仅为20nA。
这样小的功耗很适合于电池供电的小型控制系统。
STC89C52具有以下几个特点:
1)STC89C52与MCS-51系列的单片机在指令系统和引脚上完全兼容;
2)片内有8k字节在线可重复编程快擦写程序存储器;
3)全静态工作,工作范围:
0Hz~24MHz;
4)三级程序存储器加密;
5)128×8位内部RAM;
6)32位双向输入输出线;
7)两个十六位定时器/计数器;
8)五个中断源,两级中断优先级;
9)一个全双工的异步串行口;
10)间歇和掉电两种工作方式
11)超强抗干扰:
高抗静电(ESD保护),轻松过2KV/4KV快速脉冲干扰;
12)宽电压,不怕电源抖动;
13)宽温度范围,-40℃~85℃;
14)禁止ALE输出;
15)超低功耗。
3.1.1STC89C52RC各引脚功能
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)
单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7。
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7。
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7。
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7。
3.1.2串口通信
通过地线,信息线,控制线等外围设备和计算机数据信号之间的串行通信,是用通信手段来传送数据。
所使用总线少,在远距离通信时成本地低,但传输速度比并行传输低。
单片机系统设计中,经常需要使用串行端口与外界沟通,所以单片机串口通信的一部分模块是其中极为重要的一部分。
串口通信时通过串口来进行的,串口不同于并口,它的数据和控制信息是一位接一位串行地传送下去。
与并口相比,虽然速度慢,但是传送距离较并口会更长,因此常用于需要常距离通信而对速度又要求不高的场合。
STC89C52是一个完全的全双工串口,可选择四种状态。
波特率也是可变的,可由软件来设置。
对89C52串口设置是通过访问其有关的特殊寄存器完成的,和STC89C52串口有关的寄存器有3个:
串口控制寄存器SCON、特殊功能寄存器PCON和发送/接收缓冲器SBUF。
3.1.3中断系统
在程序运行时,它允许外部或者内部事件通过硬件中断程序执行,完成中断系统程序后,CPU又开始原先的中断程序,这个过程被称为一个中断过程,可以产生中断的事件称为内部或外部中断源。
STC89C52的中断系统有2个优先级,6个中断源,可完成二级中断嵌套。
要想产生一个中断的请求,就必须要先打开IE里的EA标志位,EA标志位是全部中断系统总开关,因为IE寄存器地址是0XA8,就可以对它的位进行操作。
下来还要将要产生的中断号对应于IE中的相应位置的高电平,其中有EX0(0号的外部中断源代码),ET0(0号的定时器中断源),EX1(1号的外部中断源),ET1(1号的定时器中断),ES(串口中断);这就是就是IE中的特殊寄存位。
下一步就是要选择是否电平触发或者脉冲触发,这个情况下是要操作TCON寄存器,将IT0置0表示是电平触发,置1就是脉冲触发,此操作就STC89C52的外部中断程序的一些基本设置。
3.2步进电机
步进电机是将电脉冲信号转换成角位移或开环控制元件的线性位移。
在非过载,电机转速的情况下,停止的位置只取决于脉冲频率和脉冲信号的数量,从而不会受到变化的负载,即施加到电动机的脉冲信号,电机被接通1步进角。
存在的这种线性关系,与步进电机没有累积误差等只有周期性误差,使得在速度控制,位置等来控制步进电机领域变得更加人性化,简单化。
3.2.1工作原理
由于步进电机是一个典型的数字控制装置,它可以改变电脉冲信号的角位移信号,它本质上是一个数字/角度转换装置。
当步进电机驱动模块接收由微控制器发送的脉冲信号,驱动器将置的步进电动机驱动一个固定的角度,该步进电机的旋转以固定的角度的提前旋转的方向由控制执行的步骤的脉冲数,以实现准确定位。
步进电机是由两部分组成,一个定子和一个转子组成,本设计采用的是四相步进电机具有4极相对的定子磁极,每一对磁极绕有相同的绕组,它形成一个相的定子,以及分配转子上的小齿,当一相步进电机通电时,电磁力的作用下相等的尺寸和间距,所述转子被强制驱动。
该设计采用了四相步进电机28BYJ48型,三相电压5V,只要步进电机的是通过一个合适的时机供电,步进电机可以正常转动。
3.2.2云台步进电机的驱动功能
作用是控制步进电机的旋转角度和运转速度,以此来实现对占空比的控制,达到对怠速的控制,选择步进电机需要根据实际需要和技术指标综合考虑。
只有额定工作条件下的电机,才可以满足正常工作。
本次设计主要功能有:
(1)换相顺序
这个过程被称为换向供电脉冲分布。
对于四相步进电机,其控制各相通电脉冲必须分别控制在一定的顺序,分别为A,B,C,D的通断。
(2)控制电机的速度
向步进电机控制器发送相对应的旋转脉冲信号,并发送脉冲的适当数量,可以达到相应旋转目的。
两个脉冲的步进电机转速快,所需时间更短。
(3)控制电机的转向
由于按照给定的正序变换相通电方向,那么步进电机正转,根据换向相反的顺序通电,则步进电机反转。
3.3驱动电路
该器件为步进电机的驱动,本设计使用两台相同的步进电机,所以其驱动电路也完全一样。
由于控制系统不能直接驱动带电部件,这就需要在电源电路的输出部位延长控制元件来满足的电流和电压。
ULN2003是一个7方式逆变器电路,即当输入为高位时ULN2003输出为低位,输入为低位时ULN2003输出为高位,通电就会吸合,它的特点是高电压输出,输出钳位二极管,兼容不同类型的方式逻辑电路的。
如图所示为他的驱动电路和方框图:
图3-3AULN2003A驱动电路
图3-3BULN2003A方框图
3.4矩阵键盘
矩阵键盘模块的电路原理图如图3-5A所示
键盘和显示器接口是必不可少的。
在自己的开发板上配备了四个独立按键。
然而,在实际操作中,由于比较大的按键需要的,这空闲引脚单片机本身更多。
因此,为了便于操作的每个步骤之间的区别,从而使制备过程的过程变得简单明了,外部4*4矩阵键盘的选择。
在选择P1.0方面〜P1.7引脚作为数字矩阵键盘扫描接入端口。
3.5液晶显示器
该系统我们采用液晶屏显示。
LCD是液晶显示器的英文缩写,数字显示技术的,光源可通过滤色器和液晶滤波以产生图像在显示屏上。
液晶的物理特性是:
当电源开启时,改变了有序排列,使光轻松通过;光线不通过就不通电。
让液晶像阀门阻断或以允许光透过。
技术上简单地说,液晶面板包含两个非常细的无玻璃材料,称为衬底,之间是一层液晶之间。
当光束通过这层时,液晶本身会排列或扭转成不规则形状,可以通过激光束,大多数液晶都是有机化合物,长杆的分子组成。
在自然属性下,其大致平行于棒状分子的长轴。
液晶通过精密的加工有槽的平面中,液晶分子会有序排列,因此,如果这些隙是非常平行的,则每个分子也是平行的。
液晶尺寸小,低功耗,低辐射,无闪烁,减轻视觉疲劳。
在本系统中,液晶屏显示步进电机的加减速度档位。
第4章云台系统软件设计
4.1系统流程
整个系统分为控制初始化,键盘扫描,串口中断,延时程序和运行五个部分步进电机。
其主要功能是通过调用子程序键盘扫描实现,串口中断例程被调用来实现对步进电机的控制。
在图4-1a,图4-1b中所示的中断子程序的流程图所示的主系统流程图的设计。
4-1A系统主流程图
4-1B中断子程序流程图
4.2初始化模块
所谓初始化就是在应用系统中,需要对软件进行初始化设置,以能够满足该系统的正常工作。
在本系统中,如果没有初始化,则该系统无法正常工作。
系统初始化过程由两部分组成,一个是定时器初始化,另一部分是串口的初始化。
而这些都是通过设置相应的特殊功能寄存器来实现的。
该设计包括一个定时器初始化定时器/计数器选择,定时器/技术工作,计数器的初始安装,打开定时器;包括串口初始化工作设置,打开串口,打开全部中断。
特殊功能寄存器和定时器/计数器而言TOMD,TCON,特殊功能寄存器和序列相关性是SCON,PCON。
4.3键盘模块
单片机的I/O资源的设计都比较丰富,采用4*4j矩阵的键盘。
每个按钮单独的键盘直接连接到MCU的控制P0,当一个人有一个按钮被按下时,在PO位对应的端口设置为高,没有按较低。
所以,微控制器只需要认识到输入的信号可以做出相应的动作。
4.4延时模块
用C语言编写一个程序循环占用的CPU时间,从而达到延时的目的。
在这个系统中,延迟的方案具有至关重要的作用,一个是需要工作,作为一个正常的延迟程序,而从步进电机的脉冲频率决定了有多少延迟的步进电机的速度,在该系统中,步进电机的转速不作太多要求,所以使用相对简单的程序中的for循环延迟构成,如果延迟时间,步进电机的转速已要求该系统,您可以使用计时器计时,计时器的精度是相当高的。
以下是采用普通的延时程序源代码:
voiddelay(uintz)//延时
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
4.5串口中断模块
在这个系统中,单片机单片机通过串口发送遥控信号,一旦PC机发送控制信号,单片机接收到的信息产生一个中断,在中断服务程序由步进电机运动控制。
由于串口中断高优先级的功能,所以不用担心键盘和串行信息冲突。
4.6步进电机驱动模块
在此系统中,操作模式选择的步进电机是单,双模式操作拍摄8,或即由A-AB-B-BC-C-CD-D-DA-A通电时以相反的顺序。
单片机的P2连接到低四个垂直控制云台电机转动A,B,C,D四相,四宗为高则是控制电机A的云台水平旋转,在编程中,正序相步进电机通电时,两个阵列被安置在相反的顺序,在电机动作使用不同模块的阵列可以实现电动机的控制前进,后退,它们为moveUp[],movedown[],movelefe[],MoveRight[]。
第5章系统的调试与运行
5.1硬件调试
控制机制的设计是STC89C52单片机最小系统。
通过检查,复位电路,晶振电路,电源电路,按键电路接线是否正确。
通过电源,用万用表测量,测得的USB接口,微控制器,按钮和其他正极和负极元件均正常。
同时还要调试步进电机驱动模块,通过检查电源,步进电机驱动板和液晶屏显示正常。
5.2Keil软件调试与Protues仿真
1)Keil软件调试
①启动uVision2,创建一个名为.CZH一个项目文件,并选择从设备库中合适的CPU型号,我选择STC89C52。
②创建一个名为CZH.C一个新的源文件,源文件添加到项目中。
③对于单片机添加或配置启动代码。
④设置工具选项,进行相应的目标硬件。
⑤编译该项目,并创建一个PROM编程可的.HEX文件。
完成以上步骤我们就完成了源程序代码生成.HEX文件的任本设计中程序通过Keil软件调试。
2)Protues仿真
同样前面已经介绍了ProteusISIS软件的使用方法,这里不再多说。
现在要做的是将系统电路图绘制在ProteusISIS编辑窗口中,添加完成相应的设置并添加由Keil软件生成的.HEX文件。
要介绍Proteus仿真软件的设置。
在ProteusISIS编辑窗口中,单击鼠标右键将STC89C52单片机选中并单击鼠标左键,弹出“EditComponent”对话框,如下图7-2所示。
在此对话框的“ClockFrequency”栏中设置单片机的晶振频率为11.0592MHz,在“ProgramFile”栏中单击图标,选择先前用KeiluVision2生成的“CZH.HEX”文件。
在ProteusISIS菜单栏中单击保存图标,保存设计,生成“CZH.DSN”文件。
在ProteusISIS编辑窗口中单击,开始运行,再执行相应的操作。
5.3整体调试
1)调试步骤
将事先编号的程序在嵌入到STC单片机里;
检查单片机STC89C52和ULN2003AN正确地放置在支架。
步进电机驱动板,单片机最小系统,以正确的方式来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC 单片机 控制系统 设计