图2是市售nRF2401无线模块,设计上位机、下位机电路时,只需留出相应接口即可。

图3是设计的电路原理图,单片机P12口连接10个测温器件(图中仅画出3个),从而构建一个小型1-Wire总线测温网络,可实现10个库区的温度测量;单片机其他口线连接有10个继电器(图中画出2个),用来控制10个库区散热风扇的运转;无线模块nRF2401通过接口端子与单片机连接,此处注意nRF2401工作电压是3.3V,需增加电压转换芯片,为节省篇幅图中并未画出。

上位机接收部分的电路主要由上位单片机、无线模块接口和电平转换部分组成,这是由于nRF2401输出数据格式是TTL电平,而PC机串口是MAX232电平,为此需要增加一个电平转换电路进行匹配。

3 、软件编程

下位机编程重点在于温度数据的采集与传送,也就是DS18B20和nRF2401的软件设计。

3.1 1-wire 总线的基本原理和操作

软件设计之前,首先要了解1-wire 总线的原理。1-wire总线的特点是用一条数据线同时传输时钟信号和数据,总线上每一个器件都有一个唯一的地址,包括48位的序列号、8位的家族码和8位的CRC码,主机对各器件的寻址依据这64位的ID码来进行。

为保证在一条数据线上实现双向通信,对DS18B20的操作必须遵循严格的读写时序。以下介绍基于1-wire总线的几种典型操作,其余的1-wire总线命令都是由这些典型操作而来。

3.1.1 复位子函数

在复位与应答时序中,主机发出复位信号,要求1-wire器件在规定的时间内送回应答信号。

首先主机将总线拉低480μs,发出复位脉冲,然后产生一个上升沿的跳变,并延时60μs等待1-wire器件的应答;1-wire器件将总线拉低240μs,发出应答,主机收到应答后,再对DS18B20进行ROM命令。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查