Brak czujnika temperatury DS18b20

15

Byłbym bardzo wdzięczny za kilka porad na ten temat. Będąc TOTALNYM noobem, ściśle przestrzegałem przewodnika w Internecie wyjaśniającego, jak używać czujnika DS18b20 z moim Raspberry Pi. Przewodnik jest http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/temperature/ i jest dość łatwy do naśladowania.

Zmieniłem plik raspi.list na „deb http://archive.raspberrypi.org/debian/ wheezy main untested”, a następnie uruchom aktualizację apt-get i apt-get upgrade. Wszystko poszło bez żadnych problemów.

Następnie podłączyłem DS18b20 do 3 V, uziemienia i danych (GPIO # 4), łącząc dane i 3 V za pomocą rezystora 4,7 oma.

Następnie użyłem konsoli do uruchomienia;

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

To wszystko działa dobrze. Jednak po typie lsprzewodnik mówi mi, że powinienem wyświetlić numer seryjny czujnika, a następnie w1_bus_master1.

W rzeczywistości dostaję w1_bus_master1tylko numer seryjny. Próbowałem wszystkiego, co mogę wymyślić (co nie jest wiele). Czy ktoś może udzielić wskazówek na temat problemu?

Wielkie dzięki

Raspnoob.

Raspnoob
źródło
1
Wygląda na to, że twój RaspberryPi nie widzi twojego czujnika. Sprawdź dwukrotnie, czy jest prawidłowo podłączony (na przykład, jeśli nie podłączyłeś styku czujnika 1 jako styku 3 itd.), Sprawdź dwukrotnie, czy podłączyłeś styk danych do gpio 4, sprawdź inny czujnik (być może udało Ci się zahamować ten, który testujesz teraz). Ponadto, ponieważ nie wiem, czy to literówka, sprawdź dwukrotnie, czy używasz rezystora 4,7 kΩ (4700 Ω), a nie 4,7 oma.
Krzysztof Adamski
Dzięki za odpowiedź, to była literówka to opornik 4,7 kΩ (żółty, fioletowy, czerwony, złoty). Mam trzy czujniki temperatury i żaden z nich nie działa, jednak możliwe jest, że udało mi się złamać wszystkie trzy za pomocą zwarcia. Przynajmniej wydaje się, że nic innego nie wyskakuje tak źle, więc zacznę od zakupu jeszcze kilku.
Raspnoob

Odpowiedzi:

15

Sugeruję podwójne sprawdzenie twoich połączeń. zdjęcie połączeń
↑ moje okablowanie (które działa dla mnie)

Szpilki wtykowe Pi← Z pi ściągawki

zrzut ekranu grafu temp i poleceń pi
↑ polecenia i przykładowe dane wyjściowe + wykresy RRDTOOL z DS18B20 (ten pokazany na górnym zdjęciu).

Jeśli obraz jest wart tysiąca słów, dlaczego wymiana stosów nalega na 30 znaków?

RedGrittyBrick
źródło
Dzięki HeatfanJohn, to jest dokładnie to, co było. Błąd okablowania. Twoje zdjęcie rozwiązało problem w kilka sekund. Jestem trochę zdezorientowany, że jeśli chodzi o mnie, to jest pin 7, który mam na schemacie jako Zegar Ogólnego Przeznaczenia. Jak to jest GPIO # 4?
Jeszcze
@Raspnoob: Zobacz pinout w zaktualizowanej odpowiedzi, numeracja jest myląca. Numeracja GPIO jest zgodna z głównymi specyfikacjami producentów układów na układach, ale piny nagłówka są zorganizowane inaczej i są osobno ponumerowane w sposób zygzakowaty zamiast wzdłuż linii pinów. PS kliknij znaczek, aby zaakceptować odpowiedź, jeśli pomogło to rozwiązać problem.
RedGrittyBrick
1
Czy mogę użyć innego GPIO?
Andres
4
Nie mogłem zmusić mojej do pracy z Raspbian 1.4.0 i modelem B + dopóki tego nie zrobiłem: Dodaj następujący wiersz na końcu /boot/config.txt: dtoverlay = w1-gpio, gpiopin = 4
David Tinker
14

Miałem ten sam problem z Pi B + i rozwiązałem go, dodając linię do /boot/config.txt. Dodaj następujące elementy na dole:

dtoverlay=w1-gpio,gpiopin=4

znalazł rozwiązanie na: www.raspberrypi-spy.co.uk

waterwombat
źródło
Zrobiło to dla mnie. Wydaje się, że nie było to konieczne w przypadku modelu Pi 1. Mam model 2 i potrzebowałem tego. Nie modprobebyły konieczne.
Oliv
Był również konieczny dla mojego modelu Pi 3 B.
user100464,
3

Możesz używać DS18B20 w trybie zasilania pasożytem, ​​co oznacza, że ​​potrzebujesz tylko dwóch przewodów: uziemienia i danych, nie potrzebujesz rezystora podciągającego dla danych.

Zgodnie z arkuszem danych ( http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf strona 2): VDD musi być uziemiony do pracy w trybie zasilania pasożytów.

DS18B20 wymaga silnego podciągnięcia linii danych w tym trybie, co można osiągnąć, wydając następujące polecenia:

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

EDYCJA (w odpowiedzi na komentarz):

  • Tryb zasilania pasożytniczego cechuje prostota okablowania. W tym trybie potrzebne są tylko 2 przewody. Jest to szczególnie ważne, gdy chce się połączyć ze sobą dużą liczbę czujników.

  • wadą trybu pasożytniczego jest to, że IO potrzebuje silnego podciągnięcia, aby móc zapewnić wystarczającą ilość prądu. Jednak nie jest to prawdziwy problem z tymi czujnikami temperatury.

  • kolejną wadą siły pasożyta jest mniejsza prędkość komunikacji. Trzeba naładować kondensator pasożyta, a to zajmuje dużo czasu, w przypadku tego czujnika> 500 ms.

sanyi
źródło
1
Jakie są zalety lub wady używania DS18B20 w trybie pasożytniczym w porównaniu do trybu normalnego?
Matthew Moisen,
(Trochę późno, ale) dodano odpowiedź.
sanyi
Dziękuję Ci. „Tryb zasilania pasożytniczego ... jest szczególnie ważny, gdy chce się połączyć ze sobą dużą liczbę czujników”. Obecnie łączę aż 7 sond na płycie chleba bez korzystania z trybu pasożyta. Dlaczego w tym przypadku ważne jest pasożytnictwo?
Matthew Moisen
W niektórych scenariuszach mniej przewodów może obniżyć koszty lub pomóc uniknąć problemów mechanicznych lub związanych z przestrzenią. Nie ma to znaczenia w przypadku małych projektów hobbystycznych na czyimś biurku.
sanyi
1
Prawdopodobnie, jeśli użyłeś zewnętrznego pull-up, konfiguracja pullup = 1 nie jest wymagana?
piers7 7
-1

Jeśli masz nowszą wersję Wheezy, NIE włączaj „Drzewa urządzeń” w programie konfiguracyjnym! Uważam, że powoduje to wszelkiego rodzaju spustoszenie w twoim sprzęcie Pis.

W ten sposób NIE będziesz musiał dodawać wiersza z wyżej wymienionych komentarzy:

dtoverlay = w1-gpio, gpiopin = 4

piboy
źródło
-1

aby skonfigurować jeden przewód z najnowszym jądrem, możesz postępować zgodnie z instrukcjami pod adresem : http://bigfieldsblog.cloudapp.net/keyes-18b20-temperature-sensor-and-raspberry-pi-2/

Bigfields
źródło
1
Zgodnie z naszą polityką dotyczącą pozbawionych informacji odpowiedzi tylko z łączem , jeśli ten post nie będzie edytowany, aby zawierał informacje, które mogą stać się odpowiedzią, choć minimalną, w ciągu 48 godzin zostanie przekonwertowany na Community Wiki, aby uprościć poprawianie go przez społeczność.
Ghanima
-2

PIN 3 musi być uziemiony w trybie zasilania pasożytniczego !, zgodnie z arkuszem danych.

Jeremy Jacobsen
źródło
3
Witam witam Rozszerz swoją odpowiedź, np. O linki, dalsze opisy, zdjęcia lub podobne.
myhd