Witam Już chwilę temu mój ojciec wpadł na pomysł wykonania suszarni i wędzarni (wędzenie zimnym i gorącym dymem). Przy projektowaniu doszliśmy do wniosku że możemy użyć wentylator od chłodnicy samochodowej, przy czym przy takiej mocy należy zrobić sterowanie i tak powstał pomysł wykonania sterownika do suszarni. Ponieważ dawno nie projektowałem to trzeba...
Nie chce dopisywać dnia tygodnia i pełnego roku, bo wyświetlacz wtedy staje się bardzo nieczytelny (za dużo informacji się robi). Po co aż atmega32? Raczej wszystko powinno się zmieścić w Atmedze168. Trzeba by tylko zmodyfikować płytkę i oba czujniki DS18b20 na wspólnej magistrali 1-wire, przyciski zamontować też do wspólnego portu ADC z czego jeden...
Bo jest funkcja blokującą, w kodzie pewnie ma "while" i jak to bywa przy 1wire. Przy dużej dokładności DS18B20 blokuje chyba z 10s dlatego jest mało zwolenników tych czujników
Ja tylko powiedziałem jak to zrobić a że trochę "na około" to już nie moja wina ;p. W ogole to przeliczanie temp. ma jakies poronione...
Udało się :) .. przynajmniej na razie na to wygląda :] a to jest kod który zadziałał :) : while(1) { while((t = PULPIN & 0x20) == 0) // dopóki jest na wejściu 0 to czekamy {} while((t = PULPIN & 0x20) == 1) // // potem przeczekujemy 1 na wej - czyli zliczamy na opadającym zboczu {}...
maxymalna ilosc znakow (czyli ewentualny znak, czesc calkowita, kropka, czesc ulamkowa [wliczajac zera wiodace!] ) + 1. dodac nalezy, ze jesli chcesz ulamki, to musisz sobie ich obsluge zrobic sam, co nie jest takie trudne [; cala liczbe traktujesz wtedy jako przemnozona (na przyklad) przez 100 - daje ci to dwa miejsca po przecinku. czesc calkowita...
Program ktory dalem powyzej znalazlem na forum te komentarze sam dalem tyle co wiedzialem z tego programu dlatego tam jest wait 1 sam sie troche nad tym glowilem bo wiekszosc osob twierdzi ze od 500ms do 750ms wystarczy. A redart mogłbyś mi wyjasnić to przeliczanie na ludzka postac?? Nie moge tego skapowac. A jeszcze skoro ta linijka Bd(1) = 1wread(9...
Witam Na wstępie chciałbym zaznaczyć iż jestem początkującym programistą i dlatego proszę o wyrozumiałość. Robię termometr na lampach nixie, ale nie działa mi poprawnie komunikacja z ds18b20 i ds1820. Problem polega na tym, że na lampach pokazuje się wartość -00.1 tak jak by wyjście czujnika było zwarte bezpośrednio z + , a nie jest . Czujnik jest podpięty...
Już któreś z kolei podejście do tematu jednak dalej brak rozwiązania Problem wygląda tak: Potrzebuję termometr na dwóch DS 18B20 Na razie zaprzęgłem jeden i w pętli co kilka sekund (czyli co kilka pomiarów) wyświetla mi 0,0 st C lub inną absttrakcyjną wartość np 95,5 przez jeden pomiar. Próbowałem różnych rozwiązań na chwile obecną program wygląda mniej...
Witam! częścią mojej pracy dyplomowej jest pomiar pH gleby i wody. Zakupiłem sondy Hydromet ERH-AQ1 i ERH-13-6. Opracowuję schemat elektryczny wzmacniacza do sondy, proces kalibracji oraz przeliczanie mV na pH. Z tego tematu dowiedziałem się (również od promotora), że najlepiej zlinearyzować charakterystykę zależności pH od mV. Doskonale rozumiem idee...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: http://mikrokontrolery.blogspot.com/2011... Dzięki za upomnienie, faktycznie gdzieś to przeoczyłem, na schemacie ideowym nawet masa wisi :) Poniżej zamieszczam poprawiony schemat ideowy i płytkę w EAGLE. Widząc duże zainteresowanie kodem wrzucam wsad w BASCOM....
Mam z tym taki mały problemik :) Otóż wcześniej stosowałem przeliczanie z dodanym T = makebcd(t) po T = T /10 i temperatura była zawyżana ale wyświetlana dobrze na wyświetlaczach. Gdy osunąłem ten wpis temperatura jest rzeczywista, ale powyżej 20st tylko liczba po przecinku jest wyświetlana ok, natomiast dziesiątki zostają 1 a jedności wariują. Coś...
Witam serdecznie, Bylem bardzo zadowolony kiedy moj temperaturowy regulator zaczal dzialac. Dopoki nie przyszla moja zona i nie podgrzala czujnika lutownica :D Najprawdopodobniej mam zle napisany soft, a dokladniej konwersje temeperatury. Problem wystepuje przy temperaturze wyzszej jak 85°C. Wszystko jest ladnie i temepraturka sie zmienia plynnie. Powyzej...
Czy mógłby ktoś przedstawić na łamach tego postu tutorial który zawierał by oprogramowanie w Bascom AVR w oparciu o następujące wytyczne. - Znlezienie adres Układu DS18B20 - Wyświetlanie aktualnej temperatury na wyświetlaczu LCD - Przeliczanie temperatury Czy mógłby ktoś zamieścić tu taki tutorial, krok po kroku jak co robic ??
Tak,u mnie dziala.Trzeba jednak zwrocic uwage na inny sposob przeliczania temperatury w czujniku DS18B20.
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...
DS18b20 i DS1820 to zupełnie inne czujniki. DS1820 ma mniejszą rozdzielczość pomiarową oraz wymaga innego algorytmu przeliczającego. Poszukaj na elektrodzie, było wiele projektów na ds1820
Z polaroida wydłubujesz płutkę z sonarem (google: polaroid 6500 - tak nazywa się płytka nie aparat). Są trzy rodzaje płytek. Dwie z nich podłączasz bezpośrednio do procka, natomiast trzecią musisz wstawiś jakiegoś scalaczka - bez problemu znajdziesz opis w sieci. płytkę łączysz z uC trzema liniami: zasilanie "+", send i echo. Inicjalizujesz - dajesz...
Z 8 czujników DS18b20 jesteś wstanie wszystkie pomiary odczytać poniżej 1 sekundy. W czasie konwersji tych 750ms możesz w twoim układzie wykonywać inne czynności, nie czekać na czujniki. W skrócie: 1) Reset magistrali 2) Wyślij rozkaz globalny do pomiaru temperatury we wszystkich czujnikach 3) Czekasz 750ms (w tym czasie robisz sobie inne rzeczy). 4)...
Czekaj czekaj chcesz schemat ukladu scalonego? Jak on w srodku wsio przelicza? Bo niekumam.
Szukałem w starych postach ale tam są tylko kody źródłowe dla DS1820 a te nie chcą działać. Byłbym bardzo wdzięczny! Adaptacja z DS1820 na DS18B20 jest prostrza bo nie trzeba tyle przeliczać. Najważniejsze że masz już obsługę magistrali 1-Wire.
od 0 do 50 stopni to nie łatwiej na DS18B20 ?? wyjście ma cyfrowe i sam przelicza i wogóle full wypas do zakresu -25 do 125 st. pozdrawiam
Witam, przekopałem się przez wiele tutoriali, postów, wątków, i nie znalazłem rozwiązania, więc postanowiłem opisać własny problem. Mianowicie: mam podłączone do Atmegi8 dwa wyświetlacze 7seg multipleksowane, oraz termometr cyfrowy DS18B20. Chciałem aby zmierzona temperatura była wyświetlana na tych 7seg, oczywiście ze względu na dwa wyświetlacze jedynie...
Do Socker'a Ściągnij sobie z Elektrody schemat "Mój pierwszy zegar mikroprocesorowy". Jest tam też opis instrukcji przeliczania temperatury z termometru DALLAS.
Witam. Dzięki za podpowiedź, ja popełnilem wtedy błąd nie zwracając uwagi na czujnik DS 'a. Ja miałem DS18B20 a w programie jest DS1820. Inaczej się przelicza temperaturę.
A może inaczej... właśnie zrobiłem własne procki na podstawie ATMEL'owskiego przykładu na UART'cie i po użyciu tych stałych czasowych udało mi się nawiązać odpowiedź po resecie. Poniżej funkcja próby odbioru temperatury(tylko jeden slave), który zawsze daje 0x0101? Co to oznacza? Nie zmienia się ze zmianą temparatury... int16_t OW_Read_temperature(void)...
Witam Co do przeliczania wartości na temperaturę nie będę się wypowiadał bo w wielu publikacjach było to prezentowane. Natomiast zajmę stanowisko w sprawie wyświetlacza LED. Proponowałbym z obsługi przerwania usunąć procedurę pobrania znaku do wyświetlenia. O wiele lepiej zrobić to w programie głównym. Zbyt długie przebywanie w obsłudze przerwania może...
Witajcie, chciałbym lekko odgrzać kotleta i poprosić o wskazanie błędu przy próbie wyliczenia temperatur ujemnych. Odczytuję czujnik DS18B20 w maleńkim ATTINY13 (zmienne float właściwie odpadają) i co około sekundę wysyłam wynik poprzez UART. Dla temperatur dodatnich - dzięki uprzejmości p. Podkalickiego i jego "odchudzonej" biblioteki DS18B20 działa...
Podłączyłem czujnik ds18b20 do portu d.2 µP (at90s2313) w programie ustawiłem: config 1wire = portd.2 I oczywiście odpowiedni program do przeliczania temeperatury. Po uruchomieniu pokazuje cały czas 0. Ale zauważyłem że jak zewrę portd.2 z portd.4 to zaczyna wyświetlać poprawną temperaturę. Dlaczego tak się dzieje?
Czy DS18B20 zwraca wartości ujemne? Zanim zadasz takie pytanie sprawdź dokumentację: Measures Temperatures from -55°C to +125°C (-67°F to +257°F) Korzystam z bibliotek: <OneWire.h> <DS18B20.h> Jak mamy sprawdzić ich poprawność skoro ich nie załączasz? Bibliotek o tej nazwie do obsługi DS18B20 jest wiele. Czytam na forum o konwersjach, przeliczaniu...
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
Możliwe że znalazłeś bug'a w sofcie xD. Jak będę miał chwilkę to sprawdzę w czym tkwi problem. Poczytaj jeszcze datasheet DS'a. Może to zależeć od typu czujnika. Ja testowałem wszystko na ds18s20 a ten ma rozdzielczość 0.0625 stopnia. Jeśli masz inny rozdzielczość pomiaru może być inna i niepoprawnie przelicza moja funkcja konwersji do tablicy znaków.
gothye Warunki u mnie są wszystkie OK. Tylko w tym problem jest, że coś jest z programem który przelicza temperaturę na obroty wentylatora lub sama obsługa DS18B20 jest źle napisana. Ale w innych układach i z taką samą obsługą jak wyżej napisaną działa znakomicie. Tylko w tym programie coś jest nie tak. Właśnie mi zależy, aby układu nie zmieniać.
Jak podłączasz na pasożyta... ? Mozesz schemacik narysować ? Głównie mam na myśli rozwiązanie zasilania w trakcie przeliczania... Pisze w specyfikacji, że nalezy na ten czas włączać zasilanie przez tranzystorek... Pozdrawiam...
Ja rozwiązałem ten problem w następujący sposób //.... tmp1 = temp1; // w tmp1 bedziemy trzymac czesc ulamkowa tmp1 &= 0x0f; // wycinamy niepotrzebne bity HHHH temp1 >>= 4; // przesuwamy HHHH w prawo wycinamy LLLL temp2 <<= 4; // wycinamy 4 niepotrzebne bity znaku t = temp1 | temp2; // laczymy i w t mamy czesc calkowita if (t >...
poddaje się. nie działa:-( Dodano po 1 Udało się!:D. temperatura się zmienia, ale jest nie prawdziwa. Pomożesz mi napisać kawałek programu który by przeliczał temperaturę żeby była prawidłowo wyświetlana na wyświetlaczu LCD?
... Mozliwe ze mam błedy w kodzie. Wykrywa mi 2 czujniki, ale temperatury sa takie same. Gdy przeliczam CRC nic niepojaiwa się na LCD. Ano są błędziki :wink: Przeanalizujmy: ... '---------------petla glowna-------------- Do Konwert 'Dotyczy wszystkich urządzeń Waitus 200 '#####################czujnik 1## 1wverify Ds2(1) 'Czy jest na magistrali...
Jak oczekujesz na zakonczenie konwersji? Bo jezeli w trybie parasite to nie ma takiej mozliwości żeby wiedziec kiedy sie konczy konwersja. Nalezy czekac tyle ile napisane w nocie katalogowej i juz. Trudno zgadywać ale może źle coś robisz przy przeliczaniu temperatury? Z drugiej strony iloma termometrami rtęciowymi sprawdzałeś bo to może rtęciowe cos...
Witam ponownie Wyświetlanie już działa dobrze przetestowane na powyższym programiku, zawsze wyświetla 012345 w trybie konfiguracji 16*1 lub 16*1a Natomiast problem stanowi program do wyświetlania temp. Jest to program przepisany z książki p. Wiązany ale niestety wyświetla bzdurne wartości, wydaje mi się że problem tkwi w przeliczaniu samej wartości....
No ale przecież 133/16 to nie jest 41998000! Bo to po pierwsze nie jest dzielenie w systemie 16stkowym tylko dziesiętnym w programie. Poza tym brakuje koledze funkcji fusing(), a jak podzielimy 133 w hexie czyli 307 w dziesiętnym systemie przez 16 to otrzymamy 19stopni i mniemam że taka temperatura jest ustawiona. A druga linijka jest zła ze względu...
Witam. Ja kiedyś napisałem program który zawierał odczyt z ds18b20. 'tablica temperatury po przecinku Tabtemp(1) = 0 Tabtemp(2) = 1 Tabtemp(3) = 1 Tabtemp(4) = 2 Tabtemp(5) = 3 Tabtemp(6) = 3 Tabtemp(7) = 4 Tabtemp(8) = 4 Tabtemp(9) = 5 Tabtemp(10) = 6 Tabtemp(11)...
Tak, to był chyba LM35 - nie pamiętam dokładnie, bo to 2014 rok był... Fragment kodu do przeliczania temperatury. Działało to stabilnie. [syntax=vbnet] Sub Pomiar_temperatury Wartosc_adc = Getadc(3) If Wartosc_adc > 1000 Then Set Awaria.0 Pomoc_s = Wartosc_adc * 0.44 Pomoc_s = Pomoc_s - 178.56 End Sub[/syntax][/code]
Pod względem kosztów miernik cyfrowy + LM135 (albo tańszy LM335 - mniej dokładna wersja) wyjdzie chyba dużo taniej - rzędu 20-25zł (można i taniej: gniazdo V-Om-mA miernika łączysz przez LM335 z '+' baterii, i przez opornik 5-10k z '-' baterii, ustawiasz na zakres 200mV, i masz na wyświetlaczu wynik, który przeliczasz na temperaturę - ale wtedy odczyt...
Gdyby ktoś z forumowiczów był zainteresowany jeszcze kiedyś dobrym programem czujnika SHT11 to wstawiam. Pomiary mam co niecałą sekundę i w normalny dzień pokazuje wilgotność około 45-50%, do tego temperaturę mierzyłem również SHT11 i czujnikiem DS18B20, wyniki takie same. Odczyt OK ;) [syntax=c]GLCD_WriteStringXY("Pomiary:",... ShtReset(); _delay_ms(25);...
tak, trzeba zmienić kod, bo DS1820 podaje wynik z rozdzielczością 9 bitów natomiast DS18B20 standardowo ma ustawione, żeby zwracał postać 12 bitową... co prawda można mu przestawić tak, żeby zwracał wynik w postaci 9 bitów i zostanie to przez niego zapamietane, ale (jeśli się nie bylę) i tak inaczej się to troszkę przelicza na postać czytelną dla ludzia......
Najpierw powinieneś sprawdzić co odczytuje w pierwszych dwóch komórkach - w twojej tablicy BD(1) i Bd(2), tam jest temperatura z rozdzielczością 0,5st.C. Bd(1) młodszy bajt, Bd(2) starszy bajt, jeżeli jet to wartość 00AAh czyli 85,0 st.C - jest to wartość wpisana przez DSa po załączeniu zasilania - to prawdopodobie używasz zasilania pasożytniczego i...
Też się zastanawiam nad zakupem i się wystraszyłem tymi zegarami. Czy da się ustawić aby jeden przekaźnik działał: 6:00 ON 8:00 OFF 17:00 ON 20:00 OFF od PN do PT ? Jeszcze jedno pytanie czy da się z podpiętych czujek temperatury wysyłać wartości np co 10 min na jakiś serwer FTP? Możesz sobie nawet co sekundę pobierać dane, a nawet napisać sobie własny...
Mat_91 sam szukałeś na forum jak oprogramować DS-a, ja aktualnie stanąłem przed tym samym problemem, tylko ze ostatni kod jaki podałeś w swoim poście nijak pasuje do wcześniejszych programów z pierwszego postu, pokrywa się z daley.c tylko, ale brak procedur przeliczania odczytu na temperaturę i deklaracji. Dlatego proszę abyś zamieścił cały projekt...
//return ((scratchpad[1] << 4) | (scratchpad[0] >> 4));//obliczanie dla DS18B20 return ((scratchpad[0]>>1... // obliczanie dla DS1820 (nie B!!) Tu masz fragment mojego kodu - może masz coś nie tak z konwersją temperatury już w uP? Ja miałem podobne...
Nie wkleiłeś kodu więc można gdybać. A przypadkiem nie używasz tych samych zmiennych do przechowywania/przeliczania temperatury? Do odczytu kilku DS używam timera według algorytmu: init_ds1, po 20ms(przykładowo) init_ds2, po 800ms odczyt_ds1, po 820ms odczyt_ds2, po 1000ms zeruj czas i od nowa. Temperaturę trzymam oczywiście w osobnych zmiennych (trochę...
w/g mnie stosujesz dziwną metodę przeliczania temperatury. Np. twoje 23°. Przelicznikiem jednego bitu konwersji 12-to bitowej jest 0,0625°, tak więc 23° reprezentuje odczytana wartość 23/0,0625=368 (0x170). Ty mnożysz to * 10 i dzielisz przez 16, co daje 230!! a powinno 23. Pozatym tak na marginesie, co się stanie jeśli włączysz zasilanie i A będzie...
W roli czujnika temperatury w zakresie do około 120oC można używać układu scalonego DS1821, ale on wymaga zaprogramowania, nieco trudno go kupić i sporo kosztuje (znalazłem za 29zł). Inna możliwość, to połączenie: układ scalony LM334 (dokładniejszy będzie LM134, ale jest droższy i trudny do kupienia), 3 oporniki, TL431: LM334 z opornikiem daje układ,...
Zwykły miernik 3,5 cyfry jest trochę za kiepski do tego typu czujnika. Samo PT100 jest naprawdę bardzo dobrym czujnikiem. Są wersje 2, 3 i 4 przewodowe. Pomiar można wykonać na 2 przewodach, ale wtedy rezystancja przewodów zafałszowuje wynik, zwłaszcza gdy przewody są cienkie i dość długie. Najlepsza wersja jest 4 przewodowa, 3 przewodowa jest trochę...
Termistory to przeżytek! Jedyne słuszne czujniki temperatury to analogowe LM35 i pochodne (są takie, co mają dokładność do 0,01'C), a z cyfrowych to DS18B20. Jeżeli nie robimy termometru do piecu hutniczego albo do inkubatora to naprawdę nie ma sensu cudować z diodami, temoparami, termistorami czy jakimikolwiek innymi cudami. LM35 da się dostać za 2zł...
Witam. Dostałem 4 sztuki ds18b20 w samplach i konstruuję termometr do szkoły. Napisałem program,udało mi się połączyć z czunikami i wyświetlić temperaturę na LCD,wszystko było ok. Oba czujniki miałem zamontowane na płytce prototypowej(mam na niej zmontowany cały układ). Po pierwszych testach przylutowałem do jednego czujnika skrętkę o długości ok 30...
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...
Może trochę przesadziłem z tymi krótkimi przerwaniami. Oczywiście, że w przypadku przerwania z ADC zapisuje wynik w tablicy (ewentualnie go przeliczam), zmieniam kanał itp. Głównie chodzi mi o "problem" z bardziej czasochłonnymi operacjami typu fft, wykresy, ewentualne filtry. Timera używam np. do odświeżania wyświetlacza, obsługi DS18b20 który potrzebuje...
Witam, mam problem z odczytem poprawnym temperatury. Niestety nie znalazłem tematu, który by pasował do mojego problemu. Atmega odczytuje poprawnie adresy czujników po czym odczytuje mi na wszystkich jednakową temperaturę (85*C). Czujniki podłączone są równolegle do jednego portu z podpiętym rezystorem podciągającym 4,7k pomiędzy DQ a VCC 5V. Nie mam...
http://obrazki.elektroda.net/79_12868987... Opisywany system umożliwia bezprzewodowy pomiar temperatury za pomocą znanego każdemu DS18B20+. Temperatura jest wyświetlana w konsoli systemu Windows. Strona nadawcza: Składa się z mikrokontrolera AT89C2051, modułu nadawczy TX-4MSIL firmy Aurel, oraz DS18B20+. Interfejs 1-WIRE został zaimplementowany...
Witam Zaczynam trenować mikrokontrolery i programowanie. Próbowałem w asm ale jakoś ciężko - próbuje teraz w bascomie - i też ciężko niestety :( znalazłem jakiś przykład programu w bascom ale coś mi nie hula. pawełJ Ten Twój program nie jest pod 18b20. Podawane są różne sposoby przeliczania temperatury, sam jestem ciekawy który jest poprawny i poprawnie...
JA mam `51 czyli nie mosiadam wewnetrznego ukladu taktujacego jak to jest w AVR-ach. Mam zewnetrzny kwarc(110592MHz), ktory jest zdefiniowany w termometr.c a 1-Wire.h przelicza sobie opoznina wedlug tej definicji wiec opoznienia powinny byc dobre. Program jest pod ds1820 i dlatego mam problemik aby go przerobic. Moze przyda mi sie twoj programik bo...
Dzieki za odpowiedź. Użyłem przeliczania temperatury z twojego kodu int calk = (lsb & 0b11110000)/16 + (msb & 0b00000111)*16; I teraz wygląda to dobrze. Ile powinien wskazywać wyświetlacz gdy czujnik trzymany jest w ręce? U mnie pokazuje 34. Czy dalej gubi bit? Druga sprawa to jeszcze taktowanie. Ja używałem takiej dyrektywy #define...
Poprawiłem algorytm przeliczania wartości z ADC na temperaturę, i zdałem sobie sprawę, że wcześniej zupełnie źle do tego podszedłem. Do tej pory mogłem mieć zbliżone wyniki w temperaturze 100 stopni Celsjusza, a wyżej i niżej temperatura ostro się rozjeżdżała z wynikami. Obecnie w kodzie umieściłem tablicę zawierającą 77 wartości napięcia, z tabeli...
timer zlicza czas w jakichś tam odstępach i dodaje do licznika +1. (wyeliminowano przepełnienia timera) . Jeśli jest impuls z halotronu (magnes kręci sie na łyżkach wiatromierza) to znaczy ze wykonano jeden obrót, i wtedy ten czas jaki zleciał do momentu przejechania magnesu, (np 1/50 sekundy) przeliczam na prędkość. Tylko do tego timera używam. Biblioteka...
Oto mój program wykorzystujący LCD w trybie 4-bitowym, śmiga jak ... Jest tam obsługa LCD i 1wire, procedurki LCD łatwo wyłowić :) // ****************************************... // Project: Obsluga układu DS18B20 // Author: Zbigniew Chrobot // Module description: pomiar temperatury z DS18B20 kwarc 4MHz // wyswietlanie na...
Witam ! Piszę program regulatora temperatury. Używam czujnika ds18b20, którego obsługuje Attiny2313. Komunikacja z komputerem poprzez USART. Postanowiłem, że prześle 2B danych z czujnika ds18b20 i konwersje dokonam na komputerze, w terminalu otrzymuje śmieszne krzaczki, ale nie przejąłem się tym, napisałem w Delphi używając bibliotek CPort program do...
Nie chce mi sie przeliczac z dwojkowego na 16-kowy, ale generalnie aby otrzymac pomiar z DS1820 powinieneś: 1. zresetowac linie 1-wire 2. wyslac wartosc 55h 3. wyslac wartsc 10h + 48 bitowy Adres urzadzenia + 1 bajtowy kod błędu CRC 4. wysłać wartość 44h - inicjacja pomiaru 5. poczekać aż układ odpowie - wartość FFh 6. zresetować linie 1-wire 7. wyslac...
Ciekawostka wstawiajac w miejsce "Shift T , Left , 8 " zamiast 8wstawiam 9 uzyskujemy -16.1 stopnia czy jest czujnik czy go nie ma ale jesli zewre DQ czyli wejscie/wyjscie z ukladu z masa uzyskuje 0.0 stopnia z czujnikiem tak samo:) Dzieje się tak ponieważ różnie to przeliczasz. Nie mając kontaktu z czujnikiem i tak nie ma to sensu. Podłączenie ds-a...
Witam PT100 wydaje się oczywiste ale.... Robiłem kiedyś przetworniki na dedykowanych układach które sprawę teoretycznie upraszczają ale aby wyjście było liniowe rezystory musiały być przeliczane i dla takiej dokładności nie były to rezystory z żadnego szeregu, robiłem na zamówienie i wyszły dość drogo, ogólnie masakra jak się ostatnio mawia :) Układ...
1. Jak realnie wygląda kalibracja czujnika i kiedy należy ją wykonać? Realnie musisz mieć 2 łaźnie cieczowe, zerostat, wzorcowy czujnik Pt100Ω lub Pt25,5Ω ,wysokiej klasy multimetr cyfrowy lub mostek rezystancyjny, wiedzę, doświadczenie, czas i cierpliwego człowieka, bo to żmudne i mało przyjemne zajęcie (przydaje się też dedykowane oprogramowanie)....
Witam Wiadomo, że trzeba przygotować dane dla wyświetlacza i zmusić DSa do odczytu. Z DSem jest tak, że układ potrzebuje niecałej sekundy (0.7-0.8s), żeby przetworzyć temperaturę na postać cyfrową. Jednak sam odczyt z układu trwa znacznie krócej. W związku z tym proponuję w obsłudze przerwania wyświetlaczy (na początku) wysłać komendę do DSa aby zaczął...
Witam wszystkich, robię prosty układzik na uC atmega. Zadaniem go będzie odczyt temp z czujnika ds18b20 i ustawianie zewnętrznego przetwornika dac po spi. Wszystko praktycznie napisałem, bo części programu były wykorzystywane w innych układach, które pracują, z spi problemu nie ma, z odczytem ds też. Ale chodzi o to, żeby cały układ pobierał jak najmniej...
Witam Mam 7 układów DS18B20 i chciałem dokonywać ich odczytu w kolejności. W przerwaniu od Timer0 ustawiam co 4 sekundy flagę, która ma spowodować wywołanie programu odczytu. ................ Tylko, że wstawienie tego w Case nie ma chyba sensu, bo w momencie wyboru z Case, dane jeszcze nie są obliczone. Pierwsza uwaga to nie dajesz wymaganego czasu...
Witam! Pracuję na AVR, piszę w WinAVR w C+. Otóż gdy temperatura schodzi do zera, to w momencie przejścia przez 0stC pojawia się -0.1, a potem już leci do góry i pokazuje wartość bezwzględną temperatury (znika -0.1 i dalej są same dodatnie wartości). Szukałem tutaj sporo, ale wiekszość jest pod bascoma, a ja piszę w C+... Kod (ściągnęty + oryginalne...
Dzięki za pomoc - dziś byłem w sklepie i kupiłem zenerki 3,0V i 3,3V. Pomyślałem później że szkoda się bawić i wlutowałem 3V - wykryło. Nie wiem dlaczego, ale mój avrdude zadziałał tylko ze starszymi sterownikami libUSB. Używam GUI o zadziwiająco chwytliwej nazwie 'AVR8 Burn-O-Mat v2'. Fajna rzecz, pobiera fusy z µC i sam je przelicza. Programowanie...
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...
Witam. Od paru dni pracuje nad swoim projektem komputerka do samochodu na ATMEGA8. W założeniu będzie miał funkcje: - pomiar temperatury wewnętrznej i zewnętrznej - pomiar napięcia w instalacji samochodu - pomiar poziomu paliwa w baku - pomiar ilości spalonego paliwa - ostrzeżenie o nie zapalonych światłach przy odpalonym silniku. - migająca sygnalizacja...
Witam kolegów. Mam w samochodzie ogrzewanie postojowe eberspaecher, zapragnąłem uruchamiać je zdalnie. Do tego celu zbudowałem prosty sterownik (na razie tylko na płytce stykowej). Założenia: - współpraca z zestawem zdalnego sterowania typu ZDS-3K - uruchamianie dmuchawy gdy temperatura osiągnie zadaną wartość, po to aby obieg cieczy szybciej sie nagrzewał,...
http://obrazki.elektroda.pl/6949921300_1... Współczynnik sprawności pompy ciepła COP (ang. Coefficient Of Performance) jest najważniejszym parametrem opisującym pompę ciepła. Podawany w katalogach, materiałach marketingowych itd. Problem jest jednak taki, że pompy ciepła z reguły go nie mierzą bo jego rzeczywista wartość znacznie odbiega...
Czesc. W układzie w którym pracowały (poprawnie) trzy DS1820 z konieczności (a trochę z głupoty) zamieniłem jeden z nich na 18B20. Niestety odczytuje on dziwne wartości, nawet po przesuwaniu przecinka i przeliczaniu nijak się mające do rzeczywistości. Czy mógłby ktoś przejrzeć fragment procedury jaka jest w tej chwili w moim 90S8535 i zasugerować zmiany,...
Witam! Od kilku dni siedze i nie mogę nic wymyśleć :( Bez ogrudek - podaje źródło: $regfile = "m16def.dat" $crystal = 8000000 'definiowanie zmiennych i stałych Dim T As Integer Dim Licznik_przerwan As Byte Dim Dioda As Bit 'konfigurowanie interfejsu 1Wire Config 1wire = Portd.1 'konfiguracja wyświetlacza Config Lcdpin = Pin , Db4 = Portc.6...
Źle podchodzisz do tematu. Dopóki są to jakieś tylko zabawy w budowę termometru to sobie można pozwalać na takie błędy. Kiedy jednak od pomiaru takiej temperatury ma już zależeć praca jakiegoś urządzenia to powinno się do sprawy podejść poważniej. Po pierwsze ten uC ma trzy Timery. Może mierzyć dowolne czasy. Czy na pewno jest Ci potrzebne przerwanie...
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...
Przelicz sobie pobór prądu dla układu i dopiero wtedy planuj dalsze działanie. Procesor będziesz musiał usypiać a wyświetlacz wyłączać. Pamiętaj też że przetwornica nie ma 100% wydajności.
A jak masz połączone te rezystory? Szeregowo czy równolegle? Czemu posługujesz się czyimiś bibliotekami, nie napiszesz ich sam? A to już nie można cudzych bibliotek wykorzystać? Nie wiem czy tutaj byłeś: [url=http://www.hobby.abxyz.bplaced.net/... Na dole artykułu jest gotowa biblioteka do ds18b20 działająca na 100%. W msb i lsb...
Koledzy, którzy produkowali systemy monitorowania temperatury w laboratoriach, zamykali sondy w rurkach z cienkiego szkła, zalewając całość gliceryną (pewnie mieli jakieś uzasadnienie) i korkując to kawałkiem tworzywa. Oczywiście bezpieczniejszy mechanicznie jest metal, ale trzeba by pewnie jakąś rurkę z cienkiej nierdzewki. Akumulatorek 9V ma sens,...
Dzień dobry wszystkim! Z góry dziękuję za chęć niesiania pomoc w rozwiązaniu problemu. Otóż, w ramach akcji: "Polubić i zrozumieć AVR" którą narzuciłem sobie kilka tygodni temu wpadłem na pomysł obczajenia czujnika temperatury DS18B20 w który wyposażona jest moja płyta ewaluacyjna (EvB microSENSE.pl wyposażona w Mega32) W projekcie załączonym poniżej...
woszu -> proponuję - zastanów się nad tym dokładnie - bo na razie - przypadkiem ci działa - ale sam się zdziwisz gdy zaczną ci wskakiwać jakieś temperatury z kosmosu.... twój pierwszy przykład był całkowicie zły bo- generalnie robiłeś to tak: 1. wysyłasz adresz czujnika nr.1 2. weryfikujesz czujnik nr.1 3. odczytujesz temperaturę z czujnika nr.1 4....
http://obrazki.elektroda.pl/5636705900_1... https://filmy.elektroda.pl/37_1378532310... Termometr mikromocowy LCD ATMEGA16 Tym razem głównym celem projektu było sprawdzenie możliwości wykonania mikromocowego systemu pomiaru temperatury w oparciu o możliwie standardowe elementy, mówiąc w skrócie byłem ciekawy czy zwykły avr może być...
Napisane na szybko nie sprawdzałem ale chyba powinno działać. [syntax=basic4gl] $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) '*************************************WA... 'Pamiętać o podłączeniu...
http://obrazki.elektroda.net/50_12508962... Przedstawiane urządzenie to elektroniczna podstawka pod kufel/szklankę. Za pośrednictwem analogowego układu czujnika temperatury LM35 mikroprocesor odczytuje temperaturę postawionego nań naczynia. Przelicza odpowiednio temperaturę i podświetla nasze naczynie płynnie zmieniającymi się kolorami. Jeśli...
Jeżeli podłączasz na dwóch przewodach DSa to rezystor zmniejsz do 3,3k. Nie chcę mi się pisać więc podaję kod (bascom/asm) '***************************************... !read_temp_1w: Read_temp_1w: 'odczyt rejestrow z ds1820 'Stop Timer0 jnb {fl_pomiar},read_temp_1w_end clr {fl_pomiar} 1wreset...
Witam Nie widzę deklaracji funkcji: delayus() oraz delayms(). W bibliotece delay.h funkcje te wyglądają tak: delay_us() i delay_ms(). Tak naprawdę właśnie dobór opóźnień jest najistotniejszy przy komunikacji po 1-Wire. Wiem bo sam męczyłem się trochę z tym czujnikiem. Niestety funkcję dostępne standardowo w bibliotece delay.h ( delay_us() i delay_ms()...
Przepraszam odrazu że poruszam temat wałkowany 1000 a moze i wiecej razy. Niestety jednak niepotrafie sobie sam poradzić dlatego prosze was o pomoc. Termometr wyswietla mi cały czas temp -0.02 Niemam pojecia dlaczego Ds jest zasilany ciągle (nie przez iwire) a środkowa noga zwarta przez rezystor podciągający (4,7k) do zasilania. podłączyłem go do 0...
Masz tu procedurkę odczytu i wyliczenia temperatury. Prościej się nie da. Nie wiem w czym piszesz, ale sama procedura (bascom) jest czytelna.
wiem wiem, że tak to się robi mam to napisane w programie dokładniej ten fragment jest za to odpowiedzialny: ................. Tyle, że czujnik ds18b20 nie podaje temperatury tak po prostu do procesora np.: 20 stopni Celsjusza tylko trzeba to troszkę przekonwertować za co odpowiedzialna jest ta część programu: fajnie miło i przyjemnie jeśli temperatury...
Kod po zmianach-przeniesienie napisów do eeprom; [syntax=basic4gl] '---------------------------------------... '***************************STEROWNIK AKWARYSTYCZNY***************************... '____________________________________by_... '**********************************RABBI...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
witam przylacze sie do tematu tez mam podobny problemik z ds18b20 a mianowicie nie odczytuje z ukladu chyba go zle nie podlaczylem http://www.slcj.uw.edu.pl/pe/pliki/DS18B... jeszcze na wszeli wypadek dalem warunek aby sprawdzic czy uklad dziala ....... if Err=1 then cls lcd "brak ds" do loop end if ......... okazuje sie ze go...
Zakładając, że użyjesz innego procka, dalej ciężko się domyśleć, o co dokładnie pytasz. Ale spróbuję :p Zapewnie chcesz najpierw obsłużyć przetwornik. Zatem na początku konfiguracja: - jeśli napięcie odniesienia ma być pobierane z wyprowadzenia AVCC mikrokontrolera: Config Adc=Single, Prescaler=Auto, Reference=Avcc - jeśli chcesz skorzystać z wewnętrznego...
ds18b20 przeliczanie temperatury ds18b20 przeliczanie temperatury bascom przeliczanie watów
orange neostrada prostowanie diodach klapa tylna mercedes
Odpowietrznik układu hamulcowego Ford Fiesta 2009 1.4 benzyna Podświetlenie radia gaśnie w Ford Focus MK2