0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ATMEG128L-8AI处理器和RS-485总线实现多路温度测试系统的设计

电子设计 来源:电子产品世界 作者:郭庆亮 2020-10-25 09:58 次阅读

引言

在孵化设备的科研过程中,常常用多路温度测试仪来对孵化机器内部的温度场进行测量,而我们以前用的多路温度测试仪是用两片16选1的模拟开关来完成对32路温度的测量, 温度的采样时间受模拟开关开通关断时间的限制,开关信号对温度采样也造成了一定的干扰。在实际使用过程中还常受到温度采样路数(如8路、20路、64路、 70路,128路等)的限制,为能更灵活的应用该多路温度测试仪,我们采用了主从机RS-485通讯的模式来完成多路温度的测量。每个从机采样8路温度并作为一个模块,每个从机有独立的地址,这样我们就可以在主机通讯负载能力范围内灵活的配置从机模块的数量,并且能提高温度采集的及时性和准确性,为科研实验提供便利工具。

硬件设计

总线式主从机结构框图如图1。

基于ATMEG128L-8AI处理器和RS-485总线实现多路温度测试系统的设计

主机我们采用Atmel公司的高性能8位处理器ATMEG128L-8AI,该芯片具有128k的ISP-FLASH、4k的EEPROM、4k的 SRAM,该芯片容量大、可重复在系统编程、指令丰富并且执行速度快。

主机主要完成以下功能:从机地址识别、与从机的通讯、实时温度显示、按键处理、温度软校准以及从机扩张选择,主机功能框图如图2。实时温度显示采用19264单色点阵液晶,该液晶没有背光时仍能正常查看,只是为了在夜间查看,我们增加了液晶背光功能。温度软校准功能是为了保证多路温度测量的准确性,消除系统误差。在实际测量过程中,很难保证用来测量的不同的温度探头的一致性,电路结构、探头线长度、以及每个温度传感元件本身的不一致性都最终影响温度测量的准确性。为了方便校准,我们可利用软件对单个温度探头或全部温度探头进行软件校准。这样尽量减小各个温度探头的不一致而带来的测量差值。为保证主机的可靠工作,在电路中还增加了处理器监控芯片MAX706,用来监控电源电压和系统是否正常工作,否则发出复位信号使系统恢复正常。从机扩展功能主要是用来选择从机模块的数量,如果从机数量为1,则在该功能选项中选择“1路采样模块”,依次类推,考虑到实际应用过程中对温度探头数量的要求,本系统中最大的从机模块配置数量为8,也就是最多可以测量64路温度信号。

主机的按键是行列线组成的2输入4输出结构形式,采用定时扫描,利用MCU内部的定时器产生10ms定时中断,CPU响应中断时对键盘进行扫描,并在有键按下时识别出该键并执行相应的键功能程序。

从机采用Atmel公司的ATMEG16L-8AI作为处理器,该芯片具有16k的ISP-FLASH、512B的EEPROM、1k的SRAM,该芯片同样可以在系统编程,该芯片具有8路10位A/D转换器,当采样的基准电压为5V时,系统的采样精度可达到5毫伏每字,即基准电压变化5毫伏,采样的数字量变化1个字。

从机模块主要完成8路温度采样、与主机的通讯、硬件地址编码,从机功能框图如图3。每个从机模块有个地址编码跳线器,由硬件完成对该模块的地址编码。这样在扩张时,将每个模块的地址唯一确定,不会由于通讯地址的重复造成通讯的不成功。我们采用的RS-485芯片最多可以负载32个从机模块,RS-485芯片采用Maxim公司的MAX483CPA。不同的RS-485芯片,其负载能力不同,有的RS-485芯片如MAX487可以带120个负载,MAX1487能够将负载数量扩大到230个。

RS-485串行通讯

在工程实践当中,多点数据采集系统的网络拓扑一般采用总线方式,传送数据采用主从机结构的方法。

RS-485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提高。如果以10kb/s速率传输数据时传输距离可达12m,而用100kb/s时传输距离可达1.2km。如果降低波特率,传输距离还可进一步提高。本系统的波特率设置为2400b/s。

