RS485_PTZ_云台控制

RS485_PTZ_云台控制


   

RS485/云台控制(PTZ)学习文档

zxf

一.项目任务:

      在linux环境下通过RS485串口实现对云台镜头的各种控制(包括摄像头的打开,关闭,各个方向的运动及运动速度,预设点,自动扫描,变倍,调焦,光圈,视角宽窄等等的各项控制)。

二.学习步骤

 

     RS485_PTZ_云台控制学习

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协议。目前这两个协议也有很多版本,

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值