3 x DS18B20 każdy na osobnym GPIO

leszektg
Posty: 9
Rejestracja: śr mar 03, 2021 8:31 pm

Cześć
Potrzebuję ustawić kilka DS18B20, ale każdy na osobnym GPIO. Szukam i nie potrafię takiej możliwości znaleźć, jedynie MultiDS18B20.
matrix0606
Posty: 333
Rejestracja: wt lis 08, 2022 9:05 pm

A po jakiego diabła potrzebne Ci DS'y na osobnych pinach GPIO? Po to ten termometr jest 1-wire, żeby oszczędzać piny.
Stosowanie kilku DS'w na różnych pinach to co najmniej bezsensowne.
Ostatnio zmieniony wt gru 06, 2022 10:02 am przez matrix0606, łącznie zmieniany 1 raz.
Vivo V21 5G 8G RAM + 4G SWAP
Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk
GPU - GTX1060 6G
CPU - Ryzen5 1400 3,2G
PSU - SPC Vero L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
leszektg
Posty: 9
Rejestracja: śr mar 03, 2021 8:31 pm

mam tak przygotowaną płytkę ale miałem inne oprogramowanie. Mam termometry w gwiazdę, kable różnej długości (2-6m) i jak były na jednym pinie to czasem były problemy z odczytem pemp.
kurus
Posty: 1038
Rejestracja: śr sty 15, 2020 8:17 pm

Raczej tylko multi opcja jest, a w czym problem zrobić na jedynym gpio?
matrix0606
Posty: 333
Rejestracja: wt lis 08, 2022 9:05 pm

leszektg pisze: wt gru 06, 2022 9:57 am mam tak przygotowaną płytkę ale miałem inne oprogramowanie. Mam termometry w gwiazdę, kable różnej długości (2-6m) i jak były na jednym pinie to czasem były problemy z odczytem pemp.
Nie powinno być problemów przy prawidłowej filtracji zasilania. Jak pisałem wyżej, po to one są 1-wire, żeby je tak łączyć, a skoro producent przewidział takie połączenie to i na pewno testował na stabilność działania.
A wymienić kable, to według mnie najmniejszy kłopot.
Vivo V21 5G 8G RAM + 4G SWAP
Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk
GPU - GTX1060 6G
CPU - Ryzen5 1400 3,2G
PSU - SPC Vero L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
leszektg
Posty: 9
Rejestracja: śr mar 03, 2021 8:31 pm

wymienić kable to największy kłopot, idą pod tynkiem do kilku pomieszczeń, zwykła alarmówka 3x2x0,5. Skoro nie ma możliwości w tym firmware zmiany na wiele pinów z 1-wire to przerobie i spróbuję na jednym pinie.
Dzięki za pomoc
matrix0606
Posty: 333
Rejestracja: wt lis 08, 2022 9:05 pm

leszektg pisze: wt gru 06, 2022 10:08 am wymienić kable to największy kłopot, idą pod tynkiem do kilku pomieszczeń, zwykła alarmówka 3x2x0,5 (...)
Skoro nie ma możliwości wymiany to dosztukować.
Ale piszesz:
leszektg pisze: wt gru 06, 2022 9:57 am(...) kable różnej długości (2-6m) i jak były na jednym pinie to czasem były problemy (...)
Skoro są o różnej długości ale chcesz je podpiąć do tego samego wemosa, to znaczy, że się da dosztukować albo spiąć na jeden pin..
Vivo V21 5G 8G RAM + 4G SWAP
Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk
GPU - GTX1060 6G
CPU - Ryzen5 1400 3,2G
PSU - SPC Vero L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
leszektg
Posty: 9
Rejestracja: śr mar 03, 2021 8:31 pm

tak, mam je wyprowadzone w jednym miejscu. Kiedyś miałem je podpięte pod jeden pin i często bywały problemy z odczytem. Wyczytałem ze problemem mogą być różne długości przewodów. Od kiedy podłączyłem je pod 3 różne piny problemów nie było. Być może winny był soft, teraz podłączę je razem i zainstaluje GUI Generic
cinas
Posty: 221
Rejestracja: ndz sie 14, 2022 6:59 am

Ja mam na magistrali 1-wire 27 czujników - magistrala ma z 70m i działa
matrix0606
Posty: 333
Rejestracja: wt lis 08, 2022 9:05 pm

leszektg pisze: wt gru 06, 2022 12:00 pm(...)Kiedyś miałem je podpięte pod jeden pin i często bywały problemy z odczytem.(...)
A ja z kolei czytałem, że przy większych odległościach kabli należy dobrać wartość rezystora podciągającego. Typowo ma on wartość 4k7, ale jeśli odległości są większe należy go zmniejszyć ze względu na to, że kable połączeniowe zaczynają pracować jako rezystor oraz kondensator.
Poniżej wytłumaczenie jakie znalazłem gdzieś w sieci:
Gdy czujnik wymusza stan niski w przewodzie, prąd nie powinien przekraczać 4 mA. Gdy czujnik potrzebuje zasilania, obwód powinien dostarczyć mu około 1mA. Zatem między zaciskami DQ i GND powinien być prąd o wartości od 1 do 4 mA.
Prąd można obliczyć ze wzoru:

Kod: Zaznacz cały

prąd = napięcie / rezystancja = 5 V / 4700 Ω = 0,00106 A = 1,06 mA
lub zmierzyć podłączając miedzy te zaciski multimetr nastawiony na pomiar prądu stałego.

Gdy przewód jest dłuższy, to zaczyna nabierać cech rezystora i kondensatora. Rezystancja przewodu połączona z rezystorem podciągającym zmniejsza prąd jaki może dojść do czujnika. Cechy kondensatora powodują, że przewód ma opóźnienia w zmienianiu stanu z LOW na HIGH i odwrotnie.

Zatem gdy występują problemy z transmisją danych z czujnika należy zmniejszać wartość rezystora podciągającego do takiej aż transmisja zadziała. Mając oczywiście na uwadze wyżej określone granice.
Do tego bardzo ciekawy artykuł o DS18B20 i to po polsku.

https://ntronic.pl/czujnik-temperatury-ds18b20/
Vivo V21 5G 8G RAM + 4G SWAP
Funtouch OS 12 Global
MOBO - MSI B350 Tomahawk
GPU - GTX1060 6G
CPU - Ryzen5 1400 3,2G
PSU - SPC Vero L2 500W 80 Plus Bronze
RAM - HyperX 2x8GB 3200MHz CL16 Predator RGB
ODPOWIEDZ

Wróć do „GUI Generic”