W Notepad++5.6.2
problem tkwi w tym, że program masz do obsługi układu DS1820, a podpięty masz DS18 B 20 (różnią się one rozdzielczością i sposobem zapisu temperatury w rejestrach). W internecie znajdziesz masę programów pod BASCOM i nie tylko obsługujących ten termometr.
Rozważ takie rozwiązanie, ale dobrze byłoby podłączyć jeszcze jeden pin do mikrokontrolera żeby rozpoznawał czy mamy zasilanie i od tego uzależnił co ma robić program. Po co ma odpytywać czujniki na baterii. Na dodatek po wznowieniu zasilania musiałbyś użyć komendy Initlcd http://obrazki.elektroda.pl/4984761000_1... W FuseBitach nie...
Witaj na naszym forum. Prosiłbym o podanie jakiegoś interesującego linku dla początkujących. Proszę bardzo: http://mikrokontrolery.blogspot.com/p/sp...
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...
Jeżeli wymieniłeś baterię i przez jakiś czas działało prawidłowo, to wskazanie będzie na baterię. Problemy z kwarcem też mogą wystąpić przy takich temperaturach (-20*C), ale wtedy układ nie traciłby danych z pamięci tylko notowałbyś opóźnienia. W skrajnych przypadkach, bardzo niska temperatura i duże drgania (duży prąd, co nie dotyczy PCFa) kwarc pęka....
http://obrazki.elektroda.pl/9385220000_1... Na początku chciałbym zaznaczyć, że projekt został zrealizowany dzięki koledze Markowi Szymczakowi. Układ składa się mikrokontrolera ATMEGA8 wraz z podłączonym do niego wyświetlaczem graficznym o rozdzielczości 128x64 piksele i sterownikiem KS0108B (HD61202/3). Jako czujnik temperatury został...
na termistorze więcej nie zdołasz uzyskać, w końcu to element półprzewodnikowy.
Spróbuj tak: /* zmienna globalna */ static uint8_t regulacja_temperatury = 1; if(bit_is_clear(PRZYCISKI_PIN_PO... { MOC3041_1_ON; MOC3041_2_ON; MOC3041_3_ON; regulacja_temperatury = 1; } else if(bit_is_clear(PRZYCISKI_PIN_PO... { MOC3041_1_OFF; MOC3041_2_OFF; MOC3041_3_OFF;...
W funkcji pomiart1() nie czekasz na koniec pomiaru. Dlaczego?
Zajrzyj do dokumentacji LM, tam jest pokazane, jak należy go podpiąć, żeby mierzył ujemne temperatury.
Tylko jak się zdecydujesz to musisz oprogramować I2C w trybie Slave. A to juz nie wiem czy w Bascomie takie proste. Nie znam Bascoma ale z tego co się orientuje standardowe komendy dotyczą I2C w trybie Master. W sumie I2C będzie łatwiejsze z technicznego punktu widzenia, no i bardziej przyszłościowe np jak zrobisz kolejny moduł. Tylko musisz pamiętać...
Spróbuj zmienić kolejność na taką: '--------konwersja temp dla wszystkich dsow 1wreset 1wwrite &HCC 1wwrite &H44 Wait 1 1wreset 1wwrite &H55 2 1wverify Dsid1(1) 'wysyłamy adres pierwszego czujnika 1wwrite &HBE I1 = 1wread(2) '--------------------------------- 1wreset 1wwrite &H55 1wverify Dsid2(1) 'wysylam adres drugiego czujnika...
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
Kod jest mi nie potrzebny - zasada jest taka - masz określone formaty danych i tak np. temperatura składa się z 3 cyfr i kropki, znak stopni jest stały, podobnie jak reszta napisów. I teraz masz stare odczyty, powiedzmy tak: ___DOM____POLE__ __21.5_C__12.2_C Potem dajesz locate, w tym przypadku (1,2) i wyświetlasz nową temperaturę, która przy okazji...
Nie za bardzo: - AGND masz połączone z masą przez kondensator, ma byc bezpośrednio - AREF ma być połączone przez kondensator do masy - AVCC ma być połączone przez dławik do VCC - RESET - wywal wszystko co masz na tym pinie, obecnie masz go na stałe zwarty do Vcc, co uniemożliwia programowanie - GND stabilizatora jest niepodłączone - jeśli jako Vref...
Pomyśl nad zastosowaniem rejestru przesuwnego. Np 74HC595. Można te układy łączyć. Potrzebne będą trzy linie procesora. Jedna do ustawienia wprowadzanego bitu druga to zegar rejestru przesuwnego a trzecia służy do przeniesienia danych z rejestru na wyjścia. Układ ma 8-io bitowe wyjście czyli do podwójnego wyświetlacza będą potrzebne dwie takie kostki....
Na temat fuse bitów był osobny temat wałkowany i to dobrze ale narazie ich nie ruszaj bo "uwalisz" procka. DS-y są "wyczulone" na czas w którym następuje konwersja i jesli bedzie nieodpowiedni(wg noty 750ms) to DS moze wariowac i w ogole nie mierzyc(nie zdarzy wykonac konwersji). Jesli chodzi o ADC to w zasadzie różnica jest taka ze przy standardowym...
Witam ponownie. Ze względu na częstą potrzebę wykonywania pomiarów temperatury w dość długich procesach postanowiłem ulżyć sobie i stworzyć coś co zrobi to za mnie. Efektem moich przemyśleń jest urządzenie oparte o mikrokontroler Atmega8 i czujnik temperatury DS18b20. Dodatkowo urządzenie wyposażone jest w wyświetlacz, na którym można odczytywać mierzoną...
kamil1cos7 --->, tak, czujniki mam w trybie pasożytniczym, po pracy podmienię rezystor na 2k; snnaap ----> tak, powyżej 10st. Celsjusza wyświetla prawidłowo, wg termometru, w pokoju mam 22st, więc raczej nie przekłamuje. Pierwsze co to wyświetl na ekranie co masz w zmiennej Ss po odczycie wprost z czujnika przy tem poniżej 8 stczyli : Ss = Str(i1)...
Tutaj masz gotowy przykład bez użycia float-ów (oszczędność pamięci): http://mikrokontrolery.blogspot.com/2011...
Zegarek oprócz funkcji wyświetlania czasu ma pokazywać temperaturę i mieć możliwość sterowania z pilota (RC5). Normalnie (by default) Bascom używa Timer0 dla RC5. Jeżeli Timer0 masz zajęty do inego celu, więc potrzebujesz skonfigurować Timer2 dla RC5. e marcus
Po pierwsze to kup nowego DS a tego wyrzuć- bo gdzieś go schowasz, zapomnisz że zepsuty- a za jakiś czas będziesz się znowu użerał. Ale zanim go wyrzucisz zmień us na ms na końcu programu. Zresztą powinno być 900ms a nie 200.
a 8MHz masz?:> Sprawdź PCB Rezystor 4.7kΩ masz na linii danych? Może podaj konkretnie co pokazuje sie na lcd. "Przyczepiliście się" :D do sprzętu , a żaden z Was nie zajrzał do kodu ;) A błąd ukrył się sprytnie , w deklaracji zmiennej T1 , która powinna być typu Integer , a jest ... :?: Piotrek
Atytmetyka 8-io i 16-sto bitowa: http://www.atmel.com/dyn/resources/prod_... i kody źródłowego do tego http://www.atmel.com/dyn/resources/prod_... Dodano po 41 i jeszcze to: http://www.atmel.com/dyn/resources/prod_...
jack63 to wcale nie jest liniowa charakterystyka! Oczywiście, tylko ta nieliniowość jest niewielka. Dla 200oC wynosi mniej niż 6oC. Czyli 3% ,jeśli dobrze policzyłem :D. Przetwornik ADC jest 10 bitowy z dokładnością do 2 LSB czyli 0,4%. Można przeprowadzić ew. linearyzację po ADC programowo. (at)PiotrPitucha próbujesz "wymusić" stosowanie rozwiązań...
Temat ten był już wałkowany n razy Zerknij do datasheet'a DS'a Wydaje mi się że czas po odebraniu bitu jest zbyt krótki, z tego co pamiętam to tam min 75 us powinno być Tu masz kawałek działającego kodu, przerób sobie pod swoje komendy #define ONEWIRE_PIN PB2 #define ONEWIRE_PORT PINB #define ONEWIRE_DDR DDRB static uint8_t onewire_reset() {...
Podłączyłeś równolegle dwa uzwojenia wtórne transformatora, a tak sie nie powinno robić. Jak już to daj dwa mostki prostownicze i połącz dopiero wyprostowane napięcia. Do tego masz jakiś kondensator równolegle do uzwojeń wtórnych. Po co? Kondensatory C17 i C18 jak już chcesz łączyć równolegle do przycisków, to szeregowo przez rezystory np. 100...330R....
Oznacza to, że nie jest to takie proste, jak się wydaje :) Korzystając z dzielnika musisz wybrać pomiędzy dobrą liniowością a wysoką dynamiką (rozdzielczością) - przy okazji rezystancja dzielnika w całym zakresie pracy musi być dużo mniejsza, niż rezystancja wejściowa przetwornika A/C. Sugeruję wykonanie kilku wykresów funkcji Vout(T) dla różnych wartości...
Co prawda w temacie kolega umieścił wątek o termometrze wykorzystującym jako czujnik LM35, ale może "malutka sugestia": Brałeś pod uwagę scalony cyfrowy czujnik typu np DS18B20 ? Ja np w aucie zbudowałem termometr (na ATMEGA8) przy użyciu dwóch czujników DS18B20 (temperatura silnika i w kabinie) oraz DHT22 (zamiennik to AM2302) w nawiewie, który oprócz...
F_CPU=8000000 ustawione w Properties projektu A fuse bity w uc masz ustawione na 8MHz. Jeżeli nic nie ustawiłeś to uc domyślnie pracuje z częstotliwością około 1MHz.
Polecam lm75 - ma 3 bitowy adres (8 układów na jednej magistrali), programowane parametry: rozdzielczość, alarm przekroczenia parametru, histereza. Niska cena. Oczywiście trzeba się liczyć z parametrami elektrycznymi I2C.
Ten kod napisałem na podstawie dokumentacji temometru i dokumentu opisującego interface 1 wire od atmela: A do dokumentacji AVR-ka zaglądałeś :?: Zastanów się, czy można uzyskać niski stan na magistrali 1wire, jeżeli pin do niej podłączony jest ustawiony jako wejście :?: [syntax=c]unsigned char _DS18B20_ReadByte() { _DATA_DDR &= ~(1 << _DATA_WIRE);//...
Czym jest spowodowany fakt iż nie dostarczając napięcia do dsa " pracując w konfiguracji dwóch linii danych z podciągnięciem i masa " na pc czujnik działa ok a po podłączeniu do up nie można odczytać danych? Komunikacja jest poprawna ponieważ jest możliwe odczytanie id dsa. Ogólnie tym, że połączenie w trybie dwuprzewodowym (pasożytniczym) wymaga bardziej...
ee no musiało pomóc, sprawdzałem u siebie i kod się zmniejszał o kilka kB pokaż jakim poleceniem ze wszystkimi flagami jakie używasz kompilujesz kod dla tych zmiennych równych 134 i 1: LS Byte: 10000110 MS Byte: 00000001 w MS Byte pięć najważniejszych bitów wskazuje na znak - zera to dodatnia, a jedynki to ujemna trzy najmłodsze bity z MS Byte i cztery...
Kwarcu nie potrzebujesz. Na wewnętrzynym oscylatorze możesz zrobić to spokojnie. Nie masz złącza ISP - no chyba że masz zewnętrzny programator do którego będziesz wkładał procesor. Jeśli nie to zdecydowanie dorysuj to złącze. Czy LCD będzie bez podświetlania? Kup lepiej taki z podświetleniem i go podłącz - 15 i 16 noga LCD. Może warto kupić 2x16 - koszt...
Wynik temperatury jaki uzyskał jest efektem odczytania samych jedynek z magistrali 1wire, czyli czujnik nie odpowiedział.
W TCNT2 jest aktualna wartość timera2.
Masz podciąganie linii danych?
http://tomeko.net/termometr.php -> projekty testowe dla ATmega8 i PIC18F2550. Przewód ma u mnie około metra - taka sama zwykła płaska taśma, kondensator przy czujniku. Nie zauważyłem by był wrażliwy na dotykanie. W main.h zdefiniowane jest F_CPU warunkujące opóźnienia w bibliotece delay i ustalające baudrate dla RS232. Jeżeli będzie wyższe niż rzeczywiste,...
Koszt elementów możesz sobie policzyć. Procesor np. Atmega8, czujnik temperatury i wilgotności, wyświetlacze 7-seg. LED, zasilanie to pewnie jakaś przetwornica 230V/5V, jakaś drobnica-rezystory, diody, kondensatory, przyciski, produkcja PCB- laminat, trawienie, wiercenie, estetyczna obudowa, złącza, okablowanie, włącznik, bezpiecznik itd...
Witam Gdyby dalej były problemy z uruchomieniem transmisji to mogę podesłać kod źródłowy do takiego urządzenia, bo sam coś takiego zrobiłem z tym że wynik podawany jest na 3 wyświetlacze LED. Transmisję zrealizowałem bardzo podobnie tylko za pomocą bascomowego polecenia Inkey(), odbierane są zawsze dwa bajty i na podstawie ich zawartości określane jest...
To żadna wada, jak ciągle ta rezystancja jest bardzo mała.
Chyba już wiem co może być, tylko nie wiem gdzie jest źródło problemu. Doczytałem się, że po zerowaniu po włączeniu zasilania bajty odczytu temperatury są ustawiane na wartość 85.00 stopni i tę wartość udaje ci się odczytać z rejestrów DS18b20 (co świadczy, że procedury odczytu działają poprawnie). Doczytałem się jednak też, że w układzie zasilania...
przed linia Lcd Chr(2) ; "=" ; Napis ; " " ; Chr(1) ; "C" 'wynik dopisz : locate 1,1 pozdrawiam
Dzielnik tak, wartości - raczej nie. Zasymuluj sobie ten układ np. w http://www.falstad.com/circuit/ lub dokonaj obliczeń. Zauważ, że źródło prądowe 3mA w przypadku 100°C będzie miało do pokonania dwa połączone równolegle rezystory zwierające do GND: - pierwszy to KTY-81 o wartości 3392Ω - drugi to rezystor wypadkowy z dzielnika, czyli 5,4kΩ...
Pt100-pt1000
Ustawiasz napięcie odniesienia na Vcc, ale ... w funkcji pomiaru z powrotem ustawiasz napięcie odniesienia z pinu AREF, czyli zewnętrzne, bo nadpisujesz wartość ADMUX. Wzór OK. [syntax=c]return ADCW;[/syntax] zmień na [syntax=c]return ADC;[/syntax] Przykłady ADC: http://mikrokontrolery.blogspot.com/2011...
Oprócz obowiązkowego RC, a zwłaszcza kondensatora na wejściu ADC, ja bym jeszcze dorobił filtr dolnoprzepustowy w oprogramowaniu. Regulacja czegokolwiek na podstawie pojedynczego, nieuśrednionego pomiaru jest dość ryzykowna.
Wszystko dobrze, tylko źle masz policzone ułamki. Część całkowita to po prostu twoja pliczba tempC1. Część ułamkowa to tempC1*100 modulo 100. Oczywiście jeśli chcesz mieć dwa miejsca po przecinku.
...Jakieś pomysły?? Źle "składasz/sklejasz" odczytany bajt :( //procedura odczytu bajtu z urzadzenia unsigned char wire_read_byte1(void) { unsigned char bajt, tmp, i; bajt = 0; for(i = 0;i<8; i++) { tmp = wire_read_bit1(); tmp = tmp << i; bajt = bajt | tmp; } return bajt; } Ja zrobiłbym to tak: //procedura...
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
A z jaką częstotliwością odczytujesz dane z ADC? Może za wolno?. Jeszcze ten równoległy kondensator, on zachowuje się jak filtr dolnoprzepustowy.
Co do wyłączenie światła po 30 sek. Dodaj dodatkową zmienną bit która będzie ustawiana np: na 1 po wyłączenia światła przez timer po 30 sekundach a dzięki niej nie będzie ponownie włączane światło przez wciąż otwarte drzwi (stan niski na wejściu uC). Dopiero zamkniecie drzwi ( stan wysoki na wejściu uC) spowoduje zmianę tej zmiennej na 0 dim 30SEK as...
No nic dziwnego, w ustaw_czas robisz call do wys_czas który wbrew obiegowej opinii wyświetla temperaturę;] i... ustawia kursor kilka spacji za *C :) a potem sobie reta do ustaw_czas gdzie już jak widać LCD "Ustaw czas" :) Ot i tajemnica;] Pozdro ;] Dodano po 1 PS lowerline sux, ja bym używał locateów na twoim miejscu ;-) Poza tym funkcje są fajnejsze...
Choćby LMV321. Niewiele lepszy od LM358, ale poza tym ma chociaż wyjście typu Rail-to-Rail. EDIT. Wykonałem pomiary czujników SYH-1 oraz HCH-1000. Wstawię jak się filmiki dodadzą do serwera. Jeszcze tylko prośba do albertb : przedstaw jakieś argumenty a tym że czujnik SYH-1 jest pojemnościowy. Albo nie wiem, że jest tego samego typu co HCH-1000, albo...
Poniżej przykład. Zwróć uwagę, że w tym przykładzie komenda konwersji temperatury występuje na końcu, a nie na początku. Odczytana temperatura będzie zatem tą która została konwertowana po poprzednim odczycie. To oczywiście nie ma znaczenia dla tego jak adresować czujniki. Powodzenia ! PL Config 1wire = Portd.6 Dim Adresy(16) As Byte Dim T1 As Byte...
Więc jezeli jest to nowa Atmega to fabrycznie jest ustawiona na 1000000 MHz i w programie też musi być ta czastota. Ja mam wgrany ten program do Attiny2313 i działa bardzo dobrze.
Dołącz i edytuj plik config.h z folderu, w którym są źródła tego przykładu. W tym pliku jest zdefiniowany port i pin. Ustaw odpowiednio dla Twojego układu.
Witam mam program który wyświetla temperaturę oto on void temperatura(void) { ow_reset(); ow_write_byte(0xCC); ow_write_byte(0x44); _delay_ms(100); // czas pomiaru ow_reset(); ow_write_byte(0xCC); ow_write_byte(0xBE); lsb = ow_read_byte(); msb = ow_read_byte(); ow_reset();...
przelicznik zależy od zastosowanego napięcia odniesienia przy 2,56v z grubsza jest 1/2 książkowej wartości. Jak dasz napięcie odniesienia internal a przelicznik weźmiesz z vcc wyjdzie ci około 2x więcej (vcc to 0,0049 internal 0.0027). Co do przeliczania na stopnie celsjusza to nic nie trzeba robić. Wersja lm35 dz jest już kalibrowana w stopniach celsjusza,...
Ten kod jest w jakiejś książce? Pytam z ciekawości bo widzę go już któryś raz. Wynik -0,1 pokazuje się zawsze gdy nie pasują prędkości zadeklarowane w kodzie z prędkością mikrokontrolera. Pomaga zmiana FuseBitów na 8MHz w Mega8 i w kodzie :) Równocześnie, tak żeby się zgadzało i tu i tu. Najpierw sprawdź, potem komentuj :D
dzieki wielkie za pomoc
Witam Mam od dłuższego czasu problem z DS18B20. Stosując różne kody, różne przedziały czasowe (biorę przykłady z innych aplikacji) ciągle są inne wyniki. Wynik jest wyświetlany na wyświetlaczu 7-seg, proszę nie zwracać uwagi na nieprawidłowe multipleksowanie (pojedyncze cyfry na moje wskazanie wyświetla prawidłowo). DS18B20 odpowiada na reset pulse,...
Mała sugestia odnośnie pomiaru i wahania odczytów. Nie tak dawno robiłem odczyt z czujnika temperatury (termistora 5%), irytowała mnie strasznie szalejąca wartość pomiaru. W pierwszej chwili zrobiłem na szybko uśrednianie na podstawie zwykłej średniej arytmetycznej postaci: wynik = (N_0+N_1+...N_n)/n, ale nie dało mi to zadowalającego efektu. Aby w...
Opanuj pierw te czujniki, jest pelno kodow przykladowych na forum. Nastepnie opanuj wyswietlacz, uzyj szukaj tez jest pelno tematow. Pozniej wystarczy, ze to do tego "dodasz". Polecam jeszcze helpa i ksiazke Dodano po 13 Skad masz ten kod?
Uzyskana w ten sposób informacja o zmianie temperatury jest bardzo przydatna, na jej podstawie można zrobić naprzykład kompensację temperaturową całego urządzienia. Czy w Atmega i Atiny da sie peryferia (liczniki, ADC, ...) zasilać z DCO podczas gdy CPU chodzi z kwarcu? I tu pojawia się mały problem bo niestety CPU i peryferia są taktowane z jednego...
W środku masz Hex'a, wystarczy podłączyć piny jak w plikach *.h, ustawić Atmegę na 8MHz (wewnętrzny oscylator lub zewnętrzny kwarc), wgrać i przetestować. Powinno działać.
Co do multipleksera: najpierw określ wymagania co do liczby wejść/wyjść, a potem wybieraj mikrokontroler. Potrzebujesz 12 kanałów ADC - to weź taki, który tyle kanałów ma. świat nie kończy się na ATmega8. Temperaturę wygodniej będzie jednak mierzyć przy użyciu np. DS18B20.
Witam, Walczę z RFM12B 868MHz w Bascomie (v.1.11.9.8) już długi czas niestety bez pozytywnego rezultatu. Rfmki podpięte pod ATmega8 (TX), drugi pod ATmega48 (RX). Wewnętrzny oscylator 8MHz. Napięcie 5V jest podobno dopuszczalne. Ostatnia wersja Kolegi ATOMa też nie chce ruszyć. Uprzejmie proszę o działające procedury dla nadajnika i odbiornika. Pozdrawiam.
A może podejść do problemu inaczej, np. dodać locate 1,1 na początku i dajmy na to co 20 pętli robić Cls? (at)poniżej - po prostu to wskazuje nie tyle na zwalony czujnik co na to, że w pewnym momencie LCD dostaje nie to co trzeba lub nie tak szybko/wolno jak trzeba i zaczyna się sypać to co jest na wyświetlaczu.
Witam. Problem z histerezą polega na tym że histerezę ustalasz w liniach wykonywanych tylko raz po starcie procka, dlatego ona zawsze będzie wynosić 0+5 (zmienna przechowująca temperaturę zmierzoną po starcie programu będzie 0). zmienną histerezy musisz umieścić w pętli aby byłą aktualizowana cały czas wraz ze zmianą temperatury. Pozdrawiam
1. Makro "bit_is_set" jest zdefiniowane w pliku nagłówkowym sfr_defs.h. Sprawdza ono czy dany bit w rejestrze mikrokontrolera jest ustawiony. Nie koniecznie musi to być pin (nóżka). Polecam wpisanie w goolach "avr bit_is_set" - w pierwszym czy drugim linku znajdziesz kod tego makra i dokładny opis wspomnianego pliku nagłówkowego. 2. Literówka. Powinno...
Witam Po raz pierwszy zabrałem się za sterowanie wyświetlaczem 7 segmentowym. Mam pewien problem jak zamienić liczby np. wartość temperatury 20.5°C na 3 liczby typu byte i umieścić je na wyświetlaczu ?. W moim programie mam podane 3 zmienne C1, C2, C3, które udaje mi się wyświetlić. Nie wiem tylko jak zapalić kropkę lub zgasić 0 z 1-wszego wyświetlacza....
po pierwsze to DS18B20 zwraca temperature w formacie SIGNED char. a po drugie, skoro caly czas zwraca to samo, to znaczy ze zle timingi. 0x41 0x56 0x45!!
Przylutowałem drugi sensor i daje te same rezultaty. Czyli uszkodzenie podczas lutowania mogę chyba wykluczyć. Wciąż nikt nie ma pomysłu, co może być nie tak? Zamiast nopów dałem funkcje _delay_us, żeby wszystko zgadzało się z czasami podanymi w dokumentacji. UPDATE: Problem rozwiązany. W dokumentacji jak byk jest napisane: (Utilizing SPI Settings Typically...
Ustaw ADC na wewnętrzny VREF i uwzględnij wartość napięcia odniesienia w obliczeniach. Czytaj rejestr ADC - 16 bitów, bez składania z ADCH i ADCL. Obliczenia zrób na liczbach całkowitych oczywiście - przecież wynik końcowy jest liczbą całkowitą o małej dynamice - użycie zmiennego przecinka jest tu bez sensu.
Czy to może być wina częstotliwości kwarcu ? Mam inny bardziej bardziej rozbudowany układ ( PCF8563, PCF8574, karta SD, pomiar z PF8591, pomiar 3 x DS18B20 ) tylko na Atmega328 i kwarcu powyżej 10 MHz i tam działa wyświetlanie OK, bez żadnych przeskoków.
Witam ... całe zamieszanie z numeracją stron wynika z tego w moim archiwum mam starszą wersję noty katalogowej ATmega8 i wspomniane informacje są na str 289. W dostępnej na stronie Atmela dokumentacji: http://www.atmel.com/dyn/resources/prod_... jest to na stronie 292, jest tam dokładnie pokazane które oznaczenia odpowiadają obudową...
Press ciekawy pomysł, pomyśle nad tym. Ja posiadam taki za 20 zł i taki za 56zł(UNI-T M890G) i oba szaleją. Zmieniłem kabel łączący czujnik z mikrokontrolerem i zapomniałem zamontować opornik 3,9k, aby w razie zwarcia nie spalić stabilizatora. I po kopnięciu mikrokontroler pokazuje błąd (zmienna ERR), gdy silnik wytraci obroty to pokazuje wyższe temperatury...
Witam! Chcę podłączyć pod czujnik temperatury w samochodzie przetwornik ADC, a dokładniej jeden z przetworników ATMega8. Mam zamiar to zrobić w ten sposób, ale nie jestem pewien czy jest to dobre rozwiązanie. Chodzi mi mianowicie aby zabezpieczyć wejście przetwornika, a zarazem nie zakłócać wskazań do orginalnego komputera. Może ktoś ma większe doświadczenie...
proponuje sprawdzenie samych L298 bez żadnego uC , połącz wejścia i sygnał Enable przez rezystory 4,7kΩ do masy bez żadnego obciążenia ( silnik , diody ) stopień mocy nie powinien pobierać praktycznie żadnego prądu układ powinien być zimny , jedynie część logiki ( + 5V ) powinna pobierać prąd , jeżeli w takiej konfiguracji układ nadal się grzeje...
Pokaż cały program. Masz podłączone w trybie parasite, musisz więc ustawiać stan wysoki na linii danych podczas konwersji temperatury.
witam, po raz kolejny powtarzam temat, nie znalzałem rozwiązania wertujac inne dlatego piszę. Złożyłem termometr wg kursu AVR GCC. I nie działa naturalnie tzn. na wyświetlaczu pokazuje się jedynie napis Termometr a kiedy odłącze czujnik pojawia się wartość temperatury czasem 0.0C a czaem 800C. Na czujnik nie reaguje. Wyświetlaz obsługuje hd44780 i działa...
Witam Poniżej przedstawiam kod w C (gotowy przykład) jednak po jego wgraniu na mega8, wyświetla błędnie temperaturę, a mianowicie liczby z zakresu 0 do 255 po podgrzaniu przechodzi przez 255 i liczy od zera. Gdzie tu tkwi problem? Proszę na przyszłość używać tagu ] do wklejania kodu w C... /syntax] . Poprawiłem to oraz tytuł na bardziej oddający istotę...
No to się popisałem :)
Z tego co pamiętam to różnice były między innymi przy dokładności pomiaru dla różnych napięć zasilania (5V a 3.3V). Więcej nie pamiętam. Możesz sprawdzić w nocie katalogowej?
A myślałeś już coś nad pomiarem temperatury zimnego końca termopary?
Witam Jak wyświetlane są temperatury ujemne? Pozdrawiam
Konfiguracja?
Chcę zrobić sterownik nadmuchu z wykorzystaniem atmegi8 i wentylatora na 220V. Gdy spadnie poniżej 30 stopni C to ma się załączyć. Za pomocą jakiego układu można załączyć wentylator?
DS podłączony prawidłowo ? Rezystor do plusa jest ?
http://obrazki.elektroda.net/24_12703682... Witam wszystkich. Chciałbym pochwalić się stacją jaką właśnie wykonałem. Układ elektroniczny nie jest moją własną konstrukcją ale stację wykonałem od podstaw. Stacja jest oparta na Atmega8, regulacja temperatury skokowo co 10stC, przycisk uśpienie do tymczasowego wyłączenia grzałki lutownicy. Gniazdo...
Siemanko, Potrzebuje pomocy przy prostym układzie do mierzenia temperatury. Chciałbym go wykonać z części, które mam w posiadaniu, dlatego też chciałbym użyć czujnika KTY 81-210. Z tego co wyczytałem powinienem mierzyć jego rezystancje na ADC, z programem nie powinno być problemu (jeśli będzie to napiszę), ale chodzi mi o schemat podłączenia (KTY-Mega8(lub16)-7segment)...
Witam Do odczytu minusowych temperatur stosuję taki kod: 1wreset 1wwrite &HCC 1wwrite &H44 Wait 1 1wreset 1wwrite &HCC 1wwrite &HBE Temp(1) = 1wread() Temp(2) = 1wread() 1wreset If Temp(2) >= 248 Then Temp(1) = Temp(1) - 255 Temp(2) = Temp(2) - 255 Msb_zk = "-" Else Msb_zk = "+" End If Tempp1 = Temp(1) / 16 Tempp2 = Temp(2) * 16 Lsb_tempp1 = Tempp1...
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
Źle się wyraziłem, pisałem oczywiście o przyłożeniu 2,5V na jedno z wejść pomiarowych :D Jeszcze mam pytanie: Rozdzielczość = 2,56 / 1024 = 0,0025 = 2,5mV Jak można użyć tego parametru przy pomiarze temperatury?
Google ci pomoże jeśli wpiszesz tam atmega8 programator :) Złącza nie musi być, można zaprogramować układ przed wlutowaniem :)
To co napisał Kol. tmf, ponadto AVCC podpięte do zasilania za pomocą układu LC. Dalej gdzie masz LM35 umieszczony? na samej płytce, czy na jakimś kablu? Bo jeśli na kablu to kabel musi być ekranowany. I to dobrze ekranowany. Dalej schemat nie ma ani jednego kondensatora na zasilaniu. A program też masakra. Autor zakłada, ze zasilanie jest równo 5.0000V,...
Pokaż obsługę DS'a, może trzeba skorygować odstępy czasu odmierzane między zdarzeniami charakterystycznymi dla transmisji 1-WIRE. Pozdrawiam
temperatury atmega8 atmega8 czujnik temperatury regulator temperatury atmega8
silnik jikov sterować klimatyzacja peugeot schemat zasilania klimatyzacji
montaż klimatyzacji samsung le40n87bd
Electrolux Perfect Care 900 - migająca ikona filtra powietrza Jak rozebrać słuchawkę domofonu Cyfral - instrukcja