




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、RS485/云台控制(PTZ)学习文档zxf一.项目任务:在linux环境下通过RS485串口实现对云台镜头的各种控制(包括摄像头的打开,关闭,各个方向的运动及运动速度,预设点,自动扫描,变倍,调焦,光圈,视角宽窄等等的各项控制)。二.学习步骤验证串口,云台等硬件考虑先在windows环境下运行串口调试精灵等软件,采用RS232-RS485的接口转换器将PC机与云台相连,通过串口调试精灵向云台发送命令(根据具体云台所采用的协议pelco-d或是pelco-p),验证云台能否正常工作,以保证后续工作顺利进行。2.熟悉linux下的串口编程串口是电脑上一种很通用设备通信的协议,常用PC机上包含的是
2、RS232规格的串口,当然,除了RS232,还有RS485和RS422两种规格,用于不同的设备通信;linux环境下万物皆文件,都是文档,串口是设备文档,配置好后,其他东西就当成文档进行操作。串口编程中比较重要的是串口的设置,需要配置的部分包括波特率,数据位,停止位,奇偶校验等。关于linux下串口设置的例子和程序网上有很多,而且基本上内容大同小异。可以采用如下方法来验证自己在linux下的串口程序:准备PC机两台(一台装Linux系统,另一台装windows即可),用串口线分别和两台计算机的串口相连,在windows机下运行串口调试软件,并打开coml(linux下对应串口ttySO)等待操
3、作。在linux机下运行自己的串口程序,注意打开的串口和波特率,校验位等设置要和windows机一致,可以将自己的串口程序运行在接收数据状态,并打印信息,在windows机下用串口调试精灵发送数据,验证在linux机下接受是否正确,同样可以验证发送数据是否正确。关于串口设置程序:配置波特率:注意每台机器都有输出输入接收信息的速度,所以用cfsetispeed和cfsetospeed来分别设置。Linux串口设置过程中有一个非常重要的结构体structtermios,它包括了串口端的任何配置,在termios.h中被定义。系统为波特率专门准备了一张表用B38400,B19200代替。实际上传出的
4、是38400和19200这些值。函数原型:Voidset_speed(intfd,intspeed).配置奇偶校验,数据,停止位。这三个参数通常放在一起配置,databits是数据位,stopbits是停止位,parity是校验位。Termios成员中共定义c_cflag控制项c_lflag线路项c_iflag输入项c_oflag输出项c_cc控制字符c_ispeed输入波特c_ospeed输出波特那么多项,对于每一项都有很多的配置,比较复杂,但就一个通用的串口框架,主要进行奇偶校验,数据,停止位的配置。而其他的一些控制项。函数原型:intset_Parity(intfd,intdatabit
5、s,intstopbits,intparity)3.配置好串口后,就可以打开串口,并不断的从串口读数据,并打印出这些数据进行验证自己的程序。此部分Down了个串口程序来熟悉linux下的串口编程。三.云台控制协议pelco-D/P云台有水平云台,旋转云台和万向云台等多种类型,水平云台和旋转云台的运动速度是恒定的。只有上下左右四个方向,每个方向都有一个限位开头,因而每一方向行程的距离固定,而万向云台运动速度是可变的,且运动方向是任意,控制比较复杂。对与云台的工作原理和电路进行了基本了解,由于实际应用时只需通过串口向云台发送其能识别的命令来完成相应的控制即可。云台测的东西没有进一步的深入了解。云台
6、控制系统设计时要选协议,每个云台都有协议可以选择,要么自动识别,要么通过拨码开关来选择。具体要看设备说明书。每个厂家的拨码方式不一样。协议选好后,就可以向云台发送命令控制云台,控制云台时发送一个指令,都要在发送一个停止指令,否则云台将一直执行那一操作。查资料发现大多数云台都支持pelco-D和pelco-P协议。目前这两个协议也有很多版本,大多是扩充。PELCO-D:数据格式:1位起始位、8位数据、1位停止位,无效验位。波特率:2400B/S命令格式:1.该协议中所有数值都为十六进制数2同步字节始终为FFH地址码为摄像机的逻辑地址号,地址范围:00H-FFH可以在设备中设置。指令码表示不同的动
7、作数据码1、2分别表示水平、垂直方向速度(00-3FH),FFH表示“turbo,速度6.校验码=MOD(字节2+字节3+字节4+字节5+字节6)/100H命令字1和命令字2设置如下:8ii7Bit6Bit5Bit4tt3Bit2BitlBitO細SenceB期目亂我開鹅拥甥mi期Sence码与Bit4和Bit3有关。在Bit4和Bit3为1的情况下,如果Sence码为1,则命令就是自动扫描和和摄像机打开;如果Sence码为0,则命令就是手动扫描和摄像机关闭。当然如果Bit4或Bit3为0的话那命令就无效了。数据1表示镜头左右平移的速度,数值从$00(停止)到$3F(高速),另外还有一个值是$
8、FF,表示最高速。数据2表示镜头上下移动的速度,数值从$00(停止)到$3F(最高速)。校验码是指Byte2到Byte6这5个数的和(若超过255则除以256然后取余数)。Pelco-D的命令码和数据码的参考命令:CommandWord3Word4Word5Word6SetPreset00030001to20ClearPreset00050001to20GoToPreset00070001to20Flip(180about)00070021GoToZeroPan00070022SetAuxiliary0090001to08ClearAuxiliary00B0001to08RemoteReset
9、00OF0000SetZoneStart00110001to08SetZoneEnd00130001to08WriteChar,ToScreen0015XPosition00tc28ASCIIValueClearScreen00170000AlarmAcknowJedge001900AlarmNo.ZoneScanOn001B0000ZoneScanOff001D0000SetPatternStart001F0000SetPatternStop00210000RunPattern00230000SetZoomSpeed00250000to03SetFocusSpeed00270000to03以
10、地址码0 x01为例的部分指令:0 xff,0 x01,0 x00,0 x08,0 x00,0 xff,0 x08,上0 xff,0 x01,0 x00,0 x10,0 x00,0 xff,0 x10,下0 xff,0 x01,0 x00,0 x04,0 xff,0 x00,0 x04,左0 xff,0 x01,0 x00,0 x02,0 xff,0 x00,0 x02,右0 xff,0 x01,0 x00,0 x20,0 x00,0 x00,0 x21,变倍短0 xff,0 x01,0 x00,0 x40,0 x00,0 x00,0 x41,变倍长0 xff,0 x01,0 x00,0 x8
11、0,0 x00,0 x00,0 x81,聚焦近0 xff,0 x01,0 x01,0 x00,0 x00,0 x00,0 x02,聚焦远0 xff,0 x01,0 x02,0 x00,0 x00,0 x00,0 x03,光圈小0 xff,0 x01,0 x04,0 x00,0 x00,0 x00,0 x05,光圈大0 xff,0 x01,0 x00,0 x0b,0 x00,0 x01,0 x0d,灯光关0 xff,0 x01,0 x00,0 x09,0 x00,0 x01,0 x0b,灯光开0 xff,0 x01,0 x00,0 x07,0 x00,0 x01,0 x09,转至预置点0010
12、xff,0 x01,0 x00,0 x03,0 x00,0 x01,0 x05,设置预置点0010 xff,0 x01,0 x00,0 x05,0 x00,0 x01,0 x07,删除预置点001以上对应的停命令均是:0 xff,0 x01,0 x00,0 x00,0 x00,0 x00,0 x01,停命令Pelco-P:PELCO-P协议一般采用RS-485传输,波特率为4800,1位起始位和停止位,8位数据位,无校验位。格式:ByteValueFunction$A02$00to$1Fw3Databyte1数据便4Databyte2数斛25Databyte3m36Databyte4数斛4$A
13、F停Jffl18$00-$FF校監码|起始码是固定值$A0。地址码是设备的逻辑地址,可由接收设备上的DIP开关来设定?。数据位1-4意义:Bitnumber1b5432100开自碱Jts郑1斓开焦距麺擬拉远0T上t右0糠3$00(M)3$3F(JS)a$40(SiS)糠4上朋龜虧叫淞)列$3F耐停止码是固定值$AF。校验码是Byte2到Byte6这5个数的异或值(XOR)。地址码是从0编起的,所以地址码$00表示第一台设备。以地址码0 x01为例:0 xa0,0 x01,0 x00,0 x08,0 x00,0 x30,0 xaf,0 x39,上0 xa0,0 x01,0 x00,0 x10,0
14、 x00,0 x30,0 xaf,0 x21,下0 xa0,0 x01,0 x00,0 x04,0 x10,0 x00,0 xaf,0 x15,左0 xa0,0 x01,0 x00,0 x02,0 x10,0 x00,0 xaf,0 x13,右0 xa0,0 x01,0 x00,0 x40,0 x00,0 x00,0 xaf,0 x41,变倍短0 xa0,0 x01,0 x00,0 x20,0 x00,0 x00,0 xaf,0 x21,变倍长0 xa0,0 x01,0 x02,0 x00,0 x00,0 x00,0 xaf,0 x03,聚焦近0 xa0,0 x01,0 x01,0 x00,0
15、 x00,0 x00,0 xaf,0 x00,聚焦远OxaO,OxOl,OxO8,0 x00,0 x00,0 x00,0 xaf,0 x09,光圈小0 xa0,0 x01,0 x04,0 x00,0 x00,0 x00,0 xaf,0 x05,光圈大无命令字发送/灯光关无命令字发送/灯光开0 xa0,0 x01,0 x00,0 x96,0 x00,0 x20,0 xaf,0 xb7,自动巡航0 xa0,0 x01,0 x00,0 x99,0 x00,0 x20,0 xaf,0 xb8,/关闭自动巡航0 xa0,0 x01,0 x00,0 x07,0 x00,0 x01,0 xaf,0 x07,
16、转至预置点001OxaO,OxO1,OxOO,OxO3,OxOO,OxO1,Oxaf,OxO3,设置预置点0010 xa0,0 x01,0 x00,0 x05,0 x00,0 x01,0 xaf,0 x01,删除预置点001以上对应的停命令均是(上下左右、变倍、聚焦、光圈均有停命令):0 xa0,0 x01,0 x00,0 x00,0 x00,0 x00,0 xaf,0 x01,云台控制(PTZ)命令控制说明:当控制云台水平、上下方向动作或“IRIS”、“FOCUS”、“ZOOM”时需要使相应的控制位为“1”,不用控制的相应位置为“0”当需要云台PAN/TILT两方向同时动作时,只需将PAN/
17、TILT的相应控制位置“1”即可,PAN/TILT的速度控制由WORD5/WORD6决定将W0RD3、WORD4的所有位置为“0”可以停止云台的动作5、扩充命令万向云台支持预设点,使云台转动到提前设置好的点。命令格式:WORD3WORD4WORDSWORD6OOHO3HOOHXXXX=OOH3FH-淸除预置克WORD3WORD4WORDSWORD6OOHO5HOOHXXXX-OOH3FH、清除全部预置点WORD3WORD4WORDSWORD6OOHO7HOOH77.调用预置点WORD3WORD4WORD5WORD&OQHO7HOOHXXXX=OOH3FHCPRESETNUMBERC5.运行邂视
18、序列WORD3WORD4WORD5WORDSOOHO7H四编写并调试Linux环境下的云台控制程序首先在linux环境下编写简单的程序验证命令的正确性,例如利用write函数直接通过RS485向云台写命令(符合云台控制协议),查看命令是否执行正确,如果正确则编写云台控制程序将这些命令封装成函数,以供上层函数调用。全局变量:intptz_protocol,baudrate,ptz_fd云台所采用的协议和波特率,串口句柄。数据结构:考虑到pelco-D和pelco-P协议命令消息格式的规定,对于pelco-D定义命令消息:staticstructst_messagecharstx;charaddr
19、ess;charcommand1,command2,data1,data2;charchecksum;send_msg;(消息各部分的含义和规定见本文档第三部分)对于pelco-P定义命令消息:staticstructst_messagecharstx;charaddress;chardata1,data2,data3,data4;charetx;charchecksum;send_msg;(消息各部分的含义和规定见本文当第三部分)*str_cmd为传参,此字符串中应包括需要实现的功能,操作,速度等信息。功能命令应包括TILT_UP上TILT_DOWN下PAN_RIGHT右PAN_LEFT左:PT_LEFT_UP左上PT_LEFT_DOWN左下PT_RIGHT_UP右上PT_RIGHT_DOWN右下Z_ZOOM_IN:Z_ZOOM_OUT:FOCUS_FAR:调焦远FOCUS_NEAR调焦近IR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电气机械机械工程设计与模拟化仿真考核试卷
- 煤制液体燃料的生产设备选型与优化考核试卷
- 皮革保养店客户投诉处理与风险防范考核试卷
- 泡沫塑料的耐磨擦性能考核试卷
- 畜牧机械牧场养殖场养殖设备维护保养实操考核试卷
- 健身器材行业标准化建设考核试卷
- 畜牧业废弃物资源化利用技术考核试卷
- 中药行业2025年3月月报:内需韧性凸显看好品牌OTC
- 2025标准个人借款合同协议书范本
- 云南省景东县二中2025届招生全国统一考试广东省数学试题模拟试卷(一)
- 新高考数学二轮复习讲练专题06 函数与导数常见经典压轴小题归类(26大核心考点)(讲义)(解析版)
- 高速公路改到封闭施工方案
- 防尘天幕施工方案
- 胸椎骨折的护理课件
- 机械CAD、CAM-形考任务一-国开-参考资料
- 公路工程道路保通施工安全专项方案(3篇)
- 省考试录用公务员面试通知书
- 第9课《美丽的颜色》说课稿 2024-2025学年统编版语文八年级上册
- 人工智能训练师(中级)职业技能鉴定参考题库-上(单选题)
- 断绝父子关系协议书
- 西方现代思想讲义
评论
0/150
提交评论