Zapis lub czytanie bitu "1", ma się odbyć w czasie do 15us. _delay_ ms (1); //conajmniej 1 us na sygnal do do termometru, że ma nadawać w tej lini prawidłowy jest tylko komentarz :)
W uC należy odpowiednio ustawić FUSE BITY!!! Poczytaj przyklejony temat.
ustawianie stanów logicznych na pinie odbywa się w przypadku 1-wire nieco inaczej niż pokazałeś. Ty ustawiasz kierunek i wymuszasz stan, a to troche nie tak. Ustalać powinieneś jedynie kierunek transmisji. Domyślnie w rejestrze PORTx są same zera, więc nie musisz się nim w ogóle przejmować. Dla np resetu powinno być tak: ustawiasz port jako wyjście,...
Witam Udało mi się końcu dzisiaj rozwiązać problem. W jednym miejscu (_1WReadSlot(), tuż za odczytaniem bitu) ustawiłem za małe opóźnienie (25us, a powinno być 60us). Jeszcze spróbuje "pogadać" z DS18B20, i postaram się wrzucić tutaj gotowe funkcje do obsługi 1Wire. Dodano po 4 Zgodnie z obietnicą podaje gotowy projekt w WinAVR, pod ATmega8 (at) 4MHz....
Witam Obsługuję czujnik DS18B20 w Bascomie. Czy czas pomiędzy kolejnymi poleceniami, tj. 1wreset , potem 1wwrite &H55 , potem 1wwrite &HCC ... itd. może być dowolnie długi, przykładowo -np 6 minut; 5 godzin; 10godzin czy też 10dni .... ? Oczywiście wysyła 1 polecenie, czeka, wysyła drugie itd. do końca... Czy są ograniczenia? NIE! Te czasy (timingi)...
Błąd standardowy - kiepsko napisane procedury obsługi 1W. Masz pewnie timingi na granicy. Pokaż kody.
Witam, walczyłem z tym samym problemem - najnowszy update Raspbianna z 7.02.2015 psuje komunikacje po 1-wire. Rozwiązaniem problemu jest dodanie odpowiedniego wpisu w config.txt. Read /boot/overlays/README. You will probably need to add: dtoverlay=w1-gpio to your config.txt, but you have to choose between that overlay and w1-gpio-pullup, and both have...
Masz rezystor podciągający? Niektórzy o nim zapominają.
A jak masz połączone te rezystory? Szeregowo czy równolegle? Czemu posługujesz się czyimiś bibliotekami, nie napiszesz ich sam? A to już nie można cudzych bibliotek wykorzystać? Nie wiem czy tutaj byłeś: [url=http://www.hobby.abxyz.bplaced.net/... Na dole artykułu jest gotowa biblioteka do ds18b20 działająca na 100%. W msb i lsb...
Problem jest w sprzęcie a nie w programie. W układzie brakuje kondensatorów ceramicznych 100nF na pinach zasilających uC, LCD, czujnika, wejściu ADC. Nie widzę też filtru na AVCC oraz jakiegokolwiek tantala/elektrolita na zasilaniu. Popraw zasilanie a zamiast analogowego czujnika użyj cyfrowego np DS18B20 na 1Wire.
1. Z tego co widzę w datasheet od DS18B20 to linia 1wire powinna miec rezystor 4k7, więc włączanie dodatkowo rezystora wewnętrznego pewnie niewiele da. 2. Jeżeli odpowiedni bit w rejestrze PORTx (u Ciebie PORTD) będzie już miał wartość 0 to tak.
Nie myślałeś o DS18B20 1wire do odczytu temp?
W ogóle skoro nie potrafisz odczytać tego co napisałem wyżej to znaczy że do końca nie rozumiesz co to tablica. Wyjaśnię najbardziej łopatologicznie. Wyobraź sobie, że tablica to pociąg z wagonami od 1 do 8. Każdy wagonik może przewozić daną liczbę. A cały pociąg ma swoją nazwę np. pociąg "Kopernik" Więc. Ds1(1)=9 Oznacza, że mamy tablicę o nazwie "Ds1",...
Witam! To prawda, ze FastAVR pięknie obsługuje wyświatlacz od Nokii 3310. Wszytsko rusza od ręki. Napisałem jednak kilka linijek do odczytu bajtów odpowiedzialnych za temperaturę z DS18B20 i tu pewna niespodzianka: podczas odczytu danych wyświatlacz się resetuje. Nie wiem czy to normalne, ponieważ nie mam obecnie żanego innego na podmianę. Wyglada to...
Niestety nadal nic ... Napisałem (a dokładniej przerobiłem program z innej strony): [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 2400 Config Portb = 255 Portb = 0 Config Portc = 255 Portc = 255 Config Portd = 255 Portd = 255 Config 1wire = Pina.0 Cls Cursor Off Noblink Enable Interrupts Dim Lsb As Byte Dim Msb As Byte Dim Tempa...
W chwili gdy obsługuje 1-Wire, Bascom ZAWSZE nawet na czas generowania resetu, co trawa ok 500us, później presence, co daje razem ok 800us, zawiesza przerwania. To samo w czasie transmisji danych, transmisja bajtu to ponad 500us zawieszone przerwania. W tym czasie nie wykona się przerwanie od timera, od i cała tajemnica. Ale zabobony. Każdy może otworzyć...
... kurczę wykorzystałem idealnie zerżnięte procedury z noty MAXima http://www.maxim-ic.com/appnotes.cfm/an_... Spróbuj tych procedur - również od MAXIM-a :D
A wiec pwm masz na oc1a i oc1b to jest timer1 (jak sie nie myle). Poza tym masz 3 pwm oc2 na timerze2. Wiec jak bys chcial jeszcze czas liczyc lepiej uzyj jakis zew. ukladu, bo zostal ci tylko timer0, na ktorym bedzie ciezko to osiagnac. Na timerze1 i 2 mozesz zrobic sterowanie diodami rgb. Wlasnie widze ze ten czujnik wilgotnosci nie ma mozliwosci...
Dokładnie procek został wymieniony na mege16, a kwarc na 12mhz. Czujnik jest aktualnie podpięty do portu PD3. Połączenie ze środkową nóżką DS18B20 a portem PD3 jest, bo sprawdzałem multimetrem. Również zasilanie 5V na czujniku jest.
Hasła do poszukania w google lub na elektrodzie: przejściówka rs-1wire -> ds9097e czujniki -> DS18b20 program -> lampomittari Poczytaj i w razie wątpliwości pytaj
A skąd wziąć te na pewno nie chińskie. https://pl.farnell.com/search?st=ds18b20 Co do zabezpieczenia linii 1Wire to poczytałem o diodzie Zenera, czy ona nie załatwi problemu. Co do zabezpieczenia linii 1Wire to poczytałem o diodzie Zenera, czy ona nie załatwi problemu. Nie. Albo za mały prąd a jak wystarczający to za duża pojemność.
Czy kojarzy ktoś jakiego tranzystora użyć w przypadku 8 termometrow ds18b20 na 1wire w arduino, termometry na przewodach omy 3x0,5 i długości rzędu 20m. Próbowałem na różnych rezystorach, potencjometrach i nie przynosi to spodziewanych efektów. Raz przy wartości około 1150 ohm zaczęło mi adresowac czujniki lecz nie trwało to zbyt długo i szukam jakiejś...
Nic nie trzeba podciągać wystarczy kazdą gałąź siec "odizolowac" opornikiem okolo 100-200 ohm zasada jest tak czym blizej kontrolera tym "wiekszy" powinien byc opronik. Testowane na 15 czujnikach. Czujniki połaczone na dwóch żyłach.powyzej 150m ogólnej sieci trzeba podciągnąc opornikiem 5kohm linie do plusa.
Obawiam się że to może być też DS18B20 na 1wire , ja często go używam z uP
(at)ziom10zset co do Supli bym kupił https://allegro.pl/oferta/esp8266-v3-ch3... https://allegro.pl/oferta/modul-przekazn...
Witam. Realizuję właśnie odczyt temperatury na płytce Nucleo z wykorzystaniem ds18b20. Mam następujący problem. Odczytując LSB i MSB z czujnika pojawia się błąd w postaci tego że MSB ma wyższą wartość niż można by było zakładać. Po odczycie temperatury wyrzuciłem sobie obydwie wartości na konsolę przez UART. W temperaturze pokojowej widać że LSB się...
Hej! Cześć mam fajny problem z magistralą 1Wire, otóż chce podłączyc do jendej lini termometr DS18B20 oraz czytnik pastylek DS1990A i zaczynają się dziać cuda-> nie działa. Gdy łącze osobno wszystko gra tylko dwa na raz nie chce zadziałać. Pomocy Pzdr
Dioda, ale równolegle (bo teraz pewnie masz szeregowo). Dioda najlepiej Shottky'ego (np. 1N5819). Ma to niestety taką wadę że o ile ochronisz DS-a to możesz spalić Hosta 1Wire jeżeli wykorzystuje on Strong Pull-Upa.
Polecam część artykułu odnośnie doboru przewodów do siecie 1WIRE: http://ntronic.pl/jak-projektowac-niezaw...
$crystal = ? ;)
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
Jak juz ktoś poruszył temat bez sprawdzania sum kontrolnych bedziesz walczył co chwilę z tymi czujnikami i nie dojdziesz ładu.
;) ... ja mam podłączony takim przewodem jak piszesz DS18B20 (magistrala 1Wire) na kablu o długości 16m i śmiga bez problemu. (też mierzy temperaturkę na dworzu)
Chyba zawsze najprostszą i najbardziej przydatną automatyzacją jest sterowanie ogrzewaniem. Zrealizowałem dość dawno w jednym domu: Stary PC z linuxem, czujniki DS18B20 1wire przez USB, przekaźniki przez USB Skrypt napisany tak naprawdę w Bashu, który odczytuje temperatury i odpowiednio wysterowuje przekaźniki w zależności od temperatury czujników....
Czy do układu DS18B20 masz podłączone zasilanie +5V, czy pracuje on w konfiguracji dwupinowej? W karcie katalogowej jest wzmianka "If the DS18B20 is powered by an external supply, the master can issue read time slots after the Convert T command and the DS18B20 will respond by transmitting a 0 while the temperature conversion is in progress and a 1 when...
ciapciok te białe gniazda- hmmm... miałem duży problem aby zdobyć coś sensownego, a w sklepie elektrycznym jedyną sensowną rzeczą było takie gniazdo płaskie na przewód- do tego jest jeszcze taka osłona z tworzywa sztucznego, ale była ona zbędna. Zygmunt Misiak Zapomniałem napisać DS18B20 1wire = P2.7 http://obrazki.elektroda.net/71_11802968... takie...
Pisząc reset mam na myśli sygnał wystawiany na linii 1wire.
Porty L i G należą do rozszerzonych. Przeczytaj rozdział w Helpie Bascoma - Config 1Wire. Skonfiguruj dowolny pin jako 1Wire i dopisz po przecinku - Extended. Powinno się coś zmienić ;)
Witam, Potrzebuje odczyt temp z kilkunastu czujników temp np ds18b20 na PC(najtaniej?), z odległości ok 300m, i tutaj mam pytanie; czy wpięcie konwerterów rs485<>1wire w takim układzie zadziała? [ds18b20] --- [konwert. 1wire<>rs485] - - - [konwert. rs485<>USB] --- [PC z programem LogTemp lub jakiś inny] próbowałem z samym 1wire ale...
Kolega jakie I2C? DS18B20 używa protokoły 1Wire. To zupełnie co innego. Jeśli jednak naprawdę myślisz o I2C i wyprowadzaniu go na zewnętrzne urządzenia to jest to średni pomysł. Ten interfejs jest zaprojektowany raczej jako interfejs do komunikacji w obrębie jednej płytki drukowanej, względnie do komunikacji między mało odległymi modułami. Nie mówię...
A kto Ci powiedział że 1wire jest na małe odległości? Miałem czujnik na DS18B20 na 15 metrowym kablu i działał bez zarzutu. Kabel ekranowany oczywiście. To właśnie analogowy czujnik będzie bardziej podatny na zakłócenia.
Paralityk z doświadczenia chodzi :-) do 2.8V potem trzeba trzecią żyłke mu wstawić by znowu się podniósł, ale mamy pewność że przyniesie pomiar do ok. 2.2V.
4 x DS18B20 :D ale też nie w jednej chwili, tylko po kolei. DS2408 - 8 I/O
Masz na myśli odczyt wbudowanego ADC? Szczerze mówiąc to kiedyś się tym bawiłem i nie pamiętam problemów z ADC, chociaż mogłem po prostu nie zauważyć. Pamiętam że problem z odczytem to był z DS18B20 pod 1wire, pierwszy odczyt był zawsze do kitu, następne jednak były OK, ale to raczej nie był błąd Bascoma.
Zdecydowałem się na osobne linie dlatego że mam wolne piny jak i nigdy nie bawiłem się w sprawdzanie id ds18b20 a podłączenie każdego do osobnego portu wydaje się prostsze. Nie wiem czy dobrze rozumiem 1WIRECOUNT( ) ale chodzi oto że po sprawdzeniu jednego czujnika mogę tę komendę wpisać i zmienić na inny port 1wire? Pozdrawiam.
w programowaniu jestem kompletnie zielony :) chcę żeby 2 czujniki ds18b20 były na 1Wire na zasilaniu osobnym (nie pasożytniczym z układu) jeśli to pomoże to mogę schemat wstawić
Jestem autorem emulatora czujników DS18B20 na 1Wire. Można nim ustawić sobie temperaturę którą ma symulować. Bardzo przydatne do testów urządzeń. Po prostu nie trzeba czujników mrozić lodem ani przypalać zapalniczkami ;) https://bart-projects.pl/1wire.html Obydwa mastery prawdopodobnie cyklicznie testują gniazdo pastylki. Jeśli nic nie odczytają czyli...
Buduję termometr na ds18b20. Na AT90S2313 działalo OK ale program zajmował całą pamięc (brak miejsca na zegar), więc kupiłem ATMEGA8L i tu problem Lcd działa OK ale nie mogę odczytać temp z ds18b20 pomimo skonfigurowania 1wire na odpowiedni port. Podobnie z i2c. Czy miał może ktos taki problem i jak go rozwiązał? Dziekuję za pomoc.
Obsługa 1Wire w BASCOMie nie jest obsługiwana w przerwaniach. Możesz spróbować czegoś takiego: cli 1wreset 1wwrite &H55 sei cli 1wwrite B2 sei cli 1wwrite &H44 sei Chodzi oczywiście o porozdzielanie wszystkich instrukcji 1Wire sekwencjami sei,cli.
zamiast lm335 zastosuj ds18b20 i pomiar przez 1wire
Proponuję zacząć od poznania protokołu 1wire. Szczegółowe informacje na stronie maxim-ic, również tutaj: http://www.1-wire.rms.biz.pl/ .Wiesz już jakie czujniki zastosujesz w stacji ? Jeśli nie, to poszukaj na stronie maxim'a czujników wilgotności, temperatury ( ds18b20 ? ) na 1wire i zapoznaj się z datasheetami.
Niedokładnie to miałem na myśli. Z a pomocą komendy MATCH ROM chcę wyłączać alarm w czujniku, tak, by podczas następnej tury wyszukiwania (alarmowego) pula czujników zmniejszyła się o termometr, który właśnie wykryłem, tzn. gdy pojawi się rozbieżność dróg wyszukiwania nie będę musiał brać pod uwagę dróg (adresów), które znalazłem w poprzednich turach...
Cześć, to może być konwerter na 1wire z termometrem ds18b20. Spróbuj digitemp albo usbtemp, albo co jeszcze znajdziesz. Pozdrawiam.
Do każdego czujnika masa+sygnał jako jedna skrętka, a +5V jako jeden albo dwa druty z drugiej skrętki. Tylko że przed czujnikami w celu wyeliminowania zakłóceń z szyny 5V (nieskręconej z masą i sygnałem) dałbym dławik ze 100uH a następnie kondensatory 1uF+100nF do masy. Poza tym dał bym rezysotry podciągające szynę 1Wire o wartości 1k.
Muszę przyznać - pomyliłem się. Nie ma czegoś takiego jak alarm signaling na linii DQ, a jedynie alarm search. A więc podane rozwiązanie nie ma limitacji w obrębie standardu 1wire.
Czyli funkcje 'v1Wire_SendByte' i 'uv1Wire_ReadByte' służą tylko do tego, żeby wysłać odpowiedni rozkaz do termometru? Te funkcje, jak sama nazwa wskazuje, wysyłają i odczytują bajt danych z magistrali 1wire. W przypadku ds18b20 ten bajt danych to może tym rozkaz dla termometru (np. wspomniany już start pomiaru) lub dane (np. zmierzona wartość temperatury)....
Można podłączyć te Lm35, ale musisz zastosować multiplekser analogowy do przełaczania wejścia komparatora z jednego czujnika na drugi, i musisz się liczyć dodatkowo z nie lajlepszymi parametrami takiego termometru i to conajmniej z dwóch powodów. Lepiej bedzie jak zastosujesz czujniki DS18B20 na 1wire, bedzie dużo prościej i bardziej dokładnie.
I jesteś pewien, że masz wszystko poprawnie podłączone. Rezystor podciągający szynę 1Wire (środkowa noga DS18B20) do zasilania około 4,7k jest? Pod który pin(numer nogi) procesora masz podłączoną szynę 1wire? Jaki masz kwarc na płytce?
Wyłącz przerwania na czas transmisji 1wire
Obliczasz CRC ? Jeśli tak i jest równe 0 to sprawdź czy wszystkie bajty odebrane z czujnika nie są równe 0. CRC wychodzi 0 z zerowych bajtów. W przypadku takiej sytuacji masz problem z czasówkami 1wire.
1. Rysuj schematy w czymś normalnym, nie ręcznie... 2. Na magistrali 1wire powinien być raczej rezystor podciągający do 5V, a nie kondensator, który skutecznie uniemożliwi komunikację :D
Nawet bez tego cuda osiem czujników możesz obsłużyć. DS18B20 pracują na 1wire, łączysz je po prostu równolegle, każdy czujnik ma swój adres. Router służy również za bazę danych pomiarów. Wszystko wystarczy skonfigurować po prostu w oprogramowaniu.
Pomiar robiony jest czujnikiem DS18B20 podłączonym przez 1wire do komputera. Podczas pomiaru czujnik włożyłem pomiędzy żeberka radiatora. Poprawiłem TONI_2003
Ten kod napisałem na podstawie dokumentacji temometru i dokumentu opisującego interface 1 wire od atmela: A do dokumentacji AVR-ka zaglądałeś :?: Zastanów się, czy można uzyskać niski stan na magistrali 1wire, jeżeli pin do niej podłączony jest ustawiony jako wejście :?: [syntax=c]unsigned char _DS18B20_ReadByte() { _DATA_DDR &= ~(1 << _DATA_WIRE);//...
Tu masz schemat: http://c4r0.elektroda.eu/_hv/index.php?p...
Jednak pojawił sie mały problem. W sposób jaki podłączyłem adapter wykrywa tylko 2 czujniki, może być podłączonych kilka ale wykrywa tylko 2. Proszę o podpowiedź co z tym tematem można począć? Ogólnie zależy mi na podłączeniu 8 czujników 1wire ds18b20 przez usb. Pozdrawiam
Bo jest funkcja blokującą, w kodzie pewnie ma "while" i jak to bywa przy 1wire. Przy dużej dokładności DS18B20 blokuje chyba z 10s dlatego jest mało zwolenników tych czujników
Moja drobna sugestia Dla 6 czujników rozdziel linię 1Wire od zasilania.
W skrócie do zadań programu należało by: 1. Wyświetlanie komunikatów na wyświetlaczu LCD 2x8 (około 7 zakładek z informacjami, przełączanych jednym przyciskiem) w tym sterowanie podświetleniem przez BC557B. *1 powitanie *2 pierwszy pomiar temperatury (DS18B20 po 1wire) + alarm przy pewnej temp. niezależnie która zakładka jest włączona. *3 drugi pomiar...
NIE Jeden rezystor na całą magistrale 1Wire.
Termometry podłączone 3 przewodami czyli +5V, GND oraz magistrala 1wire.
Witam Chciałbym zczytywac temp. z termometru ds18b20 za pomocą 1wire i wyświetlić ją w konsoli. Przejrzałem i kombinowałem z wieloma już przykładami. Najpopularniejszą metoda jest USART, jednak na tę chwilę po deklaracji moje pomysły się kończą :roll: . Macie już jakieś doświadczenia na tym polu? Prosze o sugestię. ;)
Cześć, Mam trochę wolnego czasu i chciałem poznać mikrokontrolery PIC. Używam układ PIC18F25Q10. Chciałem podłączyć termometr DS18B20. Do obsługi 1wire używam bibliotek ze strony Microchip. W ramach testów w programie głównym podłączyłem diodę LED i steruję nią funkcjami z biblioteki. [syntax=c] while(1) { //blink(); drive_OW_low(); __delay_ms(1000);...
Jeszcze też warto wspomnieć, że jeśli mówimy o sygnałach szybkozmiennych (no a komunikacja 1wire to własnie takie sygnały), to nie rezystancję, a impedancję trzeba brać pod uwagę. [url=http://neutrino.phys.ksu.edu/~gahs/... jest jasno wytłumaczone, jak pracować z magistralami 1wire.
Sama adaptacja jest prosta. Czyżby? Przecież to czujnik z cyfrowym interface 1Wire. To tak jakbyś do DS18B20 dodał opornik i podłączył go do analogowego portu.
U mnie DS18B20 na 1Wire działało nawet jak przez przypadek ustawiłem FuseBity na 4MHz a w programie było zadeklarowane 8MHz. Więc problemów z komunikacją z DS18B20 raczej bym się nie bał. 1Wire narzuca ramy czasowe ale nie aż takie żeby zmiana częstotliwości o 10% mogła coś spierniczyć. Dodano po 6 Zakłócenia elektromagnetyczne to już inna sprawa. Ale...
Myślę, że jak kolega chce rzeźbić po taniości, to GSM Kontroler v3 będzie jak najbardziej OK. Zasilanie można zrealizować przez jakiś mały UPS wyposażony w wyjście alarmowe o zaniku zasilania typu OC, NO albo NC i stąd brać informację dla modułu o braku napięcia. Dwa czujniki temperatury DS18B20 na 1wire - groszowe sprawy. Czujnik zalania z wyjściem...
Witam. Poszukuję bibliotek dwóch elementów: 1. XC9536XL VQ44 (VQFP44) -> http://www.xilinx.com/support/documentat... 2. XC9572XL VQ64 (VQFP64) -> http://www.xilinx.com/support/documentat... http://www.xilinx.com/support/documentat... W Eaglu są takie elementy lecz niestety w obudowach...
Takiego tematu nie znalazłem więc zakładam nowy. Otóż mam problem tego typu że: Posiadam Atmega 2560 ,podłączony do niej odbiornik RC5 (TSOP) , DS18B20 (1Wire) , a także kartę pamięci SD. W fusebitach przełączyłem się na razie na wewnętrzny oscylator i wyłączyłem Fusebit 7(clock divide by 8) . Jeśli mam ustawiony $crystal = 1000000 to transmisja z karty...
DS18B20 chyba nie ma SPI tylko 1Wire SPI z kilkoma uzadzeniami, to najlatwiej jak AVR bedzie caly czas Master i przelaczac sie pomiedzy podlaczonymi urzadzeniami.
Witam. Poszukuje układu termometru ale dokładniejszego niż 12 bitowy ds18b20. Najlepiej układ całkowicie cyfrowy np na 1wire lib i2c.
Witam. Moja propozycja to: Pomiar temperatury DS18B20 (szyna danych 1Wire); Pomiar wilgotnosci SHT21 (szyna danych I2C); Pomiar cisnienia BMP081 (szyna danych I2C); Pomiar natezenia swiatla BH1750 (szyna danych I2C); Przesylanie danych RFM12B-433D
Tak. ESP8266 ma jedno wejście analogowe. By mieć więcej potrzeba np. ADS-1115. Za to DS18B20 to są czujniki cyfrowe i może być ich nawet kilkadziesiąt na jednej magistrali 1wire EspHome jest dodatkiem w którym buduje się soft do esp8266 z potrzebnymi nam modułami. Ja preferuję Tasmota, który w zasadzie wgrywasz do esp8266 i konfigurujesz późnej przez...
Witam Do AT89s52 podłączonych jest 8szt DS18B20 magistralą 1WIRE. Czujniki rozmieszczone w różnych punktach zbierają dane i przekazują do uP, a następnie realizowany jest program sterujący C.O. w mieszkaniu szczegóły tu: http://www.elektroda.pl/rtvforum/topic83... Czujniki podłączone sktętą komputerową. Po ostatniej burzy, a właściwie w jej trakcie...
Używam linuksa i nie potrzebuję AVStudio. Wszystko co chcę mogę ustawić w pliku makefile - nie mam z tym problemu. Jednak mam nierozwiązany problem z obsługą 1WIRE i można się na tym skupić.
A nie lepiej samemu zrobić prosty układ z DS18B20 na 1Wire, który po RS232 będzie wysyłał i do kompa informacje o temperaturze? Możesz też do tego dopiąć LCD do łatwiejszego odczytu aktualnej temperatury, a na kompie będziesz tylko logował dane. Możesz tych DSów podłączyć ile dusza zapragnie. Wszystko powyżej można zrobić samemu w dość prosty sposób...
Witam Słusznie zauważyliście, w opisie jest błąd. To PCF8583 komunikuje sie za pomocą interfejsu I2C, a DS18B20 za pomocą 1wire. Wyswietlacz udało mi sie kupić na serwisie aukcyjnym . Zegar analogowy to niestety na razie nieruchomy obrazek lecz pracuje już nad algorytmem rysujacym strzałke, także być może wyjdzie druga wersja softu z ruchomym już zegarem...
na poczatku chcialem sie przywitac... /jest to moj pierwszy post na tym forum/ a teraz mam jeszcze male pytanko... mianowicie robie uklad moniturujacy temperature w 16 punktach... robie to na ds18b20 podpietych na 1wire do 80c552, teoretycznie wszystko powinno dzialac, ale tak mysle, ze bedzie mi potrzeba z 40m kabla /jak nie wiecej/ dlugosc kabli mozna...
sprawdz czy napewno dobry port podałes sprawdz czy dobrze podciagneles linie DQ i czy ją podciagneles do +5V, mase tez sprawdz A wogóle to jaki masz port jako 1wire?
Mam problem z czujnikami temperatury DS18B20 na 1wire. Polega na tym, że procesor widzie oba podłączone czujniki, ale czyta tylko z jednego. Czytanie ROMu skutkuje wyświetleniem informacji z jednego czujnika (28 FF FC 29 01 00 00 87) natomiost z drugiego czujnika - 28 00 00 00 00 00 00 00 (przy podłączeniu pojedyńczo informacja z czujnika wygląda następująco:...
Czy jest możliwy błąd podłączenia? Tutaj oczywiście zmieniłem na PB.1 Tak, wszystko jest możliwe... Spróbuj ten code: [syntax=basic4gl] 'DS18B20 - ROM reading test from single sensor DS18B20 $regfile = "m8adef.dat" $crystal = 4000000 $hwstack = 80 $swstack = 80 $framesize = 40 Config 1wire = Portb.1 'Config 1wire = Portd.5 Dim N As Byte Dim Dsid1(8)...
Ja nie widzę problemu w izolacji 1WIRE, trzeba użyć 2 szybkich transoptorów (np. 6N137) i 2 linii mikrokontrolera - osobnych do nadawania i odbioru. Można wykorzystać USART, co dodatkowo uprości obsługę magistrali od strony programowej. Oczywiście dodatkowo potrzebna będzie izolowana przetworniczka DC/DC do zasilania czujników i elektroniki za transoptorami....
OK. Uznajemy hardware za działający prawidłowo. Na 500us zwieram DQ do masy, później czekam 40us i sprawdzam czy jest stan niski. Czekam kolejne 300us i sprawdzam czy jest stan wysoki. Jeśli tak - uznaje że czujnik jest i odpowiada. Ten kawałek działa (udaje się wykryć czujnik). Tu nie widzę błędu w rozumowaniu. Może tylko wydłużył bym czas oczekiwania...
Z mojego doświadczenia z DS18B20 wynika: Procedury 1wire w Bascomie działają bez zarzutu. Oscylator wewnętrzny 8MHz jest jak najbardziej dobry i w niczym nie przeszkadza. Podciąganie 4k7 dla jednego DS na krótkim przewodzie jest zupełnie wystarczający. Dla np. 4 DS na kilkunastometrowych przewodach przydaje się 1k. Po co w instrukcji 1wwrite portc.1...
Witam ! Schemat musisz dopasować do tych dwóch linii programu: Config Lcdpin = Pin , Db4 = Pb.4 , Db5 = Pb.5 , Db6 = Pb.6 , Db7 = Pb.7 , E = Pb.3 , Rs = Pb.2 Config 1wire = Portb.0 Trudno w minutę narysować schemat, spróbuj sam "rozgryźć" problem, to nie takie trudne. Pozdrawiam. Stefan
Na pewno masz źle zrobioną obsługę 1wire: [syntax=c]// zczytanie bit z magistralii unsigned char read(void) { unsigned char PRESENCE = 0; CLEAR_1Wire; // ustawienie w stan niski DQ _delay_us(2); // odczekanie 2us SET_1Wire; // zwolnienie magistralii _delay_us(15); <------------ // odbiór jedynki lub zera if (bit_is_set(PORT_1Wire, WE)) PRESENCE =...
A nie byłoby lepiej zastosować układu termometru, który komunikowałby się jakimś cyfrowym protokołem. Na myśli mam tutaj 1Wire i układ DS18B20.
(at)ElektrodaBot Hej, mam jeszcze problem z obsługą 1Wire, chodzi o termometry DS18B20, gdzie po zadaniu pomiaru trzeba czekać do 750 ms do konwersji i odczytu temperatury. Jaki zaproponowałbyś kod (AVR GCC), aby nie trzeba było używać delay'a (może pooling lub maszynę stanu)? Przy okazji przedstaw optymalną (bez zmiennoprzecinkowych liczb) konwersję...
$crystal = 14745600 Czy oprócz podłączenia takiego kwarcu ustawiłeś odpowiednie fuse bity? Następna rzecz to nie musisz robić resetu 1wire. Największy błąd polega na tym że nie czytałeś helpa bo gdybyś to zrobił to dowiedziałbyś się że zmienna do której zapisujesz ilość urządzeń koniecznie musi być typu WORD lub INTEGER. Na koniec radzę ci skorzystać...
[url=http://stm32f4-discovery.com/2014/0... masz pokazaną zasadę działania 1wire z N DS18B20. Co prawda kod jest oparty na F4, jednak dużo różnic nie będzie w porównaniu z F1. Zawsze zamiast tworzenia swojego timera do delaya możesz skorzystać z SysTicka.
atmega 1wire ds18b20 1wire ds18b20 atmega8 odczyt 1wire ds18b20
domykanie drzwi zaworek myjka rezystor objętościowy
układy zasilające adapter bluetooth
Jak odświeżyć Smart TV: Samsung, LG, Sony Jak odpiąć kartę z RAV Endpoint Protection?