Witam. Przejrzalem CALE forum w poszukiwaniu rozwiazania mojego problemu. Probowalem wszystkiego co bylo podane w postach. Mam problem z polaczeniem tn2313 z ds18b20. zegar: kwarc 4MHz (testowalem juz na wew 1-8MHz bez rezultatow - ckdiv8 konfigurowalem poprawnie 1dis 0 en) podlaczam do portu d pod rozne piny. Od strony programowej tez powinno byc all...
Wygrałem w końcu batalię z Atmegiem i LCD i mam następny problem... Działać miał cyfrowy termometr oparty na 1wire i DS1820... Miał ale nie działa. DS podłączony poprawnie (zasilanie i szyna pod PD.5). Kożystam z programu pana P.Góreckiego (przykład napisany na potrzeby książki "Mikrokontrolery dla początkujących" na AT90S2313 z kwarcem 4 MHz). W ATmegu...
Ja normalnie oszaleje - już drugi tydzień sie męczę z tym termometrem i juz posiwiałem chyba ze złości :x . Najpierw miałem DS1820 - podłączony tak jak w datasheet na 3 kable -to napewno jest dobrze. Programy pisałem już w AVR-GCC, bascom w ASM niestety nie umiem... potem doszedłem do wniosku że może coś źle robie i ściągnołem CODEVISION tam mają demko...
Czesc, Mam problem z urochomieniem mego DS1820 Oto moj Cod: #include <16f870.h> #use delay(clock=4000000) #fuses XT,NOWDT,NOLVP #define SKIP_ROM 0xCC #define CONVERT_T 0x44 #define READ_SCRATCHPAD 0xBE #define DQ PIN_C4 //#define Tx_DS1820 PIN_C5 #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_... ////////////////////////////////////////...
Witam! Problem mam jak w temacie. Otóż, próbuję za pomocą języka VHDL oraz układu Spartan 2, komunikować się z termometrem cyfrowym DS1820… Czy ktoś próbował już czegoś podobnego, czy jestem pierwszy? Generalnie, usiłuję zbudować układ, który dogada się z termometrem w najprostszej konfiguracji (z osobnym zasilaniem, z jednym czujnikiem na linii)...
Pliki 1wire i DS1820 oraz odpowiedniki w katalogu src. Zdziala z tyloma czujnikami na ile starczy ci pamieci do przechowywania ID. Co prawda w C++ ale na AVR i banalne do przerobienia na C.
Jak wklejasz kod to wklej go jako kod (Code)- lepiej się patrzy. nie mam teraz czasu analizować twoje dzieło, ale dam ci moje prcedury może pomogą znaleźć byka. Są nieco dziwne bo dla 2szt dallasów podpiętych pod inne porty ;***************************************... PROCEDURY 1 WIRE W_WRITE:...
Mam problem chce podpiąć kilka ds 1820 do atmega8515.widziałęm schemat wyprowadzeń z atmegi ale nie umiem się doszukać tej szyny danych 1wire.gdzie to jest?a może trzeba jeszcze innego układu aby procek i ds mogły się porozumiewać?najlepiej jakby ktoś mi wskazał gdzie moge znalezć schemat chodzby z jednym ds1820. Aha i jeszcze jedno pytanko jaki kabel...
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...
Jak już temat o 1wire i DS1820 to się podłącze. august_a Twojego problemu nie umiem rozwiązać niestety, ale na pewno ktoś to zrobi. Ja natomiast mam pytanie takie: Jaki mikrokontroler można wykorzystać do układu w którego skład wchodzą dwa czujniki DS1820 i LCD, na którym dane są wyświetlane? Mam atmega8, ale chyba do najtańszych nie należy i pewnie...
Witam wszystkich i na początku proszę o wyrozumiałość bo to mój pierwszy post na elektrodzie. Zbudowałem układ do pomiary temperatury z wykorzystaniem atmegi8 i czujnika temperatury ds1820. Wynik wyświetlany jest na 4 wyświetlaczach 7-segmentowych. Program napisałem w języku C (obsługę 1-wire zaczerpnąłem z mikrokontrolery.net) Wszystko działa jak należy...
Witam. Od jakiegoś czasu zajmuję się mikrokontrolerami i posiadam już pewne doświadczenie w tym kierunku. Ostatnio miałem jednak sporą przerwę... aż do teraz - trafił mi się termometr do zmontowania. Zbudowałem więc prosty układ: Atmega88+DS1820 jak na foto poniżej: (Czarne przewody to plus i minus zasilania podłączone odpowiednio do wejść zasilających...
W trakcie transmisji 1wire konieczna jest zmiana kierunku transmisji, którą steruje się na połączonych liniach sterowania kierunkiem nadawania i odbioru (w przypadku półdupleksu). Najprościej byłoby pociągnąć dodatkowy drut z portu procesora do MAX485 konwertera 485<>1wire. Jeśli nie ma takiej możliwości, można spróbować z monowibratorem, wyzwalanym...
Ja z tym kiedys walczylem, czasy mialem policzone tak jak dla avr-a, raz zadzialo i numer seryjny zczytywal - po wylaczeniu zasilania i ponownym zalaczeniu bylo echo, tam trzeba sie bawic - tak jak w avr - kierunkiem portow. Potem dale spokoj. Konfiguracja sprzetowa byla taka: procesor msp430f123, wyswietlacz z noki 3310, rezystor na 1wire 1,2k(proby...
Witam serdecznie. Mam problem z ds1820. Mianowicie po zaprogramowaniu procka "ustawieniu wewnętrznego oscylatora na 8Mhz" programem przedstawionym poniżej wyświetla mi cały czas że "t1=+85.0`C". Proszę o pomoc. Z góry serdecznie dziękuje. #include <mega8.h> // 1 Wire Bus functions #asm .equ __w1_port=0x12 ;PORTD .equ __w1_bit=3 #endasm #include...
Kurcze ale malutki jestem... :D Po skrócie 1. Nie używałem JTAG-a i ta wiedza póki co nie jest mi raczej potrzebna. 2. Wiem jak ustawia się fusebits, ale jak napisałem na AT mam wyłączony JTAG a na AT168 nie. Jednak magistrala na AT168 działa bez problemu i to na porcie C z włączonym JTAG-iem 3. Rezystor podciągający dobrałem metodą prób i błędów staneło...
Witam Mam dość dziwny problem z czujnikiem DS1820 który jest podpięty do Atmegi8 taktowanej rezonatorem 4MHz. Jeszcze wczoraj Atmega ładnie odczytywała mi temperaturę a dzisiaj wskazuje 0.0°C. Dzisiaj zrobiłem coś takiego że odczytywałem err i za każdym razem było 0 czyli termometr się odzywa. Programuję w Bascomie. Poniżej znajduje się kod: $regfile...
Witam, od jakiegoś czasu próbuję stworzyć sobie zegarek z termometrem + napięcie akumulatora do auta. Wszystkie programy osobno działają bez zarzutu. Problem zaczął się z chęcią wprowadzenia przełączalnych ekranów i wprowadzeniu przerwań. Doczytałem że przerwania skutecznie psują komunikację z DS'ami przez co temperatura się nie odczytuje. Ogólnie to...
Da się, ale musisz wstrzelić się z odczytem danych z dallasa w czasie kiedy procesor główny nie pyta go . Lub jeszcze lepiej jak napiszesz sobie procedurkę monitorującą dane na lini 1wire, ot taki sobie monitor 1wire. Elektryk jednak stwierdził najlepiej, kup sobie drugi czujnik i to będzie najmniej roboty i przeliczając twój czas stracony na pokonanie...
Witam Buduję sterownik do kolektorów słonecznych oraz kilku innych urządzeń sterowanych zależnościami temperatur. Jako czujniki temperatury chcę wykorzystać popularne DS1820. Napisałem procedury obsługi 1wire zgodnie z dokumentacją Dallasa. Początkowo testy wykonywałem na 6 czujnikach podłączonych blisko siebie oraz blisko uC. Wszysto działa jak należy....
Witam, mam pewien problem z czujnikiem DS1820 i ADuC832, mianowicie mam soft napisany pod bascomem, ktorz dziala pod 89C2051+DS1820 natomiast w konfiguracji ADuC832+DS1820 wynik pomiaru mam +0 lub -0 st. Celciusza (w zaleznosci od rezystora podciagajacego) i to obojetnie ktory port jest ustawiony jako 1wire. Czy ktos ma koncepcjie jak to uruchomic :?:
musisz zrobic/znalezc uklad (mikroprocesorowy) ktory odczyta informacje z ds1820 po 1wire i przesle je do PLC (ethernet, modbus, profibus, ... co chcesz) poczytaj tutaj, autor strony robi system inteligentnego domu na PLC i ma pomiary temp na ds1820. Zbudowal uklad na mikrokontrolerze PIC, zreszta poczytaj sam :)
Niestety LM35 nie jest odpowiednikiem DS1820. Ten drugi komunikuje się z procesorem przy pomocy magistrali 1WIRE (transmisja cyfrowa) natomiast pierwszy pozwala uzyskać napięcie adykwatne do temperatury (10mV/°C)- jest to układ liniowy. LM35 można wykorzystać w urządzenu mikroprocesorowym gdy ma się do dyspozycji przetwornik A/C.
Jakim napięciem zasilasz czujnik. Przy konwersji powinno być 5V. Czy na pewno rezystor 4k7 ma taką wartość? Sprawdź poprawność połączenia napięcia zasilającego Ucc, zmierz na nóżce DS1820. Bo być może to napięcie nie dochodzi do niego albo jest tam masa i układ pracuje z zasilaniem PARASITE. I podczas konwersji potrzebuje silniejszego podciągnięcia...
Termometr z funkcją pamiętania maksimum i minimum (zapisane w rejestrach, tracone przy braku zasilania). Program zajmuje 1024b, więc dokładnie 100% pamięci ATTiny13. Do sterowania wyświetlaczem użyty rejestr przesuwny CMOS 4094. Wykonanie dość prymitywne - płytka uniwersalna, obudowa z puszki po herbacie. W programie wykorzystane procedury Radosława...
OK. Poradziłem sobie z czasami. Narazie robię dla 1MHz. Jeżeli chodzi o kwarc 16MHz to myślałem żeby zrobić coś podobnego jak delay_loop_2(). Dzięki za wskazanie bo bym sam się męczył a tu obok nie zauważyłem gotowa funkcja:D Teraz brnę z moim termometrem dalej i znowu nie wiem co nie gra:cry: Oto kod: unsigned char ow_reset(void) // reset lini...
Przepisujesz z ksiazki? :cunning: Popatrz dobrze czy np. jest tam cos takiego: $regfile = M8def.dat Tutaj masz poprawny kod: 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości...
Na tak- automat akwariowy, ale nie tylko. skoro ma załączać 8 urządzen o różnych porach dnia to może przydać sie to urządzenia do czegoś jeszce. Termometr na ujemne temperatury też może sie przydac, no moze nie rybką... po co ograniczać możłiwosci urządzenia, jesli niewielkim (żadnym )kosztem można dodac jakieś funkcje wracając do tematu. wywaliłem...
Witam. Jeżeli ktoś pokusiłby się napisać na PocketPC ewentualnie na HandheldPC to informuję, że starsze palmtopy np. HP Jornada 5xx, Jornada 6xx, 7xx miały RS-a. Jest tych urządzeń jeszcze sporo na rynku i są już naprawdę tanie. Nie wiem tylko, jak np sterować innymi urządzeniami jeżeli port RS232 wykorzystamy już do magistrali 1wire. Co prawda można...
Witam czy mogłby ktos operujący CodeVision AVR zamiescic tu pliki ds1820.h ds1820.c 1wire.h 1wire.c z biblioteki tego programu bo ja programuje pod AVRStudio i mam problemy z odpaleniek modu z pierwszego postu :)
Pierwszy od góry 1wire.h (tam brakuje #ifndef ONEWIRE_H...) Drugi to oczywiście 1wire.c Trzeci to użycie (wtedy jeszcze w main) obecnie używam dodatkowo pilku ds18b20.c w którym między innymi mierzę temperaturę a funkcję przerobiłem na taką, która nie używa zmiennej globalnej (w tym przypadku temp to globalna). W tej funkcji wypada zrobić kilka modyfikacji....
Witam Problem z odczytem wyższych temperatur (od 50st. w górę) spowodowany może być złym doborem czasów opóźnień w protokole 1Wire. U mnie przeoczyłem ustawienie preserska opóźnienia i zamiast np. 100us było 50us. Powodowało to zrywanie komunikacji z podgrzewanym czujnikiem a nieraz z wszystkimi. Ustawienie odpowiednich opóźnień usunęło problem z odczytami....
Witam! Chciałbym zmieniać port lub też bit portu 1wire, na którym jest termometr DS1820. W programie jest oczywiście: #define PORT1W PORTC #define DDR1W DDRC #define PIN1W PINC #define ONEWIRE 0 no a ja szukam metody, żeby móc to zmieniać w programie, tak aby podłączyć dwa takie termometry:) Oczywiście np.: "DDR1W=DDRC;" daje efekt error: `PORT1W' undeclared...
Witam! Mam pewien problem z pic-em. Dopiero zaczynam, wiec przepraszam za lamerstwo:) Chce napisac sofcik do termostatu, ale nie moge odpalic ds-a. Pisze w Basic-u, nie znam innego jezyka, a tem troszke znam i jest latwy. Pisze w PIC Simulator IDE Moze ktos zna procedurke na odczyt ds-a pod Basic-iem. Mam cos takiego: Define CONF_WORD = 0x3f72 Define...
witam, mam problem z obsluga czujnika temp. ds1820, polaczony jest przez 1Wire na plytce testowej AVT2500. Przykladowy program do obslugi pobralem ze srtrony Kompilacja programu przebiega bez zadnych problemow. W momecie uruchomienia uProca uzyskuje staly odczyt "- 0.5 C". z gory dzieki za pomoc. <--TERMO.BAS--> ' 1 Wire: ' P 1.0 ' LCD:...
Takie mam pytanie... Mam urządzenie wykorzystujące DS18B20 z Atmegą 162, pod Bascomem. I pytanie jest takie - czy mogę zastąpić ten DS18B20 przez DS1820 ? Bo jak patrzę w datasheety, to wydawałoby się, że niby to samo ? A jednocześnie znalazłem tu na elektrodzie informację, że program dla DS18B20 i DS1820 powinien być nieco inny. Moje procedurki są...
Witam w C pisze od tygodnia, wiec przepraszam z góry za składnie programu, wszelkie uwagi mile widziane bo sam niepotrafiłem tego napisac lepiej, przejdźmy do sedna... aktualnie to co tworze ma na szesnastu wyswietlaczach 7-mio segmentowych wyswietlac cztery rózne temperatury, (narazie wyswietla jedna) pojawił sie problem mrugania wyswietlaczy podczas...
Znalazłem coś takiego i działa świetnie ale mam parę pytań #include <avr/io.h> #include <util/delay.h> #define F_CPU 8000000UL // 8 MHz #define LCD PORTD #define E 3 #define RS 1 #define SET_E LCD |= _BV(E) #define CLR_E LCD &= ~_BV(E) #define SET_RS LCD |= _BV(RS) #define CLR_RS LCD &= ~_BV(RS) void...
Witam. Buduje właśnie termostat z czujnikiem DS1820 i wyświetlaczami 7 segmentowymi, potrzebuje wyświetlić na 3 cyfrach temperaturę nastawioną i na drugich 3 odczytaną z czujnika. Uporałem się z obsługą 6cyfr w multiplexie napisałem odczyt ds-a i pojawił się problem mianowicie odświeżanie wyświetlacza leci w timerze odczyt DS-a w pętli głównej mój problem...
header #include <avr/io.h> #include <inttypes.h> #define pin_1w 0 #define dir_1w DDRC #define out_1w PORTC #define in_1w PINC #define write_1wdir_1w |= _BV(pin_1w) #define read_1w dir_1w &= ~_BV(pin_1w) #define write_oneout_1w |= _BV(pin_1w) #define write_zeroout_1w &= ~_BV(pin_1w) #define set_1w bit_is_set(in_1w,pin_1w)...
Możesz zastosować dowolne piny tylko po co rozdzielać. To kłóci się z ideą 1wire. Puść je wszystkie na jednym pinie i po sprawie. Rezystor może być taki jak napisałeś.
Proszę bardzo[syntax=basic4gl] 'Copyright Robert Wołgajew, 2012 'Wersja z dnia 26.04.2012 $regfile = "Attiny2313.dat" $crystal = 1000000 'Fusebit CKDIV8 = 0 -> zaprogramowany (ustawienie domyślne producenta) $hwstack = 32 $swstack = 32 $framesize = 32 'Konfiguracja wyświetlacza LCD Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.2...
czesc, mojemu zdziwieniu na wyświetlaczu uzyskałem temp. 85,0 C pomimo zmian temperatury otoczenia temp. nadal wynosiła 85,0 C.... Nia pamietam dokladnie jak to jest z 1820 ale 85 wyglada mi na wartosc wpisywana bezposrednie po resecie termom.... . Po wydaniu rozkazu konwersji trzeba odczekac okolo 1s (dla 12bit) - jezeli tego nie zrobisz bedzie bledny...
jak zmniejszac to zmniejszac jeszcze cos wyciołem cos pozmienialem i obciolem procedurke o jakies 20 kilka bajtow i dalej dziala ;) Config 1wire = Portb.0 Config Lcd = 16 * 1 Dim Bd(9) As Byte Dim Minus As Byte 'String * 1 Dim T As Byte 'Integer Dim D1 As Byte Cls Lcd "TEMP " Do Gosub Ds1820 If Minus = 1 Then Locate 1 , 6 : Lcd "-" Else Locate 1 , 6...
Jeśli ustawiłeś 1wire na lini portu C to wyłącz JTAG w fusebitach lub zmień 1wire na inny port. Pozdrawiam
Zostaje ci jeszcze jedna możliwość, opomiarowanie sieci dla mnie uważam podstawowa. Zawsze chcę mieć pewność, że peryferia są ok zanim obarczę problemem soft w procku. Zrób emulację działąnia sieci 1 Wire na PC tzn. Przetestuj całą sięć segmentami , ściągnij z netu soft do { niestety program pozwala na komunikację tylko z jednym DS1820 na raz} Jest...
Muszisz je odpowiednio zaadresować. Zupełnie proste to nie jest, ale daje się zrobć - każdy z nich ma swój unikalny adres, który najpierw musisz odczytać, a potem używać do tego, żeby z konkretnym urządzeniem "pogadać". Dokładny opis masz w każdym datasheecie urządzeń na 1Wire, albo w książkach (chyba widziałem coś o 1Wire w praktycznie każdej nowej...
Witam wszystkich czytających, Męczę od jakiegoś czasu router Edimax BR-6104K. Zainstalowałem na nim OpenWRT w wersji 8.09.1. Jeden z portów GPIO (w miejscu diody D12) skonfigurowałem jako magistrale 1Wire do której dołączyłem czujnik DS1820 (w trybie parasite power). Od strony systemu zainstalowane są wszystkie niezbędne składniki do obsługi 1-Wire,...
Każdy uklad DS1820 ma unikalny 64bitowy numer identyfikacyjny, jak chcesz podpiąć kilka wystarczy odczytać numery wszystkich układow podpiętych pod magistralę 1Wire zapamiętać je i już wiesz z którym układem chcesz "gadać". Ja wpisałem na sztywno adresy żeby nie pomylić czujników (jeden z nich regulowal pracę pompy). Pozdrawiam WERWOLF
spróbuj wpisac ten program do procka za konwersje z DS-a nie odpowiadam bo uzywam DS18b20 a tam jest to prostsze ale reszta powinna dzialac $crystal = 12000000 Declare Sub Read1820 Dim Bd(9) As Byte Dim I As Byte , Tmp As Byte 'Dim Crc As Byte Dim T As Integer , T1 As Integer Dim T0 As Integer Dim X As Integer Config 1wire = P3.3 ' DS1820 na PIN 7 Reset...
Krótko mówiąc. Program dość spory (4000B w .bin) Wykorzystuję Timer0 w mode=1 i gate=internal Do P1.1 <==> dallas Ds1820 w pętli DO <==> LOOP trzy przyciski S1 Alias P3.4 S2 Alias P3.5 S3 Slias P3.7 Układ działa ale przy dłuższym przytrzymaniu przycisku (od 1 do 8minut) RESETUJE procka a Timer0 przestaje liczyć GDZIE JEST PROBLEM ???????????????????????...
Witam, zdecydowałem się ponownie poruszyć temat najpopularniejszego chyba układu na elektrodzie - przeczytałem chyba wszystkie posty i wydaje mi się, że zastosowałem się do porad dla innych pytających - a jednak: układ teoretycznie dobrze mierzy temperaturę, jest to DS1820 na 3 przewodach +, - i sygnał przez 4,7k do + do 90S2313, kwarc 4MHz. W pokoju...
Witam! Otórz w specyfikacji układu ds1820 na którym zbudowałem swój termometr jest napisane że potrafi on mierzyć temperaturę z dokładnością do 0,5 st.C. Gdzieś w internecie znalazłem programik... troche go przebudowałem i... mierzy z dokładnością do 0,1 st.C. Jak to możliwe? Zakładam, że coś jest źle, choć odczytywana temperatura wygląda na dobrą....
tak to mniej więcej robię. tyle tylko, ze przerwanie przerywa komunikację I2C i zjada sekundy , albo powstają jakieś błędy. jak dam odczyt I2C w obsłudze przerwania - to sam wiesz wszystko zaczyna migotać. nie zacząłem jeszcze wkładać do programu procedur do 1wire, ale tam też szykuje się problem z czasem konwersji - nie można dać waitms bo wyświetlacze...
Witam! Widze ze temet DSa jest ciagle aktualny, wiec i ja chcialem o cos zapytac. Albo nie doczytalem w nocie aplikacyjnej albo po prostu tego nie ma, ale nie wiem dlaczego po Skip ROM (0xCC) i po Convert Temeprature (0x44) nalezy (trzeba) odczekac 750ms aby wykonac reset na 1Wire? Nie uwzgledniajac tego czasu oczywiscie otrzymuje wartosc defaultowa...
Witam szanownych kolegów ,mam mały problem i chciałem Was prosic o pomoc postanowiłem sobie zrobić termometr na DS1820,89c2051 i wyswietlaczach led,na forum znalazłem schemat i wsad do procka po złozeniu układu okazalo sie że cos jest nie tak żle pokazuje temperature w całym zakresie (naprzykład zamiast 22C jest 30C albo zamiast -10 pokazuje 20c)bład...
1wire zazwyczaj nie działa ze wzgledu na zle dobrane opoznienia. Musza one byc zrobione z dokladnościa co najmniej 1uS. Jesli tego nie spelnisz NIGDY nie bedziesz mial poprawnych odczytow. Zreszta ta kwestia byla juz poruszana na forum. Gotowy, dzialajacy i przetestowany sterownik 1wire w C dostepny jest na stronie Dallasa. Po co wywazac otwarte drzwi...
Z DS18B20 robisz tak: Deflcdchar 0 , 32 , 28 , 20 , 28 , 32 , 7 , 4 , 7 Dim I1 As Integer , T1 As String * 6 Dim Dsid1(8) As Byte Dsid1(1) = 1wsearchfirst() 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE I1 = 1wread(2) 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 I1 = I1 * 10 I1 = I1 / 16...
To znaczy informacje z czujnika DS1820 chcę odczytywać z RS ponieważ już taki interface mam gotowy. Zresztą nie widziałem konwertera 1wire na LPT. Sterowanie zaś chcę wysłać na LPT.
Witam wszystkich, Probuje uruchomić termometr DS1820 na systemie z prockiem AtMega128, ale akualnie nawet inicjalizacja 1 Wire mi nie działa. Poniżej wkleję fragmenty kodu. Prosiłbym, żeby ktoś świeżym okiem spojzał na to. #define XBIT 2//wybor bitu z portu B na ktorym bedziemy //komunikowac sie z urz. 1Wire #define BIT_OUT DDRB |= _BV(XBIT)...
no ja nie powiedzialbym zeby uzywanie timera tylko do 1wire bylo jakims super rozwiazaniem ;-) Ja z DS1820 uzywam podanej nizej funkcji opozniajacej napisanej metoda prob i bledow z wykozystaniem miernika czestotliwosci. WinARM, procek na 60MHz (peryferia na 15), optymalizacja s: void delay_10us(unsigned short ile_us) { volatile unsigned...
Zmienilem na takie cos i wogole nic nie wysyla, wiec cos gdzies sie zatrzymuje.. $regfile = "attiny2313.dat" $crystal = 8000000 Config Pind.5 = Input Config Portd.1 = Output $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 300 Config 1wire = Pind.5 Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single...
Napisałem następujący program do ATMegi 32 Config 1wire = Portd.5 Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single Do Waitms 750 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)...
Witam serdecznie. Próbowałem zrobić własną malutką bibliotekę do obsługi termometru DS1820 na atmedze16a. Chciałem żeby była jak najprostsza. Niestety coś nie działa. Czy może ktoś bardziej doświadczony w programowaniu w C oraz w obsłudze połączenia 1wire mógłby rzucić okiem na kod? Urządzenie jest podpięte do PA5 przez opornik 4,2k. Nie wiem czy ma...
Wiem, że jest kilka podobnych tematów, które niby wskazują że problemy wynikają z różnic pomiędzy DS1820 a DS18B20, czy ewentualnie błędnej konfiguracji, ale u mnie wydaje się, że w programie jest wszystko ok, a mimo to, moim zdaniem temperatura jest zawyżana o kilka stopni (pomiar w temperaturze pokojowej) pokazuje około 24-26 st C, gdy tymczasem temperatura...
Witam, Przy budowie układu opartego o µP ATMega32 mam pewną niedogodność, która powstaje z niewiadomych przyczyn albo z mojej niewiedzy. Mianowicie do µP mam podłączony czujnik DS1820 poprzez magistralę 1W. Temperatura odczytuje się w pętli głównej programu co 10 sekund. Natomiast wyświetlana jest na dwóch wyświetlaczach 7seg Sterowanych...
Chodzi o podłączenie do jednego pinu (np: P1.1) dwóch czujników temperatury. Procesor AT89C4051. Jeśli złe rozumowanie, proszę o sprostowanie: Załóżmy że wykonany jest układ z dwoma DS1820, aby procesor je rozpoznawał na jednym "wire1" potrzebuje od każdego z nich kodu identyfikacyjnego ID. Załóżmy następnie że w trakcie eksploatacji uszkodzona zostaje...
Dzięki zumek -- ale tyle czasu nikt nie odpowiadał, że zagoglowałem się na śmierć prawie i w końcu znalazłem już teraz super jak dla mnie rozwiązanie.... nie dość, że działa sprawnie i szybko wyszukiwanie urządzeń na magistrali - to jeszcze zawsze ładnie sprawdzana jest crc8 - a do tego co ciekawe automatycznie rozpoznawanie czujników DS1820, DS18S20...
Witam, czy jest jakiś ogólny sposób sprawdzenia obecności wybranego urządzenia na magistrali 1wire? Mam 4 x ds1820 i wszystko działa ok. Usuniecie jednego czujnika daje dla niego wynik pomiaru 128 stopni. I to mozna wykorzystać jako test. Ale co z innymi urzadzeniami? Wysyłam reset, potem MatchRom , adres urzadzenia i co dalej robić? W Bascomie widziałem...
W jaki sposób odczytać temperature z trzech czujników ds1820 podłączonych do 1WIRE. Może ktoś ma przykładowy program w Bascomie, assemblerze.
Witam! Powiedzcie mi, jakie znacie polsko języczne strony na temat 1wire i czujników dallasa (ds1820). Robię sobie sterowniczek do akwarium (2051 i asembler) a nota aplikacyjna producenta to dla mojego (ciemnego) umysłu za mało- a raczej za dużo... po angielsku :P
witam poszukuje programu , a moze tylko wskazówki jak odczytać DS1820 lub podobny na porcie RS232 ( ewentualnie konerter naRS485). Chciałbym te dane przesłać do Excela lub coś w tym guście dzięki za każdą informacje pozdrwiam *elkam*
ten sub temperatura czyta temperaturę z dallasa podłączonego do portu P3.2 i tylko jedną drugą czyta sub temperatura2 jest to rozwiązanie najprostsze lecz szkoda na to bajtów w procku można wyciąć z niej procedurę wyliczania i zrobić jedną dla wszystkich co zajmie mniej miejsca jest to "sub wylicz" do której odwołujesz sie "call" można także podłączyć...
Podłącz zasilanie do DS1820 bo w systemie zasilania PARASIT POWER po konwersji musisz dosyć chwilkę odczekać aby odczytać właściwą temperaturę. W nocie była mowa o 10ms u mnie to trwa około 1 sekundy.
poślij jakiś schemat bo tak trudno coś powiedzieć... SDA rzeczywiście nie ma wiele wspólnego z 1 wire. A swoją drogą czy nie lepiej jest w przypadku atmega8 dać lm35 ? ten procek ma przecież przetwornik a/c a sam lm35 jest chyba tańszy niż ds1820. w przypadku ds1820 korzystanie z atmega8 (40 DIP jeśli się nie mylę ) to trochę przesada... są przecież...
Mam termometr na Ds1820 i Atmega8.Pracuje na wewnętrznym oscylatorze(przestawiłem na 4Mhz) bez zarzutu.Należy pamiętać o $crystal (np.4000000). Pozdrawiam!
Witam, Gdyby patrzec na ilosc postow to okaze sie ze 1820 jest obecnie najpopularniejszym ukladem ;) Zbudowalem sobie termometr oparty na AT89C2051 i powyzszym ukladzie. Uklad dziala, ale sa spore problemy z prawidlowym odczytem temperatury, mianowicie srednio co drugi odczyt jest bledny. Kiedy mam w pokoju temperature 21 stopni, to raz otrzymuje prawidlowa...
Usunąłem ten wiersz i nadal brak odczytu - czekam do wieczora. P.S Jeśli możesz to podaj mi swój kod moze on zadziała. To jest przykład z Baskom8051 przystosowany do AVR-a. Twój chiba tyż :D U mnie działa bezbłędnie z CRC i bez CRC na pojedynczym DS1820 . ' ----------------------------------------... 'Author : Bojan Ivancic ' Email...
Proszę o sprawdzenie programiku poniżej. Dokonuje on konwersji temperatury, odczytuje zawartość pamięci DS1820 i wyświetla ją na LCD. Gdy go uruchamiam u siebie, jest dokładnie tak jak opisałem powyżej, tzn: dla temperatur "nieparzystych" np:31, 33, 35 itd. zawartość rejestru COUNT_REMAIN zmienia się tylko w zakresie 0x01-0x08, natomiast dla temperatur...
Projekt to klon adaptera DS9490 firmy maxim, nie jest tak malutki ale ma za to plusy: LED ;-), 2 zlacza RJ12, nie jest tak filigranowy (oryginal mysle ze przy ostrej ekspolatacji moze sie zlamac albo moja pojawic sie 'zimne luty'). Na elektrodzie jest juz podobny projekt ale - duza plytka, nie jest latwo dobrac obudowe, brak zgodnosci ze zlaczem RJ12...
witam i podsylam skopiowane z którejs ep. na czujniku ds1820 dziala( przy 12 i 11,05... MHz)
Witam! Mam takowy problem. Pisze sobie program zegarka polaczonego z termometrem oraz wspolpracujacym z komputerkiem (uklad posiada RS oraz kilka wejsc wyjsc). Same zczytywanie z DS'a nie jest dla mnie problemem - jezeli program jest wielka petla typu: Do Gosub 1wire Gosub I2c_read Gosub Lcd_wys Loop to wszystko dziala. Jednak chciałem zrobić to na...
Witam, chcialbym sie podlaczyc po ten topic gdyz mam pewien problem z obsluga DS1820 i DS18B20 z ATMega128 Mianowicie, po podlaczeniu w trybie 2wire (1 - GND, 2 - PinB.7/PinE.7 itp., 3 - Vcc 5V) do ATMega128 z kwarcem zewnetrznym 10MHz (innego uzyc nie moge) po wykonaniu komend w Bascom AVR: config 1wire= portb.7 dim rgn(8) as byte 1wreset wait...
Dopisze sie do tego tematu po podobny do mojego problemu... zrobilem sobie termometr i na jednym czujniku dziala swietnie ale podlaczylem drugi i zmienilem program i jest jakas lipa :/ sprawdzam czy widzi 2 czujniki i program pokazuje ze 2 czujniki sa, ale nic mi nie wyswietla :( wiecie moze co moze byc przyczyna? Liczba_ukl = 1wirecount() If...
A wiec... dziekuje za odpowiedź:) teraz małe sprostowanie, nie uzywam układów DS18B20 tylko DS1820, odczyt ID pastylki przeprowadzam jednorazowo, zwierajac jedna z czterech zworek na płytce podłaczajac tylko jeden czujnik i właczajac układ co powoduje zapis ID do EEPROMA, czynnosc ta powtarzam 4 razy dla czterech ds-ów za kazdym razem przykładajac tylko...
na początek uprzedzę - szukałem. to co znalazłem nie odpowiada na moje pytanie. otóż w jaki sposób przeprowadzić FIZYCZNĄ identyfikację czujników w magistrali 1wire. wiem jak programowo szukać i zapisać ich numery, potem odczytywać temperaturę, ale nie wiem w jaki sposób dowiedzieć się z którego czujnika to temperatura. mam kilka pomysłów, ale nie wiem...
Witam Czy podczas programowanie w realizerze można obsłużyć czujnik DS1820 ?
Ta funkcja odbiera znaki i jak pisałem dwa czujniki czyta poprawnie jest problem z czterema:cry: Nie chcę się tu wymądrzać , więc prześledźmy tę funkcję. Dla a=0 , funkcją powinna ustawić na pinie 1wire stan "L" przez ~60us. #define wire0 DDRC.0 #define wirnad0 PORTC.0 #define wirod0 PINC.0 ... char wirio0(unsigned char a) // ustawienie 0 1...
$large Config 1wire = P1.1 Dim Ar1(9) As Byte , Tmp As Byte , A As Byte , T1 As Byte Dim T As Single Dim Licznik As Byte Dim Temperatura(4) As Integer Licznik = 0 Cls Main: Waitms 25 Incr Licznik If Licznik = 1 Then Config 1wire = P1.1 1wreset 1wwrite &HCC 1wwrite &H44 Config 1wire = P1.2 1wreset 1wwrite &HCC 1wwrite &H44 Config 1wire = P1.3 1wreset...
Podłączyłem na Port D na pin 6 jest to zaraz na górze mikrokontrolera, a o to kod programu mojego kolegi. To działało na atMega16 na częstotliwosci 8MHz! A u mnie nie działa ni w ząb nie wykrywa czujników Podaje źródło: /***************************************... This program was produced by the CodeWizardAVR V1.24.5 Standard Automatic Program...
Witam, Zbudowałem termometr na czujniku DS1820 i przystawce ds9097e. Jest to czujnik z magistralą 1wire. Układ mi działa. Mierzy on temperature, sprawdzany na gotowych programach jakie znalazłem w sieci. Chciałem teraz zrobic własny program w BCB 6 realizujący odczyt. Poprzednio stosowałem układ z mikrokontrolerem, który miał juz w sobie program załatwiający...
Przykładowy programik, ale dla DS18B20: Dim Bd(9) As Byte 'tablica Dim T As Integer 'zmienne Dim T1 As Integer Dim T2 As Integer Declare Sub Read18b20 'deklaracja procedury Cls 'inicjacja wyświetlacza Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32 'def. znaku stopnia Cls Lcd "Temp:" Do 1wwrite &HCC 'rozkaz SKIP ROM 1wwrite...
To zależy jak są podpięte DS'y. Do tej pory wykorzystywałem max 2 DS'y, a podpinając je do '51 stosowałem oddzielne piny. Coś takiego: 1wire_1 Alias P3.3 'DS 1820 ch1 1wire_2 Alias P3.4 'DS 1820 ch2 ... ... 1wreset 1wire_1 1wwrite &HCC 1wire_1 1wwrite &H44 1wire_1 1wreset 1wire_2 1wwrite &HCC 1wire_2 1wwrite &H44 1wire_2 Jeśli podpinasz wszystkie razem...
Mam problem z czujnikiem temperatury ds1820. wiem ze bylo duzo o tym pisane ale nie moge zmusic go do mierzenia temperatury. mam attiny2313 i do niego podlaczony zewnetrzny kwarc 8MHz. kod pisalem z ksiazki M.Waizania programowanie uC w jezyku Bascom. ale tez znalazlem kod na forum taki : $regfile = "ATtiny2313.dat" $crystal = 8000000 Config...
Declare Sub Read1820 'deklaracja podprogramu Declare Sub Temperature 'deklaracja podprogramu Dim Bd(9) As Byte 'deklaracja tablicy zmiennych Dim I As Byte , Tmp As Byte 'deklaracja zmiennych używanych przez program Dim T As Integer , T1 As Integer 'deklaracja zmiennych używanych przez program 'Dim X As Byte 'deklaracja zmiennych używanych przez program...
Wyłącz przerwania tuż przed komunikacją 1wire. Po odczytaniu temperatury włącze je ponownie. Takie działanie niestety może zaburzyć inne rzeczy, zależy co robisz w przerwaniach.
Skoro tak , to może masz coś nie tak z timingami( delay_us() ) na 1wire :?: Piotrek
Co do elegancji nie bede sie spieral ;p Gwoli poznania wkoncu zasad podstaw elektroniki bede drazyl temat ;p Jesli dobrze zrozumialem, tranzystor nie przewodzi pradu potrzebnego do dzialania diody i czujnika - ale pozwole sobie sie z tym nie zgodzic. Na diodzie odlozy sie 2,2v wiec poplynie przez nia prad 10mA ustalony przez rezystor 270ohm. Do dzialania...
Dziekuje panowie! Tylko teraz sprawa sie troszke komplikuje poniewaz chcialbym uzyc 2 czujnikow. Co prawda mam juz program tylko tak jak poprzednio rozdzielczosc jest tylko w całościach. Jezeli to mozliwe to prosze o przerobke mojego programu aby rozdzielczosc byla wieksza. Pozdrawiam Tutaj jest kod: $regfile = "m16def.dat" $crystal = 8000000...
Witam Temat był już wałkowany x-razy Co mam dopisać do tego programu żeby mi mierzył temp. ujemne ? Jest to program do zegara z termometrem kit AVT868. Proszę o pomoc pozdrawiam Sjzwojtek $large Declare Sub Settime(s As Byte , M As Byte , H As Byte , D As Byte , Month As Byte) Declare Sub Gettime Declare Sub Displaytime Declare Sub Displaydata...
Porocesor 90s8535, pod pin6 portu D podpięty DS1820 na 3 kabelkach podciągnięty 4,7k. Problem: nie chce zwrócić ID układu DS resetuje się dobrze bo podaje 0 w procedurze resetu, ale za nic nie chce zczytać id. Timingi są ustawione tak jak na stronie maxima. program bit czytany z z DS zapisuje do rejestru r22 i podprogram "rej" wyświetla w hex zawartość...
Spróbuj oto ten kod: '---------------------------------------... ' ' Termometr z DS18B20 ' '---------------------------------------... $regfile = "Attiny2313.DAT" $crystal = 2000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6...
Tak jak pisałem mam odczyt z rozdzielczością 9-bitową, próbowałem wielokrotnie zapisać rejestr konfiguracji, ale przy odczycie zawsze dostaję, że zawiera same jedynki. Wczoraj, kiedy już straciłem całą nadzieję zauważyłem, że w sklepie sprzedali mi ds1820 zamiast ds18b20, a ten właśnie ma 9-bitową rozdzielczość. Dziękuję wszystkim za pomoc i zamykam...
5 będzie chodziło na pewno Który z tych programów będzie działał z przejściówką na ds2490 (USB-1wire)??
Jeśli faktycznie wpływa, to prawdopodobnie będą błędy w odczycie, ale ni spotkałem się z takim przypadkiem.Na początek to może zmniejsz rezystor podciągający 1Wire i sprawdzaj sumę CRC z DS18S20.
Witam, To: If T(2) = 0 Then Temp = T(1) / 2 Else I = 256 - T(1) End If If Temp < 0 Then Set Portb.7 Temp = -temp End If nie będzie Ci działać tak jak się tego spodziewasz, bo w Bascomie typ BYTE jest bez znaku (0-255), ale zamień "< 0" na "> 127" i masz już prawie wszystko na talerzu. Tu też jest błąd: If T(2)...
Witam panowie, usiłuje napisać program do wytrawiarki, lecz jak już program jest prawie gotowy strasznie wolno chodzi i nie wykonuje czasami wszystkich poleceń. Program ma działać tak: po włączeniu, grzałka ma cały czas grzać do uzyskania temperatury zadanej, a pompka włączać się co jakiś czas w celu wymieszania. A po osiągnięciu temperatury zadanej,...
Nie mam pojęcia co zmienic w niżej przedstawionym kodzie aby temperatura była wyświetlana prawidłowo Zastosowany czujnik to DS18B20 a kod napisany jest dla DS1820 $regfile = "m16def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 Config...
1. No to skoro do samego siebie to nie zmieni to proporcji zakłóceń. Skoro nie zmieni proporcji zakłóceń to masa będzie tak samo zakłócona jak sygnał czyli będzie tak samo jak w normalnym sygnale różnicowym. 2. No tak. Ale to pojemność jest największym wrogiem 1Wire. 3. Nie. Wręcz przeciwnie. Chcę tylko odkreślić że ten przymus łączenia mas w RS485...
Ja pszepraszam że zadam pytanie nie na temat ale czy dało by się za pomocą 1wire skomunikować 2 proce, razem z czujnikiem?
Witam, Jestem w trakcie tworzenia układu i utknąłem na właśnie tym czujniku... W programie używam przerwań do komunikacji z Ethernetem. Ale pomiar temperatury wykonuje albo przed włączeniem przerwań albo na pomiar je wyłączam. Problem pojawia się na samym początku: If Err = 1 Then Blad = 1 End If program zawsze zwraca mi Err = 1 -> Blad = 1 Wskazuje...
Witam , prosty program nadajnika attiny45 i odbiornika atmega8 wszystko chodzi poprawnie ale potrzebuje do jednej linii podpiąć 3 nadajniki i nie wiem jak zmodyfikować program odbiornika tak aby na lcd 4x16 każdy był identyfikowany osobno i odczytywany w osobnej linii lcd . Lcd i reszta jest do ogarnięcia główny problem to identyfikacja każdego nadajnika...
Myślę,że na elektrodzie z 90% przykładowych kodów do obsługi ds18x20 pod bascoma korzysta z waitms. Niezależnie od ilości czujników. Sam mam urządzenie do opomiarowania kotła CO w którym jest 5 dsów, transmisja przez sprzętowy uart z sim300 i przez programowy uart z btm222. Wykorzystuję tam też dwa timery do obsługi alarmów i podświetlenia lcd, a w...
Ale chaos. Najpierw korzystasz z biblioteki od STM32, a później zapisujesz bezpośrednio do rejestrów? Zdecyduj się na jedno podejście. Dziwnie masz ta funkcję pull low napisaną. Ja zawsze robię writebit która zajmuje cały slot czasowy na jeden bit. Na 1Wire robiąc pull low musisz ustawić port jako wyjście i ustawić go na poziom niski. Aby go wyłączyć...
Układ poprawnie złożony na stykówce Ja bym jednak mimo wszystko poprosił o jakiś schemat/zdjęcie tego co tam poskładałeś :) Też tak uważam, bo programy są przetestowane do bólu i to nie tylko przeze mnie, czytelników ale też przez autora tych bibliotek (gościu z niemiec). U mnie np działaja na tym układy pomiaru temperatury na wielu czujnikach na magistrali...
1) Coś co ma 1 port szeregowy + (port szeregowy | SPI | 1Wire). W zasadzie to wszystkie 8 bitowe mikro-kontrolery Microchip lub Atmel. 2) Jeśli można zmienić prędkość fizyczną portu szeregowego zdalnie to w zasadzie nic nie jest potrzebne bo można odczytać z PC tak jak się to robi gdy termometr jest podłączony bezpośrednio do PC.
Witam Jestem w trakcie pisania programu i napotkałem na problem z częstotliwością ponieważ gdy ustawiam na 8Mhz DS18B20 przestaje działać, brak odczytu natomiast przy 1Mhz działa bez zastrzeżeń. Ds18b20_1: Config 1wire = Pind.6 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Bd(1) = 1wread(9) 1wreset T = Makeint(bd(1)...
Witam. Mam problem z prawidłową współpracą wyświetlacza 7 segmentowego i termometru ds1820. Mój problem wygląda tak: W pętli głównej podczas wywołania funkcji z biblioteki obsługującej termometr search_sensors() lub odczytania wyniku pomiaru DS18X20_read_meas(...) następuje szybkie, niewielkie mignięcie wyświetlacza. Po usunięciu tych wywołań tych funkcji...
Tu masz prosty programik, który kiedyś pisałem. Przedstawia obsługę zarówno wersji B jak i S. [syntax=basic4gl] $regfile = "m8def.dat" 'deklaracja procesora $crystal = 8000000 'deklaracja czestotliwosci taktowania Config Lcd = 16 * 2 'typ wyswietlacza i konfiguracja pinow Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5...
Przeniosłem kod na ATMega8L, ponieważ w ATTiny2313 brakło mi pamięci. Odpuściłem sobie przetwornicę i przerobiłem telefon (zastąpiłem zworką jeden scalak i teraz podaje napięcie baterii zamiast 2.8V i jest OK). Mam jeszcze jeden problem z tymi czujnikami. Postanowiłem podłączyć 3 czujniki do 3 różnych portów (żeby temperatury były przypisane do gniazdka...
Zgadza się. Poprawiłem i wskazuje temperaturę. Wklejam cały kod: [syntax=basic4gl]$regfile = "m644pdef.dat" $crystal = 16000000 '---------------------------------------... Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 6 Cursor...
Na początek każdą instrukcję od 1Wire obuduj takim czymś: A nie uważasz, że po takim czymś może mu czasami mrugać wyświetlacz?
Nie chce mi się wierzyć, że nie ma odpowiedników DS1820 do pomiaru napięcia... Mimo niechęci jednak musisz uwierzyć. Jest odpowiednik DS1820 do pomiaru napięcia. Ale nie w takim zakresie. DS1820 mierzy od -50 do 100°C, i masz na to odpowiedniki w postaci ADC od 0 do 5V. Za to nie ma DSa1820 do pomiaru temperatury od -50 do 1000°C, a jest tylko właśnie...
Witam mam termometr ds1820 i atmegę16 próbuje je jakoś połączyć ale nie mogę. Taktowany 1mhz wbudowany"czyli orginalnie". Podłączenie jest dobre ponieważ reset przechodzi poprawnie więc błąd musi być gdzieś w wysyłaniu albo odbieraniu danych. Uc odbiera mi same jedynki z czego wynikało by że albo DS nie odpowiada albo spóźniam się z odczytem. Pliki...
Zasilanie które trzeba ciągnąć długimi kablami, najlepiej zrobić wyższym napięciem i obniżać w odbiornikach przy pomocy przetwornic, stabilizatorów impulsowych itp. Np.: PoE (Power Over Ethernet) zakłada napięcie od 25 do 60V. Przy setkach metrów, 5V puszczone skrętką nie da rady. Zakłócenia indukują się od prądu (przy stałym napięciu), czyli im wyższe...
Help :cry: Wiem że temat jest tu czesto poruszany ale zrobiłem Termometr na ds1820, procesorze ATmega8, i wyświetlaczu LCD. Za chiny nie moge uruchomić szyny 1wire. 1.Próbowałem już chyba wszystkiego, ale chciałbym sie dowiedzieć czy szyna ta ma jakieś wymagania co do częstotliwości oscylatora? 2. Może ktoś ma opracowany i sprawdzony podobny projekt?
Ściągnołem ten kod ale wciąż program wchodzi do do pętli gdzie I=2 na wyświetlaczu jest -12 Gdzie jest błąd? Config 1wire = Portb.5 $crystal = 1000000 Dim Bd(9) As Byte Dim Z As Integer , Tmp As Integer Dim T As Integer , T1 As Integer Dim Aa As String * 2 Dim Bb As Byte Dim C As Byte Dim I As Byte Declare Sub Temperatura Do Call Temperatura Loop Sub...
Witam Mam podobny problem, z tym że ja chce napisać program w baskomie (może tez być asembler ponieważ baskom umożliwia robienie wstawek asemblerowych) który, odczyta id 3 czujników ds1820 a nast zapisze je w wbudowanej pamieci kontrolera AVR eeprom, a na końcu wyświetli temp na LCD. Jest to po to by można było tak skonfigurować program aby przypisać...
witam, czy posiada ktos moze kod programu w C do obsługi termometru DS1820 na 1wire ? program na AVR ( najlepiej Attiny2313). Z góry dziekuje za odp. Wrazie czego, moj mail zonk82(at)wp.pl Pozdrawiam
Przejrzyj pliki 1wire.h i DS1820.h oraz odpowiednie c. Co prawda w c++ ale na AVR i chyba dosyc przejrzyste.
W końcu na atmega 168 prawodłowo zadziałał mi ten kod. W komentarzu dołożyłem podłączenia. Musiałem zrezygnować w pierwszym podejściu z kwarcu, bo portu PB6 i PB7 są tu wykorzystane do sterowania wyświetlaczem. Kupowałem wyświetlacze jakoś bardzo tanio, więc pewnie chińskie. '**************** Driving graph. display NOKIA LPH7779 ver.1.1 ******************...
Ok poradziłem sobie tylko teraz wyskoczył mi inny problem , a mianowicie nie wiem dlaczego nie mogę korzystać z funkcji LINI i Boxfill wyświetlacz szaleje :-) a chciałbym wykorzystać te dwie funkcje w programie poniżej kod programu [syntax=basic4gl] '***************************************... '* Code to test DS18x20 '* The 1-wire bus pin is Port...
Na podstawie tematu [url=]Link chciałem opracować termostat do bojlera. Wprowadziłem stosowne zmiany do kodu ale za nic nie mogę zmieścić tego w pamięci attiny. Założenia do zmian to: -wykorzystanie trzech przycisków do funkcji; 1.przejście do wyświetlania nastawy temp., powrót do wyświetlania temp (pinb.4) 2.zwiększ temp. (pinb.6) 3.zmniejsz temp....
wg mnie najlepiej zastosowac termometry 1wire (np ds1820) i podpiac do jakiegos avr'ka najprostrza budowa podlaczenie i najlepsza cena (3 ds1820 ~ 3*8zl atmega8 ~ 8zl jakis najprostrzy wyswietlacz ~ 10zł) nie ma zadnego strojenia tylko jakis wyswietlacz albo cokolwiek co nam pasuje
Po dlugoweekendowej nieobecnosci wrocilem i moglem zajrzec na forum. Dzieki za odpowiedzi ale to nie w transmisji 1wire ani opoznieniach tkwi blad. Stwierdzenie takie opieram jedynie na tym ze w funkcji ds2450zapis() porownuje zapisany bajt z tym ktory jest zwracany przez urzadzenie po operacji zapisu. Nie zdarzylo sie zeby byly inne a wiec moge chyba...
Tak, tylko że to nie rozwiązuje mojego problemu. Taniej jest mi kupić drugi procesor. No a po drugie chciałbym się czegoś nauczyć żeby mieć alternatywę. 1wire jest dość niewdzięczną magistralą (timingi!), ale da się wszystko napisać. Myślę, że i w Bascomie dasz radę zrobić prostego slavea'a. Weź dokumentację układu 1wire, choćby i ds1820, tam jest...
po pierwsze to bym zmienił procek na 89c52 ja taki mam masz może wyodrębnioną procedure obsługi tego przetwornika? bo to by sie przydało chce też zrobic pomiar napięć a nie chce używać PCFa termometr mam na 1wire i DS1820
Mam jeszcze jedno pytanie.... Czy do układów podłączanych do uP przez np. 1WIRE (termometr DS1820 lub LMxx) też stosujecie jakieś dodatkowe elementy :?: Jak tak to prosiłbym o podpowiedź :?: Co do wolnych pinów w uP po podpięciu ich do masy problem zakłóceń zmniejszył się bardzo .... Dzięki.
Querda : weź sobie od razu też termometr 1wire DS1820, chyba że zamówisz gdzie indziej bo w propoxie chyba z 2 razy drożej. A 1 komplet kabli może czasem być za mało.
Witam, Postanowiłem zbudować prosty modulik działający w oparciu o Ethernet i Bluetooth. Na pokładzie posiada dwa przekaźniki. Do gniazdka ISP można podłączać sobie także czujniki temperatury 1wire np DS18B20, DS1820 czy DS18S20 (dowolny). Tego typu moduł używam sobie na co dzień do wielu zastosowań, od zdalnego włączania/wyłączania komputera, do pomiarów...
To trochę kwestia gustu. Ja chciałem wykorzystać gotowy metrowy pasek. Chcąc dołożyć drugi, wewnętrzny miałbym problem, bo wszystkie one mają taki sam raster, więc w praktyce musiałbym robić swój pasek z innym mniejszym odstępem między diodami dla wewnętrznego okręgu. A niby dlaczego? Przecież wskaźnik godzinowy wymaga jedynie 12 diod, w czym przeszkadza...
Witam, proszę o pomoc w dokończeniu kodu do pomiaru temp. Wyświetlacz LCD 2x16 podlaczyłem do portu D atmega8. Czujnik temp. DS18s20 podlaczylem do pinu 2 Port B. Rezustor podciagajcy 4,7k s szyny danych DQ na zasilanie 5V. Wygenerowałem sobie kawałek kodu w codevision. Próbowałem rózne funkcje znalezione w necie ale nie działa wiec proszę o pomoc....
Tu się nie martw że ci wyłoży komunikację i2c - to nie jest 1wire. Tu można przerwać cykl zegara na bardzo długo i nic się złego nie stanie - dlatego wolę tmp100 od ds1820. To samo tyczy się komunikacji z lcd - jak wyjdzie dłużej to nic nie będzie - gorzej jak wyjdzie za krótko. Encoder ma dwa sygnały a i b. Jeden dajesz na przerwanie a drugi sygnał...
Witam! Posiadam pakiet WinAVR (taki jaki jest proponowany w kursie). Słuszna decyzja. Gdy zapoznasz się z językiem C, będziesz mógł pisać programy dla większości architektur, w tym dla komputerów PC. Język ten przy odrobinie wprawy umożliwia szybkie tworzenie złożonych programów, zachowując czytelność kodu oraz optymalny kod wykonywalny. ale jeśli nie...
Witam Jako ze to moj pierwszy post chcialbym z gory napisac ze jestem laikiem jesli chodzi o uC. Bawie sie tym od 2 tygodni, probowalem programowac w C ale niestety za wysokie progi. 2 dni temu zabralem sie za bascoma i wymodzilem programik do sterowania solarami, na dwoch czujkach ds1820. Mam prosbe do Was, czy jest cos w kodzie co mozna poprawic (zapewne...
Czy ja dobrze widzę, że w każdym obiegu pętli głównej wywołujesz DS1820a() a w niej za każdym rzem robisz reset 1wire? No to pętla ma sporo _delayów do zrobienia. Ja bym w procedurze obsługi timera zrobił multipleks LED'ów i flagę maszyny stanów do obsługi DS1820. Ponadto w pętli głównej w kółko liczysz co ma być wyświetlane na wyświetlaczu jak to się...
Tutaj masz wszystko... 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input 'linia PB1 jako wejściowa Config...
$regfile = "m8def.DAT" $crystal = 1000000 '$lib "mcsbyte.lib" Declare Sub Init Declare Sub Convallt ' Convert T on ALL sensors Declare Function Decigrades(byval Sc(9) As Byte) As Integer Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.6 , Rs = Portd.4...
Witam Kolegów, zaczynam naukę programowania w środowisku Bascom, na warsztacie mam Attiny2313 i DS18B20, chciałem sprawdzić jak działa odczyt temperatury (wyświetlanie na LCD opanowałem wczoraj, pin'ologia LCD niezmieniona). DS18B20 podłączyłem następująco: 1 - Gnd, 2 - do pin'u wejściowego oraz przez R=4.7k do +5V, 3 - +5V. Całość jest zasilana przez...
Witajcie Mam zadanie zrobić sterownik z czterema czujkami DS1820. Żadna nowość, napisałem kod, by nie bawić się z ID kolejno konfiguruję 4 piny na 1wire bo portów mi nie żal. Uruchomiłem na testerze, działa. Gdy zacząłem rozbudowywać menu zaczęła mi przeszkadzać konwersja czujek (4x Waitms 650). Zupełnie przypadkiem zamiast Waitms użyłem pętli For T...