树莓派RS485调试指南
- 格式:doc
- 大小:239.50 KB
- 文档页数:4
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中被定义。
RaspberryPiTXD和RXD、USB串⼝配置对于树莓派串⼝进⾏设置,是因为我想⽤树莓派与外部设备连接,即将串⼝设置为通⽤串⼝。
1、关闭板载蓝⽛功能⾸先,打开你的Terminal,输⼊⼀下语句:sudo systemctl disable hciuart然后,编辑⽂档/lib/systemd/system/hciuart.service,命令如下:sudo nano /lib/systemd/system/hciuart.service将⽂档中所有的 "ttyAMA0"改成"ttyS0",总共要修改两处,修改好以后保存退出。
(备注:如果没有修改的地⽅就不⽤管)2、恢复串⼝使⽤并设置为通⽤串⼝⾸先,编辑⽂档 /boot/config.txt,命令如下:sudo nano /boot/config.txt在⽂档的末尾,添加语句:dtoverlay=pi3-miniuart-bt接着,我们编辑⽂档 /boot/cmdline.txt,命令如下:sudo nano /boot/cmdline.txt将⽂档内容⽤以下内容完全替换(具体操作时是删除原⽂档中多余的语句):dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait这⾥我们要注意:该替换内容是针对于设置通⽤串⼝的,这个内容实际上是关闭了serial console,因为只有这样⽅可使串⼝变为通⽤,即可以使树莓派连接外部设备。
如果你是想⽤串⼝连接、登录以及控制树莓派,则需要enable seiral console。
最后,我们依次执⾏以下命令完成所有配置并重启:sudo apt-get updatesudo apt-get upgradesudo reboot完成以上步骤后,我们现在可以通过"ttyAMA0"与外部设备进⾏连接了。
BM85S485网关产品调试手册施耐德电气(中国)投资有限公司2011年11月24日在地铁、隧道交通等行业中,控制系统不仅仅要完成所有的数据采集、监视和控制功能。
同时,要和现场的很多仪表、智能MCC、车辆检测器、情报板等设备进行数据交换。
由于通讯的设备较多、数据量较大、通讯协议大多采用串行通讯方式。
因此,对控制系统的通讯功能要求较强。
控制系统如果采用Quantum/Unity Quantum PLC时,PLC集成的串行通讯端口较少,而且连接的外部设备较多时,调用串行通讯功能块的数量有限制,同时会影响PLC的扫描时间和实时控制等性能。
控制系统如果采用Premium/Unity Premium PLC时,PLC虽然可以有相应的通讯卡或通讯模块可以支持多个设备的串行通讯,但是,编程比较复杂。
因此,在遇到采用串行通讯方式、通讯设备较多或通讯协议采用非通用协议时,施耐德电气公司经常或推荐客户选用BM85S485型网关设备完成数据通讯功能。
BM85S485网关设备采用Borland C++编程语言进行编程,因此,对进行调试人员的编程水平要求。
虽然王江先已经把基本的Modbus通讯程序编写好。
但是,该程序目前仅在读取单个设备数据时测试过,在读、写单个设备数据、读写多个设备数据时没有进行测试。
在西汉隧道项目中,采用BM85S485网关设备与车辆检测器、变频器进行数据交换。
每个BM85S485网关设备连接的现场设备每个端口最少6台,最多14台。
项目中BM85S485网关设备共定购了接近30台。
而每一台变频器都面临着大量的数据读取和数据写入操作。
经过几天的设备调试,我已经解决了BM85S485网关设备与多个外部设备的通讯问题。
同时,为了减少重新开发的程序量,我将程序做了修改并加了注解,如果重新开发时只需简单的修改几个参数即可完成程序调试,对编程人员的编程水平要求不高。
现将BM85S485网关设备调试步骤编写好共享给大家,希望对即将进行BM85S485网关设备调试的同事有所帮助。
Instructions for RS485 Keypad The RS485 Keypad is designed to work with the Access Plus system. See reverse side for wiring information.
Program Master Code 1. Press the master Code button. 2. Enter a four-digit Master Code then press *. [ _ _ _ _ * (beep)]
Program Device Address The only valid device addresses that can be used with the Access Plus system are 003 through 008. Each device (keypad, card reader, RF receiver) must have a unique address and the addresses must start with 003 and continue in sequence. The type of device does not matter, only the address matters.
1. Press * 2 and enter the master code. [ * 2 _ _ _ _ (beep)] 2. Enter a three-digit address (003 – 008) then press *. [ _ _ _ * (beep)] 3. Press 0# TOGETHER to end. [ 0 # (beeeeeep)]
Each device (card reader, keypad, receiver) must have a unique address and continue in sequence. Do Not Skip an address.
第一步,在win系统下安装树莓派的系统到SD卡准备工作:1.一张2G以上的SD卡,最好是高速卡,推荐Class4以上的卡,因为卡得速度直接影响树莓派的运行速度2.下载树莓派debian系统镜像文件,地址如下:/download3.winXP和win7下安装镜像的工具win32diskimager (软件包内附带)安装步骤:1.解压下载的debian系统压缩文件,得到img镜像文件2.将SD使用卡托或者读卡器后,连上电脑3.解压并运行win32diskimager工具4.在软件中选择debain的img文件,“Device”下选择SD的盘符,然后选择“Write”,如果出现下图的对话框,选“Yes”然后就开始安装系统了,根据你的SD速度,安装过程有快有慢5.安装结束后会弹出完成对话框,说明安装就完成了,如果不成功,请关于防火墙一类的软件,重新插入SD进行安装~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~请注意安装完,win系统下看到SD只有74MB了,这是正常现象,因为linux下的分区win 下是看不到的!大家可以使用分区软件查看SD卡,就能看到linux下的分区了,如下图Ext3,Swap2就是linux系统的分区啦这里解释一下Ext3 和Swap2Ext3区属于linux的文件系统,就和win的系统盘C盘一样Swap区为linux的虚拟内存区,主要在物理内存不够用的时候,做缓存用的第二步,安装和启动树莓派安装树莓派必须的装备:1.2G以上安装了树莓派系统的SD卡(请参考第一步)2.5V/700mA以上的usb接口电源,推荐用1.5A以上的3. b接口的键盘鼠标一套4.HDMI线,用于接显示器,或者HDMI转VGA的,或者HDMI转DVI的,主要看你的显示器接口安装树莓派1.先将安装好系统的SD卡插入树莓派2.再将usb接口的键盘和鼠标接上树莓派3.接上HDMI线4.接上电源线,并打开电源(一定等所有外设都安插妥当了再开电源)启动树莓派1.按照上面的步骤上电后显示器会有文字显示如图,如果显示器没有显示,可能hdmi线或者转接头有问题,请检查2.正常会停在用户和密码登陆界面(系统是debian),请输入用户名:pi,密码:raspberry ,如果你发现键盘按键没有反应,说明兼容问题,请换键盘试试,(切记!!如果你用的是其他系统的话,记得去查一下相对应的账号和密码,查询请见/download)3.步骤1后出现这个界面,可能usb接口电源不足,没法给你的键盘鼠标供电了,请换一个键盘或者配合用带电源的HUB一起使用4.正确输入用户和密码后,就出现以下界面,说明树莓派已经正常启动了5.键盘输入“startx”启动图形界面,到此为止你的树莓派就正常启动完成了!第三步,如何设置树莓派的分辨率本步针对于无论怎么换什么显示器,怎么换线,都是那坑爹的分辨率的问题首先说明一下,树莓派的debian系统中是自动扫描显示器的,很多都不会满屏显示,这样的话就需要手动设置了,但是在进入系统后是没法设置的。
485 gnd接法
485总线接法包括以下几种:
1.共地法:用一根线或屏蔽线连接所有485设备的GND地,以避免电位差影响所有设备之间的通信。
2.终端电阻法:在最后一台485设备的485+和485-上并接120欧姆的终端电阻,以提高通信质量。
3.中间分段断开法:通过从中间断开来检查是否设备负载过多、通讯距离过长、某台设备对整个通讯线路的影响
等。
4.单独拉线法:单独简易拉一条线到设备,这样可以用来排除是否是布线引起了通讯故障。
5.更换转换器法:随身携带几个转换器,这样可以排除是否是转换器质量问题影响了通讯质量。
6.笔记本调试法:先保证自己随身携带的电脑笔记本是通讯正常的设备,用它来替换客户电脑进行通讯,如果正
常,则表明客户的电脑的串口有可能被损害或者受伤。
可以根据遇到的问题采用适合的调试方法。
除了上述提到的调试方法,还有一些其他的调试方法可
以用于485总线的接法,具体如下:
1.AB线间电阻法:通过测量AB线间的电阻来大致判断一个485口的品质,特别是在总线上串接了多个相同
的从机时,测量总线AB间电阻,如果接近一台从机独立时AB线电阻的1/N,基本上可以判断总线和各个从机线都接好了。
2.隔离485法:使用隔离的485芯片,这样在通讯速率上可能会降低,但可以避免共模信号大于485芯片
能承受的极限,导致设备被雷击、浪涌冲击等问题。
3.设备供电的交流电及机箱接地法:设备供电的交流电及机箱一定要真实接地,而且接地良好。
很多地方表面上
有三角插座,其实根本没有接地,接地良好可以防止设备被
雷击、浪涌冲击。
以上调试方法仅供参考,如需更准确的信息,建议咨询
专业人士。
485型温湿度变送器与RS-RJ-K监控平台的配置方法此文档详细讲解如何配置485型温湿度变送器及环境监控平台,使485型温湿度变送器把数据传送到本地环境监控平台。
操作步骤第一步:下载RS-RJ-K环境监控平台安装包、使用说明及二次开发文档等资料。
第二步:安装1.安装之前把电脑的杀毒软件及防火墙全部关掉。
2.解压下载的RS-RJ-K环境监控平台安装包并打开,双击安装RS-RJ-K环境监控平台。
第三步:修改设备地址修改设备地址时每次只能接一台设备,一台修改完拆掉换另一台,(注意:拆线和接线的过程中设备一定要断电。
1.以RS-WS-N01-2壁挂王子壳温湿度变送器为例,登录页面下载485型设备资料包安装对应的驱动参数设置①、打开485型温湿度变送器配置软件,选择正确的COM口(“右击我的电脑—管理—设备管理器—端口”里面查看COM端口),下图列举出几种不同的485转换器的驱动名称。
②、单独只接一台设备并上电,点击软件的测试波特率,软件会测试出当前设备的波特率以及地址,默认波特率为4800bit/s,默认地址为0x01。
③、根据使用需要修改地址以及波特率(修改完点后边对应的设置),同时可查询设备的当前功能状态。
④、如果测试不成功,检查一下请重新检查设备接线及485驱动安装情况。
⑤、所有485设备地址配置完后关掉该配置软件。
第四步:软件添加设备双击打开RS-RJ-K环境监控平台,用户名和密码均为master登录。
一.点设置二.选择通信端口三.改成正确的com口和波特率四.点确定五.点扫描六.根据自己设备的数量修改地址范围八.扫描到设备之后点确定七.点扫描RS485设备十.点启动点完启动,正常情况下,等几秒钟左右设备就会上线。
RS485 的实际应用和维护RS485 的常用方法
RS485 总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。
在一些要求通信距离为几十米到上千
米的时候,RS485 总线是一种应用最为广泛的总线。
而且在多节点的工作系统中也有着广泛的应用。
RS485 电路总体上可以分为隔离型与非隔离型。
隔离型比非隔离型在抗干扰、系统稳定性等方面都有更出色的表现,但有一些场合也可以用非隔
离型。
我们就先讲一下非隔离型的典型电路,非隔离型的电路非常简单,只
需一个RS485 芯片直接与MCU 的串行通讯口和一个I/O 控制口连接就可以。
如图1 所示:
当然,上图并不是完整的485 通信电路图,我们还需要在A 线上加
一个4.7K 的上拉偏置电阻;在B 线上加一个4.7K 的下拉偏置电阻。
中间的R16 是匹配电阻,一般是120Ω,当然这个具体要看你传输用的线缆。
(匹配电阻:485 整个通讯系统中,为了系统的传输稳定性,我们一般会在
第一个节点和最后一个节点加匹配电阻。
基于RS485的串口通信编程实验心得一、实验背景1.1 RS485串口通信RS485是一种应用广泛的串行通信标准,它可以在远距离、高噪声环境下传输数据。
RS485串口通信使用差分信号传输数据,可以实现多机通信和多点通信,适用于工业控制领域和数据采集系统。
1.2 串口通信编程串口通信编程是利用计算机与外部设备进行数据交换的一种方式。
在实际应用中,我们可以通过串口与传感器、执行器等设备进行数据交互,实现对外部设备的监控和控制。
二、实验过程2.1 实验准备在进行RS485串口通信编程实验之前,我们需要准备一台计算机、RS485串口转换器、外部设备(如温度传感器、风速传感器等)以及相关的编程软件(如C、C++、Python等)。
2.2 硬件连接我们需要将RS485串口转换器与计算机连接,并将外部设备与RS485串口转换器连接。
在硬件连接上,需要注意信号线的接线方式,以及串口转换器的设置。
2.3 编程实现根据实验要求,我们可以选择合适的编程语言进行串口通信程序的编写。
在编程实现中,需要注意串口的初始化、数据的发送和接收、错误处理等方面的问题。
还需要考虑数据的解析和处理方法,保证数据的准确性和完整性。
2.4 调试测试编写完成串口通信程序之后,需要进行调试测试,确保程序能够正常运行。
在测试过程中,我们可以通过监控数据的发送和接收情况,以及外部设备的响应情况,来验证程序的正确性。
三、实验心得3.1 技术难点在进行RS485串口通信编程实验的过程中,我们遇到了一些技术难点。
在设置串口参数时,需要对波特率、数据位、停止位、校验位等参数进行正确的配置,以保证数据的准确传输;另外,在数据的解析和处理过程中,也需要针对不同的数据格式进行相应的处理,确保数据的正确解析。
3.2 解决方法针对技术难点,我们通过查阅资料、交流专家以及不断的实践和调试,最终找到了相应的解决方法。
在串口参数设置方面,我们可以参考数据手册或相关资料,了解串口参数的含义和设置方法;在数据解析和处理方面,我们可以根据数据格式和协议,编写相应的解析程序,以实现数据的准确解析和处理。
Raspberry Pi 3官方套件入门指南(Rev.A)i目录第1章 (1)Raspberry PI 3官方套件介绍 (1)1.1产品概述 (1)1.1.1Raspberry Pi 3套件特点 (1)1.1.2Raspberry Pi 3套件介绍 (2)1.2技术支持及详细资料 (4)第2章 (5)Raspberry Pi 3官方套件安装 (5)2.1R ASPBERRY P I 3套件软件系统安装 (5)2.1.1.SD卡安装NOOBS系统 (5)2.1.2.SD卡安装Raspbian系统 (7)2.1.3.旋转屏显 (8)2.2R ASPBERRY P I 3套件硬件安装 (8)2.2.1安装散热片 (9)2.2.2安装SD卡 (9)2.2.3安装触摸屏 (9)2.2.4安装外壳 (12)2.2.5电源连接 (13)第3章 (14)Raspberry Pi 3套件的软件入门操作 (14)3.1R ASPBERRY P I 3套件软件操作准备工作 (14)3.1.1上电准备 (14)3.1.2旋转屏显 (14)3.2R ASPBERRY P I 3网络连接 (15)3.2.1有线网络连接 (15)3.2.2WiFi网络连接 (16)3.3R ASPBERRY P I 3系统更新及升级 (16)3.3.1更新系统 (16)3.3.2升级系统 (17)3.3.3查看SD卡的空间 (17)3.4R ASPBERRY P I 3安装其他应用文件 (17)附录A (18)Raspberry Pi 3 GPIO定义 (18)A.140PIN GPIO定义 (18)第1章Raspberry PI 3官方套件介绍1.1 产品概述Rasapberry Pi(中译:树莓派)是能够和一个键盘一起插入你的电视的信用卡大小的电脑。
这是一个性能足够强的小电脑,可以在电子工程中使用,并且能够做许多台式电脑做的事情,比如制作电子表格,处理文档和玩游戏。
树莓派RS485调试指南
QQ 923056289
1、硬件准备
2、操作系统环境设置
We need to modify two files: /boot/cmdline.txt and /etc/inittab.
Modify /boot/cmdline.txt:
Replace the original content:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
With:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4
elevator=deadline rootwait
Modify /etc/inittab:
Comment out the last line of /etc/inittab. To comment out, it simply addess a '#'.
$ sudo vi /etc/inittab
1.
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Save the changes, and reboot. We will get an UART with baud rate of 115200.
3、驱动及相关软件设置
Sudo apt-get install python-pip
Sudo apt-get install serial-python
$ python
import RPi.GPIO
import serial
If there is no error , then the two libraries are installed correctly.
退出:ctrl+d
或exit()
如果在执行import时不报错,则认为这两个库已经正确安装。
4、RS485测试
连线图如下:
RS485-RS232的转换器有3个接口,A、B、接地。其中A口是TR+,B口是TR-。管脚定义
如下:
转换器的A口连RS485 shield的A口。转换器的B口连RS485 shield的B口。
我们测试的方法是:PC机通过USB转232连232模块,232模块通过转换后接入到RS485
shield。PC机上启动超级终端,输入字符,在树莓派上能看到,就说明RS485 Shield能正确
处理输入信号。
启动超级终端,设置波特率为9600,控制流无、数据位8、停止位1、奇偶校验位无。
在树莓派上运行python程序。源代码及运行方法如下:
pi@raspberrypi:~$ cat *.py
import serial
port="/dev/ttyAMA0"
usart=serial.Serial(port,9600)
usart.flushInput()
print("serial test Baudrae = 9600")
usart.write("please enter the character:\r")
while True:
if (usart.inWaiting()>0):
receive = usart.read()
print (" receive:"),receive
usart.write("\r")
usart.write(" send:")
usart.write("\r")
usart.write(receive)
usart.write("\r")
运行该程序:
Sudo ./serial_test.py
运行结果如下:
在超级终端中输入的字符全部在树莓派上显示了。说明RS485 shield能够收到信号,并正确
识别。