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...
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.
NO okazalo sie bledne polaczenie ale teraz pytanie takie dlaczego jest tak If T <= 2000 Then ' temperatura dodatnia T = T / 16 ' przeliczamy do ludzkiej postaci Else ' temperatura ujemna T = 65536 - T ' przeliczamy T = T / 16 T = 0 - T End If Return End Sub dlaczego akura jest warunek <= 2000 a nie jakas inna liczba Dlaczego T/16 a nie naprzyklad...
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.
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...
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)...
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 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...
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...
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...
Ja rozwiązałem ten problem w następujący sposób: unsigned short int odczytaj_temp(void) { unsigned char temp1, temp2; unsigned short int tmp1, ulamek, t; wire_reset(); wire_write_byte(0xcc); // pomin czytanie nr wire_write_byte(0x44); // nakaz pomiar temperatury _delay_ms(800); // czekaj na przetworzenie...
Chciałbym wrocic do procedur jakie napisałem na wstępie: void USART_Transmit( unsigned char data ) ... void write_temp( short int t) , otoz chce użyc jakiejs alternatywnej procedyry, zeby byla o wiele prostrza, jak ktos taki jak ja (poczatkujacy) spojrzy na ten program to bedzie wiedzial o co chodzi. Nie podoba mi sie ta procedura. Szukalem juz troche...
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, 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...
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...
Oj kolego, poważny błąd - zasilaj prawidłowo mikrokontroler: 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. Załączam również program współpracujący z urządzeniem. Program może działać...
Witam Mam Problem Z Napisaniem Programu Do Atmega8. A Mianowicie Sprawa Wygląda Tak: Każdy ds18b20 Podpięty Do Innego Portu. I Chcę: 1. Zrobić Alarm Po Przekroczeniu Określonej Temperatury: a) W Miejscu Danego Czujnika np. 2 Zamiast Temperatury Wyskoczył Napis "GORĄCO" i Po Chwili Zniknął i Pojawiła Się Temperatura i Znowu Napis "GORĄCO" I tak W Kółko...
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...
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...
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 ??
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
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...
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,...
Do Socker'a Ściągnij sobie z Elektrody schemat "Mój pierwszy zegar mikroprocesorowy". Jest tam też opis instrukcji przeliczania temperatury z termometru DALLAS.
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...
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...
Jednak przeliczyłem swoje mozliwości, nieptotrafie obsłuzyc dwóch czujników. połaczyłem je w nastepujacy sposób: masa układu - masa czujnika1 - masa czujnika2 ; port układu = data czujnika1 - data czujnika2 ; +5 - vcc czujnika1 - vcc czujnika2. miedzy data a +5 dałem rezystor 4.7k. Mozliwe ze mam błedy w kodzie. Wykrywa mi 2 czujniki, ale temperatury...
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...
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ę...
tutaj jest kod, to co dotyczy liczników jest pod koniec, przed main(): #define F_CPU 8000000 #include <avr/io.h> #include <avr/delay.h> #include <avr/interrupt.h> #define DDR_DB4 DDRB #define PORT_DB4 PORTB #define DB4 PB0 #define DDR_DB5 DDRB #define PORT_DB5 PORTB #define DB5 PB1 #define DDR_DB6 DDRB #define PORT_DB6 PORTB #define...
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...
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ął...
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...
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 Ponownie. :) Problem rozwiązałem.:) Ale mam satysfakcję :) A więc w kodzie odczyty temperatury pobrane z DS18B20 są zapisane pod zmiennymi temp1=>LSB oraz temp2=>MSM następnie są one przesuwane odpowiednio w prawo i w lewo o cztery miejsca temp1=read_byte(); temp2=read_byte(); if (ow_reset__()) {test();}...
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...
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...
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ś...
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...
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?
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....
Podłącze się do tematu bo coś nie idzie mi 1wire. Na reset układ reaguje prawidłowo. Chyba jednak coś sknociłem przy odczycie lub zapisie bajtu, cały czas dostaje dziwne (15, 143, 128, 248, etc) wartości MSB i LSB. Zwarcie lini do masy zwraca same 0, do vcc lub pozostawienie wiszącego: same 255 Dalass wydaje się reagować na zmiane temperatury. Przeliczania...
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...
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...
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...
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ę...
Ź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...
(at)tmf dzięki za poradę, ale w tą stronę nie mogę iść. 1 - czujki pracują jednak w dynamicznym środowisku i "stabilizacje temperaturowe" nie mogą być dłuższe niż max 30 sekund, idealnie by było gdyby był to czas możliwie jak najkrótszy. 2 - budujemy za dużo urządzeń aby bawić się w programową kalibrację, dodatkowo wymiana czujnika, każdorazowo wbijanie...
Witam Proszę o pomoc/wskazówkę co z tym programem jest nie tak? Na co dzień nie zajmuję się programowaniem, lecz czasem (4 programy przez 6lat :-) ) potrzebuje stworzyć jakieś ustrojstwo działające na moich warunkach. Bascoma uczę się po trochę w miarę potrzeb. Wydawało mi się że na DSy mam już "regułkę" . Teraz już wiem że mam, ale tylko na 8szt. Dlaczego...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
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
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...
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...
Cześć. Mam mały problem z pomiarem/wyświetlaniem temperatur ujemnych z wykorzystaniem czujnika DS18B20. Korzystam z bibliotek: <OneWire.h> <DS18B20.h> Ujemna temperatura jest na wyświetlaczu pokazywana jako dodatnia - tzn. jest tylko wartość a nie ma znaku +/-. Czy DS18B20 zwraca wartości ujemne? Czy brakuje mi tylko warunku np.: jeżeli...
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ć konkurencją dla układów msp430, które to podobno właśnie do takich zastosowań są preferowane. Zanim jednak...
Witam, Przymierzam się do zbudowania własnego cyrkulatora do SousVide : - Grzałka 1 kW - pompka 12V 2 l/min - obiekt 4,5l wody Elementem wykonawczym jest przekaźnik SSR częstotliwość PWM 7 Hz. Sprzężenie DS18B20 co 750ms. Wykonałem odpowiedz na skok, SSR 100% pompa 100% żeby obliczyć sobie nastawy regulatora PID ale nie przypomina to wykresu z metody...
Tak,u mnie dziala.Trzeba jednak zwrocic uwage na inny sposob przeliczania temperatury w czujniku DS18B20.
I. Wiadomości ogólne. Jednym z najtrudniejszych zagadnień w budowie amatorskich urządzeń nadawczych jest prawidłowy pomiar mocy. Pomiar w zakresie kilku miliwatów, zwłaszcza przy częstotliwościach powyżej 100 MHz (np. przy uruchamiania generatorów), może stanowić poważny problem. Najprostszym rozwiązaniem jest pomiar napięcia w.cz. na rezystorze pomiarowym...
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...
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 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....
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 od katalogu, czasami z przyczyn naturalnych (punkt pracy)...
Kod po zmianach-przeniesienie napisów do eeprom; [syntax=basic4gl] '---------------------------------------... '***************************STEROWNIK AKWARYSTYCZNY***************************... '____________________________________by_... '**********************************RABBI...
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...
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...
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...
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ł,...
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...
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 '*************************************.....
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 programowo. Mikrokontroler odczytuje bajty temperatury...
Witam. Proszę o zerknięcie na kod i wytknięcie błędów programistycznych. Wiem, że większość z Was nie "uważa" języka Bascom, ale na razie tylko to umiem, więc tego proszę się nie czepiać. Kod jest oprogramowaniem sterownika akwarystycznego, który działa sprawnie już jakiś czas. Mistrzem w programowaniu nie jestem i wiem, że to i owo można było rozwiązać...
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,...
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......
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...
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?
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 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...
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...
//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...
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...
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ę.
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 temperatura naczynia jest niższa od 20°C –...
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ć.
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...
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...
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...
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...
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);...
Witam mam problem z programem do trawiarki mianowicie znalazłem na necie program do sterowania trawiarką chciałem do tego dopisać wybór menu żeby było jeszcze był drugi tryb sterowania trawiarką. Wgrałem program do uC i działało poprawnie potem chciałem wgrać ten sam program bez żadnych zmian na inna ATmege8 i okazuje się że teraz program działa trochę...
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 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...
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)...
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...