Cześć
Robię jak wszyscy stację pogodową
Moja ma być o tyle nietypowa,
że chce zbierać dane z ośmiu termometrów umieszczonych w małej winnicy.
Zacząłem od Arduino Mega 2560 (akurat miałem). Termometry DS18B20 na metrowych
przewodach - takie gotowce w stalowej wodoszczelnej ponoć rurce.
Korzystam ze standardowych bilbiotek arduino - termometry obsługuje DallasTemperature.h
W obudowie z kontrolerem mam jeden termometr - ma mierzyć temperaturę w obudowie -
ten działa praktycznie zawsze - bardzo rzadko zdarza się błąd odczytu temperatury
(oczywiście błędne odczyty ropoznaję i obsługuje).
Gry podłącze drugi termometr na metrowym przewodzie też działa, ale już na nim zdaża
się więcej błędów. Poczytałem trochę i podłączyłem oba termometry przez rezystor 150Ohm.
Ilość błędów znacznie spadła do może 1-2% pomiarów.
Teraz większy problem - zmierzyłem jakiej długości ma być najdłuższy przewód do termometru -
wyszło około 30mb. Uciąłem takiej długości przewód telefoniczny (6x). Niestety wystarczy,
że podłącze przewód do układu (włożę zalutowaną wtyczkę w gniazdo) i kontroler przestaje
czytać którykolwiek termometr - nawet ten pierwszy na krótkim przewodzie nie daje znaku życia.
Sama obecność długiego przewodu powoduje brak pomiarów. Podłączenie termometru na końcu
nic nie zmienia. Przewód jest ok - żyły ciągłe, brak zwarcia. Przewód ma rezystancje około 3.5Ohm
na całej długości (dwie żyły równolegle).
Skróciłem teraz ten przewód - zostawiłem około 30cm za wtyczką, podłączam kolejne termometry
i działają (narazie bez rezystorów - chcę sprawdzić ile będzie błędów odczytu).
Co może być powodem problemów z przewodem - jego pojemność? Impedancja? No bo raczej
nie rezystancja jeśli sam przewód zabija termometry... Niestety moja wiedza tu się kończy.
Będę wdzięczny za podpowiedzi co zrobić. To, żeby porównać z innym przewodem wiem -
sprawdzę jak wypadnie zwykła skrętka komputerowa, mam trochę na szpuli...
Z góry dzięki za pomoc.
P.W.L.
Robię jak wszyscy stację pogodową
że chce zbierać dane z ośmiu termometrów umieszczonych w małej winnicy.
Zacząłem od Arduino Mega 2560 (akurat miałem). Termometry DS18B20 na metrowych
przewodach - takie gotowce w stalowej wodoszczelnej ponoć rurce.
Korzystam ze standardowych bilbiotek arduino - termometry obsługuje DallasTemperature.h
W obudowie z kontrolerem mam jeden termometr - ma mierzyć temperaturę w obudowie -
ten działa praktycznie zawsze - bardzo rzadko zdarza się błąd odczytu temperatury
(oczywiście błędne odczyty ropoznaję i obsługuje).
Gry podłącze drugi termometr na metrowym przewodzie też działa, ale już na nim zdaża
się więcej błędów. Poczytałem trochę i podłączyłem oba termometry przez rezystor 150Ohm.
Ilość błędów znacznie spadła do może 1-2% pomiarów.
Teraz większy problem - zmierzyłem jakiej długości ma być najdłuższy przewód do termometru -
wyszło około 30mb. Uciąłem takiej długości przewód telefoniczny (6x). Niestety wystarczy,
że podłącze przewód do układu (włożę zalutowaną wtyczkę w gniazdo) i kontroler przestaje
czytać którykolwiek termometr - nawet ten pierwszy na krótkim przewodzie nie daje znaku życia.
Sama obecność długiego przewodu powoduje brak pomiarów. Podłączenie termometru na końcu
nic nie zmienia. Przewód jest ok - żyły ciągłe, brak zwarcia. Przewód ma rezystancje około 3.5Ohm
na całej długości (dwie żyły równolegle).
Skróciłem teraz ten przewód - zostawiłem około 30cm za wtyczką, podłączam kolejne termometry
i działają (narazie bez rezystorów - chcę sprawdzić ile będzie błędów odczytu).
Co może być powodem problemów z przewodem - jego pojemność? Impedancja? No bo raczej
nie rezystancja jeśli sam przewód zabija termometry... Niestety moja wiedza tu się kończy.
Będę wdzięczny za podpowiedzi co zrobić. To, żeby porównać z innym przewodem wiem -
sprawdzę jak wypadnie zwykła skrętka komputerowa, mam trochę na szpuli...
Z góry dzięki za pomoc.
P.W.L.