1

Temat: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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 smile )
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?

2 (edytowany przez slx 2009-10-30 19:30:09)

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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ć.

3

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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

4

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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.

5

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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

6

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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.

7

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

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

8

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

Późno, ale może innym się przyda.

DS-y też się grzeją, szczególnie gdy pomiary są robione na okrągło, bez przerw. Ustaw przerwy pomiędzy pomiarami na 1 minutę i DS zacznie pokazywać poprawnie. Mogłeś też kupić z Allegro odrzut z partii przeznaczonej do utylizacji ze względu na dużą rozbieżność pomiarów.

9

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

Witam
Czy ktoś mógłby przedstawić w jaki sposób podłączyć do jednej diody czujnik DS1820 ?
Najlepiej bez odłączania jej

10

Odp: Edimax Br-6104 + OpenWRT i obsługa 1-Wire

O ile dioda nie jest obsługiwana przez system. Jeżeli tak to najpierw należało by przekompilować ją żeby system jej nie obsługiwał.

Opis podłączenia był prezentowany w opisach o GPIO (w głównej).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.