Przejdź do treści forum
eko.one.pl
OpenWrt, Linux, USB, notebooki i inne ciekawe rzeczy
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Aktywne tematy Tematy bez odpowiedzi
Opcje wyszukiwania
okczenaj napisał/a:Cześć
Czy możesz zapodać jak wygląda konfiguracja GPIO dla magistrali 1-wire dla routera edimax br-6104k oraz jakie moduły są potrzebne.
Interesuje mnie ta tematyka, no i może zobacze czy u mnie też występują takie anomalie.
Pozdrawiam.
Witam,
Konfiguracja zaczyna się od skompilowania OpenWRT z pakietami do obsługi W1: u mnie jest to:
kmod-w1
kmod-w1-gpio-custom
kmod-w1-slave-therm
W katalogu /etc/modules.d zmiany robiłem tylko w pliku
55-w1-gpio-custom, gdzie mam wpisane:
w1-gpio-custom bus0=0,21,0
to "21" odpowiada za nr portu GPIO, u mnie wykorzystałem port po diodzie LED D12, gdzies na stronach opisujących przeróbki tego EdiMaxa można odszukać, który port GPIO gdzie jest wyprowadzony.
Jeżeli system zobaczy obecność czunika na magistrali 1-wire, to reszta się odbywa tak jak opisałem już w pierwszym poscie.
Nie sprawdziłem niestety nadal koncepcji z oddzielnym zasilaniem czujnika, gdyż już go nie mam, ale w wolnej chwili spróbuje wrócić do tematu.
Pozdrawiam
okczenaj napisał/a:Cześć
Jeżeli rzeczywiście używasz czujnika DS1820 a nie DS18B20 to oznacza, że pomiar powinien być 9 bitowy czyli 8 bitów na +/-127 + 9 bit na połówkę a twój zczytany wynik wskazuje że pomiar odbywa się z precyzją 13 bitową który jest możliwy tylko dla czujnika z literką 'B'.
Poza tym błąd może wynikać z użycia trybu 'parasite power' spróbuj zasilić ds'a normalnie( wszystkie linie VCC, GND i DATA osobno).
W instrukcji do tego czujnika napisane jest że zasilanie niższe od 3.4V obniża dokładność pomiaru i może być wtedy niższe niż +/-2 stopnie.
Witam ponownie,
Sprawdziłem z mniejszą wartością rezystora pull-up - zjechałem do 680 Ohm - nadal zawyża.
Czujnik to DS18B20 - sprawdziłem na obudowie.
Zasilany jest jako parsite power, napięciem 3.3V pobranym z routera - wg. noty katalogowej (http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf) powienien poprawnie pracować z zasilaniem od 3.0 do 5.5V.
Zmienie w takim razie tryb zasilania na normalny i zobaczę co to zmieni.
Dziękuje za informacje i pozdrawiam
slx napisał/a:A o ile tak mniej więcej zawyża?
Zasilanie pasożytniczo z lini danych czy oddzielne?
Sprawdź z rezystorem 1k.
Kiedyś jak testowałem ds18b20 z ATMEGA8 zasilane z 3.3V też mi zawyżało przy standardowym pull-up 4,7k - zjechałem chyba poniżej 1k żeby zaczęlo dobrze pokazywać.
Przy temperaturze w pokoju ok 22-23C wynik dostawałem taki jak przedstawiłem - czyli ponad 29C.
Zasilanie z lini danych - parasite power.
Sprawdzę w takim razie z rezystorem poniżej 1k.
Dziekuje i pozdrawiam
Tomek
Witam wszystkich ,
Używam routera Edimax BR-6104K z zainstalowanym na nim OpenWRT w wersji 8.09.1.
Jeden z portów GPIO skonfigurowałem jako magistrale 1Wire do której dołączyłem czujnik DS1820
Od strony systemu zainstalowane są wszystkie niezbędne składniki do obsługi 1-Wire, skonfigurowane są również poprawnie - 1Wire ma wskazany port 21 (czyli dawniej sterowanie diodą D12)
Od strony programowej skonfigurowane jest raczej poprawnie - pojawia sie w w katalogu /sys/bus/w1/devices katalog związany z przyłączonym czujnikiem - tu akurat tworzy się katalog 28-000000a73865. W nim jest natomiast plik w1_slave zawierający odczytane informacje.
I tu zaczyna sie problem.
Zawartość pliku wygląda tak:
da 01 4b 46 7f ff 06 10 31 : crc=31 YES
da 01 4b 46 7f ff 06 10 31 t=29625
d9 01 4b 46 7f ff 07 10 30 : crc=30 YES
d9 01 4b 46 7f ff 07 10 30 t=29562
Niestety odczytane wartości są mocno zawyżone (po podzieleniu przez 1000
)
Układ reaguje na dotknięcie czujnika - zmienia sie wskazanie temperatury - choć czasem dostaje wartości ujemne przy nadal prawidłowym CRC.
Czujnik raczej sprawny.
Sądzę że może to mieć jakiś związek z rezystorem pull-up przyłaczonym pomiędzy magistralę, a źródło napięcia 3.3V - ale pewności nie mam...
Przy rezystorze 4.7k czujnik jest widoczny w systemie, ale nie reaguje na dotyk i odczytane wartości mają zawsze stałą wielkość "19464".
Zmieniłem ten rezystor na 3.3k - czujnik "żyje" ale odczytane wartości są dziwne....
Spotkał się ktoś może z takim problemem?
Znalezione posty: 4