LChucki napisał: Nie widziałem bibliotek na Arduino, które sprawdzałyby czy po zakończeniu RESET faktycznie magistral przyjęła poziom "H", Wyżej wymieniona przeze mnie biblioteka również to sprawdza - funkcja readScratchPad(). Nie sprawdza, a jedynie odczytuje. Co więcej, nigdzie przy odczycie temperatury nie ma juz sprawdzania CRC, więc poza stratą...
Chyba nawet lepiej całkiem przenieść kawałek opisany jako "konwersja temp dla wszystkich dsow" przed pierwszy odczyt. Bo Twoim sposobem konwersja będzie (niepotrzebnie) wykonywana dwukrotnie. Ale ja nie jestem "Bascomiczny", więc uprzedzam, że mogę się mylić ;)
Jeszcze wprowadziłem pewną modyfikację,tak aby kolejny wentylator włączał się dopiero przy wyższej temp. Jest to zrobione poprawnie? To ci może pracowac; czy jest poprawnie?............ Owszem, wentylatory bedą włączac się stopniowo, ale wyłączenie ich nastąpi jednocześnie po osiągnięciu temp poniżej 'min'. Ten fragment programu powyżej może powodowac...
Jarosław J --> po pierwsze postaraj się jak najszybciej robić odpowiednie wcięcia w kodzie to będzie łatwiej nie tylko nam tutaj na forum analizować twój kod - ale tobie samemu będzie łatwiej a to jest nawet ważniejsze ;) po drugie masz tam gdzieś w tej swojej pętli głównej coś takiego: Convallt ' "Convert ALL T on the 1w-bus" Waitms 1 czyli...
Ale jak pisałem ten projekt Duch ma błędy i forumowicze mają same problemy. W Twoim przypadku było kilka błędów które się na siebie nałożyły. 1. to nadpisywanie zmiennej ss string as 6(za krótka) powinna być 7 lub 8 2. złe pozycjonowanie napisów na LCD 3. złe podłączenie DSów (zasilanie) to że u innych działa to nie znaczy że jest dobrze) jeśli miałbyś...
Teraz wiesz dlaczego musiałeś pozamieniać te elementy? Obecnie bez problemu połączysz te elementy ze ścieżkami które będziesz prowadził na płytce za pomocą narzędzia Route . Poniżej małe błędy które musisz jeszcze poprawić http://obrazki.elektroda.pl/8127499900_1... GND powinno być skierowane ku dołowi. Sygnał z PD2 pokrywa symbol GND...
Z dwoma bajtami uC i Dallas w 5ms wyrobią się spokojnie. Problemem jest brak synchronizacji pomiędzy przerwaniami generowanymi przez Timer a funkcją Waitms. Ponieważ przerwanie występuje teraz co 5ms to można w nim ustawić flagę że własnie się zakończyło. Wtedy w pętli głównej możesz sobie spokojnie liczyć te flagi. 50x 5ms = 250ms co bardzo tu pasuje....
http://obrazki.elektroda.pl/6106634100_1... Przedstawiam projekt inteligentnej stacji meteorologicznej. Jest to nietypowa konstrukcja, zdolna do przewidywania temperatury powietrza atmosferycznego na kolejne 24 godziny. Wykorzystałem do tego celu sztuczną sieć neuronową. Stacja rejestruje co minutę wartość temperatury oraz prezentuje...
Aby kod łatwo było analizować używaj znaczniki SYNTAX: [syntax=c] tu wklej Twój kod [/syntax] Plik : HD44780.c Plik : HD44780.h Dodano po 25 Ja połączyłem je w ten sposób ale pewnie źle bo wystąpiły błędy w kompilacji. Proszę o pokazanie mi sposób połączenia tych dwóch plików w prawidłowy sposób. Pierwsze uwagi: - te dwa pliki to tylko...
Witam, jako że nie znalazłem gotowego rozwiązania na sensowne wysterowanie mojego ahu boxa (Type: U-Match Version: 1.02) postanowiłem spróbować samemu coś stworzyć . Na bazie płytki KINCONY A6 v1.3, oraz posiłkując się AI stworzyłem kod który mam nadzieje jak najbardziej optymalnie wykorzysta moc sprężarki, co powinno się przełożyć na koszty ogrzewania....
https://obrazki.elektroda.pl/5078506600_... Opublikowany niedawno raport wskazał, ze większość sprzedawanych poza oficjalną dystrybucją układów DS18B20 może być podróbkami lub kopiami, wykonywanymi przez inne niż Maxim firmy. Omawiany układ to prosty, cyfrowy sensor temperatury z interfejsem 1-Wire. Jeśli kupowaliście go na portalach...
Witam. Mam procedurę odczytu trzech czujników temperatury: [syntax=vbnet] Sub Odczyt_ds18b20 Reset Watchdog Disable Interrupts 1wreset Select Case Ktory_ds Case 0: 1wwrite &HCC 1wwrite &H44 Case 1: 1wwrite &H55 1wwrite Ds1(1) , 8 'adres pierwszego czujnika 1wwrite &HBE Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2) : Shift T , Left...
http://obrazki.elektroda.net/37_12577976... Witam! Przedstawiam projekt uniwersalnego sterownika kotłowni. Układ w założeniach ma być maksymalnie uniwersalny i posiadać różne funkcje przydatne w realizacji projektu automatyki domowej. Podstawową funkcją ma być sterowanie urządzeniami małej kotłowni (kocioł, panel słoneczny, pompy, CWU, podłogówka)....
pawel-jwe napisał: Spróbuj skompilować to w AVRStudio, tylko nie zapomnij zainstalować Winavr .. Niestety program nie ma nic wspólnego ani z AVRStudio ani z WinAVR. Wybaczcie, mój błąd ;) myślałem że chodzi o uC a nie PC.
http://obrazki.elektroda.pl/2389595600_1... Witam. Ostatnio postanowiłem udoskonalić mój http://obrazki.elektroda.pl/1942292000_1... Program w C również dużo się zmienił. Przepisałem go prawie od nowa. W przeciwieństwie do niedbale napisanego i niedokończonego softu w wersji 0.2x (includy .c w main, etc.), jest ładnie...
Wrzuć kompletny projekt.
Problem dotyczy możliwości utraty zawartości EEPROM dla układów DS18B20, DS18S20, DS1822 (Rev. B7): 1. Występuje bardzo rzadko i w specyficznych warunkach. 2. Nie można dokładnie określić partii towaru narażonej na błąd. 3. Utrata zawartości EEPROM-u powoduje stratę kalibracji i wartości rejestrów TH i TL 4. Utrata zawartości może nastąpić tylko w trakcie...
Witam ! Podłączyłem do Atmega16 3 sztuki DS18B20. Każdy na osobnym przewodzie, od 2 m do 15 m. Oczywiście linia do transmisji podciągnięta do plusa przez 4k7. Po podłączeniu czwartego czujnika, pojawiąją się ciągłe błędy w odczytach temperatury. Pojawiają się nagle, albo po dwóch dniach. Wystarczy odłączyć jeden z czujników i wszystko wraca do normy....
http://obrazki.elektroda.pl/8626529400_1... Witam serdecznie. Dziś chciałbym przedstawić kolejną konstrukcję, którą skończyłem jakieś 3 miesiące temu, zaś powstawała ona przez około pół roku. Spowodowane to było zarówno pracą, jak i studiami, które pochłaniały większość czasu. Założenia: -Urządzenie miało zastąpić wszystkie zasilacze...
Osiągnęliśmy postęp w pracach nad sterownikiem DS18B20. Większość czujników powinna działać. Więcej poprawek wkrótce. DS18B20 powinien działać z OBK w tych dniach. Zobacz: https://www.elektroda.com/rtvforum/viewt...
Witam wszystkich!!! W związku z tym, że potrzebowałem zrobić prosty termometr cyfrowy(dla wujka), postanowiłem wykorzystać do tego celu wyświetlacz LED z dekodera cyfrowego polsatu (echostar dsb-717 ). Dekoder był uszkodzony i leżał u mnie jako dawca części. Wymagań co do termometru nie było jakiś wielkich, musiał tylko wskazywać temperaturę, być dobrze...
http://obrazki.elektroda.pl/8359932900_1... W Wi-Fi i Bluetooth oparty o ESP32 . W porównaniu do wcześniej dostępnych modułów Charakterystyka ESP32 w porównaniu do ESP8266: -liczba rdzeni: 2 (ESP8266: 1) -WiFi + Bluetooth/BLE (ESP8266: WiFi) -RAM: 512kB (ESP8266: 160kB – 96+64) -ilość pinów GPIO zależnie od wersji: ~32 (ESP8266:...
Wyjąłem wyświetlacz, aby zobaczyć, co kryje się pod nim. HC32F005C6PA - to chyba będzie MCU, a 74HC595D - to driver do wyświetlacza. https://obrazki.elektroda.pl/4780271500_... Kwestia połączenia z chmurą też już się wyjaśniła, mój WBR1 jest uszkodzony, bo dostał zasilanie 5 V. Przerabiałem zasilanie DS18B20 na 5 V, bo sterownik jest...
Takie liczniki używam i świetnie się sprawują (LQ III wyszły już z produkcji). Przeróbka ich na impulsowe (dodanie i konfiguracja w serwisie to duża niewiadoma + 110 -150 zł za moduł oraz programowanie przez serwis - ponoć mają w serwisie kilka modułów). Oprogramowanie i wiedza tajemna dostępna dla wtajemniczonych serwisantów. Jeśli by ktoś był na tyle...
JA: Czy w tym programie zachodzi potrzeba zastosowania WatchDog. Jak duża jest możliwość zawieszania się programu przy pracy ciągłej? Claude Opus 4.1PRO: WatchDog nie jest prawidłową nazwą. Powszechnie używa się nazwy (WDT) WatchDog Timer Analizując przedstawiony kod termostatu, mogę ocenić potrzebę zastosowania WatchDog Timer (WDT) z kilku perspektyw:...
Witam , no i mam znów problem z innym programem , a mianowicie nie mogę go skompilować w ECLISPS-ie poniżej przesyłam kod File: main.cpp Version: 1.0 - first version Date: April 7, 2015 License: GPL v2 Digital Bench Power supply http://www.pocketmagic.net/digital-b... ****************************************...
Parę set moich sterowników obsługuje instalacje właśnie na Dallasie. Od jakiegoś czasu (kilka lat) to nie jest już Dallas tylko MAXIM. Tak na marginesie. Osobiście używam układu DS18B20 do pomiarów miejscowych. 10m skrętki komputerowej (z linki, nie drutu) podłączonej do konwertera (selfmade) 1-Wire na RS232 i programiku do odczytu temperatury (dostępny...
Kilka tematów ogarniesz centralką systemu SSWiN Myślałem o tym, nawet na tańszych systemach, ale elastyczność jest nieporównywalna przy korzystajniu z oprogramowania open source. Dodatkowo mając certyfikowany SSWiN dostaniesz zniżkę przy ubezpieczeniu domu. Niby tak, ale nie do końca: https://obrazki.elektroda.pl/4064211300_...
http://obrazki.elektroda.pl/4192018300_1... Witam! Postanowiłem przedstawić mój projekt urządzenia do rejestracji danych na karcie SD (tzw. data logger). Urządzeniu nadałem nazwę MADACU stanowiący skrót od szumnej nazwy Measurement And Data Acquisition Control Unit. Urządzenie miało być uniwersalne tzn. służyć do pomiaru temperatury,...
No niestety podmieniłem biblioteki i nic same błędy
Witam, Uaktualniłem Arduino do wersji 2.2.1 i teraz nie mogę skompilować małego programu dla DS18B20 - na kilka czujników. W poprzednich wersjach działał dobrze i bez problemów wgrywał się na ESP32. Compilation error: invalid conversion from 'OneWire*' to 'uint8_t' {aka 'unsigned char'} W kodzie nic nie zmieniałem - proszę o podpowiedź dlaczego są błędy...
https://obrazki.elektroda.pl/1992652000_... Rys.1. Sprzęt domowego browarnika w trakcie budowy. W ostatnich latach moda na domowe warzenie piwa eksplodowała: coraz więcej osób eksperymentuje z piwowarstwem domowym, które może zacząć się od rozrywki, ale potrafi przerodzić się w prawdziwą pasję. W rzeczywistości proces warzenia piwa...
Różne termometry: mój termometr elektroniczny, fabryczny, niby kalibrowany zawyża o 3 stopnie względem wzorcowego termometru rtęciowego. Względem niego DS18B20 zaniża mi temperatury o 2,5 stopnia, ale w rzeczywistości jest bliżej temp. rzeczywistej. Zależy też czego temperaturę mierzysz. Bo jeśli na termometr np. świeci światło to będzie zawyżał w stosunku...
Wpadł mi w ręce uszkodzony tuner TV-Sat Echostar DSB-717 i postanowiłem jakoś go wykorzystać. A właściwie nie cały, tylko płytkę z wyświetlaczami i mikrokontrolerem ATTiny2313. Układ mierzy temperaturę w 6 punktach z wykorzystaniem czujników Dallas DS18B20 przy rozdzielaczu co na podłogówkę i grzejniki. Mierzę temperatury: - zasilania i powrotu z podłogówki...
Witam. Czy włączyłeś optymalizację kodu: -Os ? Warto też dołączyć bibliotekę: "math.h" ponieważ używasz zmiennych double, zmniejszy to objętość kodu wynikowego; i zmiennym nadać volatile. Czy dobrze skonfigurowałeś projekt? Poniższe : char str Dodano po 12 Na temat "dtostrf()" i "sprintf()" poczytaj ich opis w AVR-Libc np. na tej stronie https://savannah.nongnu.org/projects/avr...
1) z DSami był spory problem z podróbkami, jest sporo wątków na ten temat w necie. 2) ja ich osobiście nie używałem 3) robiłem na termistorach 10k które podłącza się pod port analogowy i liczy temperaturę z użyciem logarytmu. Dobrze jest sprawdzić z użyciem garnka z wodą jaką stałą materiałową udało Ci się kupić, bo 10kom to nie jedyny ważny parametr....
Mam Atmegę8 i DS18b20 i w Eclipse i w MkavrC 8000000. Wynik na lcd -17024, a binarnie 1011110110000000. Dodam, że miało wyświetlić temperaturę w stopniach Celsjusza. Jeżleli ktoś ma ciekawe sugestie to ładnię proszę o pomoc. Pozdrawiam Poprawiłem tytuł na "język C", a nie "C++", gdyż kod jest kodem C. W przyszłości proszę rozróżniać języki.
ok zaprogramowało tylko chyba mam jakieś błędy w kodzie bo nie wyświetla temperatury, Pisze samo "Termometr" a czujnik temp mam podłączony. Co może być nie tak?
Witam Łatwiej transmitować sygnał cyfrowy na odległość, ewentualne błędy wykrywane mogą być przez CRC, przy czujniku analogowym obróbka zaszumionego sygnału jest kłopotliwa a kalibracja utrudniona. Piotr
Oryginalny czujnik to termistor NTC 100kΩ. posiadam informacje od producenta że sterownik jest oparty na czujniku DS 1820... Widzę "drobną" różnicę zdań. Reflekt Czy tak trudno obalić "teorię" kolegi Sam Sung ??? Wepnij potencjometr 100k i oglądaj wskazania temperatury lub .... kody błędów. Jak długi masz kabel połączeniowy? Przy ew. zasilaniu...
Z własnego doświadczenia wiem że czujniki są stabilne. A nie tak jak piszesz ze można mieć 5 różnych odczytów w krótkim czasie. Używam w systemie pomiarowym 70 szt DS18B20 odczytywane są co 15 sekund i wyniki są stabilne. Akurat u mnie nie ma wpływu powiew powietrza czy coś podobnego ponieważ czujniki są wbite w "doniczki" i mierzą temperaturę gleby....
Wg. schematu Duch__ ruszył za 2 razem bo za 1 razem miałem błędy programowe ale to z mojej winy, z 6 oceniam na 6+.
WItam Najlepiej zrób tak: linie DQ podłącz do pinu procka i podciagnij ją rezystorkiem 4,7kohm do +5V a mase do masy. Nie podłączaj zasilania czujnika. Ja miałem takie problemy własnie gdy wykorzystałem techlogię 2wire taka jak ty. Gdy zmieniłem tak jak Ci napisałem wszytko było już ok. Pozdrawiam Shevu
Jak ktoś ma zacięcie to proponuję dwa DS18B20 użyć do pomiaru wilgotności jako czujniki suchy mokry i z nich wyliczyć wilgotność. To naprawdę działa. Porównywalem odczyty z higrometrami które były wzorcowane i błędy były 1%. Nie testowałem pomiarów wilgotności poniżej 10 stopni i powyżej 40. Było mi to nie potrzebne. Wszystko rozbija się tylko o przepisanie...
Nie należy ignorować tylko stwierdzić co jest powodem odczytywania bzdurnej temperatury, brak presence, brak danych, złe crc (o ile biblioteka je czyta i sprawdza co jest rzadkością) i zaradzić temu jeśli się da. P Całkowicie się zgadzam. Pisząc "ignorować" miałem bardziej na myśli bardziej to, żeby tego nie wyświetlać ;) Sądzę, że jeżeli takie błędy...
Podłącz klasycznie 3 przewodami na próbę z 5V. Ja straciłem cierpliwość do dwuprzewodowego łączenia tych termometrów. Przy 7 sztukach w sieci jeszcze jakoś tam mi to chodziło (pojawiał się błąd 85C). To nie błąd tylko padnięcie zasilania. Jak dodałem 8-y to wszędzie 0C Oprogramowanie do du.... bo na 100% błędna była CRC. Czy pomiar nie był przypadkiem...
Witam Mam problem z programem, który został umieszczony w książce (osła łączka). Program został napisany pod attiny2313 lecz niestety podczas kompilacji wyskakuje błąd: Reserved word may not be used Proszę kod umieścić w znacznikach code! Robak
Najlepiej będzie jednak jak pokażesz kod. Algorytm odczytu ROM-adresu rzeczywiście powinien wyglądać tak jak opisujesz. Być może uda się dostrzec jakieś błędy w samej funkcji.
nie pokazuje mi temperatury niby trzeba trzymać przycisk s1 na pierwszy cujnik ds18b20 i go wpisać ale niestety to nie działa A czujnik masz dobry? Oryginalny i sprawdzony? Poczytaj ten wątek: https://www.elektroda.pl/rtvforum/viewto... Więc jeśli masz taki czujnik, szczególnie taki, który nie do końca działa zgodnie z oczekiwaniami,...
Kolego, montuj normalnie swój przewodzik który masz, to jest bardzo odporny protokół transmisji. U mnie działa około 18 czujników na przewodach w bardzo losowej topologii i mieszanym okablowaniu. Łączna długość przewodów to dobre 200m i wszystko działa jak należy, a przewody od czujników są blisko kabli energetycznych, alarmowych itp. Wszystko działa...
Zapewne źle napisane oprogramowanie - obsługa czujnika temperatury powoduje opóźnienia lub błędy w obsłudze wyświetlacza, albo na odwrót.
Dziękuję za pomoc. Problem rozwiązany. Błędy były powodowane przerwaniami obsługi wyświetlacza. Po kilku zasugerowanych modyfikacjach wszystko działa bez zarzutu. Pozdrawiam, Łukasz
Witam. Oto mój dom a w nim rozmieszczone czujniki ds18b20. Jest ich bodajże 17. Połączone pasożytniczo. Rezystor pociągający to 1,5K. https://obrazki.elektroda.pl/7623008200_... Co jest grane że gdy dodam jeszcze czujników w kotłowni to zaczynają wszystkie zawyżać temperature? Przy dodatkowym jednym mam średnio o stopnień C więcej....
Witam, Potrzebuję porady co zrobić? Zbudowałem sterownik odpowiadający za pracę kotłowni + solar. Sercem jest Atmega 328 połączona z tabletem ARV + VisualBasic. Chcąc zabezpieczyć kotłownię i solara zainstalowałem aku 24V 225Ah i zakupiłem do niego przetwornicę firmy Volt pełny sinus. I problem. Po przełączeniu się układu na zasilanie awaryjne nie mam...
(at)Grzegorz_Ni Skoro masz problem z komercyjnym modułem, to chyba lepiej zapytać o rozwiązanie producenta? Skoro na 30m nie działa, po podłączeniu kablem rekomendowanym przez Dallas, twórcę standardu 1-wire, to znaczy, że skopany jest kupiony kontroler - błędy elektryczne, lub softwarowe. Chyba, że producent wprost określa, że moduł obsługuje tylko...
Tak mam je dodane, mimo to wywala błędy PS: Posiadam je z tej samej strony, którą podałem wyżej
Błędy z RTC już nie aktualne. Okazało się, że układ był źle podpięty. Jedyne co to mam jeszcze problem z tymi czujnikami temperatury, ale sprawdzę jutro jeszcze luty i zobaczę wtedy.
Znaczy i to i to. Po pierwsze na czas samego wysyłania komendy interfejsem 1wire należy zablokować przerwania (bo po co prosić się samemu o błędne pomiary), a kontrola sumy CRC jest obowiązkowa tak czy inaczej, bo ona pozwoli nam wyeliminować błędy związane m. in. z zakłóceniami.
Podłączenie czujnika sprawdzane kilka razy więc błędy być nie powinno, po jego odłączeniu wyświetlacz wskazuje -------- czyli dostajemy PRESENCE od czujnika.
Mogę naprowadzić: zapominasz o kodzie, który widziałeś, a który korzysta z delay() i robisz wszystko od nowa na przerwaniach. Problem w tym, że przerwanie związane z obsługą DS18B20 powinno wywłaszczać przerwanie wyświetlacza, co na ATmega w zasadzie jest niemożliwe. W związku z tym wypada rozejrzeć się za obsługą DSa przy użyciu UARTa, co daje pewne...
[syntax=c]/* Plik "main.c" PD4,PD5,PD6,PD7 - przyłączone czujniki ds18b20 PA0-PA6 - wyswietlacz LCD */ #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "hd4478.h" #include "ds18b2.h" #include <avr/interrupt.h> char str[20]; char inout[20]=" IN OUT "; /* Zmienna przechowuje aktualną wartość temperatury */...
Nie zawsze musi to być coś "skopane" w programie żeby się czujnik resetował. Ten sposób nie został wymyślony po to by zamaskować jakieś trudne do odnalezienia błędy w wykonaniu (choć może być używany). Problem występuje kiedy czujnik jest używany w zasilaniu pasożytniczym przy obecności np. takich odbiorników jak silniki elektryczne sterowane stycznikami....
Witam . Na wstępie zaznaczę iż nie jestem informatykiem , i próbuję jako hobby pracy z Arduino - nadal uczę się C++ ... walczę z projektem do kilku tyg. i ciągle padam na ... stabilności . Projekt : termometr z zapisem na kartę SD ( nazwa pliku - {data_aktualna}.csv Pomiar za pomocą DS18B20 Arduino Uno ( docelowo miał być Nano ) Program napisałem ......
Kolego emarcus, mógłbyś mi ten kod doprowadzić do poprawnej postaci i wystawić tu na elektrodzie? Przeanalizował bym sobie swoje błędy i później może bym ich nie popełniał przy pisaniu następnych programów.
Próbowałem już wszystkiego DS-y zawyżają temperature na 100% lub błędy w kodzie.(3 miesiące z tym walcze) zamówiłem kolejne dwa DS-y.
Wiem, że programator USBASP kosztuje 20zł lecz jeśli posiadam już arduino to chciałbym je wykorzystać. Podejrzewam że jest coś źle z bibliotekami do termometru i do lcd ponieważ błędy pojawiają się takiego typu: sketch_nov24b:265: error: 'ds18b20_Read' was not declared in this scope lub strasznie dużo jest podobnych błędów do: C:\Users\xxxx\Documents\Arduino\librarie...
Tak jak pisze kol. (at)BlueDraco nie ma powodów, aby czujnik był zasilany inaczej niż procesor. Całość może działać na 3,3V, co upraszcza układ. Spadek napięcia będzie żaden na 20m, policz sobie go z prawa Ohma. Błędy eliminuje się poprzez sprawdzanie CRC dla transmisji, zresztą sam UART eliminuje część błędów, gdyż bity są samplowane wielokrotnie,...
Tylko to tak bez sprawdzania błędów i zakładając że separatorem są spacje lub taby. Oraz skoro i tak używasz floatów, to już lepiej strtof; tmf napisał: Użyj sscanf i odpowiedniego ciągu formatującego. No tylko, że domyślnie sscanf nie zawiera obsługi formatów zmiennoprzecinkowych. A włączenie jej "nieco" zwiększy rozmiar kodu wynikowego. Mam zajęte...
Witam. Po pierwsze napisz w jaki sposób podajesz stan wysoki na linie IO. Po drugie niezapominaj o czasie min 750ms zwłoki potrzebny do konwersji. Po trzecie sprawdź czy nie występują błędy w czasie komunikacji. To tyle na początek. pozdrawiam
Daleki jestem, aby moje rady były wyznacznikiem wiedzy, ale w moim projekcie, którym też miałem dalasy też mam problemy z danymi z kosmosu. Co do twojego pytania czy przerwania mogą przeszkadzać w odczycie? Z mojego skromnego doświadczenia tak. U mnie przy projekcie po dodaniu obsługi przerwań zaczęły występować błędy również gdzieś na forum znalazłem...
Tu nie chodzi o kłótnię tylko o rozpoznanie problemu. Jestem chłodniarzem i pomiary ciśnień panujących w układzie to podstawa diagnozy. Lodówki takiego pomiaru bez dodatkowych prac i ingerencji w układ chłodniczy nie umożliwiają. Nawet pomiary temperatur parownika są niemożliwe. Trudno znaleźć sondę pomiarową średnicy kapilary termostatu. A nawet jak...
Nie, program zadziała nawet przy odczycie od razu po convert_t. Otóż ds w rejestrze cały czas trzyma dane, a są one zmieniane tylko po pomiarze, czyli po ok. 750ms od polecenia konwersji(przy tej resolution). Wtedy jednak narażamy się na błędy odczytu, gdy trafimy na moment update rejestrów ds'u.
Przy transmisji 1-wire też mogą wystąpić błędy, po to sie sprawdza CRC żeby wykluczyć ich występowanie. W przypadku 1-wire bardzo istotne jest dobre dobranie czasów wiec błędy mogą wystąpić. A tak poza CRC to ile dajesz DS-owi na obliczenie temperatury? Jaką rozdzielczość ustawiłeś w DS18B20 ? Standardowo jest 12 bitów nie tak jak w DS18S20, DS1820...
No może z tym producentem trochę przesadziłem, ale sam kiedyś robiłem testy i działało, ale zdarzały się relatywnie znacznie częstsze błędy CRC niż w przypadku odczytu po 750ms (w takich samych warunkach zakłóceń). Z drugiej strony nic też nie wiadomo o tym, jak dane są przepisywane z rejestru sensowa do obszaru scratchpad.
nie mi chodzi czy wiesz co ty ustawiasz ? (a gdybys wiedzial co ty robisz to by tego tematu nie bylo) napisalem ci kod sprawdz czy dobrze napisalem poza tym brakuje config lcd Błędy w Locate co to znaczy Locate 12 , 2 ?
Witam. Tu ktoś miał co nieco podobny problem. http://forum.ep.com.pl/viewtopic.php?p=8... Okazało się że wartość rezystorów podciągających R2 i R3 wynosząca 4,7k dla niektórych czujników DS18B20 jest za wysoka. Jeżeli występują błędy pomiaru temperatury należy zmniejszyć wartość rezystorów R2 i R3 do 2,2k.
oczywiscie ze podciagnołem, jak na razie z jednej strony przy wyswietlaczu 3,3k ale czytałem o 1k z obu stron Dodano po 5 Moment bo teraz nie kminie rozumiem że może będą błędy w transmisji danych ale nie powinien się sterownik od tego zawieszać.
W nocie katalogowej tego układu jest podany czas jaki maksymalnie może upłynąć od wysłania rozkazu konwersji temperatury do podania strong pullup. Stosowałem tę metodę na avr bez żadnych problemów. Sprawdź czy naprawdę procesor wystawia duży prąd na port. Nie napisał kolega nic o tym co oznacza stwierdzenie "nic takie rozwiązanie nie daje". Nie wiadomo...
Rzeczywiście nie zauważyłem w nocie katalogowej że to widok od dołu. Dziś rano kupiłem kolejny czujnik ale podłączyłem go na wszelki wypadek inaczej (znalazłem schemat) czyli dwie zewnętrzne nóżki do masy a środkową do uC oraz przez rezystor 4,4k do zasilania. Program Stefana działa :) Wielkie dzięki koledzy bardzo mi pomogliście:) PS Niektórzy dopiero...
Jesli ktoś miał by pomysł jak to ogarnąć w bascomie to bardzo proszę o propozycję. Przecież napisałem. Przenieś Triak = 0 do Triakwl: i poprzedź Waitus . Na czas transakcji 1-wire wyłącz przerwania. Jak będzie zawieszał przerwania na całą transmisję 1-Wire to będzie mu migać. Może spróbować, jak pisałem wcześniej, zawieszać na 15us przy transmisji...
Błędy które popełniłem: 1.Zdefiniowałem funkcję read_temperature, ale jej nie wywołałem. 2. Na początku podłączyłem w trybie parasite, a kod którego użyłem jest dla trybu z zew. zasilaniem. Teraz śmiga aż miło. Pozdrawiam.
Błędy w bibliotece, zakłócenia na magistrali lub problemy z zasilaniem. Odpytaj wszystkie komendą sprawdzającą rodzaj zasilania, i czy zasilanie ich jest dobrze odfiltrowane. Schemat i kod by nie zaszkodziło udostępnić do wglądu. Pozdrawiamm GSM
- Wyświetlanie temperatury z 4 czujników: -wody w basenie -powierzchni dachu -zewnętrznej -wewnętrznej w domu Pamiętaj o zabezpieczeniu ESD. Najlepszy jest DS9503. Jak nie chcesz aby awaria jednego czujnika nie zablokowała wszystkich, zrób osobne magistrale. Doskonale do tego nadaje się DS2482-800. Jak nie chcesz się wykosztować, to użyj uC z odpowiednią...
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...
Zimowe wieczory i odrobina wolnego czasu spowodowały, że i ja w końcu złożyłem swój zestaw. Kod nie jest mój - bazowałem na pracy kolegi sztapl. Też moja pierwsza zabawa z Arduino zatem wszystko robione metodą prób i błędów z pomocą sieci. Zatem: 1. Sterowanie przekaźnikami stanem LOW 2. Ponieważ nie mam wyświetlacza z I2C (jeszcze) zadana temp. oleju,...
dziękuję za podpowiedź ale zostanę już przy arduino (pomału zaczynam ogarniać kuwetę). potrzebuję rozwiązać problem pomiaru z ds-ów. Dodano po 13 wymotałem taki kod [syntax=c]#include <DallasTemperature.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <OneWire.h> #define ONE_WIRE_BUS 0 OneWire oneWire(ONE_WIRE_BUS);...
ok bledy naprawione ale zwraca mi zmienna 0.0 z termometru może źle zainicjowany jest pin do dq i procesora bo używam go do termometru i jednocześnie wiatraka a moze mam jakis błędny odczyt... na modulestartowym i w artykule do niego przeznaczonym pisze ze termometr to ds1820 na nim wygrawerowane jest DALLAS ds18b20 jest to roznica ktora moze spowodowac...
Witam, Od pewnego czasu spędzam godziny czasu na pisaniu dosyć niespotykanego kodu. Jako, że kilka urządzeń zbudowało się na AVR'ach czy ARM (cortex-m0) z użyciem C i sławnego środowiska AVR Studio i uVision. Przeglądając internet zabrakło mi Object Pascala w mikrokontrolerach. Tak wiem jest micro Pascal, ale to komercja i szczerze nie miałem z tym...
Po dłuższym obcowaniu z Domoticzem zauważyłem, że program ma pewne błędy i często pobiera on informacje z "kosmosu". Podobnie było ze sketchem na dwie rolety, który pokazywał rolety, przełączniki i jakiś plik tekstowy. Przez długi czas męczyłem się z pogodzeniem w jednym sketchu czujników DS18b20 i DHT11 i do teraz nie wiem jakim cudem Domoticz odczytywał...
A mam jeszcze taki jeden pomysł. Bo błędy będzie Ci wywalać przy próbie operacji na zmiennych różnych typów. Wszystkie zmienne w BASCOM które poddajesz operacjom muszą mieć zgodne typy. Więc prześledź jeszcze raz program lub podaj go tu na stronce może my conieco wypatrzymy :)
Pytam więc czy jest alternatywa? Sprintf odpada. LCD działa dobrze, wyswietla teksty. Odczyt temperatury też jest poprawny. W innej wersji programu szczytuje kolejno bit po bicie do tablicy[12] i wyswietlam wynik w postaci binarnej...po przeliczeniu temperatura się zgadza. Błędy są dopiero wtedy kiedy zamieniam wynik jak w kodzie powyżej i próbuję go...
Witam, To: If T(2) = 0 Then Temp = T(1) / 2 Else I = 256 - T(1) End If If Temp < 0 Then Set Portb.7 Temp = -temp End If nie będzie Ci działać tak jak się tego spodziewasz, bo w Bascomie typ BYTE jest bez znaku (0-255), ale zamień "< 0" na "> 127" i masz już prawie wszystko na talerzu. Tu też jest błąd: If T(2)...
Witam Jestem początkujący jeśli chodzi o pisanie programów. Postanowiłem się przemóc i stworzyć coś prostego. To jest próba napisania mojego pierwszego programu w Bascom. Układ oparty jest na Attiny13 i czujniku DS18B20. Jeśli temperatura spadnie poniżej -1st C, to ma się zaświecić LED. Ustawiłem rodzaj mikrokontrolera, port do którego jest podpięty...
Oba protokoły są zaprojektowane do transmisji na krótkie odległości. To jest względne. I2C to raczej centymetry, 1-wire to nawet setki metrów... W przypadku 1-wire istotna jest rezystancja, w przypadku i2c pojemność użytego medium. W obu przypadkach istotna jest pojemność, gdyż w obu przypadkach mamy stan recesywny osiągany pasywnie przez pull-upy....
Zamiast kombinować odczytuj temperaturę + CRC. Jeśli czujnik jest niepodłączony to odczytasz same 0xFF, czyli CRC będzie nieprawidłowe dla odczytanego ciągu bajtów. Zresztą także podczas normalnej pracy należy sprawdzać CRC przesłanych danych, gdyż możesz wykryć w ten sposób niektóre uszkodzenia czujnika, lub zakłócenia transmisji.
Jestem miło zaskoczony tak sporym zainteresowanie za co dziękuje. Demeus a nie miałeś problemu z tą biblioteką, napisałem ten program co proponujesz dodałem biblioteki ale ciągle wywala mi błędy typu: undefined reference to 'DS18X20_start_meas' undefined reference to 'delayloop32' undefined reference to 'DS18X20_read_meas_single' undefined reference...
Witam. Miałem podobny problem. Początkowo nie widział Ds'a a później też miałem jakieś błędy w odczycie temperatury. Tyle, że w moim przypadku program był w Bascomie. Dołożyłem zewnętrzny kwarc 8Mhz i ustawiłem w fusebitach na zewnetrzny (spotkałem się na forum z problemem, że Ds'y czasem nie pracują poprawnie na wewnętrzym oscylatorze). Ewentualnie...
To żeby było poprawnie co powinienem zmienić? (chyba nic, bo temperaturę odczytuje teraz poprawnie na /16 pomimo zmiany rozdzielczości- też do końca nie znam się na programowaniu ds'ów ponieważ dopiero jestem początkującym) edit: wyeliminowałem błędy filtrując to co odczytuję z ds'a taką oto częścią prymitywnego kodu while(1) { wyswietl_temp();...
Wygląda na to, że sprawa się sama rozwiązała. Miałem podpięty czujnik DS18B20 pod ten sam pin co programator (PB7\SCK). Po przepięciu czujnika zachowanie uC wróciło do normy. Mam jeszcze pytanie-czy w takim razie, możliwe jest odratowanie w jakiś sposób uC które przy próbie połą... avrdude: error: programm enable: target doesn't...
witam. wartość 85oC to jest wartość początkowa fabrycznie zapisaną w DSie, po włączeniu zasilania i odczytaniu danych z DSa bez dokonania wcześniejszej konwersji otrzymasz właśnie 85oC, i dana ta może być utrzymana jeżeli nie działa ci szyna, lub nie poprawnie wysyłasz polecenia, sprawdz parametr ERR, jeżeli wywali ci ERR=1 to oznacza błędy w działaniu...
błędy ds18b20 ds18b20 błędy odczytu termostat ds18b20
fotokomórki bramy radio panasonic wtyczka outlook indeksowanie
zmywarka whirpool wgranie plików rozruchu
Pralka Haier - Woda w dozowniku na płyn do prania Żarówki w przednich lampach Chrysler 300 2014