图1就是用RS-485构成的总线型网络系统,采用主从方式进行多机通信。主机采用8位微处理器ATMEG128L,从机采用ATMEG16L。每个从机通过地址编码拥有自己固定的地址,由主机控制完成网上的每一次通信。图4是MAX485和微处理器的接口电路,A、B为RS-485总线接口,D是发送端,R为接收端,分别与单片机串行口的TXD、RXD连接,由于采用半双工通讯,所以还有收发控制端,MAX485的RE、DE为收发使能端,由微处理器的 PE4(主机)、PC5(从机)口作为收发控制。该控制口高电平时,MAX485处于发送状态,将微处理器TXD处的数据经A、B差分送出到RS-485的总线上;当该控制口为低电平时,MAX485处于接受状态,将RS-485总线上的差分信号转换成TTL电平的信号由R端输出到微处理器的RXD端。当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。应将总线上差分信号的正端A+和+5V电源间接一个10KW电阻;正端A+和负端B-间接一个10KW电阻;负端B-和地间接一个10KW电阻,形成一个电阻网络。当总线上没有信号传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V,即使有干扰信号,却很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。

本系统对RS-485串行通讯的应用电路中,在A和B端预留了上拉电阻、和AB之间的匹配电阻,但实际使用过程中,由于通讯距离很短(10m以内),所以匹配电阻并没有焊上,而是在MAX485和微处理器的TXD和RXD接口处增加了两个10KΩ的上拉电阻。用示波器测量其通讯信号波形时,发现R2、R3两个上拉电阻接上后,通讯数据的波形得到了明显的改善,通讯成功率大大提高。

RS-485通讯需要严格遵循通讯协议,否则通讯是不会建立起来的。尤其是在主从机采用不同的处理器时,软件处理一定的仔细查看其说明文件,不能一视同仁。在本电路的实验过程中,就发现一个波特率设置的问题。波特率的设置公式如下:

BAUD= Fosc/16(UBRR+1)

其中BAUD为通讯速率,Fosc为系统时钟频率,UBRR为波特率寄存器UBRRH、UBRRL中的值(0~4095)。

波特率的设置公式中用到了微处理器的系统时钟频率Fosc,我们的主从机虽然都使用了外部4M晶振,但主机内部将4M频率三分频,而从机仍然使用4M主频,软件编写过程中,将主从机的波特率寄存器初始化值置为一样的,这样就造成了主从机的波特率相差2倍,通讯当然是不能成功的。

为了保证通讯成功,开始时所有从机复位,即处于监听状态,等待主机的呼叫。当主机向网上发出某一从机的地址时,所有从机接收到该地址并与自己的地址相比较。如果相符,说明主机在呼叫自己,应发回应答信号,表示准备好开始接收后面的命令和数据;否则不予理睬,继续监听呼叫地址。主机收到从机的应答后,则开始一次通信。通信完毕,从机继续处于监听状态,等待呼叫。由于发送和接收共用同一总线。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。接受状态和发送状态的转换是通过方向口高低电平的变化来完成的。

温度采集和显示

从机模块完成的主要功能是8路温度模拟信号的采集和向主机正确的发送这8个采样温度,本系统中采用温度传感器AD590。AD590是一个电流型集成温度传感器,其输出电流正比于绝对温度,当温度为 273开氏度时,其输出电流为273微安。温度每变化1K(也可以理解为1℃),输出电流变化1微安。将电流信号经运算放大器后输出0~5V(参考电压为 5V)的电压信号,经过ATMEG16L的10位A/D转换后变为数字信号存放在从机的缓存区。当主机发出与该从机相应的地址信号后,从机应应答并将采样后的数据经RS-485总线送给主机并显示在液晶屏幕上。

从机通过自己的A/D口直接进行模拟量采集比利用多路模拟开关来采集数据要方便的多,为使采样的温度数据更接近实际值,我们在软件上增加了一些处理措施,如求多次采样的平均值、中值滤波等。

为消除一些人为造成的误差,我们在该主从机中使用了一个开关电源,这样开关电源电压的波动对所有温度探头的影响是一致的。另外,所有的温度探头线的长度都保持一致。温度探头线和主从机的通讯线都必须使用屏蔽双绞电缆,并将屏蔽电缆进行良好接地。特别是在RS-485串行通讯中,主从机必须共地,否则严重时会有共模干扰,导致数据传输出错。

在实际的使用过程中,为保证数据采集的可靠性,还必须对每个温度探头进行校准,一般情况下,我们将32个或64个温度探头尽量放在一起,并将其统一放在一个温度比较稳定的老化实验箱中,稳定2个小时后,在同一点将所有的探头校准,并做升温处理观察在升温后各个温度点的探头测量值是否保持一致。否则应在高温段再校准并做降温过程的跟踪观察。

