Całego kodu nie mogę podrzucić, bo: - nie mam odczytu z eepromu, - nie wiem, czy zapis do eeprom ma być jednorazowy w momencie programowania procesora, czy ma być jednorazowy po pierwszym uruchomieniu programu, czy ma być wielokrotny w dowolnym momencie np. po zmianie termometru i wciśnięciu - dajmy na to - dowolnego guzika, - nie mam zrealizowanego...
Muszę rozebrać swój(zerwać gluta z elektroniki) ale nie pamiętam by było tam coś takiego. Nic nie trzeba rozbierać, wystarczy przeczytać kartę katalogową układu. https://obrazki.elektroda.pl/6476980000_... W EEPROM zapisywany jest VID, PID użytkownika, konfiguracja. Zajmuje to mniej niż 256bajtów. Pozostałe można wykorzystać do własnych...
Tutaj masz przyklad w ktorym po kazdorazowym wcisnieciu przycisku zmienna zwieksza sie o 1: Config Pinb.3 = Input S1 Alias Pinb.3 Set Portb.3 If S1 = 0 Then Waitms 25 If S1 = 0 Then 'np. Incr twoja_zmienna End If End If A tutaj wcisniecie przycisku i jego przytrzymanie powoduje zmniejszanie sie zmiennej o 1 co 200 ms: Config Pinb.3 = Input If S1 = 0...
Poprzez RS232 lub USB? W czym problem? Przy USB możesz wykorzystać z FTDI, np FT232, lub kupić AVR z wbudowanym USB i skorzystać z LUFA. To drugiej jest zdecydowanie dla nieco bardziej zaawansowanych osób.
Zbyt duzo razy widzialem zapewnienia, ze "wina w 100% nie lezy po mojej stronie", aby w nie uwierzyc :) Byc moze tak jest, pokazanie nam swojego kodu nie zaszkodzi, a moze ktos cos zauwazy niewlasciwego. No i nie napisales, czy inne funkcje (zapis/odczyt wewnetrznego EEPROM) dzialaja poprawnie.
Nie bardzo wiem jak zapisac w eepromie dwa dowolne bajty w komorkach Tl i Th i jak je pozniej odczytac i czy musze wysylac od razu 3 bajty (DS18B20) łącznie z bajtem konfiguracyjnym Nie mam miejsca na dodtakowy eeprom a chce zbudowac termoregulator na 2051 z nieulotnymi ustawieniami oto moj program (przynajmniej częsc) 'zapis do eeproma przy wyjsciu...
Jak dla mnie żadna nowość. Dokładność pomiaru temperatury praktycznie taka jak popularny DS18B20. A wiec jest to DS18B20 z EEPROM. Nie wierzę, że będzie bardzo popularny, gdyż większość uP posiada na pokładzie EEPROM.
Cześć. Podczas pracy z tymi czujnikami, kiedy znajdują się w zakłóconym środowisku, co jakiś czas dojdzie jednak do jego zresetowania się i poda temperaturę +85C (domyślna zawartość rejestru po resecie zasilania). Wydaje się, że nie ma innego sposobu jak tylko sprawdzać czy odczyt wynosi +85 i po prostu go nie uwzględniać. Ale co wtedy kiedy akurat...
EEPROM na 1W to DS2431, jakby Ci to miało coś ułatwić.
i przypisać na stałe Aby to zrobić dobrze, łatwo nie będzie. Opcja 1: SearchRom, masz listę i niby ok ale jak dodasz kolejny termometr, lub wymienisz, to nie wiadomo jakie ma ID. Może znaleźć na początku, końcu, w środku listy. Z termometr zewnętrzny, zrobi się wewnętrzy itp. Kiepsko? Opcja 2: Jak pisze (at)kaczakat ale wymiana termometru wiąże się...
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...
Po załączeniu zasilania dane są kopiowane z pamięci EEPROM do scratchpada, możesz zapisać nowe dane do scratchpada i będą one aktywne do czasu zaniku zasilania. Odczyt z EEPROM'u (wpisanie do scratchpada) można wywołać zdalnie poprzez polecenie Recall E2. Wnioski są zatem oczywiste że podczas resetu układ odczytuje ustawienia ze scratchpadu.
Nie rozumiem co ty chcesz zapiać w eepromie. Konwertujesz temperaturę do float, później do stringa, ze stringa do liczby całkowitej. Jesteś pewien że w zmiennej pomiar_t po twoich kosmicznych operacjach jest liczba różna od 0?
Udało mi się rozwiązać problem, rzeczywiście nie było po prstu pliku string.h, więc musiałem go przypadkowo usunąć.. Kompilacja przechodzi już bez problemu, muszę teraz chyba ustawić odpowiednie wartości w pliku ds18x20, jednak nie wiem na jakie, jakoś z datasheetu nie potrafie tego wyczytac.. O ile rzeczywiścei trzeba to wyczytać z dokumentacji, mam...
Przede wszystkim proponuję zrezygnować z funkcji writeeeprom i readeeprom, jeśli w Bascomie dostępne są lepsze metody na dostęp do eeprom'a ;) Proszę zapoznać się z możliwością zdefiniowania od razu zmiennej w EEPROM DIM Id1(8) As Eram Byte czy jakoś tak (mogę już dokładnie tego nie pamiętać) i potem chulaj dusza - z odczytem i zapisem do niej prawie...
Witam serdecznie; Mam pewien problem z magistrala i2c. Mianowicie mam podłączony pod atmege32 zegar RTU(ds1307) oraz zewnętrzną pamięć eeprom(24c32) komunikujące sie z atmega po i2c. Pamięć i zegar oddzielnie działają poprawnie tzn np: wyświetlam sobie aktualną godzinę i datę na LCD czy tez zapisuje dane z termometra(ds18b20) do eeprom i później przesyłam...
akiś czas temu się interesowałem ds18b20 ale porzuciłem projekt i właśnie od niego wracam mam tylko pdf opisuj opisującego naprawianie ds18b20 w przypadku resetu eeprom podobno to się zdarza czy producent juz rozwiązał ten problem czy nadal trzeba to uwzględniać w programie? Załączam lindk do pdf czy ktoś to uwzględnił w programie przydało by się coś...
Więc tak: -wygaszacz aktywowany przyciskiem (Rc5) (godzina, temperatura (niekoniecznie, jest miejsce na DS18B20)) -czytanie tekstu z eeprom - 3 przyciski (Rc5) (aktywacja czytania, przewinięcie tekstu w doł, przewinięcie tekstu w górę) To by było na tyle - ma być to program prosty, chodzi głównie o odczyt tekstu.
Niby wszystko jest Ok, ale czasami wyskakuje te "kultowe" 85 oC. Czyżby też podróbka? Kolega (at)Pokey opisał ten problem w tym poście: https://www.elektroda.pl/rtvforum/topic3... Zaprezentowana tam metoda działa naprawdę dobrze. Nawet z podróbkami DS, o ile mają EEPROM, a nie jakiś super-kondensator ;)
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
Witam Mam złożony układ oparty o ESP32 devkit 1, podpięty wyświetlacz LCD 4x20 po i2c, do tego czujniki ds18b20 oraz termoparę, oraz przekaźnik ssr (omron). Postawiony serwer www, na którym wyświetlam dane z czujników. Do gpio32 podpięty mam przycisk (drugi koniec do masy) korzystam z programowego pullup. Przycisk obsługuje przerwanie. Generalnie wszystko...
Generalnie to wszystkie . To poszczególne "efekty" powinny być wywoływane w konkretnych interwałach czasowych, jako tzw. zdarzenia i niekoniecznie na przerwaniach, a nie same efekty decydować, jak długo mają trwać i blokować wykonywanie pozostałej części kodu. Zgodzę się z tym ale ten kod nie robi nic innego jak generuje efekty. W tej sytuacji wielowatkowość...
Kolego Granat:) Dla Twojej informacji zacytuję Ci fragmenty noty aplikacyjnej układu DS18B20 "MEMORY The DS18B20’s memory is organized as shown in Figure 7. The memory consists of an SRAM scratchpad with nonvolatile EEPROM storage for the high and low alarm trigger registers (TH and TL) and configuration register. Note that if the DS18B20 alarm...
2-wire Serial EEPROM Smart Card Module 512K (65,536 x 8) AT24C512SC Można bezproblemowo odczytać dane na PC /przenieść/ lub coś z rodziny 24C512 poz dioda
Gdybym miał możliwość dołożenia kolejnych kości, nie było by tego pytania. Ponieważ jednak kości nie ma, a dołożenie odpada (gotowa płytka), pozostaje wykonanie nowego projektu i opanowanie obsługi MMC lub SD... EEPROM 1Mb to raptem 32768 punktów pomiarowych temperatury z rozdzielczością 0.1°C z dwóch DS18B20 (dwa bajty na jeden pomiar).
Wyglada na to ze masz problem z zapisem do eepromu. Jak zasilasz DSa?
Zbytnio mi ta odpowiedź nie pomogła... To chyba niezbyt dokładnie przeczytałeś(zrozumiałeś) dokumentację DS18B20 :cry: Przypatrz się tabelce i zobacz, gdzie znajduje się rejestr konfiguracyjny, w którym zapisane jest, z jaką rozdzielczością ma "pracować" nasz DS. http://obrazki.elektroda.net/29_12275171... Zakładając, że nie znamy wartości...
Jeśli czujnik zaniża tylko niektóre pomiary, to wydaje mi się, że raczej nie może to być skutek opisanego problemu. Zmiana danych kalibracyjnych w EEPROM musiałaby przecież spowodować zaniżenie albo zawyżenie wszystkich następnych pomiarów. Miałem taki przypadek z DS18B20 zasilanym pasożytniczo: komunikacja z czujnikiem odbywała się całkowicie poprawnie,...
4,7k jest wyliczony raczej dla 5V, DS18B20 jak i STM32 może działać na 3.3V i wtedy proporcjonalnie to już jest ~3k. A jak zasilasz układ czujników jednak 5V to tym gorzej dla układu. Nie mam styczności z MacOS, sprawdzałeś to: http://macappstore.org/stlink/ ? Poza tym przy wgraniu bootloadera trzeba pamiętać o zworkach, bo się kasuje, może uległeś...
Też coś takiego mnie spotkało ale przyznam się szczerze że o kalibracji wtym czujniku nie słyszałem, jedynie o zmianie rozdzielczości czujnika. Uznałem to za uszkodzenie elementu i go po prostu wymieniłem. Niestety nie było to uszkodzenie pojedynczego elementu, tylko cała trefna seria B7. Przy załączaniu zasilania DS18B20 może ulec skasowaniu EEPROM,...
EEPROM i PCF łączysz równolegle na szynach SDA i SCL i nogi adresowe A0, A1, A2 łączysz tak żeby utworzyć dla każdego urządzenia osobny adres (format adresu urządzenia jest objaśniony w PDF"ie do niego). Pin Dallasa oznaczony jako DQ łączysz pod dowolny port mikrokontrolera i podciągasz do zasilania przez jakiś opornik (schemat jest w PDF'ie do tego...
W ciągu mniej niż 10us musisz wystawić jedynkę na linii z diodą i utrzymać ją przez cały czas trwania konwersji (tyle ile w karcie katalogowej podano) i przez ten czas magistrala jest zablokowana dla jakich kolwiek transmisji. Potem kasujesz jedynkę z wyjścia z diodą i działasz normalnie dalej. Przez tę diodę podawane jest zasilanie potrzebne do pracy...
Zapisujesz nazwy pod ten sam adres w EEprom Writeeeprom Q , 13 I odczytujesz też z tego samego adresu.
Witam, chciałbym spytać Was o poprawność zmiany rozdzielczości czujnika temperatury DS18B20 na 9-bit. Zmieniam to w nastepujący sposób: Zacznę od ostatniego pytania: To nie są bity - raczej bajty, i sa to tylko TH i TL i są wpisane tylko do Scratchpad. To by wystarczyło dopóki nie wyłączysz/reset processora. Musiałoby to pozostac częścią programu....
elektrolit mam 220uF, nie mam żadnego ceramika. zaraz przy pinach procesora nie widziałem potrzeby dawać przy odbiorniku bo to 1cm dalej przewodami poprowadzonymi od kondensatora. zasilanie to 4,5V (3xAA) caly układ bierze 10mA (jest tam jeszcze eeprom i ds18b20) baterie wymieniłem 2h temu. a schemat... nic nowego nie wymyśliłem, narysowałem go przed...
Witam! Mam zadeklarowaną tablicę wielowymiarową [syntax=c]id_czujniki[3][OW_ROMCODE_SIZE... w której przechowuje numery ID podłączonych DS18B20, potrzebuje zapisać ją do pamięci EEPROM, nie za bardzo wiem jak najlepiej to zrobić, bo chyba funkcja [syntax=c]void eeprom_write_block (const void *__src, void *__dst, size_t __n)[/syntax] zapisze tylko...
Witam Od kilku dni męczę sie z próbą odczytu temperatury z czujnika DS18B20 przy pomocy bibliotek rklibavr. Czujnik jest podpięty do portu PB0 w procesorze amtega8, rezystor podciągający ma wartość 4,74K dane zczytane z czujnika są wyświetlane na standardowym wyświetlaczu 2x16. Atmega pracuje na wewnętrznym oscylatorze 1Mhz, całość jest zasilana ze...
Witam w nowym roku Ktoś chciał żeby alarmy były więc zrobiłem Lojalnie informuje, że popełniłem taki program ale nie jestem programistą, kod uklepałem za pomocą helpa do bascoma, więc dla znających się na rzeczy to co zrobiłem to badziew. Ale ważne że działa. Opis końcówek w pliku bas a jak ktoś nie rozumie kodu to mu rozpiszę co i jak. Jedna uwaga....
testowałem obie wersje, z dwoma zasilaniami też i nic. Dodano po 2 czujnik podłączony do portuA.0 bo podłączyłem go teraz do Atmegi32(żeby sprawdzić), w atmedze mam jeszcze zewn RTC i pamięć EEPROM. Wszystko chodzi oprócz czujnika :)
Proszę, oto schemat oraz projekt w eagle 4.16. Ceny wyświetlacza nie pamietam, cos około 50 PLN na Allegro. Do obszaru pamięci EEPROM należy wpisać adesy układów termometrów DS18B20 (8 bajtów + 8 bajtów, trzeci adres jest zbędny). Zmiana loga na inne nie bedzie prosta :) Pozdrawiam
a czy ktos się bawił DS1990A pod ASM? http://mikrokontrolery.net/avr_asm_10.ht... Co prawda obsługa DS18B20 ale protokół jest identyczny.
Najbardziej trafnym sposobem odczytu ROM poszczegolnych czujników jest przypinanie je pojedynczo do układu i zapisywanie ich numerów w pamięci EEPROM. Następnie odczyt EEPROMU przy pomocy programatora. Sposób sprawdzony, wszystko działa.
Dzięki za podpowiedż muszę to jeszcze wypróbować Człowiek całe życie się uczy i głupi umiera Pozdrawiam Teraz walcze z DS18B20 i jak na razie zimny Wiktor
... masz fajnie opisane przykłady obsługi pamięci eeprom... Jest tylko 1 problem , bo Ty mówisz o AVR-ach , a postodawca używa 89c4051 , który nie posiada "w sobie" eepromu :( :arrow: Scal12 - masz kolejne zadanie do zaliczenia , czyli magistrala I2C i komunikacja z zewnętrzną pamięcią eeprom np. 24c02 :D Piotrek
Mam pytanko czy na linii SDA SCL może być złącze ISP chodzi głównie o TDA7318 i pamięć eeprom. Czy te scalaki nie ulegną uszkodzeniu, jeśli będzie układ programowany (ATMEGA32) ?
Źle mnie kolega zrozumiał. Nie stosuję PWM. Odcinam triakiem i tyle. Co do zajętości programu. Miałem tyle miejsca do wykorzystania i je wykorzystuje. Dużo miejsca zajmują biblioteki LCD oraz ds18b20. Resztę miejsca zajmują mi napisy. Gdybym wykorzystał eeprom na napisy to jeszcze zmieścić można dużo. Teraz jestem na etapie pisania algorytmu PID do...
Mam płytkę z atmega8 i pamiecią EEprom z wyjsciem RS oraz mozliwoscia podłaczenia czujnika DS18B20. Na bazie tej płytki w prosty sposób mógłbys zrobic to co zamierzasz. Na płytce jest cały zasilacz i również wyjscie na wyswietlacz LCD. 80% pracy mialbyś zrobione zastanów się.
"Wcześniej udało mi się odczytywać temperaturę z DS18B20 z tym, że po wlutowaniu w płytkę odczytuje mi cały czas 127.9" No to zrób "undo". Albo sprawdź co się zmieniło. Może inny opornik podciągający? Może Vdd niepodłączone do masy? Masz funkcję "void write_byte(char val) //zapisj bajtu do dallasa " To zapisuje tylko do RAM- a nie ma przepisania do...
Dziękuję vania za odpowiedź za mnie. Ciebie elektro155 przepraszam, jakimś cudem ominąłem Twój post. A więc tak jak kolega vania napisał. Ja mam zamiar pokombinować z tym eepromem, tym bardziej po jednym z ostatnich postów. Będę próbował definiować własne znaki, ale muszę złożyć jakiś starszy komputer z portem LPT, żeby móc podłączyć programator WILLEM...
Po co wogóle jest ten wątek? Ktoś coś napisał rewelacyjnego i super odkrywczego, ale się nie chce podzielić (rozumiem, że na PW i email należy przysyłać kwoty) a potem się jednak okazuje że to nic rewelacyjnego tylko zapis numerów w eeprom. Nie szkoda miejsca na forum na takie puste wątki?
hmm ,mi wpadł inny pomysł a można by go zrobić na M8 czy M16 ,a mianowicie połączyć 4051 w kaskady dzieki czemu wystarczy kilka pinów uC do tylu czujników ,w tygodniu przetestuje pomysł.... Ps .nic nie stoi na przeszkodzie aby dopisać linie programu (np. jeden pin uC ,sprawdzany przy starcie programu ) która będzie programowała ID czujników i zapisywała...
http://obrazki.elektroda.pl/3984504700_1... Prosty termoregulator sterujący grzałką oraz załączający wentylatory w razie przekroczenia temperatury. Układ składa się z atmegi 8, wyświetlaczy LED, czujnik to DS18B20 a elementy wykonawcze to triaki. Przyciskami ustawia się żądana temperaturę która zapamiętywana jest w pamięci eeprom. Obecnie...
Dziękuję już wiem jak to zrobić: wyszukać wszystkie układy które są podłączone następnie zapisać do pamięci Ram lub eeprom ich numery id, a następnie przy odczycie odwoływać się do tych numerów.
Sugerowałem się zdaniem: O trybie overdrive nie marzę, wystarczy standardowa prędkość. Robię między innymi emulator DS2431. I co mam napisać, że zgodność 50%? Ze działa ale bez overdrive? To jak zaemulować DS18B20 bez wewnętrznej pamięci eeprom lub możliwości odczytu sposobu zasilania. DS2431 jest pamięcią eeprom, ale można włączyć tryby, które są...
https://obrazki.elektroda.pl/1625698700_... https://obrazki.elektroda.pl/1666677600_... https://obrazki.elektroda.pl/5507649800_... Co lepsze oscyloskopy zawierają analizatory protokołów, rejestratory przebiegów. Niewątpliwie oscyloskop jest urządzeniem pomiarowym. Wydaje się więc, że taki skaner/emulator...
Wiem że temat już ma już trochę czasu ale podepnę się widząc że pare osób go śledzi. Czy w tym ostatnim kodzie nie powinno być jeszcze 1wwrite &H48? bo kolejno mamy reset, skip rom, zapis do scratchpadu, bajt th, bajt tl, bajt ustawień, i brakuje funkcji kopiującej ze scratchpadu do pamięci nieulotnej EEPROM, chyba że się tutaj coś mylę.
Program ogólnie poprawny, choć: 1. Zamiast Waitms 750 postaraj się wszystko ztimingować na timerze. 2. Nie ma żadnych przeciwwskazań, żeby w normalnej aplikacji DS był blisko kwarcu. A co ma poza tym eeprom ds'a do odczytu temperatury? EEPROM jest zapisywany wtedy i tylko wtedy gdy wywołasz komendę zapisu konfiguracji temperatur alarmów i rozdzielczości...
http://obrazki.elektroda.pl/2929008000_1... Witam. Po raz pierwszy zdecydowałem się przedstawić na łamach forum swoją konstrukcję. Chciałbym zaprezentować swój pomysł na Termometr Samochodowy. Podczas upalnego lata zauważyłem że po zainstalowaniu instalacji gazowej moje auto ma bardzo duże wahania mocy silnika w zależności od temperatury...
Zapis do EEPROM jest ok. Standardowe pytanie:czy fusebity w uC są odpowiednio skonfigurowane :?: Jeśli ich nie ruszałeś , to spróbuj z $Crystal=1000000. Piotrek
Ale to właśnie jest komplikowanie sobie życia! Nie wykorzystujesz podstawowej cechy 1-wire, mianowicie możliwości swobodnej komunikacji przy wykorzystaniu tylko jednej linii portu uC. Gratis masz kontrolę numerów układów, ich ilości, stanu itp. Programując "po okrężnej" wolniej rozwijasz swoje umiejętności! DS18B20 mają unikalny, 64 bitowy numer ID...
Być może, że to jest jeszcze starsza wersja niż 5.2 i dlatego masz takie problemy. Gdzieś były wystawione wsady do wersji 5.0 i 4.7, ale teraz to trudno znaleźć. Jak coś znajdę w swoich zasobach, to wystawię. znalazłem bin wersji 9.52, teraz poszło dalej, tylko teraz buzer pika i wyświetla błędy, ale jest lepiej, jutro ciąg dalszy :) z bina uzyskałem...
Ręce to opadają i masz rację ;) Masz błąd w definicji zmiennej do której wpisujesz ID czujników to nie jest jeden bajt tylko tablica 8x8bitów czyli 8 bajtów. Adresujesz nie istniejące czujniki bo ich adresy sa niepoprawne, wysyła procek ciagle ten sam bajt. Dim Adres1 As Byte 'adres pierwszego Dim Adres2 As Byte 'adres drugiego Dim Adres3 As Byte 'adres...
DS2430A : - 256-bit Electrically Erasable Programmable Read Only Memory (EEPROM) plus 64-bit one-time programmable application register - Unique, factory-lasered and tested 64-bit registration number (8-bit family code + 48-bit serial number + 8-bit CRC tester) assures absolute identity because no two parts are alike. - ... http://cfa-www.harvard.edu/~thunter/data...
Mierzy się napięcie przed mostkiem, a za mostkiem masz cap z powiedzmy 100uF do zapisu eepromu wystarczy (jeśli będzie odłączona część "estetyczna" - świecidełka gasną...
I tu już klapa. Nie mogę sobie pozwolić na to aby w przypadku awarii czujnika ponownie grzebać w programie. To musi działać tak że odpinam uszkodzony czujnik i wpinam nowy. Potem restart modułu i wszystko działa.. Nie chcę się upierać, że odczyty wszystkich czujników na jednej magistrali to najlepszy sposób ale kurka wodna ;) .... dla mnie większym...
Niestety nie - T1 zmienia się wraz z temperaturą ale nie jest to temperatura podana w sposób jawny. Ja w swoim układzie stosuję do tego celu po prostu DS18B20. Wracając do obliczeń, możesz zmniejszyć błąd wyniku do znacznie poniżej 1hPa modyfikując je tak: [syntax=c]dUP=100*((int32_t)D1-(int32_t)... dT=(int32_t)T1-(int32_t)T0; // jeśli T1 nigdy nie...
na forum są dziesiątki tematów jak to zrobić. ja osobiście mam takie coś, że przy włączaniu układu mogę wejść w menu które po kolei sczytuje mi numery numery seryjne i wpisuje do eepromu, nastepnie przy kolejnym uruchomieniu czyta z eepromu zapisane numery i nie dość że mogę od razu wykonywac pomiary to jeszcze układy podporządkowane są tak jak chcę...
Ale cały projekt to nie zegarek, co określoną ilość czasu przerwanie inkrementuje główną zmienną programu, dokładnie co 3 minuty, potem następuje odczyt eepromu i sprawdzenie warunku, a główna pętla to pomiar temperatury na DS18b20
W Elektronice Praktycznej 4/2017 jest opis emulatora DS18B20 na Attiny85 - właśnie czytam :) No i ten z EP emuluje także eeprom. W jednym z kolejnych numerów będzie opis emulatora DS18B20, 2431, 1990 z enkoderem, LCD. Dodatkowo skanowanie magistrali takze w trybie overdrive. Dodano po 2 Szkoda że kolega nie udostępnia źródeł. No właśnie, nie ma źródłe...
asembler -> o jakim odcinaniu mówisz? no chyba, że ty swoje czujniki spawasz i dodatkowo przyklejasz kropelką, że nigdy już ich nie odłączy się od procesora. Poza tym czy nie prostsze jest wyjęcie konektorka czujnika z płytki i odrazu informacja, który czujnik trzymasz w ręku - niż organoleptyczne schładzania, oziębiania i czas na to tracony? a w przypadku...
http://obrazki.elektroda.pl/4130382200_1... Witam wszystkich Przedstawiam urządzenie z serii " może się to komuś przyda " W sumie nie ma się nad czym rozpisywać jest to zegar z alarmem, który pokazuje: - godzinę - datę - dzień tygodnia - imieniny danego dnia miesiąca oraz posiada pięciopunktowy termometr. Sercem układu jest ATmega32...
Skomplikowany temat...robiw A co tu skomplikowanego? Jest jakaś nota katalogowa z algorytmami na stroni Microchip. Znajdziesz tez biblioteki dla arduino liczące moc, PF, itd. Sprzętowo też proste, wzmacniacz izolacyjny, przekładnik prądowy, wzmacniacz operacyjny i zasilacz (przetwornica AC/DC). Ale skoro za trudny, miganie diodą było, to zrób emulator...
Jeśli nadal będą różne to problem z DSami Znalazłem temat w archiwum. Fragment A shift in device parameters of DS1820B B7 die (used in DS18B20, DS1820S, and DS1822 products) has caused several recent lots to experience EEPROM data corruption failures during power up. Although occurrence is rare, this failure can happen to any device during any power...
Witam, mam problem z gotowym programem z biblioteki "rklibavr", a mianowicie chodzi o obsługę DS18B20. Poniżej załączam kod programu. Gdy na pinie PC5 podłączam 1 DS, na wyświetlaczu LCD pojawia się poprawna temperatura. Gdy do tej linii podłączę drugi DS pojawia mi się na LCD "-6552,5". Czy może mi ktoś pomóc w rozwiązaniu problemu? #include <avr/io.h>...
Cóż, projekt, pomimo, ze na płytce uniwersalnej, to wykonany bardzo schludnie. Moim zdaniem jednak lepiej byłoby zastosować wyświetlacz 7-seg. Można znaleźc nawet takie 2 kolorowe i wtedy masz 2 temp w różnych kolorach. Co do samej nauki, to koledzy mają rację, ja też zaczynałem do bascom i cóż, owszem, język bardzo przyjemny na pierwszy rzut oka, o...
Niestety nie udało się zmusić arduino do wykonywania tego samego na dwuch pinach równocześnie Bo biblioteka której używasz nie obsługuje w tym samym czasie więcej niż jednego wyprowadzenia tak jak i DS2480 Nie mam wpiętego opornika na linii 1Wire tylko DS9503 i DS2480B Jak używasz zewnętrznych układów to raczej nie DS2480 chyba, że potrzebujesz zapisu...
Wolałbym się pobawić tymi bibliotekami, które już jako tako znam. Przeglądałem te po których wspominałeś, ale przyznam że była to dla mnie czarna magia. Mam nadzieję, że na mojego posta trafi osoba, która również korzysta z rkavrlib. Aby bardziej rozjaśnić sprawę wrzucę jeszcze kilka kodów z których powyższy program korzysta. obsluga onewire [syntax=c]#ifndef...
Dzień dobry Mam mały problem ze zmianą kolejności adresów czujników DS18B20. Mam tablicę uint8_t z adresami czujników. Każdy adres zajmuje 8 pozycji tablicy. Napisałem menu ustawień z możliwością zamieniania kolejności. W menu po wejściu w wybrany czujnik mogę przypisać mu adres ze "świeżo" przeskanowanej magistrali. Problem w tym, że o ile po zapisie...
takim prostym skryptem (plik bat w Windows) to zbudujesz: [syntax=dos](at)ECHO OFF SET AVR32_HOME=d:\WinAVR-xxxxxxxx SET PATH=AVR32_HOME\bin;%PATH% SET MCU=atmega16 DEL power_supply.hex power_supply.elf hd44780.o DigitalIn.o DigitalOut.o ds18b20.o pwm.o main.o avr-gcc -c -mmcu=%MCU% -I. -Os lcd\hd44780.cpp -o hd44780.o avr-gcc -c -mmcu=%MCU% -I. -Os...
a może zestaw EvB 4.3 W skład zestawu EvB 4.3 v2 wchodzi: Płytka ,wyposażona w następujące elementy: * Procesor AVR ATMega16 w obudowie DIP40 * Zegar czasu rzeczywistego PCF8583 -Pamięć EEPROM AT24C02 * Odbiornik podczerwienie TSOP4836 * Czujnik temperatury DS18B20 * Konwerter RS485 * Gniazdo kart MMC/SD * 5 przycisków * 8 diód LED * 5 wyjść tranzystorowych...
Witam, jako że nie znalazłem odpowiedzi na mój problem to proszę Was o pomoc. Pokrótce opiszę zasadę działania fragmentu mojego programu: - ( instalowanie czujników ) Wykrywanie czujników i zapamiętywanie ich identyfikatorów w pamięci eeprom - każde kolejne uruchomienie urządzenia już nie wyszukuje urządzeń tylko pobiera identyfikatory z pamięci - odczyt...
Czujniki DS18B20 mają swoje unikalne numery, także jeżeli mamy np. 5 podłączonych czujników na wspólnej magistrali to możemy np. wartości adresów rosnąco przypisywać do kolejnych kanałów. Niestety jeżeli zmienimy jeden z czujników, lub dodamy kolejny, to kolejność przypisań może się rozsypać. Aby czujnik o danym adresie, trafiał zawsze w określony kanał,...
Aby zmienić rozdzielczość i/lub temperatury alarmowe w DS18B20 , należy: 1)odczytać scratchpad 2)zmienić rozdzielczość w bajcie konfiguracyjnym(bajt nr.4 licząc od 0) 3)zapisać do scratchpada 3 bajty , w kolejności: TH ,TL , CONFIGURATION 4)skopiować scratchpad do eepromu Można pominąć kroki 1 , 2. Ustawienia zostaną zapamiętane w wewnętrznym eepromie...
Witam Dzięki za odpowiedź. Tak też myślałem, że z tą izolacją DS-ów będzie ciężko. Atmega16 musi zostać ( założenie projektowe) nie będzie tylko robił pomiarów, ale także pewne sterowania na podstawie tego co zmierzy i obliczy. Tylko z założenia powinien mieć odizolowane obwody I/O. Samo sterowanie typu włącz/wyłącz to bez problemu odizoluje zwykłym...
W moim AVR Studio Twój projekt skompilował się prawidłowo dla Atmega8. rm -rf ds18b20.o hd44780.o main.o temperatura.elf dep/* temperatura.hex temperatura.eep temperatura.lss temperatura.map Build succeeded with 0 Warnings... avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums...
Witam, Zasilanie linii i układu pomiarowego na osobnym wtyczkowym zasilaczu (proste, tanie, ale mało eleganckie) lub przez izolowaną przetwornicę DC/DC. Ja trochę z innej beczki, ale co to znaczy izolowaną - pytam, bo właśnie chyba mam z tym problemy. A dokładniej: mam ATmega128L (3,3V) + czujnik temperatury DS18B20 + zegar RTC PCF8563 + LCD (Nokia...
Nowy kod źródłowy - dodałem według porad dynamiczne szerokości literek, nieco poprawiłem polskie czcionki i odzyskałem nieco flasha przenosząc napisy wysyłane po RS232 do dotychczas nieużywanej wbudowanej pamięci EEPROM procesora - obecnie zajętość pamięci: FLASH: 92% RAM: 24% EEPROM (w procesorze): 90% Wkrótce postaram się zamieścić filmik z działania...
Z zapamiętaniem numeru w eeprom to dobry sposób. Jeśli do damy do tego procedurę porównania numeru z eeprom z odczytanym z czujnika to nie trzeba będzie nic robić, kiedy zmienimy czujnik. Oczywiście po zmianie czujnika może się zmienić kolejność więc i to trzeba przewidzieć w programie i np. zamieniać miejscami dane w zmiennych z numerami.
W swoim projekcie chciałbym zapisywać nastawy do pamięci EEPROM w chwili zaniku zasilania. Planuję skorzystać z metody opisanej przez TMF w książce, czyli zasilanie procesora przez diodę Schottky i kondensator oraz z użyciem komparatora analogowego. Swój działający układ na próbę podłączyłem do zasilania przez jakąś starą diodę, prawdopodobnie germanową...
Witam ponownie. Teraz święta, więc postanowiłem troszkę poprawić mój program. Dodałem obsługę ds18b20, uC sam wykrywa którego ds'a zainstalowano, jest też teraz odporny na podpięcie dwóch ds'ów przy okazji zwiększyłem dokładność termometru z 1°C do ½°C. Niestety program trochę urósł i zajmuje 70% pamięci flash. Układ jest w pełni kompatybilny z...
To już wiadomo wszystko. W aplikacji wyraźnie jest napisane!!! Note 1: For parasite-powered DS18B20s, the master must enable a strong pullup on the 1-Wire bus during temperature conversions and copies from the scratchpad to EEPROM. No other bus activity may take place during this time. W trybie Parasite-Powered DS18B20 niestety tak sie nie zasila czujników!!!...
Wytłumacz mi tylko czemu ma niby służyć umieszczenie termometru (czujnika) w tej ohydnej rurce? W oryginalnym przeznaczeniu ta rurka ma jeszcze jakiś sens,ale w tym wypadku jedynie szpeci. Czy szpeci to kwestia dyskusyjna, wg mnie nie i zdecydowałem się na takie rozwiązanie bo ze swoim zapleczem technicznym chyba lepiej bym nie zapakował termometru...
Witam:) Od razu mówię jestem laikiem. Mam Atmege16 do której podłącze lcd 2x16, do tego eeprom w którym będę przechowywał ustawienia, dodatkowo 4 przyciski (góra ,dół, menu i ok) oraz sondę DS18B20 z której będę czytał temperaturę. I teraz chcę sterować wentylatorem (jego prędkością ) i jako że czytam trochę to forum już wywnioskowałem że do licznika...
przy odległosci 20m prawda nie, wystarczy zmniejszenie rezystora podciągającego do np. 2.2k. Ja mam 3 czujniki - długośc kabla ponad 30m (kilka sztukowanych) i rezystor 1k. na DS18B20 już drożej. mógłbyś sprecyzować ile? DS18b20 to 3PLN, więc każda różnica nie ma znaczenia. Prędzej fakt, czy musisz ruszyć tyłek i zmarnować czas, odpalić samochód lub...
na pewno czujniki są chińskie Wywal je. W podróbkach często jest mniejsza rozdzielczość pomiaru, mała dokładność, problemy z eeprom co jest sprawdzone empirycznie. Dodano po 2 Czujnik podłączony jest kablem o długości 3 m kupionym razem z czujnikiem zalanym żywicą. Na linii 1Wire nie ma żadnych zabezpieczeń Nic dziwnego, że w pewnych warunkach są problemy....
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,...
Okazało się że ma byc to sprzętowe nie za trudne;) Skoro ma być coś sprzętowego to proponuję podpiąć pod RS232 poprzez konwerter poziomów napięć (MAX232) jakiś mikrokontroler (pupularny AVR, 8051). Do tego miernik temperatury na 1-wire (DS18B20) i jakiś przekaźnik dołączony przez tranzystor do procka. Warto mieć dołączoną do procka takiego sterownika...
DS posiada pamięć EEPROM. Dwa z nich: Th i Tl możesz wykorzystać jak Ci się podoba a co za tym idzie możesz tam zapisać indywidualny offset kalibracji dla danego czujnika. Oczywiście korekcję musisz sam przeprowadzić ręcznie w programie odczytu danych z czujnika.
Czujnik już ładnie działa chociaż do końca nie wiem co było przyczyną. Udało mi się ustalić, że jeden czujnik działa a inny tego samego typu dopiero z dodatkowym rezystorem pokazuje prawidłową temperaturę. Czy wiecie może jak układ DS18B20 odpowiada w razie alarmu? Wiem, że się ustawia rejestry TH i TL w pamięci EEPROM. Następnie wysyłamy komendę 0xEC...
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...
eeprom ds18b20 ds18b20 czujniki eeprom ds18b20 bascom eeprom
przekroczeniu transferu danych dahua bateria radio fabryczny toyota corolla
zmywarka amica miernik wilgotności gleby
Najlepsza jakość dźwięku w kodeku do kamery IP Ursus 360-3P - Sprzęgło nie wciska się do końca