一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: 无锡风

18B20测试室外气温的安装考虑

  [复制链接]
发表于 2011-5-6 10:01 | 显示全部楼层
是的,有强上拉的stc的c51芯片跟avr的芯片都可以。

程序上面可以自动识别的。如果判断到是总线寄生供电就多一句强上拉供电而已。

//读ds18b20供电情况,
//如果返回1表示ds18b20是由外部电源供电
//返回0表示是利用1-wire总线寄生供电
//返回2表示ds18b20不存在

unsigned char read_power_supply(ds18b20_typedef * _ds18b20_)
{
//  cli();

  if ( RESET_18b20(_ds18b20_) == 1 )
    {
      write_18b20( 0xcc, _ds18b20_ ); //跳过Rom  没有这个就不起作用了。
      write_18b20(0xb4, _ds18b20_); //读电源供电方式(B4H) 了解18B20的供电方式
      _ds18b20_->ds18b20_power = read_byte(_ds18b20_) & 1;
//return (read_byte(_ds18b20_)&1);//其实只要取1bit,这只是为了减少代码,但要读8bit
    }
  else
    _ds18b20_->ds18b20_power = 2;
//  sei();
  return (_ds18b20_->ds18b20_power);
}


//发送温度转换命令后,如果不是1-wire总线寄生供电,就不使用,强上拉,减少损坏电路可能。
回复

使用道具 举报

发表于 2011-5-6 10:11 | 显示全部楼层
本帖最后由 狗狗百里游 于 2011-5-6 10:13 编辑

给的c51下的仿真例子你,用hd44780_4Bit液晶方便你调试。如果你换成stc带强上拉的c51芯片,用寄生供电也可以使用的。测量一个18b20用一个共寄体变量保存信息,可以任意IO测量多个18b20.
我已经加有
//STC12C5410AD系列,用来设置强上拉
sfr P0M0  = 0x93;
sfr P0M1  = 0x94;
sfr P1M0  = 0x91;
sfr P1M1  = 0x92;
sfr P2M0  = 0x95;
sfr P2M1  = 0x96;
sfr P3M0  = 0xB1;
sfr P3M1  = 0xB2;
,可以自动识别是用什么供电方式
注意,ds18b20的实际电路是上拉4.7k电阻,输出串联180欧到220欧的电阻。仿真下的电阻不正确的,用正确的反而仿真不了....

18b20上面的两个开关是给你测试开路短路的,其实在电脑仿真下,电脑cpu占用率突然太高,返回18b20的crc校验就会出错,输出,--.-度这样,
//读取温度校验失败,最多重复读10次,就可以把【获得有效温度成功率】提高到几乎100%。
所以至少读取30次这样的,现实中很少会返回不正确的数据的

未命名.PNG

!Lcd1602_18b20_11.020167M_12MHz_hd44780_4Bit_C51.rar (300.9 KB, 下载次数: 312)
如果你要avr下的18b20的驱动库,我发的那些时钟例子里面带有18b20的avr驱动
回复

使用道具 举报

发表于 2011-5-6 11:09 | 显示全部楼层
          18B20引出线到室外、长度2~3米、...

无锡风 发表于 2011-5-5 23:10 https://www.yleee.com.cn/images/common/back.gif



               老冯改动的前提:利用已有的硬件,加一室外测温,长度2~3米。同时在已有的程序上稍加改动,此方案较为方便!   

        
          如改用一总线桂二只DS18B20,(一室内,一室外)要考虑匹配以识别二只传感器。同时时序要作相应的调整。再加上CRC校验,


会有一定程序改动量。如再重新更换原51芯片,硬件上再作改动,实无必要!
回复

使用道具 举报

 楼主| 发表于 2011-5-6 11:49 | 显示全部楼层
老冯改动的前提:利用已有的硬件,加一室外测温,长度2~3米。同时在已有的程序上稍加 ...
倪大德 发表于 2011-5-6 11:09 https://www.yleee.com.cn/images/common/back.gif


先谢谢大家。
我现在的情况,只是硬件问题;不涉及软件修改。
请教室外温度传感器的“安装”问题。

倪工的“外套”,是什么材料做的?
很漂亮!
回复

使用道具 举报

发表于 2011-5-6 12:16 | 显示全部楼层
先谢谢大家。
我现在的情况,只是硬件问题;不涉及软件修改。
请教室外温度传感器的“安装”问题。
...
无锡风 发表于 2011-5-6 11:49 https://www.yleee.com.cn/images/common/back.gif



             这是单位以前的设备上搞测温用的。当时定购了一些,可能是不锈钢的!是18B20专用的,我记得我还有多余了一根。

找到后,会通知您!
回复

使用道具 举报

发表于 2011-5-7 13:31 | 显示全部楼层
先谢谢大家。
我现在的情况,只是硬件问题;不涉及软件修改。
请教室外温度传感器的“安装”问题。
...
无锡风 发表于 2011-5-6 11:49 https://www.yleee.com.cn/images/common/back.gif


有专门的铠装18B20出售的,不过价格较贵,自己做的话随便找根不锈钢管塞进去就好了。室外测量的话简易不要放在阳光能直射到或者金属物体上,能放在阴凉通风处是最好的,因为放在阳光下温度会差别非常大,气象站的温度计就连离地面高度都有要求的。
回复

使用道具 举报

发表于 2011-5-7 18:07 | 显示全部楼层
搞个访辐射罩即可,可以用白色泡沫箱把垂直面镂空通风,自制容易,雨水流不进为好。顶部再搞一个“雨伞”用来防晒,防雨就很完美了。
回复

使用道具 举报

发表于 2011-5-7 18:11 | 显示全部楼层
气象站的温度计就连离地面高度都有要求的 ...
天风雪雨 发表于 2011-5-7 13:31 https://www.yleee.com.cn/images/common/back.gif

是的,1.5米处的温度,也就是人面部的温度。
回复

使用道具 举报

 楼主| 发表于 2011-5-7 19:11 | 显示全部楼层
先谢谢 倪工!

关于安装高度,我就不考虑“气象标准”了!
我住在楼上,不考虑安装在离地面“1.5米处”......成本太高!


阳台外面,加个“访辐射罩”——就“遮阳罩”罢?
谢谢!
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-18 09:58 , Processed in 0.030794 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表