Jesteś pewien, że nie podłączyłeś czujnika na odwrót, tzn vdd zamiast gnd?
Jeśli chodzi im o wejście, to piszę PIN a jeśli o wyjście to PORT np: If pind.1=1 then portc.1=1 tak? Mniej więcej. Podpowiedzcie mi jeszcze jak napisać kod, tak aby po osiągnięciu temperatury 40st na wyjściu pojawiał się stan wysoki, a po spadku do np 30st dopiero stan niski używam ds18b20 [syntax=text]Zmierz temperaturę Jeżeli wyjście=stan wysoki...
Jak się podaje Niski stan?
Witam, przy odpowiednio niskiej prędkości pewnie każdy przewód będzie dobry, musisz po prostu sprawdzić. Nie prościej użyć wodoodpornego ds18b20? Przecież jeśli do jednego "nie jesteś przekonany", to możesz podłączyć pięć w jednym miejscu. Pt100 w postaci gotowej sondy, takiej jak teraz używasz, jest gorszy od tej zaklejonej płytki? Pozdrawiam.
Prawdziwych ? takich jak LM35 lub ds18b20 ? Dobre jako czujnik progowy, wymaga solidnego napiecia odniesienia itp. Sygnał jest maly wiec trzeba wzmacniac na wzm o niskim napieciu niezrownowazenia
DQ jest do jednego, tylko próbowałem do 3 po kolei. Jak mogę sprawdzić czy odpowiada na reset? Mam ustawić dany pin jako wejściowy, wyłączyć podciąganie co da stan niski, poczekać 0,5ms, włączyć podciąganie i sprawdzić czy pojawi się stan niski?
Funkcje write1 i write0 sa bardzo podobne i wykorzystywane tylko przez SendByte. Lepiej byłoby Ci je wrzucić do środka funkcji SendByte oszczędzając w ten sposób miejsca i czasu. W funkcji reset_pulse masz na początku bardzo długi delay - 250ms. Moim zdaniem do usunięcia. Ponadto w funkcji reset_pulse zanim ustawisz stan niski mógłbyś dodatkowo sprawdzić...
Jeśli nawet z 1 czujnikiem masz problem to jednak szukałbym błędu w sofcie - brak wymuszenia strong pull upa, złe zależności czasowe. Upływność wbudowanego kondensatora rośnie wraz z temperaturą, stąd nie sądzę aby to było powodem problemów w niskich temperaturach.
Niezły jest ten ukraiński projekt , są dwa DS18B20 , tylko ten zegar nie jest mi potrzebny , no chyba żeby był NTP i automatycznie się ustawiał.
nie masz wymuszać tych stanów, ten rezystor jest tam nie bez powodu,,, http://www.elektroda.pl/rtvforum/topic17... temat ze wczoraj...
Chodzi mi o interpretację recovery time że może trwaćdowolniedługo a DS18B20 tak jakby nie zapomo wysłaniu kolejnych danych po inicjacji przez mastera? Dobrze rozumiesz, oby te czekanie nie odbywało się przy niskim stanie 1w .
Witam, Można powiedzieć że jeszcze właściwiej było by gdybyś zastosował tranzystory PNP wtedy anody też byś sterował stanem niskim pinu. Pozdrawiam;)
Do zasilania wemos D1 wykorzystał bym napięcie 5V natomiast do zasilania ds18b20 wizolbym napicie 3,3V z wemosa. Więc LM2596 jest zbędny. Mam Dalybms obsługiwany przez ESP8266 zasilany napięciem 3,3V jest informacja o niskim napięciu zasilania . https://obrazki.elektroda.pl/2043195300_...
If Ttt < 0 Then 'wg. porady zumka Lcd "-" Ttt = Abs(ttt) Else Lcd " " End If w takim razie w ten sposób masz zamienić kawałek kodu odpowiedzialnego za automatyczny minus. zapewne chodzi tylko o dodanie komendy Else Lcd " "
Tak jest. Ale lepiej na niski poziom...
Więc pojawia się pytanie jak sprawdzać kolejne bity w kolejnych przebiegach "pętli" (w przypadku procedury zapisu) oraz jak ustawiać logiczne 1 w kolejnych bitach przy kolejnych przebiegach "pętli" (w przypadku procedury odczytu). Jeśli chodzi o zapis to zrób tak, że sprawdzasz, czy najmłodszy bit w rejestrze jest wyzerowany, jeśli tak to ustawiasz...
Nowego termometru nie potrzebujesz. Natomiast rezystor 1k7 to zdecydowanie za mało i DS mógł nie móc wystawić poziomu niskiego, stąd brak detekcji presence pulse.
Witaj, Jeżeli otrzymujesz odpowiedź z układu typu 255 czyli 0xFF to oznacza że masz błędnie napisane procedury niskopoziomowe prawdopodobnie czasówki. Na początek sprawdź czy przypadkiem nie masz ustawionego zegara zbyt niskiego 1[MHz] wewnętrznego. Aby funkcje opóźniające biblioteczne chodziły prawidłowo potrzebne jest z 4[MHz] a dobrze jest 8 [MHz]....
(at)phaterster Powerbanki przy zbyt niskim poborze same się wyłączają.
Witam, Próbowałem ostatnio podłączyć czujnik temperatury ds18b20 do płytki z pic32mx460 (płytka bodajże firmy olimex). Spędziłem nad tym kilka dni, i w końcu podłączyłem oscyloskop. Kiedy wymuszam stan niski z mikrokontrolera (na samym początku trzeba ustawić pin na 500us w stan niski, później 30us w stan wysoki i termometr powinien odpowiedzieć stanem...
oczywiscie ze odwiedzilem strone producenta ale jak mozna bylo sie domyslec jest to strona anglojezyczna a ja w szkole mialem niemiecki zreszta i tak na niskim poziiomie:(:(:(
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);//...
Czy te wyjścia z PWMów są aktywne w stanie wysokim czy niskim ?
Tylko że powinieneś przyspieszyć, a nie opóźnić moment odczytu. http://obrazki.elektroda.pl/7392689500_1... Chodziło mi raczej o coś takiego: [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...
Podciągnij linię zewnętrznym opornikiem 4k7 do +5V, Ustaw na tej linii stan niski i steruj kierunkiem. Szybko można przerobić jak poniżej: [syntax=c]#define CLR_DQ sbi(OW_DDR, OW_NUM);cbi(OW_PORT, OW_NUM); //0 na wyjscie #define SET_DQ cbi(OW_DDR, OW_NUM);cbi(OW_PORT, OW_NUM); //1 na wyjscie[/syntax]
czytałem chyba na edw jest taki stop chyna nazywa sie Wooda i w dość niskiej temp sie topi. Tam go polecali
Cześć!!! Mam kilka uwag czysto teoretycznych i z praktycznymi efektami nie polemizuje. Z tego co podałeś dajesz rezystor 220 Ohm do 5 V - wg karty AT89C2051 bez problemu wyda powstający prąd 20 mA i ściągnie do 0,4V co dla DS jest stanem niskim, ale w karcie DS18B20 podają już tylko prąd ściągnięcia 4mA / przy 0,4 V stanu niskiego, nie wiem z czego...
Łączę to w ten sposób: https://obrazki.elektroda.pl/9438237900_... Czyli źle. Przeanalizuj to co napisałem o pullup i wyniki pomiaru multimetrem. Sprawdź jakie napięcie mikrokontroler traktuje jako poziom niski a jakie jako wysoki. Wskazówka: Zobacz w innych projektach jak włącza sie klawisze i jak je obsługuje. Prawie zawsze napięcia...
Może masz jakiś lewy DS18B20, spróbuj użyć konwertera poziomów logicznych, zasilasz DS normalnie z 5V, podciąganie ~2k podłączasz po stronie niskiej, ~5k po stronie wysokiej, GND wspólne. No i popatrz na zwykłym UNO/NANO 5V czy odczyty są racjonalne. Kupiłem kiedyś kilka DS, które zachowywały się bardzo dziwnie, odczyty skakały po pół stopnia co 1s,...
Cześć, czujnik ma katalogowe zasilanie min 3.0V Czy na tych łączonych przewodach nie masz większego spadku napięcia z tych 3,3V? Rezystor powinien być przy czujniku. Z 230V też może się coś indukować, szczególnie przy takim skrajnie niskim zasilaniu. Zacząłbym od grubszego przewodu. Pozdrawiam jurek
Typ tranzystora jest praktycznie bez znaczenia - dowolny nie za duży pnp. Mylisz częStotliwość przerwń z częstotliwością zegara timera. Zegar ma w tym przypadku częstotliwość 1000000 / 64, a ty dzielisz to timerem przez 254, co daje jakieś marne 64 Hz - sporo za mało, wyświetlacz wibruje jak wściekły. Powinno być ok. 1200 Hz, a minimum 600 Hz. Przy...
Dzięki za wyczerpujące odpowiedzi. Mam jeszcze jedno pytanie. Co się dzieje jeśli mamy trochę czujników zasilanych i trochę w trybie pasożytniczym. W dokumentacji, jest napisane 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...
Fragment z noty DS18B20 opisującej pasożytnicze zasilanie z linii danych - prawdopodobnie taki jest sens twojego zadania https://obrazki.elektroda.pl/4321694400_... Przecież na linii sterowanej z wyjścia z otwartym drenem i rezystorem podciągającym to nie stan niski wymaga poprawiania wydajności prądowej i zboczy.
mialem podobny problem pomoglo skrocenie czasu trzymania portu w stanie niskim przy inicjalizacji 1wire.. zamiast 480us mam 440.. i wszystko ruszylo
Witam serdecznie Sam nie potrafię pisać programów i chciałby aby mi krtoś z Was napisał oczywiście za kase. Program ma być pod procesor Atmega 16. To jest tylko na mój użytek i tylko do mojego samochodu, takze ja zarobku zadnego nie bede miał na tym. Moje urzadzenie to: zegarek do samochodu z funkcją mierzenia temperatury zewnętrznej i wewnętrznej DS18B20,...
Żaden korektor graficzny tylko to jest procesor dźwięku, który ma w sobie funkcję sterowania głośnością jak i tonami niskimi i wysokimi. Sterowanie odbywa się za pomocą szyny I2C.
Na pewno wysyłanie bajtów jest złe - opóźnienie pomiędzy SET_DQ na końcu wystawienia jednego bitu a CLR_DQ przy następnym bicie - jest (a właściwie go nie ma) zdecydowanie za małe. Odczyt też zresztą jest niepoprawny - na jeden bit powinno przypadać dla bezpieczeństwa 60us, tutaj jest 18us w funkcji ow_read_bit oraz kolejne 9 w ow_read_byte - nawet...
A jak zrobić, żeby nie wyświetlał na lcd temperatury (bo lcd tu nie będzie), tylko przy temp nizszej niż -1st C panował stan wysoki na PORTB.4. Natomiast powyżej -1st C ma być na tym porcie stan niski.
(at)Robiw może zainteresuje Cię pomysł na który dzisiaj wpadłem i od razu przetestowałem :P Pozwala sprawdzić który z układów dalej przytrzymuje linię w stanie niskim ;) Może się przyda. Transmisję 1Wire mam w paluszku dlatego na niej sprawdzałem działanie. Kiedy Procesor wystawia sygnał Pulse to DS18B20 powinien ten niski stan podtrzymać co widać...
Kompiluje mi się normalnie a częstotliwość zegara mam podaną w Makefile, gdy miałem makro F_CPU w kodzie kompilator wyrzucał warna o drugim definiowaniu częstotliwości. I tak czy siak, ds nie działał. Fusy mam ustawione fabrycznie aby zmieniłem wewnętrzny oscylator bo wyczytałem że przyczyną może być za niski zegar ale nic nie pomogło.
Witam po porannych zmaganiach z DS18B20. Otóż... zmieniałem wartości opóźnienia w funkcji odczytu bitu: [syntax=c]uint8_t ReadBit (void) { uint8_t Bit = 0; uint8_t PinState = 0; LPC_GPIO2->FIODIR |= 1<<12; // SET OUTPUT LPC_GPIO2->FIOCLR |= 1<<12; // SET LO Timer0_MicroSeconds (2); // Wait 2 us LPC_GPIO2->FIODIR &=~(1<<12);...
Przede wszystkim. Zejdź z taktowaniem do jakiejś normalnej wartości dla ATmega16 i przetestuj czy wtedy komunikacja z DS-ką jest prawidłowa. Jeśli nie to najpierw musisz naprawić sprzęt/algorytm by wszystko działało prawidłowo. Jeśli na niskim taktowaniu komunikacja będzie w porządku to będzie to oznaczało tylko to, że specjalne makra opóźniające jakie...
W odczycie bitu masz: delayus(5); // delay 15us from start of timeslot to w końcu czekasz 5us czy 15us - może po prostu błąd literowy i zapomniałeś "1" - to może sprawiać, że linia w takim czasie "nie wstaje" jeszcze ze stanu niskiego i dostajesz same zera.
(at)wojtek6000 Te diody niczemu nie służą i nic nie zabezpieczają. Jeśli podłączysz DS'a odwrotnie to i tak będzie podłączony odwrotnie ze wszystkimi tego konsekwencjami. Rezystor 4k7 przy zasilaniu 5V jest zupełnie ok. Pomysł z jakimkolwiek zabezpieczeniem ESD jest dobry. Na schemacie nie ma RS485. Natomiast takie podłączenie DSów, każdy do osobnego...
Osobiście mogę zaproponować mikrokontroler MSP430xxx. Wersja MSP430F4xx ma wbudowany sterownik LCD i posiada przetwornik ADC 14 bit. Układ taki może pracować z jednej bateri 3V przez bardzo długi okres czasu (1-2 lat), ale zależy to od poboru prądu przez pozostałą część elektroniki. Sam mikroprocesor nie weźmie więcej prądu niż 0,4mA MAX! Co do czujnika...
Hmmm student powiadasz.... To niech student przeanalizuje zasadę działania DS18B20 np. z tego źródła: http://www.1-wire.rms.biz.pl/#Interfejs%... Bo kolega sugeruje czekanie 400us gdzie układ DS18B20 max 240us bedzie utrzymywał niski poziom. Jesli damy wiecej niz te 240us to niemal na 100% program ciagle nie bedzie widzial czujnika.... Oczywiscie...
Witam, zamierzam pomiędzy dwiema Atmegami32 przesłać pomiar temperatury, przewodowo, za pomocą SPI. Linie MISO, MOSI, i SCK podłączyłem ze sobą, SS mastera jest na masie, SS Slave'a także. Temperaturę przez pewien czas przesyła prawidłowo, jednak po pewnym czasie, na wyswietlaczu Slave'a sa glupoty, jak odłączę na chwilę kabel SS Slave od masy i znowu...
Możliwość pracy z niskimi napięciami jest również zaletą, czy DS18B20 działał wam poprawnie poniżej 1V ? Być może nietypową aplikacją czujnika temperatury i pamięci mogą być logery temperatury. Poczekamy jeszcze trochę to być może Atmel dołoży do czujnika i pamięci rdzeń np. ATtiny ? Może chcecie abyśmy spróbowali uzyskać sample i wykonali testy recenzję...
Witam, Zacznę od tego, że jestem początkujący jeśli chodzi o mikrokontrolery i elektronikę dlatego proszę was o łopatologiczne wytłumaczenie działania rezystorów podciągających na podanym przeze mnie przykładzie bo to co do tej pory przeczytałem w internecie jakoś do mnie nie dociera. Układ jest prosty mikrokontroler -> termometr DS18B20 połączony linią...
Wydaje mi się ,że marcin387 myślał o alarmie za wysokiej temperatury, bo za niskiej nie ma co alarmować dźwiękiem, najwyżej piec zgaśnie (ewentualnie kilka piknięć, jednorazowo przypominających: idź podłóż do pieca:))
Generalnie lodówka chodzi w sposób dość dziwny, bo agregat, jak się włączy to chodzi bardzo długo, a następnie bardzo długo się nie włącza, Tak powinno być, gdy jej nie otwierasz. Jednak obserwuj sytuację. Może się zmienić na gorsze - niestety. 7 oC szalem nie jest. Na jakim ustawieniu termostatu? Mając termometr z MIN/MAX można by sie pokusić o lepszą...
Okazało się że czas trwania ściągania magistrali do zera przez układ slave (mój czujnik) jest równy około 25 us a ja ciągle zakładałem że stan będę sobie próbkował po czasie 30us. Dlaczego tak założyłem? Ponieważ gdzieś w dokumentacji pojawiła mi się informacja o tym że slave powinien "trzymać zero" na 60us więc chciałem próbkować "w połowie" - no...
Cześć witam serdecznie Chce wykonać sterownik załączania pompy na czujniku PT100 Mam opanowany odczyt z DS18B20 ale zakres temp jest za niski Wiem że działa on jak termistor - posiadam tabelę rezystancja/temperatura czy ktoś posiada kawałek kodu jak to odczytać - chodzi o dane - wyswietlanie i sterowanie to juz sam zrobię Pełnym kodem podzielę sie na...
http://mikrokontrolery.net/avr_c_10.htm Nie znam się na C ale może to Tobie pomoże, mi troszkę pomogło jak się męczyłem z tym układem, też miałem z nim problemy, ale się udało :) Ja zapomniałem również o tym, że jeżeli port jest skonfigurowany jako wejście i jest w stanie niskim to rezystor podciąga magistrale do +. Trzeba o tym pamiętać
Działa prawidłowo na tych opóźnieniach :) Napisałem także delay na timerze. Problem leżał w źle napisane funkcji Write_Bit, prawidłowa to; float DS18b20_Read_Temperature(uint8_t* code); wywołuje ją z main w ten sposób printf ("Zmierzono %3.2f\r\n", DS18b20_Read_Temperature( &ds18b20 wyświetla dziwne liczby, kiedy wrzucę ciało funkcji DS18b20_Read_Temperature...
Przeczytaj to co napisałem o procedurze send(). Popraw umiejscowienie ostatniego SET_1wire - poza warunek i usuń pierwszy SET_1wire a warunek zmień na if(!bit)... [syntax=c]CLEAR_1wire; // ustawienie magistrali w stan niski _delay_us(10); if (!bit) _delay_us(100); // przetrzymanie SET_1wire;[/syntax]
Jeśli TX = 1, Ds18b20 chce podać 0 na szynę ale TX =1. To wtedy co? To na linii będzie stan niski. Przecież wyjście TxD jest typu OD a nie PP. To co robisz dokładając 2 tranzystory i 2 rezystory jest zupełnie zbędne. Zamiast zmienić konfigurację portu dokładasz hardware. To nie jest dobra porada.
Oczywiście, że nie:) To ma być tylko maskowanie czyli &. Nie mniej jednak kod dalej nie działa. Inicjalizacja nie wykonuje się poprawnie. http://obrazki.elektroda.pl/9461588100_1... Powyżej zacytowałem fragment tutoriala do czujnika DS18B20, który mówi jak pwinna przebiegac inicjalizacja. Czy mój kod spełnia te kryteria?
Od kilku dni staram się uruchomić pomiar temperatury czujnikiem ds18b20. Pomiar niskich temperatur przebiega poprawnie. Po przekroczeniu temperatury 54stC na wyświetlaczu ukazuje się wartość 127. Poniższy kod jest skopiowany z tego forum, poza tym napisałem własne funkcje obsługi 1wire lecz skutek był taki sam. Programując uC bascomowymi procedurami...
Pewnie dla wielu to błahy problem, a dla mnie niezła zagadka. Buduję na Arduino Uno wielokanałowy termometr (Ds18b20) z alarmem, zlepiłem program z kilku przykładów, niby wszystko działa, alarmuje o przekroczeniu wysokiej temp w tym przypadku 30°C. Chciałbym też aby termometr alarmował również o niskiej temperaturze. [syntax=c]sensors.requestTemperatures();...
Znalazłem podobny temat do twojego. Jest tam schemat zabezpieczenia wejść. Co do jego skuteczności i poprawności nie podejmę polemiki z uwagi na swoją niską wiedzę http://www.elektroda.pl/rtvforum/topic71...
Czym jest spowodowany fakt iż nie dostarczając napięcia do dsa " pracując w konfiguracji dwóch linii danych z podciągnięciem i masa " na pc czujnik działa ok a po podłączeniu do up nie można odczytać danych? Komunikacja jest poprawna ponieważ jest możliwe odczytanie id dsa. Ogólnie tym, że połączenie w trybie dwuprzewodowym (pasożytniczym) wymaga bardziej...
... to moze on sie poprostu caly czas resetuje ?? Kochasiu :!: Żeby zresetować rejestry temperatury w scratchpad , to musiałbyś odłączyć zasilanie od DS-a lub jeśli masz zasilanie pasożytnicze(linią DQ) , to musiałbyś na tej linii utrzymać stan niski , przez >960uS. Spróbuj zwiększyć czas konwersji , do 850ms. Piotrek
W chwili obecnej projektuje system kilku linii składający się z 15-20 czujników na około 40 metrowych przewodach. Częstotliwość odczytu około 1 godzina. Master DS9097U-009 plus zabezpieczenie DS9503. Poszczególne linię chcę multipleksować pomiędzy jednym masterem. Czy sumaryczna liczba czujników to 15-20, czy też jest to liczba czujników na jednej...
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...
Twój pomysł z kontaktronem wydaje się być najprostszy w realizacji. Podepniesz go pod pin INT0 lub INT1 i zrealizujesz to co chcesz tanio w dodatku w trakcie snu całość będzie pobierała mikroampery. Zasil to tak jak napisał TvWidget - bateria litowo-chlorkowo-tionylowa (płaska charakterystyka rozładowania) 3,6V. DS18B20 działają od 3V. HC-05 wylutuj...
Bo póki co - to jest tylko próba resetu. Mam całą bibliotekę napisaną, jednakże testuję tylko najprostszą z funkcji - reset. Sam kod nie jest mój, jedynie dostosowany do mojego układu. Oczekuję otrzymania sygnału PRESENCE (niskiego na pinie OneWire (PB0), jednak zawsze otrzymuję wysoki. Przedstawiony kod działa u kolegi, więc szukam jakichś błędów w...
DS18B20 może być zasilany napięciem od 3 do 5V. Ja osobiście zasilam 3.3 i nie stanowi to najmniejszego problemu. Czy aby na pewno jest to DS18b20 a nie np DS18b20p z zasilaniem pasożytniczym?, chociaż prawdę mówiąc nawet przy zasilaniu pasożytniczym układ powinien odpowiadać na reset pulse. Co do czasów osobiście w swojej procedurze reset pulse stosuje...
Link poprawiony. Czekam 5 us - odnosiło się do 5 nop - czyli do 5 taktów = 5 us. ;) Zgłupiałem totalnie. Czyli, krótkomówiąc w jaki sposób mam: - ustawić stan niski (wysyłanie sygnału reset)? DDR=1, PORT=0? - zwolnić magistralę tak aby zewnętrzny rezystor mógł podciągnąć linię do stanu wysokiego? - w jakim stanie powinien być port (DDR, PORT) tak aby...
Witam, cały weekend studiowałem forum i niby moja wiedza znacznie sie poszeżyła ale z głupim czujnikiem temperatury nic nie mgę siędogadać... nic a nic. Sprawe postawiłem sobie jasno... Ja mu wysyłam poziom L przez 490...960us a on po około 100us powinien odpowiedzieć mi poziomem niskim - podtrzymac go na wejsciu. Niby fusebity przestawiłem... niby...
Fajne ale strasznie to przekombinowane, w tym projekcie nie jest potrzebne nic poza kilkoma rezystorami i stabilizatorem z możliwie niskim "quiescent current". ESP32 jak się powyłącza większość peryferiów a zostawi tylko timer do wybudzania to schodzi to kilku µA. Używam tak zasilanych esp8266 i tam udaje się zejść do 80µA i czujnik ds18b20 wysyłający...
http://obrazki.elektroda.pl/7995180000_1... Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś...
Dziękuję za podpowiedź. Po remoncie mieszkania zmontuję układ - jak będzie działać nie omieszkam się pochwalić. Układ ze schematu zamieszczonego w [url=http://www.elektroda.pl/rtvforum/to... nie działał, miałem za niskie napięcie na wyjściu, no i RS232 nie uciągnie 15 czujników :/] Live long and prosper.
Tak jest. Mam DS1820 (DS18S20) - tutaj temperatura jest stała ale o 60 stopni za nisko a po podpięciu DS18B20 temperatura jest ujemna i cały czas spada. A jaki rezystor został użyty?
Przecież już od dawna wielu praktyków o tym pisało. 4,7k było dobre dla jednego czujnika na krótkim odcinku, 2,2k sprawiało że działał każdy z czujników - nawet podróbki na długich dystansach. A że w PDF-ie o tym nic nie było to już inna sprawa. Dallas w wielu miejscach, w różnych notach, pisze jak rozwiązać zasilanie pasożytnicze. To zupełnie inny...
Ja odczytuję temperaturę co 1.5sek. dlatego chętnie usłyszę o "krzaczeniu". Na czym to polegało. Jeśli chodzi o te 85st to tylko przez to że przy resecie stan niski musiał być dłuższy niż ok. 900us wg datasheet Dallas-a. Wtedy następuje obniżenie napięcia, które wywołuje temperaturę jak po Powerup czyli 85st.
Być może wystaraczy tylko przesłać bezprzewodowo nieobrobiony sygnał z DS radiolinią. Jak przesłać? Zapis ok ale odczyt? 1W to transmisja synchroniczna. Sterownik wysyła slot czasowy bitu a odbiornik jeśli ma odesłać zero przetrzymuje poziom niski. Na początek, jak od strony sterownika, rozdzielić jednoprzewodowy 1W na tor nadawczy i odbiorczy toru...
Witam 2 sztuki Butterfly ( mozesz dla przykładu dostać w JM ) i masz sprawę załatwioną, chyba nawet w zestawie jest oprogramowane do takiej transmisji. Dodatkowo układ był optymalizowany do niskiego poboru mocy i na baterii CR2032 działa kilka lat. Piotr Ps. tam pomiar był robiony na termistorze ale to nie zmienia zasady.
Witam, Dallas produkuje bardzo fajne termometry DS18B20. Jednak one mierzą temperaturę tylko do +125*C a mi jest potrzebny termometr, który mierzy do 200*C a nie stopi się do 250*C. Najlepiej gdyby był to element zwracający wyniki pomiaru w formie cyfrowej 1Wire, I2C, Rs232 czy cokolwiek w tym stylu. Zabójcza rozdzielczość nie jest mi potrzebna 1*C...
To wydaje się być ok, chociaż100 us to sporo. Pokaż jak wygląda wysyłanie i odbiór bajtów i przede wszystkim procedura wyświetlania, bo ciekami mnie jak robisz konwersję na float/fixed point, bo podejrzewam, że tu masz błąd. W przypadku problemu z OW magistrala jest w stanie wysokim, a nie niskim, stąd też powinieneś mieć odczyty typu same 0xff, a nie...
Jeszcze gorzej. "v1Wire_SendBit" to już zupełnie jakaś porażka. Może na przykładzie Ci wytłumaczę. [syntax=c]DS_0; //presence _delay_us(500); DS_1; _delay_us(65); j = DS_IN; _delay_us(300); return j[/syntax] Na końcu tej funkcji Presence jest czas 300uS. Znajdź go u siebie. A teraz pomyśl, zrobiłeś presence i już bez czekania przechodzisz do wysyłania...
Witam. Przedstawiam układ który pozwala na podszywanie się pod czujnik temperatury DS18B20. Mógłby się przydać każdemu kto oprogramowuje/projektuje coś co wykorzystuje czujniki DS18B20 lub nawet jakiemuś monterowi czy serwisantowi. Ideą było to, żeby można było odłączyć działający czujnik temperatury, w razie potrzeby skopiować jego ID by się nim przedstawiać...
(at)nowyARM - też myślę że to jakiś błąd - ale w przyszłości nie stać mnie na takie "wpadki" - dlatego myślę o Pt1000. Problem dotyczył starej serii termometrów ale to właśnie wadliwe serie najprędzej można kupić u żółtych przyjaciół. W erracie producenta było napisane jakiej serii dotyczy i jak wykryć i ewentualnie ponownie zapisać poprawną kalibrację...
Nie - nawet wystarczy co kilka sekund. Sterownik ma za zadanie sprawdzanie temperatury wody w zasobniku i w przypadku zbyt niskiej temperatury (np. poniżej 35 st) ma włączyć grzałkę i w przypadku osiągnięcia temperatury pow. 93-95 st ma wlączyć pompę która przepompuje część gorącej wody do innego zasobnika. Można założyć że nawet co 15 sek jest wystarczająco...
w sieci natknąć się można na wiele algorytmów liczenia teperatury tych czyjniuków poniżej przedstawiam dwa z nich niech ktoś wytłumaczy mi o co w tym wszystkim chodzi bo na DS18B20 mam o ok. 4 stC temperaturę za niską. wykorzystuję dwa czyjniki podpięte tylko przez linię danych i masę, i oczywiście rezystor 4.7 k. VCC do masy. na obydwu podobny przekłamany...
[url=http://www.tinycontrol.ats.pl]LAN Kontroler powinien spełnić Twoje oczekiwania względem pomiaru temp i ceny... tylko ktoś na elektrodzie wspominał że potrafi się zawiesić... także za niską cenę sprzęt, ale pewnie trzeba trochę z nim po obcować, żeby nabrać zaufania. Zdaje się że jest wersja umożliwiająca podłączenie 4szt. DS18B20.
zachowanie jest takie ze sekundnik zmienia cyfrę idealnie co sekundę,a po chwili wskakuję co druga. takie samo zachowanie ma funkcja ustawienia czasu i daty funkcją po podaniu stanu niskiego na pin zaczyna pulsować dana godzina minuta czy data ale również tak jakby się zacinała. Wygląda to tak jakby odświeżanie czujników w funkcji loop gryzła się z...
Wczytałem się w specyfikacje DS18b20, i już wiem które to bajty są odpowiedzialne za temperaturę. Czy taki zapis char* tab = ds18b20_pad[1]; zwróci mi poszczególne bity? Czy wyprowadzenie z mikroprocesora powinno byś ustawione jako wejściowe czy wyjściowe? A jak wyjściowe to stan niski czy wysoki?
1. Sprawdź napięcie zasilania na tym układzie, możesz go zasilać nawet od 3V. 2. Wadliwie napisana obsługa tego układu też może dać się we znaki - np gdy jest wymuszony stan wysoki na wyjściu, podczas gdy układ akurat podaje niski... Generalnie oprogramowanie powinno przełączać pomiędzy stanem niskim, a stanem podciągnięcia, czyli operując na PORTx...
Dokładnie drugą trzecią i jeśli będziesz chciał czwartą czujkę podpinasz pod wyjście na listwie nr17 pod pin oznaczony 1Wire PD7. plus do plusa i masa do masy. Jeśli chodzi o brzęczek to jedną nogę podpinasz pod zasilanie a drugą pod którykolwiek wolny pin mikrokontrolera. Wtedy sterujesz nim za pomocą masy czyli pin mikrokontrolera do którego będzie...
Przejdź na 5V w tym 1Wire. I daj rezystor 1k. Pewnie nie chciało działać przy mniejszym rezystorze jak 4,7k ze względu na za niskie napięcie zasilania oraz małą wydajność prądową płytki RPi w stanie niskim. Przy 5V i 1k mi to działało i na 200m w obecności dość silnych zakłóceń. Na skrętce 5E. Połączenie 2-przewodowe. Skrętka jest tutaj najlepsza.
[syntax=c]#define _DATA_DDR DDRD; #define _DATA_WIRE DDD2; #define _DATA_PIN PIND; [/syntax] Zakładając, że Twoje nieujawnione makra wyglądają jak powyżej, to po przetłumaczeniu Twojego kodu będzie on wyglądał: [syntax=c]#define _DATA_SET_HIGH _DATA_DDR |= (1 << _DATA_WIRE); #define _DATA_SET_LOW _DATA_DDR &= ~(1 << _DATA_WIRE); unsigned...
Witam, Wzorując się na poradniku: www.ja(usun-to)glarz.com/ja/elektronika/... napisałem funkcję: Wszystkie czasy zawarte w powyższym kodzie wynikają z dokumentacji technicznej wysyłania i odbierania impulsu RESET i PRESENCE. Według dokumentacji układ Master powinien ustawić linie w stan niski na czas min. 480µs, następnie ustawić w poziom...
Zastanawiam się nad budową "zdalnego" czujnika temperatury z wykorzystaniem taniej lampy solarnej. Problemy: 1. Zasilanie 1.5V (jedna bateria AAA) 2. Podczas ładowania tylko 2,3V W datasheets attiny2313v procek może działać przy napięciu 1.7V na wewnętrznym kwarcu ale czujniki temperatury np DS18B20 czy TMP101 to już napięcie powyżej 2,7V-3V. Z kolej...
Witam!Od tygodnia męczę się z zaprogramowaniem czujnika temperatury DS18B20 i cały czas uzyskuję wynik 0. Sprawdziłam, czy zgłasza się i robi to... Czyżby :?: :D Nawet nie sprawdzasz , czy DS odpowiedział na reset.Jednak odpowiedzieć nie może , bo procek nie jest w stanie wystawić na linię DQ niskiego stanu , a funkcja Resetwire() jest do kitu :( void...
Witam ja używane sterownika z firmy zato.net bardzo dobra konstrukcja przy niskiej cenie Tu możesz sobie poczytać o tym sterowniku: https://zatro.net/?110,sterownik-gsm-sim... ma cztery porty wejściowe i 4 wyjściowe co daje nam całkiem niezłe możliwość Dodatkowo mozna porty wejsciowe zaprogramować do obsługi czujek temperatury...
owszem fali Elektromagnetycznej plastikowa rura nie zatrzymam, lecz poprzez dystansowanie wysokiego od niskiego napiecia moge w ten sposob wykluczyc wiele zaklocen. mimo tego, kable magistrali beda ekranowane, kabel Cat 5-6 Stworzylem na szybko kolejny scheamt blokowy, ktory bazuje na laczeniu 2 MCU ze soba przy pomocy RS485 http://obrazki.elektroda.pl/4625474400_1...
Aaaa ! bo ty masz układ z tzw. pasożytniczym zasilaniem, to wymaga trochę innej obsługi. Te wersje oprogramowania co zamieściłeś to obsługują transmisję w przypadku gdy Dallas jest normalnie zasilany, tj. GND - Masa DIO - dwukierunkowa linia danych (podciągnięte do +5V przez 4.7k Vdd - +5V W twoim przypadku stosuje się zasilanie z linii danych co wymaga...
4.7k standardowy z notki DS Dodano po 3 mi o konwersji sie nie marzy. DS podczas resetu nie daje stanu niskiego. On nic nie daje :) / :( Dodano po 56 Zaczyna zyc. Dosc ciekawie bo dopiero jak nozka +5V DS wisi w powietrzu. Jak dam do masy albo +5V to milczy. Wie ktos dlaczego?
Nie mam zwyczaju przeglądać pierwszej strony Forum i DIY więc kolega podlinkował mi ten temat :D Widzę bliźniaczy układ :D Ktoś kto w tym nie grzebał nie wie, że przy procedurze wyszukiwania wszystkich urządzeń na linii czujnik musi po każdym bicie adresu zadecydować czy to dalej się zgadza z jego adresem i przytrzymać linię w stanie niskim :D To jest...
termostat ds18b20 rozdzielczosc ds18b20 ds18b20 mirekk36
mruga zielony dioda prostownik dławik naprawa piekarnik mastercook
certyfikaty paneli certyfikaty paneli
Mazda Premacy 2.0 DiTD – wymiana pękniętej dźwigienki zaworowej, instrukcja krok po kroku Zamrażarka Bosch Siemens alarm, gorąca górna część – przyczyny i działania