Poprawiłem - nie sprawdzałem. Dim Odczyt(2) As Byte dim T As Integer dim T1 As Single dim T2 As Single Dim Temp As Long Do Ds18b20 Print Temp Wait 1 Loop End Sub Ds18b20 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Odczyt(2) Shift T , Left , 8 T = T + Odczyt(1)...
A po co ty czytasz 9 bajtów z rejestru jak tylko dwa pierwsze do czegoś używasz? Nie podajesz fragmentu deklaracji zmiennych nie wiadomo ile zadeklarowałeś dla Bd() A poza tym co to za konstrukcja podprogramu? Ds18b20: Select Case Ds Case 0 : instrukcje..... i potem znowu. Ds18b20: Select Case Ds Case 0 : instrukcje..... a gdzie koniec Select Case?...
Potestowałem Twój kod u siebie. Zakomentowałem obsługę czujnika temperatury i wyświetlacza i odpaliłem na swojej zestawie startowym z ATmega32. Na terminalu dostawałem krzaki. Po dodatniu linijki: #define F_CPU 4000000UL // 4MHz zegar procesora Wygląda że zaczęło mi działać.
Ale to musisz zrobić globalnie, dla całego projektu. http://mikrokontrolery.blogspot.com/2011...
Jeżeli kolega może podłączyć kwarc 16MHz, to po powrocie z pracy mogę załączyć sprawdzony program termometru z atmegą 32, wspomnianym kwarcem i obsługą LCD 2x16. Układ DS18b20, jak inne układy 1-wire wymagają bardzo dokładnych czasów, żeby się poprawnie skomunikować. Ja też trochę powalczyłem zanim zobaczyłem prawidłową temperaturę. Zgodnie z obietnicą:...
Trochę masz to dziwnie napisane jeśli chodzi o odczyt temperatury. Co jak czas masz odświeżanie pętli głównej ?. Używanie rozkazu Skip Rom to lipa trochę. Jeśli masz ochotę to popraw to trochę tzn. warto odczytać przy starcie numery seryjne termometrów jak masz dwa i nie chce Ci się implementować procedury automatycznego przeszukania to poprostu odczytaj...
nie wiem czy coś ze mną nie tak czy z tym forum, ale piszę tą odpowiedź drugi raz, albo odpowiedziałem w innym temacie ... użyj tej funkcji, u mnie działa to jest dla DS18 S 20 (niepotrzebnie wkleiłem , ale niech już zostanie) float zamien_temp(unsigned char MSB,unsigned char LSB) { float ftmp; if(MSB==0x00)//dodatnia,lub 0 {...
Podciągnij linię zewnętrznym opornikiem 4k7 do +5V, Ustaw na tej linii stan niski i steruj kierunkiem. Szybko można przerobić jak poniżej: [syntax=c]#define CLR_DQ sbi(OW_DDR, OW_NUM);cbi(OW_PORT, OW_NUM); //0 na wyjscie #define SET_DQ cbi(OW_DDR, OW_NUM);cbi(OW_PORT, OW_NUM); //1 na wyjscie[/syntax]
http://obrazki.elektroda.net/66_12520120... Witam! Chcialem sie pochwalić moim termometrem. Składa się z ATmega 32, 2x DS18B20, wyswietlacz LCD 4x40. Wiem ze podobnych konstrukcji było już duzo tu na forum, ale i tak chciałem się pochwalić. Mój projekt pełni rolę zegara, termometru 2punktowego połączonego z wykresami temperatury z ostatnich...
Błąd w logice. Twój kod czytam tak -> Dopóki zmienna nie ma 5 to cały czas resetujemy pomiar i startujemy nowy (już Select Case byłoby lepsze). Potem próbujemy to czytać jak zmienna ma powyżej 100. No daj spokój. Są tu tego tony jak to obsługiwać. Mój/nie mój sposób to dwa suby. Jeden Startuje konwersję a drugi Czyta. Sprawa polega na tym by odwrócić...
PORTA = 0xff DDRA = 0xff A potem: sbi(port_czujek,pin); _delay_us (70); if (bit_is_clear (port_czujek_pin,pin)) result=1; Port ustawiasz jako wyjście , wystawiasz na nim stan wysoki , a czujka w trakcie komunikacji zwiera do masy . I masz odpowiedź. Potrzebowałbyś portu takiego jak w '51, ze "słabym" stanem wysokim (podciaganym)....
Zobacz post 3 linijki wyżej: http://www.elektroda.pl/rtvforum/topic16... i zajrzyj do dokumentacji układu: http://pdf.elenota.pl/pdf/Maxim/2812.pdf Jeśli położysz układ płaską stroną na biurku i nóżkami skierowany do Ciebie to pierwsza nóżka od lewej to: Vdd, środkowa: DQ i lewa: GND
If Ttt < 0 Then 'wg. porady zumka Lcd "-" Ttt = Abs(ttt) Else Lcd " " End If w takim razie w ten sposób masz zamienić kawałek kodu odpowiedzialnego za automatyczny minus. zapewne chodzi tylko o dodanie komendy Else Lcd " "
Jeśli wyswietla wartość 127,9 to znaczy ze z czujnika ida same wartości FF. Z doświadczenia wiem że taki stan rzeczy powoduje błędne podłączenie czujnika! Patrz dokumentacja ( ale w niej widok nóżek od spodu czujnika!!). Jeśli raz to źle podepniesz juz zwsze będzie pokazywał 127,9...... Jesli chodzi o poprawność transmisji to napisz sobie krótki programik...
Może ja wyjaśnię jaśniej. Generujesz przerwanie od timera np. co 800ms, czy 1s. I w przerwaniu wykonujesz operacje: 1. Odczyt temperatury do zmiennej 2. Komenda Convert_T Odpowiadając na Twoje pytanie - 750ms to MINIMALNY czas między CONVERT_T a odczytem (dla 12-bit). Więc odczyt po 1, 2, 3600 sekundach po CONVERT_T nie jest błędem. Dzięki takiej metodzie...
nie zagłebiajac sie w kod, wydaje mi sie ze to jest ten delay_ms. ma prawo wystepowac cos takiego ze siedzisz w delay'u to juz sie zmienil czas ale minie spory kawałek sekundy zanim odswiezysz wyswietlacz.. na test usun delay'a, jak pomoze to zrob to czekanie na timerze
Tak z bascoma. I nie mogę tego co napisałeś znaleźć.
Najpewniej złe timingi OW, które rozjeżdżają się w wyższych temperaturach. Popraw używany przez ciebie program i wszystko będzie ok. Inna możliwość to używanie trybu pasożytniczego czujnika, nominalnie chodzi on do 85 stopni, lecz trzeba pamiętać, że wraz ze wzrostem temp. rosną upływności i wszystkie parametry stają się co raz bardziej krytyczne.
Czy naprawdę nikt nie jest w stanie mi pomóc?
Witam, Mam atmegę32, 16MHz, chciałem podłączyć czujnik ds18b20. Oczywiście opornik pull-up 4,7k podłączony. Przedstawiam kod (nie jest mój): [syntax=C] #include <avr/io.h> #include <stdlib.h> #include "delay.h" #include "HD44780.h" #include <stdio.h> #define DQ 7 #define SET_DQ DDRD &= ~_BV(DQ) #define CLR_DQ DDRD |= _BV(DQ) #define...
http://obrazki.elektroda.pl/9822499800_1... UWAGA! AKTUALIZACJA!! Jako, że dostaliśmy dodatkowy tydzień na dopracowanie - nie traciłem czasu. Niestety studia uniemożliwiły mi napisanie tetrisa, jednak dodałem kilka bajerów. Pierwszym jest zrobienie obudowy. Nie zdążyłem tylko listwą obłożyć (widać od spodu). Dodałem możliwość sterowanie w...
nie, nie, nie, nikomu nie chciało się zajrzeć do dokumentacji BASCOMA? wszystkie polecenia obsługi 1wire można przeprowadzać na DOWOLNEJ LINII: 1WREAD Top Previous Next Action This statement reads data from the 1wire bus into a variable. Syntax var2 = 1WREAD( [ bytes] ) var2 = 1WREAD( bytes , port , pin) Remarks var2 Reads a...
A o to mój kawałek kodu : ow_reset(); write_byte(0xcc); // pomin czytanie nr write_byte(0x44); // nakaz pomiar temperatury waitms(250); waitms(250); waitms(250); ow_reset(); write_byte(0xcc); // pomin czytanie nr write_byte(0xbe); // zadaj odczytania temperatury tempL = read_byte();...
Zerknij do tego tematu [url=http://www.elektroda.pl/rtvforum/to... + długie kable
Fusebity dobrze ustawione? CKDIV?
A ile czekasz od rozkazu konwersji do odczytu? DS18B20 podczas konwersji pobiera dość duży impuls prądu. Jeżeli MASTER nie wymusza jedynki na linii 1Wire podczas transmisji, albo po niej (w stanie spoczynku), to napięcie na tej linii mocno spadnie i DS się zresetuje. Na szczęście BASCOM właśnie tak robi, ale możliwe że nie każda wersja.
Po pobieżnym przyjrzeniu się programowi nasuwają mi się takie wnioski. 1. Zadeklarowałeś wejścia, ale zostawiłeś je jako "pływające". Powinieneś port-y przycisków podciągnąć do plusa, czyli ustwić stan wysoki =1 2. Nie widzę deklaracji dla magistrali 1wire dla DS-ów i całej procedury odczytu i zapisu danych do pamięci. Być może to celowe na tym etapie,...
Pokaż swój schemat.
Chodzi o to że czasami odczytujesz nie cały wiersz lecz jego fragment. [syntax=delphi]var P:Integer; begin ComPort.ReadStr(Str, Count); Memo.Text:= Memo.Text+Str; P:=Pos(#13,Str); if P>0 then begin Str:=Memo.Lines[Memo.Lines.Count-2+Ord(P... T1:= Copy(Str,1,4); T2:= Copy(Str,6,4); Label3.Caption:= 'Temperatura IGBT [T1] = '+T1; Label2.Caption:=...
Coś mam wrażenie że Atmega wcale się nie resetuje. Aby to stwierdzić wykorzystaj rejestr MCUCSR. Dopiero wtedy można być pewnym, że reset następuje oraz określić który to przypadek. Poza tym, nie pokazałeś funkcji main(). Osobna sprawa to schemat - przydałby się.
Zmieniasz $crystal = 1000000 zmień -> $crystal = 8000000 Kwarc zewnętrzny czy wbudowany generator dajesz? FusBity zmieniasz? Pozdro Marcin
Witam. Mam procedurę odczytu trzech czujników temperatury: [syntax=vbnet] Sub Odczyt_ds18b20 Reset Watchdog Disable Interrupts 1wreset Select Case Ktory_ds Case 0: 1wwrite &HCC 1wwrite &H44 Case 1: 1wwrite &H55 1wwrite Ds1(1) , 8 'adres pierwszego czujnika 1wwrite &HBE Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2) : Shift T , Left...
main.c [syntax=c]#define F_CPU 16000000UL //definiujemy F_CPU na 16MHz #include <avr/io.h> #include <util/delay.h> #include <avr/io.h> #include <stdlib.h> #include "HD44780.h" #include "DS18B20.h" char str[17]=" Termometr "; int main (void) { double temp; /* W tablicy zapisywane będą dane odczytane z układu ds18b20 */ unsigned...
Wklej komenty 1wire, bo ten fragment kodu nic nie mówi.
Witam. Oczywiście do jednej linii danych 1Wire możesz podpiąć kilka czujników jednak w takim przypadku trochę zmieni ci sie program. Bo będziesz musiał każdy z nich wywoływać po ich unikalnym adresie. Pozdrawiam
Odłącz wszystko i sprawdź układ, podejrzewam że jest zwarcie, za mały rezystor pull-up lub błędnie podłączony DS18B20
Zastosuj bezprzewodowe czujniki z zasilaniem bateryjnym. Nie będzie żadnych kabli i zniknie problem współpracy z wieloma urządzeniami.
;* ;***************************************... ;*PROCEDURA WYLICZANIA SUMY KONTROLNEJ Z NUMERU SERYJNEGO UKŁADU 1-Wire ;***************************************... ;* ;* ;*******************************OPIS****... ;*Kolejne bajty numeru seryjnego...
Temat chyba przekazał wszystko kod od 10 lat nie ruszany działający ale zachciało mi się aby zwracał błąd gdy nie ma jednego czujnika na magistrali kombinuję i stoję w miejscu. [syntax=basic4gl] Sub Odcz_temp K = 1 For J = Poczatek To Koniec 'Odczyt numeru seryjnego z eeprom Readeeprom Register_number(k) , J Incr K Next J Call Zap_num 'Wywolanie procedury...
Jan_Werbinski; Z tym COP 3 to trochę przesadziłeś. Poprostu jest tak, że bez zaangażowania w temat nie otrzymasz dobrych rezultatów. W moim przypadku COP 5-5,5 jest zbieżny dla CO(podłogówka) oraz CWU(mamka 800 litrów) i to nie jest zachcianka ... Cała logika oparta jest na Atmega32 z DS18B20 co daje rewelacyjny podgląd na to co się w danej chwili dzieje....
Co zrobić żeby to zadziałało na dłuższych kablach. żadne kable czincz .... słyszał kolega o kablu skręktowym do sieci lan, kat.5 nie ekranowany ???? gwarantuję że na tym będzie działać nawet na duuużo większych odległościach - mi działała sieć kilku takich czujników na kablu skrętkowym o długości ok 40-50m. A kabel leciał przez różne miejsca - nawet...
Ja również miałem problem z multiplesowaniem wyświetlaczy i jednoczesnym odczytem 1wire. Pomysł z wyłaczeniem przerwań od timera na czas transmisji 1wire okazał się prawidłowy. Ponieważ w trakcie pomiaru świeci się jeden wyświetlacz aby efekt był nie zauważalny możemy dokonywać pomiaru temeperatury rzadziej. Oto mój programik : $regfile = "m8def.dat"...
co jeszcze powinno sie zrobic??? Pokazać kod którym to robisz?
hmmm stawiasz na dallasa? - dopiero co zaiwestowałem w nowego. Co do wyswietlen lcd to wszytko zachowuje sie wlasnie tak jakby VCC wogole nie mialo polaczenia. Czy złe podlaczenia dallasa tzn VCC do GND itd moglo spowodowac jego uszkodzenie?
Witam Mam zbudowany układ na atmega 32 i do niego podpięte 4 czujniki DS18B20. Po włączeniu przez kilka godzin wszystkie pokazują właściwą temperaturę. Po tym czasie trzeci czujnik co jakiś czas pokazuje trzecie miejsce po przecinku, a czwarty czujnik również co jakiś czas pokazuje niewłaściwą temperaturę - w okolicach 130 stopni ( rzeczywista temperatura...
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) ?
A co to są za czujniki-jakieś termometry po 1-wire może(DS18b20)??
Sprawdzałeś co podaje ci ERC?
mam ukladzik polutowane jest dobrze na 100 % pytanie 1 czy moge popsuc taki czujnik w trakcie lutowania ? pytanie 2 czy mogłem popsuc czunik wkladajac go na odwrot czyli to mase do Vcc a Vcc do masy Czujnik chyba nie zyje wnioskuje to z void ow_reset(void) { CLR_DQ; wait_us(250); wait_us(250); wait_us(100); SET_DQ; wait_us(120); if((PINB&0x01)==0) {...
Nie chciało się nawet przepisać tekstu zadania, a nawet go przeczytać. W zadaniu nie chodzi o DS18B20 tylko o LM35. Jedyne co mogę doradzić to nauka, omijanie tej drogi nie wychodzi na zdrowie omijającym. Kiedyś zrobiłem pewien projekt studentom. Zaraz po tym jak go pokazali zostali rozłożeni na łopatki pierwszym pytaniem. Stracili wtedy trochę kasy.
Po prostu trzeba odjąć te 3 stopnie przed wyświetleniem temperatury. A jak często odczytujesz temperaturę? Zbyt częsty odczyt powoduje nagrzewanie się czujnika. Pozdrowienia -teedd
Dobra uporałem się z problemem. Zmieniłem kwarc na 8MHz i ruszyło.Wcześniej nie wykrywało karty sd.
#include <mega8.h> #include <stdio.h> #include <delay.h> #include <math.h> // 1 Wire Bus functions #asm .equ __w1_port=0x15 ;PORTC .equ __w1_bit=5 #endasm #include <1wire.h> unsigned int status=0, error=0; int temperatura=0, temperatura_zadana=0; unsigned char rom_codes[5,9]; unsigned char devices, ii; int ds1820_status=1,...
Ile razy można... Zajrzyj do starych postów
(...) y jeżeli elektronicznie podłączenie jest sprawne, zaproponujesz listing (AVR GCC) testujący taka "obciążoną" magistralę wyświetlający adresy odczytanych termometrów, ich parametry i temperatury oraz szacunek, który z nich to fake. Program ma możliwie najwięcej nieprawidłowości wychwycić (obsługa błędów). Rozpoznanie podróbek DS18B20 wymaga zaimplementowania...
Mógłbyś napisać teraz poprawną procedurkę delay, tzn. ewentualnie już z wartościami bo też się męczę z DS18B20. dzieki
marrrtyn - w darmowych przykładach do mojej książki o C znajdziesz stosowne kody obsługi master/slave SPI na AVR. Przejrzyj jak działają, jak coś to pytaj.
Witam Jestem mocno początkujący w dziedzinie programowania, choć udało mi się już stworzyć coś na kształt zegarka w oparciu o atmegę 32, chciałbym jednak dodać do niego jeszcze wyświetlanie temperatury, jednak nigdzie nie mogę znaleźć informacji na temat obsługi czujnika DS18B20, która była by napisana w asemblerze, więc proszę o pomoc.
Jeszcze AVCC podlacz
No to pewnie dla tego:) Ja zawsze na pasożyta;)
Boze jak można popełnić tak głupi błąd, no aż się wierzyć nie chce :D Dziękuję za pomoc i proszę o ostra krytykę Dodano po 18 Jeszcze jedno pytanko - jakim rezystorem połączyć dwa DS18B20?
Chcę żeby ten czujnik miał czas reakcji ok 100ms Znalazłem taką stronę tam jest ten czujnik i jest obrazek jak działa i nawet czas reakcji ma szybki. Co o tym myślicie?? nawet dobry tylko Kto mi pomoże napisać program to tego czujnika?? Będę wdzięczny http://www.xyz.isgreat.org/index.php?pid... Program ma być w języku C
Jeżeli otrzymam oficjalny protest na e-mail lub od PW od jakiekolwiek uczestnika konkursu w sprawie pozycji IV - Matryca LED - snake, zegar, data, 3 x DS18B20, ATMEGA32, Bluetooth od raffiki, to niestety zgodnie z regulaminem trzeba będzie projekt zdyskwalifikować. W tym momencie zaprezentowałem wyniki niezależne, jakie wybrali użytkownicy i moderatorzy...
ludziska może jakas wstawka asemblerowa coś tu pomoże. Jakby ktoś mógł to byłbym wdzieczny. Atmega32, 8Mhz zewnetrzny, portc.0, :)
1. Z tego co widzę w datasheet od DS18B20 to linia 1wire powinna miec rezystor 4k7, więc włączanie dodatkowo rezystora wewnętrznego pewnie niewiele da. 2. Jeżeli odpowiedni bit w rejestrze PORTx (u Ciebie PORTD) będzie już miał wartość 0 to tak.
Jak mówisz, że Ci działało, to warto spróbować. Jak będę miał problem to napiszę. Jak mi się uda, to powiem, co przerobiłem, żeby działało pod AVR.
...Termometr wyswietla mi cały czas temp -0.02 Niemam pojecia dlaczego No to zaraz podam Ci , pierwszy powód ;) ...podłączyłem go do 0 pina portu d Tiaaaa.... a w kodzie ... /*...*/ #define DQ 1 #define SET_DQ DDRD &= ~_BV(DQ) #define CLR_DQ DDRD |= _BV(DQ) #define IN_DQ PIND & _BV(DQ) /*...*/ Dzieki za rady... Nie ma za co...
Witaj. Ja w swoim układzie nie mam czujników DS18B20 tylko DHT22 :) Pozdrawiam
- Procesor Atmega644p albo Atmega32 16MHz - Temperatura DS18b20 sprawdzona konstrukcja - Wyświetlacz bardzo duży 240x128 T6963c albo coś mniejszego 128x64 KS0108 - RTC zegarek PCF8583 albo DS1307 + stabilny generator DS32kHz - Do złączania grzałek triak BT136 i optotriak MOC3043 - Do załączania pompki i oświetlenia LED itp....przekaźnik OMRON G5la albo...
Ich wartość nie powinna być mniejsza niż 2k ( tyle stosuję przy długich liniach pow. 100m i kilku czujnikach DS18b20)
No niestety powstał jak nie mogłem ogarnąć transmisji z DS18b20 jak miałem 7 podłączonych do jednej nóżki Atmega32. I tak miga sobie już z 5lat. Zdarza się że program się zawiesi raz na miesiąc ale to już widać po mruganiu diody :) Ot po prostu taka kontrolka.
nie widzę, żeby ktoś napisał, że rezystory w obudowie 0805 SMD (tak samo kwarc) nie za bardzo pasują do płytki stykowej - kup THT (przewlekane). Poza tym nie polecam płytki stykowej, jak coś nie będzie działać to poszukiwania błędu doprowadzą Cie do niedziałających styków. Poza tym sporo modułów będziesz wykorzystywał w przyszłości (np RTC, 1-wire,...
Barbossa usuń z kodu _delay_ms(750) i powinno działać, nie będzie to co prawda idealna konfiguracja ds18b20 ale myślę, że spokojnie Ci to wystarczy
Podaj więcej szczegółów: - jak zrealizowana jest transmisja z kompem (na przerwaniach?), - jakie dane transmitowane są z kompa (z jaką częstotliwością), - jak często dokonujesz odczytu z DS18B20 Bo wpłynąć może...
Anodą do minusa to LED raczej Ci nie zaświeci. Multipleksowanie na 12 faz też czarno widzę. Potrzebujesz sterować wspólne anody prądem powyżej 1 A - niezbędny byłby tranzystor PMOS. Z kolei do katod lepiej byłoby użyć gotowego układu źródła prądowego do LED, np. SCT2167 zamiast ledwie dyszących HC595. żeby nie zakłócać multipleksowania - musiałbyś zrobić...
Witam. Jak już wcześniej pisałem mam notes który wykorzystuje jako słowniczek słówek j. angielskiego. Schematu płytki nie będe pokazywał bo jest to płytka zaprojektowana jako uniwersalna i jest na niej pare niepotrzebnych śmieci i błędów :) Główne elementy to ATMEGA32 + LCD Nokia 3310 + DS18b20 + 24C64 + pcf8583 + MAX232 + Klawiatura 4x4. Program pisałem...
Witam wszystkich. Buduję projekt oparty miedzy innymi na atmega32, 12-15 szt DS18b20 i ok. 40szt kontaktronów odczytywanych za pomocą PCF8574. Całość wyników wystawiam na RS232 do pobrania przez PC do dalszej obróbki. Było wszystko OK do czasu, kiedy nie wyniosłem 5 czujników na znaczne odległości - każdy na osobnej skrętce UTP oddalonych ok. 100m od...
wypada pokazać cały schemat szczególnie sposób zasilania uC i filtracji zasilania , diody zabezpieczające to podstawa Schemat, że tak to ujme, mam w głowie. Platforma testowa, to atmega32 wyposażona w wyświetlacz, ds18b20, max232 do nauki. Zasilana jest przez LM7805 z jednym kondensatorem 47µF. Mostek H zasilam z drugiego zasilacza, masy są połączone...
Oto odpowiedź: http://mikrokontrolery.blogspot.com/2011...
Problem rozwiązany. Wystarczyło zrobić nowy przewód LCD - układ i już działa. W starym było prawdopodobnie jakieś przerwanie. Natomiast za problem z DS18B20 odpowiedzialny był brak rezystora podciągającego linię Data do plusa zasilania.
Mam problem z termometrem DS18B20. Zasilany trzema przewodami. Podciągnięty do Vcc przez 4,7k. Mikrokontroler ATMega32 - 8 mHz. Odczyt co sekunda. Prawidłowy. Wszystko działa. Aż do czasu. W ciągu 4 miesięcy już trzy razy awaria. Błędny odczyt. Grzanie kontrolera i nagrzanie czujnika chyba powyżej 100 stopni (poparzone palce). Po wyłączeniu i ostygnięciu...
Nie to sprawdzałem. Wygląda to jakby procedury odczytu DS-a działały bo ta temperatura wyświetlana -0.1 o tym świadczy. DS jest zasilany z 3,3V i wyczytałem że przy takim zasilaniu rezystor podciągający linie DQ ma mieć około 2k i taki mam. Ale z rezystorem 4,7k też nie działało. Gdzie to wyczytałeś? Datasheet nic na ten temat nie mówi, poza "Can be...
Witam, Magistrala 1-wire doskonale nadaje się na komunikację pomiędzy mikroprocesorami. Procesorki slave mogą być na wewnętrznym generatorze. U mnie attiny45 i atmega88 są razem na linii z ds18b20, plus oczywiście dodatkowe zasilanie. Pozdrawiam
A jesteś pewien, że procesor jest taktowany 16 MHz? Jakie wartości mają fusebity? Zrób prostą pętlę z _delay_ms(1000) i miganiem diodą i sprawdź czy miga z właściwą częstotliwością. BTW, jaką wartość ma rezystor podciągający na linii Data OW?
Używam jednego ADC do pomiaru napięcia stabilizatora dla kontroli jego sprawności bo miałem przypadek kiedy napięcie spadało wraz ze zwrostem temp. stab. .Miałem wolne piny to dlaczego nie wykorzystać . Ustawiłem pady tak aby można było przerobić na DS18B20 na dwa lub trzy przewody. A faktycznie. No ale to raczej dla zabawy bo ten stabilizator nie...
http://obrazki.elektroda.pl/2389595600_1... Witam. Ostatnio postanowiłem udoskonalić mój http://obrazki.elektroda.pl/1942292000_1... Program w C również dużo się zmienił. Przepisałem go prawie od nowa. W przeciwieństwie do niedbale napisanego i niedokończonego softu w wersji 0.2x (includy .c w main, etc.), jest ładnie...
Z kłopotami spowodowanymi brakiem doświadczenia doszedlem do celu. Wielkość kodu na Atmega32 z 55% zajętości (Bascom) spadła do 36% pod Fastavr. Warto było się pobawić :) Do miłego ...
http://obrazki.elektroda.net/29_12650436... Witam. Chciałbym przedstawić moją nową konstrukcję - rejestrator temperatury z obsługą kart Secure Digital (SD). Projekt powstał oczywiście w celach naukowych. Podstawą układu jest moja płytka testowa z mikrokontrolerem ATMega32. Dołączyłem do niej termometr cyfrowy DS18B20, zegar RTC DS1307 oraz...
http://obrazki.elektroda.pl/8192024800_1... Witam, Przedstawiam kolejny projekt z wykorzystaniem karty TeleVGA, tym razem jest to " 4- kanałowy termometr z zegarem RTC i wyjściem VGA " Projekt powstał przy okazji realizacji zlecenia na kontrolę temperatury na linii produkcyjnej. Jednym z wymagań była dobra widoczność odczytów dlatego...
(at)wojtek6000 Te diody niczemu nie służą i nic nie zabezpieczają. Jeśli podłączysz DS'a odwrotnie to i tak będzie podłączony odwrotnie ze wszystkimi tego konsekwencjami. Rezystor 4k7 przy zasilaniu 5V jest zupełnie ok. Pomysł z jakimkolwiek zabezpieczeniem ESD jest dobry. Na schemacie nie ma RS485. Natomiast takie podłączenie DSów, każdy do osobnego...
Witam, podłączam 4 czujniki temp ds18b20 poprzez 1wire do atmega32. Chciałbym zapisać ich id do eepromu a potem odczytać z tablicy. [syntax=basic4gl]Dim Id1(8) As Byte zapis: For C = 1 To 8 Step 1 writeeeprom id1(c), c Next C odczyt: For C = 1 To 8 Step 1 readeeprom id1(c), c Next C wyswietlanie: For C = 1 To 8 Step 1 Lcd Hex(id1(c)) Next C[/syntax]...
Musisz w pliku boards.txt wpisać w swoim fragmencie zamiast xxx.build.f_cpu=16000000L i wpisujesz po 8000000L zamiast 16000000L I jeśli m328p jest ustawiona we fusebitach na 8MHz to będzie działać.
No to wrzucam. http://obrazki.elektroda.pl/5457729900_1... Tak wygląda płytka. Czujniki mam takie jak na rysunku i ta samo mam je podłączone. Zasilanie : zasilacz stabilizowany 9V 1A Dodam, że czujnik temperatury DS18B20 działa i pomiar jest dokładny Bateria podtrzymująca też jest.
zumek jesli masz na mysli mnie to uzywam atmega32 i mam jeszcze 12kb wolnego miejsca wiec jest ok ale jak braknie to przejde na atmega 128 . dziekuje wszystkim za pomoc
Moze ktos podac sposob podlaczenia DS18B20, bo kazdy cos dodaje i robi sie w tym maly bałagan, tak od poczatku do końca??? Bardzo prosze... Pozdrawiam Mariusz
Prosze bardzo, zmenne oraz main. Zakomentowane linie sluza do odczytu temperatury z ds1820, wyswietlania jej na LCD czy tez zapiswanie do eepromu. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include <util/twi.h> #include "hd44780.h" #include "ds18b20.h" #include "i2cds1307.h"...
Zastanawia mnie, czy Atmega32 będzie działała prawidłowo, jeśli będę zasilał ją z zasilacza 4.5V 300mA, przez R=10Kom Planuję podłączyć jeszcze LCD - max 150 mA, 3x Led ~20mA, zegar RTC PCF8563 i 2x DS18b20. Czy ten zasilacz to pociągnie? Da się w jakiś sposób zwiększyć napięcie? Atmega zadziała prawidłowo, parametry odczytane z zasilacza, nie mierzone.
taktowanie procesora: 16MHz atmega32a main.c: [syntax=c] int main(void) {/* sprawdzamy ile czujników DS18xxx widocznych jest na magistrali */ czujniki_cnt = search_sensors(); /* wysyłamy rozkaz wykonania pomiaru temperatury * do wszystkich czujników na magistrali 1Wire * zakładając, że zasilane są w trybie NORMAL, * gdyby był to tryb Parasite, należałoby...
https://obrazki.elektroda.pl/2741391200_... Witam! Chciałbym przedstawić własną konstrukcję zegara matrycowego opartego na popularnych elementach. Konstrukcja powstała jako prezent dla ukochanej dziewczyny ❤️ Konstrukcja urządzenia Zegar w założeniu miał być typu stołowego, zasilany z zewnętrznego zasilacza. Skonstruowany...
Moja koncepcja jest taka. Na 89c2051 + DS18b20 + MAX485 stanowi czujnik temperatury, który połączony jest przez interfrjs RS485 z procesorem głównym na ATmega32, który to wybrane wyniki wyświetla na wyświetlaczu. W moim modelowym urządzeniu były tylko dwa czujniki ale praktycznie może ich być nawet 32 sztuki.
ds18b20 atmega32 termometr ds18b20 atmega32 atmega32 ds18b20 hd44780
delphi interfejs kondensator technics rozmazany czarny wydruk brother
Wybuch zasilacza po wymianie diody MBR20100CT na MBR20200CT Przejściówka do gniazda OBD-II Renault Kangoo 2006