RS485云台控制学习文档.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RS485/云台控制(PTZ)学习文档 zxf 一.项目任务: ????? 在linux环境下通过RS485串口实现对云台镜头的各种控制(包括摄像头的打开,关闭,各个方向的运动及运动速度,预设点,自动扫描,变倍,调焦,光圈,视角宽窄等等的各项控制)。 二.学习步骤 ? ???? 1.验证串口,云台等硬件 ????? 考虑先在windows环境下运行串口调试精灵等软件,采用RS232-RS485的接口转换器将PC机与云台相连,通过串口调试精灵向云台发送命令(根据具体云台所采用的协议pelco-d或是pelco-p),验证云台能否正常工作,以保证后续工作顺利进行。 2.熟悉linux下的串口编程 ????? 串口是电脑上一种很通用设备通信的协议,常用PC机上包含的是RS232规格的串口,当然,除了RS232 ,还有RS485和RS422两种规格,用于不同的设备通信;linux环境下万物皆文件,都是文档,串口是设备文档,配置好后,其他东西就当成文档进行操作。 ????? 串口编程中比较重要的是串口的设置,需要配置的部分包括波特率,数据位,停止位,奇偶校验等。关于linux下串口设置的例子和程序网上有很多,而且基本上内容大同小异。 ????? 可以采用如下方法来验证自己在linux下的串口程序:准备PC机两台(一台装Linux系统,另一台装windows即可),用串口线分别和两台计算机的串口相连,在windows机下运行串口调试软件,并打开com1(linux下对应串口ttyS0)等待操作。在linux机下运行自己的串口程序,注意打开的串口和波特率,校验位等设置要和windows机一致,可以将自己的串口程序运行在接收数据状态,并打印信息,在windows机下用串口调试精灵发送数据,验证在linux机下接受是否正确,同样可以验证发送数据是否正确。 ????? 关于串口设置程序: 1.????????????? 配置波特率:注意每台机器都有输出输入接收信息的速度,所以用cfsetispeed和cfsetospeed来分别设置。Linux串口设置过程中有一个非常重要的结构体struct termios ,它包括了串口端的任何配置,在termios.h中被定义。系统为波特率专门准备了一张表用B38400,B19200…代替。实际上传出的是38400和19200这些值。函数原型:Void set_speed(int fd,int speed). 2.????????????? 配置奇偶校验,数据,停止位。 这三个参数通常放在一起配置,databits是数据位,stopbits是停止位,parity是校验位。Termios成员中共定义c_cflag 控制项 c_lflag 线路项 c_iflag 输入项 c_oflag 输出项 c_cc 控制字符 c_ispeed 输入波特 c_ospeed 输出波特那么多项,对于每一项都有很多的配置,比较复杂,但就一个通用的串口框架,主要进行奇偶校验,数据,停止位的配置。而其他的一些控制项。函数原型: int set_Parity(int fd,int databits,int stopbits,int parity) 3.????????????? 配置好串口后,就可以打开串口,并不断的从串口读数据,并打印出这些数据进行验证自己的程序。此部分Down了个串口程序来熟悉linux下的串口编程。 三.云台控制协议pelco-D/P ????? 云台有水平云台,旋转云台和万向云台等多种类型,水平云台和旋转云台的运动速度是恒定的。只有上下左右四个方向,每个方向都有一个限位开头,因而每一方向行程的距离固定,而万向云台运动速度是可变的,且运动方向是任意,控制比较复杂。对与云台的工作原理和电路进行了基本了解,由于实际应用时只需通过串口向云台发送其能识别的命令来完成相应的控制即可。云台测的东西没有进一步的深入了解。 ????? 云台控制系统设计时要选协议,每个云台都有协议可以选择,要么自动识别,要么通过拨码开关来选择。具体要看设备说明书。每个厂家的拨码方式不一样。协议选好后,就可以向云台发送命令控制云台,控制云台时发送一个指令,都要在发送一个停止指令,否则云台将一直执行那一操作。查资料发现大多数云台都支持pelco-D和pelco-P协议。目前这两个协议也有很多版本,大多是扩充。 PELCO-D: 数据格式:1位起始位、8位数据、1位停止位,无效验位。波特率:2400B/S 命令格式: ?   1.该协议中所有数值都为十六进制数   2.同步字节始终为FFH 3.地址码为摄像机的逻辑地址号,地址范围:00H–FFH可以在设备中设置。   4.指令码表示不同的动作   5.数据码1、2分别表示水平、垂直方向速度(00-3FH

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档