完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在过去的两年里,我在一个使用 4.7K 上拉电阻以 3.3V 电压运行的 ESP-01 模块上运行两个 DS18B20+PAR 温度传感器,没有出现任何问题。
现在,想要开发一个新的固件,我开始开发新版本的所有东西(Arduino IDE 和库),但是现在,使用完全相同的硬件设置,已经完美运行了两年,传感器总是返回 85°C(错误代码用于在转换期间复位)。我怀疑不知何故,ESP 不再为数据引脚供电。 为了测试这一点,我重新编译并刷新了运行良好两年的旧固件,你瞧,它仍然返回 85°C。为了找出问题所在,我刷新了固件的旧二进制文件,它再次返回了正确的温度。 为了进一步隔离问题,我尝试了多个版本的 OneWire(2.3 到 2.3.2)和 DallasTemperature(3.7.3 到 3.7.9)库,但没有效果。我仍然一直保持 85°C。 我还尝试使用 Arduino IDE 和 PlatformIO 对其进行编译,但两者仍然产生了相同的问题。 尝试使用另一个 ESP8266(Wemos D1 mini 和 nodeMCU)没有任何改变。 慢慢地,我怀疑问题出在 ESP8266-Arduino 框架更新了某些东西或编译器发生了变化,这现在打破了在转换期间保持数据引脚配置为输出的状态。 当然,一种解决方法是使用一个较低值的上拉电阻器,这样传感器就可以通过它而不是微控制器的供电引脚来供电。(一个寄生传感器需要1K,两个470欧姆)但这不是解决办法。 在接下来的几天里,我将通过在其他平台(较旧的 Arduino IDE、较旧的 Arduino-ESP8266 版本、不同的操作系统)上进行测试并将示波器连接到数据线上来查看问题是否真的出在转换期间的电压骤降上,从而更新此问题。 另外,我想试试 orgua 的 OneWire 库分支,看看这个问题是否也发生在他的库中。 因此,总结一下:我可以排除硬件问题,我认为这不是库版本的问题,我怀疑 ESP8266-Arduino 框架或 Arduino IDE(编译选项)中存在某些问题。 我期待尽快帮助解决此问题。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
733 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
445浏览 5评论
446浏览 4评论
417浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 01:11 , Processed in 0.805296 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号