Sensore di temperatura DS18b20 non elencato


15

Gradirei davvero qualche consiglio su questo. Essendo un TOTAL noob ho seguito da vicino una guida su Internet che spiega come utilizzare un sensore DS18b20 con il mio Raspberry Pi. La guida è http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/temperature/ ed è stata abbastanza facile da seguire.

Ho modificato il file raspi.list per leggere "deb http://archive.raspberrypi.org/debian/ wheezy main non testato" e quindi eseguire apt-get update e apt-get upgrade. Tutto ciò è andato senza intoppi.

Ho quindi collegato il DS18b20 a 3v, terra e dati (gpio # 4) collegando i dati e 3v tramite un resistore da 4,7 ohm.

Ho quindi usato la console per funzionare;

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices/

Funziona tutto bene. Tuttavia, durante la digitazione ls, la guida mi dice che dovrei vedere il numero seriale del sensore elencato seguito da w1_bus_master1.

Tutto quello che ottengo in realtà è w1_bus_master1ma nessun numero seriale. Ho provato tutto quello che mi viene in mente (che non è molto). Qualcuno è in grado di offrire una guida su quale potrebbe essere il problema?

Grazie molto

Raspnoob.


1
Sembra che RaspberryPi non veda il sensore. Controlla bene che sia collegato nel modo giusto (ad esempio se non hai collegato il pin 1 del sensore come pin 3, ecc.), Ricontrolla che hai collegato il pin dati a gpio 4, controlla un altro sensore (forse sei riuscito a frenare il uno che stai testando in questo momento). Inoltre, poiché non so se si tratta di un errore di battitura, ricontrolla se stai usando un resistore da 4.7k Ohm (4700 Ohm), non 4.7 Ohm.
Krzysztof Adamski,

Grazie per la risposta, è stato un errore di battitura è un resistore da 4,7k Ohm (giallo, viola, rosso, oro). Ho tre sensori di temperatura e nessuno di loro funziona, è comunque possibile che io sia riuscito a romperli tutti e tre con il cablaggio errato. Almeno sembra che non ci sia nient'altro che salta fuori come sbagliato, quindi inizierò comprando un altro paio.
Raspnoob,

Risposte:


15

Ti suggerisco di ricontrollare le tue connessioni. foto delle connessioni
↑ il mio cablaggio (che funziona per me)

Pi pin header← Dal più cheat sheet

screenshot del grafico temporaneo e dei comandi pi
↑ comandi e esempio di output + grafici RRDTOOL da DS18B20 (quello mostrato nella foto in alto.)

Se un'immagine vale più di mille parole, perché lo scambio di stack insiste su 30 caratteri?


Grazie HeatfanJohn, è esattamente quello che è stato. Un errore di cablaggio. La tua foto ha risolto il problema in pochi secondi. Sono un po 'confuso dal fatto che, per quanto mi riguarda, è il pin 7, che un diagramma lo identifica come orologio per uso generale. Com'è GPIO # 4? Grazie ancora,
Raspnoob il

@Raspnoob: vedi pinout nella risposta aggiornata, la numerazione è confusa. La numerazione GPIO si basa sulle specifiche dei principali produttori di sistemi su chip, ma i pin di intestazione sono organizzati in modo diverso e sono numerati separatamente in modo a zig-zag anziché lungo linee di pin. PS, fai clic sul segno di spunta per accettare la risposta se ti ha aiutato a risolvere il tuo problema.
RedGrittyBrick,

1
Posso usare un GPIO diverso?
Andres,

4
Non sono riuscito a far funzionare il mio con Raspbian 1.4.0 e un modello B + fino a quando non ho fatto questo: Aggiungi la seguente riga alla fine di /boot/config.txt: dtoverlay = w1-gpio, gpiopin = 4
David Tinker

14

Ho avuto lo stesso problema con Pi B + e l'ho risolto aggiungendo una riga a /boot/config.txt. Aggiungi quanto segue in basso:

dtoverlay=w1-gpio,gpiopin=4

ho trovato la soluzione su: www.raspberrypi-spy.co.uk


Questo è stato per me. Sembra che questo non fosse necessario per il modello Pi 1. Ho il modello 2 e ne avevo bisogno. Non modprobeera necessario.
Oliv

Era anche necessario per il mio Pi Model 3 B.
user100464

3

È possibile utilizzare DS18B20 in modalità di alimentazione parassita, il che significa che sono necessari solo due fili: terra e dati, senza necessità di resistenza di pullup per i dati.

Come da scheda tecnica ( http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf pagina 2): VDD deve essere collegato a terra per il funzionamento in modalità di alimentazione parassita.

DS18B20 necessita di un forte pull-up sulla linea dati in questa modalità ottenibile emettendo questi comandi:

sudo modprobe w1-gpio pullup=1
sudo modprobe w1-therm strong_pullup=1

EDIT (in risposta al commento):

  • la modalità di alimentazione parassita offre semplicità nel cablaggio. Solo 2 fili necessari per questa modalità. Ciò è particolarmente importante quando si desidera collegare insieme un gran numero di sensori.

  • lo svantaggio della modalità parassita è che l'IO ha bisogno di un forte pull-up per essere in grado di fornire abbastanza corrente. Tuttavia questo non è un vero problema con questi sensori di temperatura.

  • un altro svantaggio della potenza del parassita è la velocità di comunicazione più lenta. Uno deve caricare il condensatore parassita e che richiede tempo, nel caso di questo sensore> 500 ms.


1
Quali sono i vantaggi o gli svantaggi dell'utilizzo del DS18B20 in modalità parassita rispetto alla modalità normale?
Matthew Moisen,

(Un po 'in ritardo ma) risposta aggiunta.
sanyi,

Grazie. "La modalità di alimentazione parassita ... è particolarmente importante quando si desidera collegare insieme un gran numero di sensori" Attualmente collego fino a 7 sonde su una breadboard senza utilizzare la modalità parassita. Perché in questo caso è importante diventare parassiti?
Matthew Moisen,

In alcuni scenari, meno fili possono ridurre i costi o aiutare a evitare problemi meccanici o di spazio. Questo è irrilevante per i piccoli progetti di hobby sulla scrivania di qualcuno.
sanyi,

1
Presumibilmente se hai usato un pull-up esterno, la configurazione pullup = 1 non è richiesta?
piers7,

-1

Se hai una versione più recente di Wheezy, NON abilitare "Device Tree" nel programma di configurazione! Trovo che causi ogni tipo di caos con l'hardware di Pis.

In questo modo, NON dovrai aggiungere la riga dai commenti sopra menzionati:

dtoverlay = w1-GPIO, gpiopin = 4


-1

per impostare un filo con l'ultimo kernel è possibile seguire la direzione su: http://bigfieldsblog.cloudapp.net/keyes-18b20-temperature-sensor-and-raspberry-pi-2/


1
In linea con la nostra politica relativa alle risposte di solo collegamento senza informazioni , se questo post non viene modificato per contenere informazioni che possono rappresentare una risposta, per quanto minima, in 48 ore verrà convertito in Wiki della comunità per semplificarne la correzione da parte della community.
Ghanima

-2

Il PIN 3 deve essere collegato a terra in modalità di alimentazione parassita !, secondo la scheda tecnica.


3
Ciao benvenuto Espandi la tua risposta, ad es. Con link, ulteriori descrizioni, foto o simili.
myhd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.