I use Raspberry PI 3 (Model B Plus Rev 1.3) to monitor temperature with DS18B20 around the house for few years now. Configuration is simple: I use multiple DS18B20 sensors (currently it is 7) that are connected in parallel with one 4.7kohm pullup resistor between Vdd (3.3v) and DQ (Data) connectors.
I don't use "parasite power" mode. In my experience 3 wires connection is more reliable. I'm not going to walk you through all setup. There are multiple different manuals in internet and most of them are very detailed.
Couple of days ago I decided to replace Raspberry PI 3 with Raspberry PI Zero W. Raspberry PI Zero W has lower power consumption so I can use regular prone charger instead of special Raspberry PI power supply that provides 2.5A output. Currently I'm using Samsung Charger that produces 1A.
My first thought was "There is no difference between Pi 3 and Zero from configuration perspective. What can be easier, I did it multiple times".
But when I put together the test rig on breadboard PI Zero surprised my with unexpected behavior. Usually after enabling one wire interface in the config (using raspi-config) or adding dtoverlay=w1-gpio into /boot/config.txt and rebooting DS18B20 device showed up in /sys/bus/w1/devices/ as 28-xxxxxxxxxxxx. However, this time Raspbian showed something new. instead of usual devices I found something like 00-40000000000.
I connected the test rig to RPI3 - it was working fine and showing the proper device. So, test rig was OK. Than I thought that my Raspbian install was broken, so I pulled SD card from RPI 3 and inserted it to RPI Zero W. No luck, working system from RPI3 that was working fine, shoed me same 00-40000000000 numbers on RPI Zero W. I bounced back to SD card that originally was in RPI Zero W and did a system update. No luck.
At this moment I was stuck with configuration that is working on RPI 3, but not on RPI Zero W. After extensive googling I found few forums where people having same issues, but no solution.
I decided to blame GPIO pin on RPI Zero W, I assumed it is dead, so I added gpiopin="17" after dtoverlay=w1-gpio in /boot/config.txt to changethe GPIO 4 pin (that is default) to GPIO 17.
Comments
Post a Comment