Zakładam, że temp -127C jest błędem A dokładniej < -50C lub > 50C Naukowa metoda :-) Tak naprawdę to nie wiesz co się dzieje ma magistrali! Czy brak odpowiedzi na reset, czy złe CRC jak w ogóle jest czytane a wątpię w to. Sprawdzaj CRC! Wcześniej jednak zrób sobie log co się dzieje na magistrali: - reset - presence - search rom (tu masz crc)...
Podpięte w trybie normal czy parasite? Pokaż kod. Timingi ok?
Nie wiem co rozumiesz przez stwierdzenie: " aby regulacja temperatury była zależna od czasu", jak i kiedy realizujesz obsługę przerwań ale błędy odczytu temperatury prawdopodobnie są wynikiem zakłócania cyklu odczytu ds-a przez przerwanie od timera. Poczytaj o zależnościach czasowych 1-wire. Jest to interfejs asynchroniczny i musisz zapewnić aby poszczególne...
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....
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...
a nie lepiej podłączyć wszystkie czujniki do jednej szyny? Wydaje mi się, że tak jest łatwiej i mniej będzie problemów.
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...
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:...
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_...
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...
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.
Tak mam je dodane, mimo to wywala błędy PS: Posiadam je z tej samej strony, którą podałem wyżej
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.
(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...
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...
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...
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...
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.
- 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ą...
Po podłączeniu kolejnych czujników zmienia się obciążenie linii/pojemność itp. Konieczne będzie dopasowanie czasów w funkcjach obsługi 1wire. Np. opóźnienie lub przyspieszenie odczytu bitu z linii o 2us. Co do CRC to liczysz tak samo jak CRC scratchpada z temepraturą. CRC z numeru seryjnego (z 8 bajtów) powinno wynieść 0. Jeśli != 0 to błędnie odczytany...
Na pewno popełniłeś błąd w odczycie bitu. Magistrale masz próbkować przed upływem 15us od chwili wymuszenia niskiego poziomu przez master, ty robisz to po upływie ponad 18us. Swoją droga masz jakiegoś pullupa na magistrali? Bo jeśli nie masz i DSa zasilasz z magistrali to musisz dać standardowo 4,7k dla 5V, a jesli zasilasz DSa z osobnego źródła i nie...
Mam następujący problem: Napisałem w Bascom'ie program do odczytu 2 temperatur (na 2 różnych pinach) drugim zadaniem programu było przetwarzanie sygnałów odebranych z komputera i otwieranie odpowiednich wyjść jednak zauważyłem ze gdy brakuje jednego termometru następują błędy transmisji lub jest ona mocno opóźniona. Config 1wire = Portd.5 1wreset 1wwrite...
Samo CRC wykryje błędy transmisji, oczywiście nie jest to w 100% skuteczna metoda, ale szansa odebrania błędnego pakietu z prawidłowym CRC jest bardzo mała. Co do temperatury - jeśli pomiary nie muszą być zbyt często to można zastosować np. majority voting - robisz np. 3 pomiary i pomiar odstający odrzucasz. Jeśli wszystkie 3 pomiary się mocno różnią...
Witam ! Schemat ma błędy ( brak rezystorów np. 470om szeregowych z LEDami ), niezgodny z kodem, co najmniej w jednym miejscu: pin nr 1 ATmega8 nie powinien być podłączony z LCD tylko ( typowo ) przez rezystor np.4,7k do +5V, natomiast połączenie (LCD z ATmega8) pin nr13 LCD powinien być przełożony z pinu nr1 ATmega8 na pin nr3. Problematyczne może być...
to ma tak wyglądać? 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksišżki "Mikrokontrolery dla Poczštkujšcych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwo?ci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 , 17 ,...
Witam, Dokumentacja do DS18B20 mówi tak że jeśli odczytana temperatura z czujnika wynosi 85 to czujnik nie wykonał jeszcze poprawnego pomiaru temperatury i pokazuje defaultową (standardowo ustawiną pierwotną temperaturę w rejestrze). Jeśli po podłączeniu czujnika widzisz 85C to oznacza że transmisja jest w miare poprawna (stwierdzenie w miarę poprawna...
Tak dokładnie to jest konwersja na kod binarny Wolałbym ominąc pisanie kodu w asm, chodzi mi zeby jak najszybciej uruchomic DS'a i chciałem tylko zobaczyc czy dobrze działa na terminalu. :) Ale teraz musze wyszlifowac czas, bo otrzymuje na terminalu same zera, co jest dziwne:/ Napewno resetowanie 1-wire jest dobre bo sprawdziłem wrunkiem if(reset_wire()==0)....
Usunąłem Wait 1 przy konwersji z DS18B20, działa, bez problemu ( na trzech przewodach ), tylko wyniki są opóźnione - tzn. wyświetlany wynik nie jest z aktualnego pomiaru, tylko z poprzedniego. Dodałem jeszcze dwa czujniki DS18B20. Ich zapis razem z godziną i datą na karcie jest jak najbardziej w porządku, tylko wyświetlanie trochę szwankuje - tzn. czasem...
Siema Mam taki problem ze podczas odczytu z termometru wiesza mi sie aplikacja. Niewiem w czym problem. Zajmuje sie tym dopiero od niedawna. I jest to moja 1 aplikacja sterująca Ds18B20 przez RS232 C O to kod : #define cbOutQueue 0x20 #define cbInQueue 0x20 ZMIENNE : TForm1 *Form1; char Buffer_O Dodano po 1 Aha zapomniałem dodać ze robie to pod Win...
Udało mi się połączyć kod, i dopasować preskalery do Atmegi ale podczas kompilacji napotykam błędy których kompilator nie może dokładnie określić prosiłbym o sprawdzenie całości i ewentualne poprawki [syntax=c]//Sterownik wytrawiarki PCB, LCD2x16, ds18b20 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h>...
Jeszcze się zastanawiam, czy nie lepiej będzie zamiast Lsb i Msb odczytanej temperatury pobierać obliczoną wartość przed przecinkiem i po przecinku ? Tzn. wynik pomiaru temperatury będzie przesyłany przez RFM12 - chyba prościej będzie mieć gotowe, czyli wysyłam: Dodano po 4 Jednak coś nie tak jest. Zrobiłem to tak: Dodano po 2 Nie rozumiem. Po dwóch...
Łą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...
Tam jest użyte słowo "może" co znaczy że błąd może wystąpić ale nie musi. Ja u siebie nie dostrzegam błędów, porównywane z kilkoma termometrami rtęciowymi. Dodaje fotki i wsad nowej wersji termometru oraz schemat i wzór PCB. Dodałem obsługę 2 przycisków (wyświetlanie temp. maksymalnej i minimalnej, oraz resetowanie tych wartości). Płytka PCB powstała...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Witam wszystkich! Pewnie pomyślicie "znowu to samo", no ale zlitujcie się w Wigilię i przeczytajcie te kilka zdań :D Walczę z problemem od kilku dni. Nie potrafię skonfigurować Timera by konwertował dane z 1wire poza główną pętlą. Nie mogę sobie pozwolić na waitms, bo wtedy mam problemy z poruszaniem się w menu. Mam już działający Timer1 odliczający...
Witam. Na wstępie przepraszam za mało czytelną nazwę w temacie ale nie wiedziałem jak inaczej opisać mój problem w tak małej ilości znaków. Temat powinien brzmieć: $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 '-- Wejscia przycisków Config Portb.4 = Input Config Portb.5 = Input ' -- podciągnięcie Set Portb.4 Set Portb.5 ' -- porty...
Witam[syntax=basic4gl]' ----------------------------------------... ' The support for this display has been made possible by Peter Küsters from (c) Display3000 ' You can buy the displays from Display3000 or MCS Electronics ' ----------------------------------------...
Co z tego że wywołujesz procedurę PRZYCISKI, jak nie "mówisz" Select Case gdzie ma przejść, to bez sensu. Musisz do zmiennej "Nr_przycisku" wpisać jakąś wartość.\ Jeśli chcesz by działało np. CASE 5 to musisz zrobić "Nr_przycisku = 5" Po chłopsku: SELECT CASE, to tak jak WYBIERZ CASE. Czyli do zmiennej ""Nr_przycisku" musisz przypisać wartość CASE X:,...
Witam Pewnie zaraz mnie tu Napadniecie ale walczę z dwunastoma czujnikami DS18B20. Otóż: Domyślnie w systemie ma pracować 12 sztuk czujników (ale chciałbym mieć możliwość dołożenia kolejnych). Oczywiście muszę sterować nimi znając ich seriale. Nie chcę umieszczać ich seriali w programie na stałe bo jak coś padnie to będzie lipa. Więc muszę wyszukać...
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Blad odczytu z DS18B20 objawia się odczytem temperatury -127 st., tyle, że może to również oznaczać błąd czujnika, brak łącznoeci itp., więc nie jest to jednoznaczne z brakiem zasilania. Pozdr
Jesteś jednym z pionierów bo sprzęt drogi i mało popularny, więc sam musisz sprawdzić co się dzieje. Pierwsze co bym sprawdził, czy piny IO działa OK - miganie LED, potem kup sobie jakiś analizator Saleae (klony na Allegro kilkadziesiąt PLN), w programie Saleae Logic masz dekoder 1-Wire, możesz podejrzeć co się dzieje na magistrali, czy to Arduino nie...
po pierwsze wez w palce czujnik i sprawdz czy temperatura sie podniesie po drugie wstaw do programu funkcje error bo jezeli wskazuje 15 to znaczy ze odczytales z czujnika temperature 15 stC
ale to jest procedura do DS18S20, który różni się nieco formatem podawanego wyniku od DS18B20 ;)
Nie powinieneś odczytywać (getTemp) temperatury częściej niż wysyłasz żądanie (requestTemperatures) jej odczytu, bo wtedy odczytujesz ostatnio zapamiętaną wartość w DS18B20. Program też nie sprawdza, czy wystąpił błąd odczytu. Przeanalizuj sobie przykłady w: https://github.com/milesburton/Arduino-T... Ponadto...
Po pobieżnym przyjrzeniu się programowi nasuwają mi się takie wnioski. 1. Zadeklarowałeś wejścia, ale zostawiłeś je jako "pływające". Powinieneś port-y przycisków podciągnąć do plusa, czyli ustwić stan wysoki =1 2. Nie widzę deklaracji dla magistrali 1wire dla DS-ów i całej procedury odczytu i zapisu danych do pamięci. Być może to celowe na tym etapie,...
mam nastepujacy problem mam program ktory po nacisnieciu klawisza pokauje mi temp. Problem w tym ze zawsze po nacisnieciu go 7 raz pojawia sie -12 C a potem 2 razy oki . I krzaki a potem reset Fragment kodu: Sub Read1820 Wait 1 1wreset 1wwrite &HCC 1wwrite &HBE Bd(1) = 1wread(9) 1wreset Tmp = Bd(1) And 1 If Tmp = 1 Then Decr Bd(1) T = Makeint(bd(1)...
Problem rozwiązany. Okazało się że podciągnięcie z 3,3v przez rezystor 4,7kOhm było niewystarczające. Wystarczyło zmienić podciągniecie na 5V.
Zeppo, czym to kompilujesz? Czy kompilator nie czepia się przy instrukcji TRIS? Ja bym się od razu przyczepił (na jego miejscu). Instrukcji "TRIS" oficjalnie już nie ma. Zamiast niej powinieneś w swoim programie używać takiej konstrukcji: bsf STATUS,RP0 ; ustaw bank 1 movlw b'00000001' ; ustaw pin RA0 movwf TRISA ; jako wejście bez podciągania bcf STATUS,RP0...
Nie kojarzę już przy jakiej okazji otrzymywałem ten błąd. Ale zaproponować Ci mogę skorzystanie z tych kodów:[url=http://www.stsystem.elektroda... czujnik, [url=http://www.stsystem.elektroda.eu/pr... czujników. Kody działają w 100%, pochodzą z wdrożonego rozwiązania. Przyjrzyj...
;* ;***************************************... ;*PROCEDURA WYLICZANIA SUMY KONTROLNEJ Z NUMERU SERYJNEGO UKŁADU 1-Wire ;***************************************... ;* ;* ;*******************************OPIS****... ;*Kolejne bajty numeru seryjnego...
a 8MHz masz?:> Sprawdź PCB Rezystor 4.7kΩ masz na linii danych? Może podaj konkretnie co pokazuje sie na lcd. "Przyczepiliście się" :D do sprzętu , a żaden z Was nie zajrzał do kodu ;) A błąd ukrył się sprytnie , w deklaracji zmiennej T1 , która powinna być typu Integer , a jest ... :?: Piotrek
Podejrzewam, ze jest jakis bład w algorytmie interpretacji odczytanych ajtów z termometru. Z ciekawosci wlazlem na http://pdfserv.maxim-ic.com/en/ds/DS18B2... i jest tam tabelka przykładowych wskazań dla wybranych temperatur. Nie znając programu niemożliwe jest powiedzenie czegos wiecej. pozdrawiam
no masz rację pomyliłem się tylko jak z tym odczytem ?
Była seria DS18B20, które potrafiły sie rozkalibrować. Błąd sięgał +/- 2 stopnie. Był taki temat na Elektrodzie.
Ta linia powinna być w przerwaniu Wtedy będzie miał błędy odczytu termometru gdy DS18B20_STOPINTERRUPTONREAD != 1 a gdy DS18B20_STOPINTERRUPTONREAD == 1 to multipleksowanie będzie działać źle. Ten kod jest słaby. Z najważniejszych błędów to, nie sprawdza crc, zawiesza na długo przerwania a wystarczy na czas transmisji bitu gdy wystawiane jest 0 na...
Może ja wyjaśnię jaśniej. Generujesz przerwanie od timera np. co 800ms, czy 1s. I w przerwaniu wykonujesz operacje: 1. Odczyt temperatury do zmiennej 2. Komenda Convert_T Odpowiadając na Twoje pytanie - 750ms to MINIMALNY czas między CONVERT_T a odczytem (dla 12-bit). Więc odczyt po 1, 2, 3600 sekundach po CONVERT_T nie jest błędem. Dzięki takiej metodzie...
dokładnie tak tylko że to nie ma się dobrze wyświetlać tylko poprawnie działać w programie wyświetlam to dlatego że nie bangla
A nie pomyślałeś, że można znależć przyczynę błędów i ją wyeliminować ?
Z drugiej strony, chyba nie ma sprawdzania na stronie pinów, czy kanały są używane więcej niż raz? nope Dodano po 10 . https://obrazki.elektroda.pl/9556512700_... https://obrazki.elektroda.pl/2654776200_... https://obrazki.elektroda.pl/6765104000_... Debug:SENSOR:D S1820 - .... Znaleziono pin 19! dsread=0...
https://obrazki.elektroda.pl/1760348500_... Witam. Mam już w posiadaniu kolejny czujnik temperatury DS18B20. Czujnik ten podłączyłem zgodnie ze schematem umieszczonym na zdjęciu. Do jednej dużej podpiąłem 5V, do drugiej Dane (pin cyfrowy np: 13) oraz GND, z Arduino. Dodatkowo umieściłem rezystor 4,7k ohm, w celu dokładnego odczytu...
Ok, znalazłem wśród zapasów takie DS-y przy których błąd pomiaru jest skorelowany.
Skoro dwa czujniki widzi to ja bym spróbował znaleźć te dwa które widzi. Źródłem problemu może być też budowa portu wyjściowego na TX, dla 1wire musi być otwarty kolektor/dren, inaczej port sam w sobie będzie wprowadzać błędy.
Oki poszło wielkie dzięki banalny błąd a tyle nerwów Przepraszam admina więcej błędów nie będzie :)
Skoro program działał to może coś z ustawianiem taktowania uP się "wysypało" ? Jako , że tutaj czasy opóźnień są strategiczne, to podczas programowania (w Makefile) musisz podać prawidłowy zegar taktujący. Może tutaj jest błąd?
(...) y jeżeli elektronicznie podłączenie jest sprawne, zaproponujesz listing (AVR GCC) testujący taka "obciążoną" magistralę wyświetlający adresy odczytanych termometrów, ich parametry i temperatury oraz szacunek, który z nich to fake. Program ma możliwie najwięcej nieprawidłowości wychwycić (obsługa błędów). Rozpoznanie podróbek DS18B20 wymaga zaimplementowania...
Wygląda na błąd w programie, bo z DS18B20 nie może wyjść 6548.
Z opisu w programie wynika, że opóźnienie w programie pomiędzy konwersją a odczytem wynosi 950us. Nie wiem czy to błąd czy powód. Gdyby było to 950ms to byłobu dobrze.
Czy ktoś jest w stanie przeprowadzić jeszcze jakieś testy jak dziś lub jutro? W600+DS18B20, W800+DS18B20 itp? Właśnie przetestowałem sterownik W800+DS1820 (LN882H+DS1820 już działał dobrze): Działa jak urok, moim zdaniem W800 był najbardziej niezawodną platformą pod względem taktowania i DS1820 i mogę potwierdzić, że nadal działa bardzo dobrze (ponad...
No to jest spięcie- musisz znaleźć gdzie. Odłącz DS i włacz zasilanie. Jak będzie spięcie- to przewody. A jak bez DS pomierzysz napięcia i będą dobre a po wpięciu DS zwarcie- no to niestety... Układy elektroniczne są wrażliwe na błędy.
Witam wszystkich, próbuję skonfigurować czujnik temperatury DS18B20 z OpenBeken na chipie BK7231N, ale niestety nie jestem w stanie wyświetlić żadnych odczytów temperatury. Skonfigurowałem już GPIO 26 jako DS1820_IO i upewniłem się, że uruchomiłem sterownik DS18B20. Jednak interfejs sieciowy wciąż pokazuje "0 aktywnych sterowników" i nie są dostępne...
A skompilowało się? Bo tam był błąd (Icnr zamiast Incr).
Widzę, oczami wyobraźni, że masz poważny błąd w 16tej linii kodu...
Dim Sc(9) As Byte 'w tej tablicy beda dane odczytane z czujnika Dim Temperatura As Integer 'tu obliczona temperatura Dim Blad_crc As Bit 'a ten bit bedzie ustawiany w razie bledu CRC odczytu '... program ... 1wreset 1wwrite &HCC 1wwrite &HBE Sc(1) = 1wread(9) 'odczytujemy wszystkie bajty z czujnika If Sc(9) = Crc8(sc(1)...
błąd w procedurze odczytu - jak pisał przedmówca. Próbowałeś mój kod uruchomić?
Czy tak może być? Nie. Po komendzie: "1wwrite &H55" Spodziewana jest komenda wpisu adresu adresu device do której odnoszą się dalsze komendy, ponadto: Błędem jest stosowanie tejsamej flagi (niby stopniowej) do wielu operacji bez jej kasowania. Zauważ że flaga=1, lub flaga =2 utrzymuje sie przez dłuższy czas, o wiele dłuzszy niż 'przewinięcie 'pętli...
Obciążenie D4 przekaźnikiem jest błędem - poczytaj o wykorzystaniu GPIO np. [url=https://randomnerdtutorials.com/esp...
Przepraszam, mój błąd. Wcześniej miałem czujnik pod PC2, teraz pod PB0 i ten sam problem.
Pewnie że za często odczytuję bez CRC kilkanaście czujników i nie ma błędów na skrętce oddalonej o Atmegi 17 metrów.
Witam, pozwoliłem sobie na drobną modyfikacje Twojego kodu. Dobrze się przyglądnij, porównaj działanie w symulatorze a zobaczysz gdzie jest błąd. Powodzenia!!! $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config...
Błąd w logice. Twój kod czytam tak -> Dopóki zmienna nie ma 5 to cały czas resetujemy pomiar i startujemy nowy (już Select Case byłoby lepsze). Potem próbujemy to czytać jak zmienna ma powyżej 100. No daj spokój. Są tu tego tony jak to obsługiwać. Mój/nie mój sposób to dwa suby. Jeden Startuje konwersję a drugi Czyta. Sprawa polega na tym by odwrócić...
wprowadziłem następujące zmiany w układzie: - usunąłem LM2596. wemos zasilam od razu z 5v. resztę osprzętu zasilam z 3.3v z wemos - doinstalowałem brakujące 3.3v do sterownika silnika. Po zmianie poprawił się odczyt z d218b20. Teraz już nie wypadają i są cały czas dostępne. Niestety dalej są błędy: obrót silnika po wystartowaniu układu, restart układu...
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.
Error pojawia się gdy nie jest podłączony DS18B20. SHT11 ma odczyt CRC i też pojawia się błąd po nieprawidłowej transmisji, znaczy powinien się pokazać ale u nie jeszcze to nie nastąpiło. Mam innego SHT-ka na innej płytce i tam często zdarzają się błędne odczyty.
Bład z DS-ami był tylko w serii B7 reszta działa bez problemów
Witam, wykorzystuję układ ds18b20 do pomiaru temperatury. Układ działa prawidłowo przez około 30s od załączenie zasilania. Następnie odczyty pokazują temperaturę 9 lub 10stopni. Podczas normalnej pracy temperatura jest przetwarzana prawidłowo. Do pull-up'a wykorzystuję wewnętrzny rezystor podciągający uC. Czy ktoś spotkał się z podobnym problemem? Co...
Do DS18b20 napisano tyle bibliotek, że możesz z łatwością znaleźć błąd o ile taki istnieje, tudzież na próbę wykorzystać gotową bibliotekę. Bardziej mnie ciekawi, gdzie w kodzie wysyłasz dane do tego wyświetlacza ?
To może to jest sprawa błędu w programie - coś wpisuje gdzie nie trzeba i potem źle działa?
Dziękuję, jednak z racji okrojonej pamięci chciałbym użyć bibliotek p. Łukasza, bo jeszcze udaje mi się tam upchnąć inne składniki softu, obsługa piękna i prosta, a tu na forum temat poruszany często dla innych procków i w dość rozbudowany sposób. Póki co nie znalazłem nic mega uproszczonego :( może jeszcze na odpowiedni temat nie trafiłem (https://www.elektroda.pl/rtvforum/topic...
Zloliwosc rzeczy martwych, chcialem przetestowac te petle czasowe w avr_studio ale nie moge zmienic czestoliwosci procka w ustawieniach programu. Zmieniam w project>>configuration options na 2000 000Hz a dalej uparcie wyswietla mi 4MHz w panelu procesora. Trzeba jeszcze cos w tym programie zmienic czy to blad programu?
Tam koleś rozbił Z, a ja chce to programowo zrobić, ogólnie to ten kod w testbench działa mi ale w realnym układzie to sie nie sprawdza , jak metoda polecasz szukanie błędu ??
Warto dodać, że driver 1w w kernelach dla H3 jest (był) zbugowany i nie działał poprawnie przy 240MHz (gdzie SoC bez obciążenia tyle właśnie przyjmuje). Przy 480MHz sporadycznie pojawiają się błędy, ale do pełni szczęścia trzeba 600MHz.
Tak wyszukiwanie poprzez SEARCHROM (0xF0) i zapis do tablicy odczytanych wartości. Dzięki porównam z tym (dość podobne) co mam może jakiś błąd wypatrze. Mógłbyś jeszcze zapodać ow_reset()
excray: Powinna i zapewne zwraca, jeśli 12 górnych bitów temp jest wcześniej jedynkami. zweinstein: Pierwszy błąd masz w odczyt_DS() - temp1 i temp2 powinny być typu uint8_t. Kolejne błędy masz w funkcjach, których nie chcesz pokazać.
Niestety - jak się okazało - kontrola CRC to mało - zdarza się, że wpadnie błąd mimo kontroli... Będę chyba musiał rozbić czujniki na 2 linie.
Teraz coś odbiera, tylko konwersja temperatury nie bardzo mi wychodzi : http://obrazki.elektroda.pl/1298763700_1... [syntax=c] int main(void){ char * dtostrf (double __val, signed char __width, unsigned char __prec, char *__s); char tt2[5]; DDRB |= (1<<4);PORTB |= (1<<4);//tc77 uint16_t tt = 0; sei(); Inicjacja_spi1(); while(1){...
Witam. Mam problem z układem ESP8266 V2 od Amici + DS18B20. Układ działał około 2 lat bez żadnych problemów. Ostatnio zaczeły pojawiać się po pewnym czasie, błędy, które wykrzaczały cały układ. Nadmieniam, że układ składa się z 5 termometrów i płytki. Prosty temat do odczytu temperatur. Teraz ciekawostka, otóż problem nie pojawia się w ogóle do temperatury...
Cały czas obydwa zegary obserwuję. Oczywiście jak nie jestem w pracy. W zielonym jest najnowsza wersja softu w czerwonym jeszcze bez auto-daty. Jak na razie obydwa idą jak burza bez żadnych błędów. Wspaniałą sprawą jest to sekwencyjne wyświetlanie czas-data-czas- temperatura. Absolutny luksus i wygoda. Żadnego zbędnego manipulowania tact-switch! Wszystko...
odczytu ds18b20 ds18b20 błędy ds18b20 błąd odczytu
sterowniki option przesłuch kanał układzie ferrantiego
prostownik kukla prostownik kukla
Jak zgrywać filmy z YouTube - narzędzia i legalność Bezpiecznik zapalniczki w Volkswagen Polo P9 - lokalizacja i numer