一、产品简介
该产品使用AVR单片机开发,使用单IO口采集DS18B20温度传感器温度值,可接入32个传感器(可修改代码或增加EEPROM空间支持更多数量)。
二、应用场景
主要应用于低成本温度采集场景,如大棚,粮仓等测点多、布线繁琐的场所。
三、产品概述
DS18B20是一款电子温度传感器,其有着卓越的性能,常应用于温度测量精度较高,低成本的温度采集系统。以前使用DS18B20都是一个IO口接一个传感器,优点是速度快,操作简单,缺点就是太占用IO口资源,同时也失去了单总线的意义,在大规模使用时,部署及拉线繁琐。因此,本产品发挥单总线的巨大优势,在单总线上面挂接32个或更多的传感器,实现低成本的温度采集功能。
四、产品参数
电气参数:
1. 工作电压:24V/0.5A(更换DCDC隔离模块可支持不同输入电压)
2. 工作电流:<100ma(32个传感器时)
3. 通讯接口:RS485
4. 通讯协议:MODBUS-RTU/ASCII
5. 传感器数量:大于32个,使用5类网线距离可达100米以上
外观参数:
1. PCB尺寸:82mmx31.2mm,高度18mm(MAX)
2. 配套外壳:88mm(L)x37mm(W)x59mm(H) 工控导轨塑料壳体(见备注)
五、使用说明

如上图,绿色PCB电路就是本产品设计的温度采集器,24V供电,电源采用隔离DC-DC,隔绝外部电源带来的干扰,单片机使用的ATmega32A,AVR系列最大的优点就是IO口驱动能力超强,这种应用绝对能体现出来这一点。面包板接满DS18B20传感器,共计32个。

按图接好线路,其中 设置/运行 引脚为运行模式选择,断电时候 设置/运行 引脚接GND上电后可以进入参数设置模式。使用网线中的2对双绞线,其中一对接VCC与GND,另外一对接DAT与GND,这样接可以提高单总线传输的可靠性,减小干扰,如果使用单独的三线,传输距离大概几十米的样子。
断电将 设置/运行 引脚接入GND,然后上电,模块进入设置模式。打开上位机软件,如下图所示:

该软件是32路与64路采集器共用的设置程序,选择与设备连接的串口后打开串口,设备会自动与上位机进行连接,连接完成后通过读取参数按钮读取设备的参数,可以设置设备的工作参数如地址、波特率、校验位等,设备支持MODBUS RTU、MODBUS ASCII协议,可以直接接入各种组态软件,或者接入DTU模块进行数据传输。通道使能可以设置对哪些通道进行采集,未选取的通道将不做采集处理。
设置每个通道的传感器ID也比较简单,只需要把待设置的传感器挂接到单总线(注意:设置ID时单总线上只能有一个传感器),然后在传感器序号处填入待写入的通道地址,点击单次写入或者连续写入按钮,程序会自动读取总线传感器ID,然后写入指定的通道地址。经过一番设置后,将32个传感器ID全部写入设备。看下全图:

测试网线一箱,标的是305米,用了一些,估计有250多米的样子。
OK,检查连接无误后,断开SET与GND的连接,重新上电,打开ModbusPoll软件,对设备进行测试。测试过程请看视频。
六、备注说明
1. AVR单片机开发环境为Atmel Studio 7,操作有技术门槛;
2. AVR单片机烧录需要专用设备,一般为AVR-ISP或AVR-JTAG工具,本产品使用JTAG接口调试、烧录,工具为AVR JTAG ICE,直接在Atmel Studio 7中烧写;
3. 产品程序具有识别总线上所有传感器ID的能力,但多传感器下无法对应具体ID,因此未开启多传感器自动识别ID功能;
4. 产品附件包含DS18B20_32路温度采集器-单片机源码、HEX文件、上位机源码、上位机配置程序(需要.net运行环境),电路原理图、PCB文件提供KICAD 6.0版本,如需其他格式源文件可购买后,通过平台联系到我,发邮箱文件。
5. 产品主板BOM成本预计在30元左右,DS18B20传感器单只4元左右(国产芯片1元左右),不锈钢套封装传感器6-15元不等;
6. 配套外壳购买链接在附件:产品外壳购买地址.docx 中列出,可参考购买。
七、测试视频
视频演示了产品配置方法,使用一箱200多米的网线连接32个传感器展示产品驱动能力,并使用ModbusPoll软件进行数据采集测试。