结语

本文介绍了主从机用RS-485串行总线,完成对多路温度信号的测量。特别介绍了RS-485通讯电路在实际使用中的一些措施 。孵化设备多路温度测试仪器正是采用了这些措施,使得测试过程中通讯稳定,测量路数配置灵活,测量数据稳定可靠。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18202

    浏览量

    221915
  • 测试仪
    +关注

    关注

    6

    文章

    3192

    浏览量

    53751
  • 总线
    +关注

    关注

    10

    文章

    2695

    浏览量

    87156
收藏 人收藏

    评论

    相关推荐

    蜘蛛形RS-485多主机通信组网方式

    或下位机RS-485总线中有一个、二个甚至三个RS-485短路或者烧坏时,SWT4485G的RS-485仍然可以与剩余的正常的RS-485
    发表于 09-17 16:06

    有关隔离RS-485收发的7个设计问题

    基础。]对于开放的、短的或空闲的总线情况,不需要外部电路来实现这一功能。5. 您什么时候需要在RS-485总线上终止?该系统的优点和缺点是什
    发表于 08-11 12:35

    RS-485总线上寻求距离还是速度?

    3.3V 或 1.8V FPGA 或者微处理器的极低待机电流不仅可帮助实现更低的系统功耗,而且还可减少高成本电平转换。升级也很便捷。现代收发
    发表于 09-14 11:11

    RS-485总线是要距离还是要速度?

    。能连接 3.3V 或 1.8V FPGA 或者微处理器的极低待机电流不仅可帮助实现更低的系统功耗,而且还可减少高成本电平转换。升级也很便捷。现代收发
    发表于 09-17 09:43

    采用CAN总线RS-485实现DSP通信接口

    设备,负载设备可以是被动发送、接收或收发RS-485最大传输距离为1200m,最大传送速率可达10Mb/s。因此,RS-485在远程
    发表于 06-14 05:00

    有关隔离式RS-485收发的7大设计问题

    集成的故障安全保护功能]为开路,短路或空闲总线的情况下,消除了对外部电路的需要来实现这一功能。5.什么时候需要在RS-485总线上进行端接,系统
    发表于 08-19 16:09

    怎么实现基于RS-485总线的远程测控系统的设计?

    本文介绍的RS-485远程测控系统结合传统的分布式测控系统的特点、利用了RS-485总线的特点,而且巧妙地应用了AT89C2051单片机和C
    发表于 05-21 06:58

    RS-485总线介绍

    RS-485总线介绍RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。 RS-485定义的是使用平衡(也称作差分)多点
    发表于 07-16 08:25

    防止RS-485总线出现致命瞬态波形的参考设计

    以及带有集成 IEC 保护装置的 RS-485 收发总线上实施外部保护方案可实现的保护级别。特性:板级 IEC ESD 评估易于控制收发
    发表于 09-15 06:05

    3个理由了解为什么CAN总线RS-485更好

      旋转编码接口  计算机自动化系统(键盘、鼠标、打印机等)  工业控制系统  剧院应用  PLC  虽然RS-485被应用到多种场合,但越来越多的行业似乎转向CAN用于其工业机械。
    发表于 04-03 14:32

    基于RS-485总线的粮仓监控系统设计

    本文主要介绍了以上位机PC 为核心的RS-485 总线技术实现的集温、湿度监测和报警等功能为一体的粮仓监控系统,设计了一种零延时的RS-23
    发表于 08-31 10:18 21次下载

    基于RS-485总线的可扩展局域网络的研究

    基于RS-485总线的可扩展局域网络的研究  1 RS-485总线通信的特点   RS- 485
    发表于 11-03 08:50 1017次阅读
    基于<b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>的可扩展局域网络的研究

    RS-485总线标准及几种常见的RS-485接口电路介绍

    RS-485总线标准及几种常见的RS-485接口电路介绍
    发表于 12-21 14:45 0次下载

    RS-485总线芯片的选型_应用及注意事项

    全文首先介绍了RS485总线的标准与RS-485总线芯片的选型,其次阐述了RS-485芯片的应用电路及R
    发表于 04-18 16:11 2.1w次阅读
    <b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>芯片的选型_应用及注意事项

    RS-485 总线是要距离还是要速度?

    RS-485 总线是要距离还是要速度?
    发表于 11-07 08:07 1次下载
    <b class='flag-5'>RS-485</b> <b class='flag-5'>总线</b>是要距离还是要速度?