arduino ds18b20温度传感器,arduino使用模拟温度传感器
chanong
|简介防水温度传感器是一款模拟量输入模块,型号为DS18B20(中间有详细视频讲解)。
图1:DS18B20模拟防水温度传感器
1、课前准备本课请准备Arduino UNO主板一块、扩展板一块、防水温度传感器一个、USB方形数据线一根、Mixly(Misiqi,V0.998)。
图2:课前准备事项及编程软件
2、模拟防水温度传感器简介DS18B20防水温度传感器支持“单总线”接口(1-Wire),测量温度范围为-55至125,精度为-10至850.5。现场温度以“单总线”数字方式直接传输,大大提高了系统的抗干扰能力,适合恶劣环境下的现场测温。 Arduino需要连接上拉电阻才能使用。
图3 终端传感器适配器
终端传感器适配器的引入解决了前面提到的上拉电阻问题,通过在AB和AC之间各增加一个10k的电阻,因此如果传感器需要上拉或下拉电阻,则额外连接一个电阻是必要的,可实现轻松稳定的连接。简而言之,该端子提供了一种将需要上拉/下拉电阻的开关或模块连接到Arduino UNO 板等微控制器的简单方法。
3. 模拟防水温度传感器外形尺寸温度传感器
钢管:6*50mm
引线长度:1m
终端传感器适配器
终端传感器适配器:
尺寸:22x34mm
螺丝安装孔:M3 2个
4、模拟防水温度传感器电气特性输入电压:DC3~5.5V(直流供电)
温度检测范围:-55至+125(引线耐热性最高约85)
转换精度:9位至12位A/D
5、模拟防水温度传感器接口说明将防水温度传感器连接至终端传感器适配器
请注意色差
黑色负极连接C
红色正极连接B
黄色数字信号连接A
接下来,将终端传感器连接到扩展板的数字引脚2或模拟引脚A2(这个传感器很特殊)。
这种传感器非常特殊,可以获取数字和模拟格式的温度值。
黑色减连接G
红色正极连接V
绿色信号连接S
注意:正负极不要接反。否则,传感器会烧坏。
6、获取模拟防水温度传感器的返回值由于AS-Block只有LM35温度传感器,没有集成DS18B20模块,且该传感器的代码相对重复,所以本课仅使用米思奇进行调试。具体采集方法请点击“温度传感器视频介绍”观看视频。
7、使用模拟防水温度传感器的注意事项虽然DS1820具有测温系统简单、测温精度高、连接方便、占用接口线路少等优点,但在实际应用中,还应注意以下几点:
1)硬件开销小,需要相对复杂的软件来补偿DS1820与微处理器之间采用串行数据传输,因此在对DS1820进行读写编程时,必须严格保证读写时序。 读取温度测量结果。如果使用PL/M或C等高级语言进行系统编程,汇编语言是实现DS1820操作部分的最佳方式。
2)DS1820相关信息没有提到一条总线上可以连接多少个DS1820,导致您认为可以连接任意数量的DS1820,但实际应用中并非如此。当单条总线上有超过8 个DS1820 时,设计多点温度测量系统时必须小心,因为必须解决微处理器总线驱动程序问题。
3) 连接到DS1820 的总线电缆有长度限制。测试中,如果使用普通信号线传输距离超过50m,则读取的测温数据会出现错误。如果将总线电缆改为双绞屏蔽电缆,通信距离通常会达到150m,但如果使用每米绞数更多的双绞屏蔽电缆,通信距离通常会更长。这种情况主要是由于总线的分布电容导致信号波形失真造成的。因此,在使用DS1820设计远距离温度测量系统时,必须仔细考虑总线分布电容和阻抗匹配问题。
4)在设计DS1820温度测量程序时,向DS1820发出温度转换命令后,程序始终等待DS1820的响应信号。如果DS1820连接不好或者断开,程序就会跑出DS1820,没有返回信号,程序就会进入死循环。在设计DS1820 的硬件连接和软件时也应牢记这一点。
我们建议使用屏蔽4 线双绞线作为温度测量电缆。一组线连接地线和信号线,另一组线连接VCC和地线,屏蔽层一点接地。指向源端。
8. 扩展您对模拟防水温度传感器的了解1. onewire(单总线)
Onewire(单总线)是DALLAS公司发布的一种外设串行扩展总线技术总线,顾名思义,它使用单根信号线进行通信,既传输时钟信号又传输数据,能够进行双向通信,节省I/O。它具有线路和资源结构简单、成本低、易于总线扩容和维护等优点。常用的单总线器件包括稳定的传感器、EEPROM 和独特的序列号芯片,例如DS18B20 和DS2431。
在使用单总线时,很少有CPU提供硬件单总线,大多数CPU都是根据单总线标准的时序图,通过常规的IO翻转模拟来实现单总线。模式实现时序图流程需要根据CPU时钟频率等条件计算时序时间如果更换CPU,则必须重新计算时序时间时序代码与设备外设控制代码如果集成,应比较代码变化。或者,如果同一个CPU需要模拟多个单总线,传统的“复制”方法使程序变得繁琐,并且占用更多的ROM空间。因此,可以使用“函数指针”的方式来抽象时序部分,达到“复用”代码的效果。
2.上拉电阻、下拉电阻
在数字逻辑电路中,信号要么是0,要么是1。这就是数字电路设计简单可靠的原因。通常,使用5V(或接近5V)的电压来表示导通状态。这代表高电平,对应于状态1。用0v(或接近0v)的电压来表示关闭状态。这代表低电平并对应于状态0。有些开发板是基于3,3V的,所以就用3.3V作为高电平。如果线路上的电压处于不确定状态(例如,如果引脚未连接到任何其他电路),则该电压被称为浮动电压。它随着时间的推移而变化并不断跳跃。受外部环境影响。处于这种未定义状态的电路被随机解释为高或低。这种现象也称为电子噪声。然而,程序必须严格准确,因此电路设计必须避免线路电压浮动。上拉和下拉电阻可以用来保持电路电压恒定,这就是上拉和下拉电阻的作用。
下拉电阻的作用是将未知电平下拉至稳定的低电平。
上拉电阻的作用是将未知电平拉至稳定的高电平。
9. 结论初始化工作室专注于“乐高、Scratch、Arduino学**与创造力、STEAM教育实践”。如果您想了解更多相关课程,请“关注”我们。