基于单片机的摄像机云台控制系统软硬件设计与实现.docx
- 文档编号:29624360
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:43
- 大小:1.15MB
基于单片机的摄像机云台控制系统软硬件设计与实现.docx
《基于单片机的摄像机云台控制系统软硬件设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的摄像机云台控制系统软硬件设计与实现.docx(43页珍藏版)》请在冰豆网上搜索。
基于单片机的摄像机云台控制系统软硬件设计与实现
摘要
本论文在分析了摄像机云台结构、步进电机工作原理以及云台系统控制要求的基础上,设计了以STC89C52单片机为控制器的摄像机云台控制系统,以ULN2003为步进电机驱动芯片,利用独立按键控制云台转动,同时编写上位机程序并通过串口通信实现与PC机之间的串口通信。
该控制系统由单片机控制模块、键盘模块、电机驱动模块、远程PC机控制模块组成。
单片机控制模块的工作包括处理键盘输入、响应PC串口中断、控制电机运行;键盘模块采用独立式键盘控制信息的输入;电机驱动模块采用ULN2003驱动电路控制摄像机云台的运动;远程PC机控制模块实现微机远程控制单片机,进而控制步进电机。
云台的运行有自动运行和手动运行模式,同时受上位机控制。
键盘或PC输入信息,单片机接收后对输入信息进行处理,然后发出控制信号送ULN2003A,ULN2003A驱动步进电机运转。
利用独立按键可以实现云台手动控制,利用计算机远程控制云台转动,增强了云台控制系统的实用性;同时利用VC6.0编写上位机,利用Keil4编译和调试,利用Proteus进行系统仿真,使系统更加完善。
关键字:
单片机;云台;键盘;步进电机;串口通信
Abstract
Thisthesisanalyzesthestructureofcamerapanandtilt,steppermotorsystemworksandPTZcontrolrequirementsbasedonthedesignofthecontrollertoSTC89C52microcontrollercamerapanandtiltcontrolsystemtoULN2003steppermotordriverchipfortheuseofseparatebuttonscontrolthePTZrotation,aswellaspreparethePCprogramandthroughtheserialcommunicationwiththePCserialcommunicationbetween.
Thecontrolsystemconsistsofsingle-chipcontrolmodule,keyboardmodule,motordrivemodule,theremotePCcontrolmodule.MCUcontrolmoduleincludehandlingkeyboardinput,respondtoPCserialportinterrupt,controlthemotorrunning;Keyboardcontrolmodulesusingstand-alonekeyboardinputofinformation;motordrivemoduleusingULN2003drivercircuitcontrolcamerapanandtiltmovement;remotePCcontrolmodulemicrocomputerremotecontrolmicrocontroller,thencontrolthesteppermotor.
PTZoperationwithautomaticoperationandmanualoperationmode,aswellasbyPCcontrol.KeyboardorPCinputinformation,themicrocontrollerafterreceivingtheinputinformationprocessing,andthensendcontrolsignalstosendULN2003A,ULN2003Adrivesteppermotorrunning.SeparatebuttonscanbeachievedusingthePTZmanualcontrol,theuseofcomputerremotecontrolPTZ,PTZcontrolsystemenhancesthepracticality;whileusingVC6.0preparedbythehostcomputer,useKeil4compileanddebugthesystemusingtheProteussimulation,sosystemmoreperfect.
Keyword:
STC89C52;CameraPan;Keyboard;StepperMotor;SerialCommunication
第一章绪论
一、云台
摄像机云台是一种安装在摄像机支撑物上的工作平台,用于摄像机与支撑物之间的连接,同时它具有水平和垂直运动的功能,在云台水平、垂直运动的同时,它也带动摄像机做相同的运动,这样就可以通过控制云台的运动来控制摄像机的运动,它与摄像机配套使用能达到扩大监视范围的目的,提高了摄像机的使用价值。
云台分为固定云台和电动云台。
目前这两类云台广泛应用于各种场所,固定云台适用于小范围的监视;电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。
电动云台是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。
在控制信号的作用下,云台上的摄像机既可自动扫描监视区域,也可在监控中心值班人员的操纵下跟踪监视对象。
步进电机作为云台的转动器件,它的工作可靠性直接影响了云台的质量。
云台的性能指标:
1、云台的转动速度
云台的转动速度衡量云台档次高低的重要指标。
云台的水平和垂直方向是由两个步进电机驱动的,因此云台的转动速度也分为水平转速和垂直转速。
由于载重的原因,垂直电机在启动和运行保持时的扭矩大于水平方向的扭矩,在加上实际监控时对水平转速的要求要高于垂直转速,因此一般来说云台的垂直转速要低于水平转速。
2、云台的转动角度
云台的水平转动角度一般都能达到355°,因为限位拴会占用一定的角度,但是出现少许的监控死角。
当前的云台都改进了限位装置使其可以达到360°甚至365°(有5°的覆盖角度),以消除监控死角。
使用时可以根据现场的实际情况进行限位设置。
3、云台的载重量
云台的最大负载是指垂直方向承受的最大负载能力。
摄像机的重心到云台工作面距离为50mm,该重心必须通过云台回转中心,并且与云台工作面垂直,这个中心即为云台的最大负载点,云台的承载能力是以此点作为设计计算的基准。
如果负载位置安装不当,重心偏离回转中心,增大了负载力矩,实际的载重量将小于最大负载量的设计值。
因此云台垂直转动角度越大,重心偏离也越大,相应的承载重量就越小。
二、步进电机
在工业控制系统中,通常要控制机械部件的平移和转动,这些机械部件的驱动大多都采用交流电机、直流电机、和步进电机。
在这三种电机中,步进电机最适合数字控制。
本设计中单片机作为数字控制器件,因此在本系统中毫无疑问的选择了步进电机。
如何运用步进电机无疑是单片机云台控制系统中的重点。
因此需要详细的了解步进电机。
(一)步进电机的工作原理
通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一个矢量磁场。
该磁场会带动转子旋转一定角度,使得转子的一对磁场方向与定子的磁场方向一致。
当定子的矢量磁场旋转一个角度。
转子也随着该磁场转一个角度。
每输入一个电脉冲,电动机转动一个角度前进一步。
它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。
改变绕组通电的顺序,电机就会反转。
所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。
图1-1是四个开关信号控制四相步进电机工作原理示意图。
图1-1四相步进电机示意图
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
步进电机的驱动电路依据控制信号工作,控制信号由单片机产生,完成以下三种功能:
1、控制换相顺序:
通电换向这一过程称为脉冲分配。
通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。
2、控制步进电机的转向:
如果按给定方向的正序换相通电,步进电机正转;如果按反序通电换相,步进电机反转。
3、控制步进电机的速度:
如果给步进电机发送一个控制脉冲,它就转一步,再发送一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转的越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
(二)步进电机主要技术指标
静态指标:
1、相数:
产生不同对极N、S磁场的激磁线圈对数。
常用m表示。
2、拍数:
完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A。
3、步距角:
对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度/(转子齿数
运行拍数),以常规二、四相,转子齿数为50齿的电机为例。
四拍运行时步距角为θ=360度/(50
4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50
8)=0.9度(俗称半步)。
4、定位转矩:
电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。
5、静转矩:
电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。
此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。
虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
动态指标:
1、步距角精度:
步进电机每转过一个步距角的实际值与理论值的误差。
用百分比表示:
误差/步距角
100%。
不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。
2、失步:
电机运转时运转的步数,不等于理论上的步数。
称之为失步。
3、失调角:
转齿轴线偏移定齿轴线的角度,电机运转必然存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。
4、最大空载起动频率:
电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。
5、最大空载的运行频率:
电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。
6、运行矩频特性:
电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。
其它特性还有惯频特性、起动频率特性等。
电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。
要使平均电流大,尽可能提高驱动电压,采用小电感大电流的电机。
7、电机的共振点:
步进电机均有固定的共振区域,二、四相感应子式的共振区一般在180
250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不会失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。
8、电机正反转控制:
当电机绕组通电时序为AB-BC-CD-DA时为正转,通电时序为DA-CD-BC-AB时为反转。
三、单片机
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
单片机以其价格低廉,功耗小,工作可靠,可编程等优点,得到应用者的青睐。
单片机是通过不同的程序实现不同的功能,尤其是特殊的一些功能,这是别的器件需要费很多力气才能做到的,有些则是花大力气也很难做到的。
单片机所具有的特点:
1、高集成度,体积小,高可靠性;
2、控制功能强;
3、低电压,低功耗,便于生产便携式产品;
4、易于扩展;
5、优异的性价比。
单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
用电器,宇航设备等各个领域。
(一)STC89C52
图1-2STC89C52DIP封装引脚图
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
图1-2所示为DIP封装引脚图。
(二)STC89C52各个引脚的功能
STC89C52为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接11.0592MHz晶振。
RST(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义。
VCC(40脚):
接+5V电压。
GND(20脚):
接信号地。
RST(9脚):
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/
(30脚):
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
(29脚):
程序储存允许输出是外部程序存储器的读选通信号,当AT89s52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
/VPP(31脚):
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
XTAL1(19脚):
接外部晶振的一个引脚,且为输入端。
XTAL2(18脚):
接外部晶振的另一个引脚,该引脚接地。
P0口(39~32脚):
双向8位三态I/O口,在外接存储器时,与地址总线低8位及数据总线复用。
P0可以驱动8个LSTTL负载。
P1口(1~8脚):
具有内部上拉电阻的8位准双向I/O口,该接口输出不包含高阻态,输出不能锁存。
可以驱动4个LSTTL负载。
P2口(21~28脚):
具有内部上拉电阻的8位准双向I/O口,在访问外部存储器时,作为高8位地址总线。
可以驱动4个LSTTL负载。
P3口(10~17脚):
具有内部上拉电阻的8位准双向I/O口,P3口的8个引脚还用于专门的功能——复用双功能口。
它可以驱动4个LSTTL负载。
它作为第二功能使用时,其各个引脚的功能如下:
P3.0(10脚)RXD:
串行口接收端
P3.1(11脚)TXD:
串行口发送端
P3.2(12脚)
:
外部中断0
P3.3(13脚)
:
外部中断1
P3.4(14脚)T0:
定时/计数器0
P3.6(16脚)
:
外部数据存储器写选通信号
P3.7(17脚)
:
外部数据存储器读选通信号
特殊功能寄存器:
1、单片机内含有两个16位定时/计数器T0、T1。
它们各自由两个独立的8位寄存器组成,分别为TH0、TL0、TH1、TL1,。
2、TMOD用于控制定时/计数器的工作方式及4种工作模式,其中低4位为定时器T0的方式控制字,高4位为定时器T1的方式控制字。
它的字节地址为89H。
其各位的定义如下:
GATE
C/T
M1
M0
GATE
C/T
M1
MO
GATE是选通门,当GATE=1时,只有INT0或INT1引脚为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作。
C/T是计数器/定时器方式选择位。
MO和M1是操作模式选择位。
1、TCON寄存器的高四位为定时/计数器T0、T1的控制寄存器和定时/计数溢出中断标志。
2、IE寄存器用于开放或屏蔽单片机各个中断。
3、SCON寄存器用于设置串口的工作方式和查询接收、发送中断产生标志。
4、SBUF串行数据缓冲器用于存放串口中预发送或接收的数据,它由两个独立的寄存器构成,一个发送缓冲器,一个接收缓冲器,他们公用一个地址。
当从SBUF取数据时,访问接收缓冲器,当写数据时,访问发送缓冲器。
(三)STC89C52串口通信
单片机系统设计中,经常需要使用串口与外部进行通信,因此,串口通信部分是单片机功能模块中极为重要的一部分。
串口通信时通过串口来进行的,串口不同于并口,它的数据和控制信息是一位接一位串行的传送下去。
与并口相比,虽然速度慢,但是传送距离比并口更长,因此常用于需要长距离通信而对速度又要求不高的场合。
异步通信是以帧的形式发送字符数据,每一帧信息由起始位、数据位、奇偶校验位和停止位构成。
异步通信中,每传输一个字节就要使用起始位和停止位,因此传输速度有限,常用于低速场合。
同步通信使用数据块传送信息,而不是字节,省去了每个字节的起始位和停止位等数据,提高了通信的速率。
与异步通信相比,同步通信发送的数据量大、速度快,常用于传输速率要求较高的场合。
STC89C52内部的串口是一个标准的全双工串口,支持四种工作方式。
波特率是可变的,可由软件设置。
对89c52串口的访问和设置是通过访问其相关的特殊寄存器进行的,与89C52串口相关的特殊寄存器共有3个:
SCON、PCON和SBUF。
串口控制寄存器SCON主要用于设置串口的工作模式和串口中断的查询。
其格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0、SM1:
用于设置串口的工作方式。
SM2:
串口多机通信控制位。
REN:
允许串行接收控制。
将其置为1时允许接收。
TB8:
用于设置串口工作方式2和方式3情况下要发送的第9位数据,有软件置位或复位。
RB8:
用于保存串口工作方式2和方式3情况下要接收到的第9位数据。
TI:
串口中断发送标志。
当串口数据发送完毕时置位TI,同时向CPU发送串口中断请求。
RI:
串口中断接收标志。
当串口数据接收到一个数据时置位TI,同时向CPU发送串口中断请求。
特殊功能寄存器PCON:
特殊功能寄存器PCON仅有最高位与串口有关,SMOD,波特率选择位,SMOD的设置可以影响波特率设置的精度。
发送/接收缓冲器SBUF:
串口中的发送/接收缓冲器SBUF实际上共有两个,分别为发送缓冲器和接收缓冲器,他们在物理上是完全独立的,因此可以同时进行发送和接收。
两个缓冲器公用一个内存地址99H。
(四)STC89C52中断系统
程序在执行过程中,允许外部或内部事件通过硬件中断程序的执行,使其转向出来外部或内部事件的中断服务中去,完成中断服务程序后,CPU继续与原来被中断的程序,这样的过程称为中断过程。
能产生中断的外部或内部事件叫中断源。
80C52有6个中断源,它们是:
INT0:
外部中断0.当IT0(TCON.0)=0时,低电平有效;
IT0(TCON.0)=1时,下降沿有效。
INT1:
外部中断1.当IT1(TCON.2)=0时,低电平有效;
IT1(TCON.2)=1时,下降沿有效。
TF0:
定时/计数器T0益处中断。
TF1:
定时/计数器T1益处中断。
TF3:
定时/计数器T2益处中断。
RX,TX:
串行中断。
中断相关寄存器IE和IP
51单片机有两种中断优先级,其中每一个中断源的优先级都可以有程序设定。
中断源的中断要求能否得到响应,受允许中断寄存器IE中各位的控制。
它们的优先级由中断优先级寄存器IP的各位确定,同一优先级内的各中断源同时要求中断时,以内部的查询逻辑来确定响应次序。
允许中断寄存器IE的各位定义如下:
MSBLSB
EA
—
ET2
ES
ET1
EX1
ET0
EX0
EA是总中断允位。
EA=0时,禁止所有中断;EA=1时,则每个中断源被允许还是被禁止,由各自的允许位确定;
ET2:
是定时器2中断允许位。
ET2=0,禁止定时器2中断;
ES:
是串行口中断允许位。
ES=0,禁止串行口中断;
ET1:
是定时器1中断允许位;
EX1:
是外部中断1允许位;
ET0:
是定时器0中断允许位;
EX0:
是外部中断0允许位。
中断优先级寄存器IP的各位定义如下:
MSB
LSB
—
—
PT2
PS
PT1
PX1
PT0
PX0
PT2:
是定时器2中断优先级设定位;
PS:
是串行口中断优先级设定位;
PT1:
是定时器1中断优先级设定位;
PX1:
是外部中断1优先级设定位;
PT0:
是定时器0中断优先级设定位;
PX0:
是外部中断0优先级设定位。
四、本设计完成的任务
本次设计是以单片机为控制器,设计一个云台控制系统,使云台按期望的方式运行,同时还要与远程控制室计算机进行通信。
本次设计完成的任务:
1、设计单片机外围电路及步进电机驱动电路,驱动云台步进电机运行。
2、使用键盘输入控制云台步进电机。
3、PC使用串口总线远距离控制云台步进电机。
4、使用KeiluVision4编写软件,在Proteus软件中完成仿真。
第二章总体方案
一、云台控制系统简析
云台在任意位置,按下不同按钮,云台将分别按上下左右四
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 摄像机 控制系统 软硬件 设计 实现