Najprościej - przed komunikacją z termometrem daj Disable Interrupts, a po komunikacji Enable Interrupts.
Jest jeszcze sprawa wydajności prądowej portów, na 51' nie uzyskasz dalekiego zasięgu ( długość kabla dla DS18B20 ). w AVR dajesz rezystor podciągający około 1....1.5k i śmigają, aż miło. jeżeli masz wyświetlacz to zrób to komunikacją opartą na numerach seryjnych. To proste i wygodne rozwiązanie. pozdrawiam.
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
Witam, Chciałem obsłużyć 1-wire na atmega8 z czujnikiem ds18b20, napisałem program i zaczęło wszystko działać dobrze. Ale jak zwiększyłem taktowanie uc powyżej 1MHz to już komunikacja z termometrem nie działa i nie mam już pomysłów dlaczego? Do DS18B20 jest podpięty GND, VCC i rezystor 4,7k między VVC - DQ. Diody podpięte do PC0, PC4, PC5 sygnalizują...
https://obrazki.elektroda.pl/2904838400_... W drugiej części materiału we współpracy z polską firmą Oferta przetworników pomiarowych F&F jest bardzo szeroka, do materiału wybierzemy kilka przetworników aby zaprezentować typowe zastosowania i sposoby połączenia z przekaźnikiem programowalnym. https://obrazki.elektroda.pl/9037139100_...
http://obrazki.elektroda.net/62_12721172... Witam. Parę miesięcy temu przedstawiłem projekt sterownika do C.O i pompki do grzania wody. Od tego czasu instalacja grzewcza powiększyła się o kolektory słoneczne, oczywiście domowej roboty :D, wykonane przez mojego niestrudzonego Tatę. Zaistniała więc potrzeba rozbudowy sterownika. Poprawione detale...
Przygotuję na jutro
ustawianie stanów logicznych na pinie odbywa się w przypadku 1-wire nieco inaczej niż pokazałeś. Ty ustawiasz kierunek i wymuszasz stan, a to troche nie tak. Ustalać powinieneś jedynie kierunek transmisji. Domyślnie w rejestrze PORTx są same zera, więc nie musisz się nim w ogóle przejmować. Dla np resetu powinno być tak: ustawiasz port jako wyjście,...
Jeżeli ma być DIY to na rynku jest sporo gotowych scalaków przetworników R/I R/U oraz R/f Czyli rezystancja na prąd (zazwyczaj 4-20mA), rezystancja-napięcie (np. 0-10V) oraz rezystancja-częstotliwość. Poszukaj sobie not katalogowych firm Texas Instruments, Burr-Brown Seria układów scalonych XTR..... Znajdziesz tam precyzyjne przetworniki. Albo przetworniki...
Witajcie, zaprezentowany układ to nieco odmienne podejście do tematyki cyrkulacji ciepłej wody użytkowej. Chodzi o to, że w godzinach obecności domowników woda ma być dostępna natychmiast (a co ;-)), a na dodatek przy minimalnej pracy pompy. Działanie jej wygląda następująco: - Są wykorzystane dwa termometry - na rurze wychodzącej z kotła (możliwie...
Diody są tak umieszczone, że trzeba chcieć je zobaczyć, raczej nie rzuci się w oko przy normalnym otwieraniu lodówki. I nie wykonalne jest umieszczenie diody w miejscu widocznym? Zresztą zrobiłem "sygnalizację, że program żyje". Czyli dioda może pokazywać tylko dwa (świeci lub nie) stany? Firma Atronic poskąpiła i w karcie komunikacyjnej gdzie użyto...
Trzeba zrobić emulator DS18B20 podłączony do urządzenia które chcesz "oszukać". Ten emulator musi sobie "rozmawiać" radiowo z modułem, który będzie np co sekundę odczytywał DS18B20. Do Arduino są biblioteki emulujące między innymi DS18B20 (gdzieś na Elektrodzie był link do nich). Nie wiem czy dział to na przerwaniach, jak nie to będzie problem z komunikacją...
Witam. Napotkałem problem z komunikacją po I2C. Na płytce stykowej podłączyłem moduł zegara DS3231 zakupiony na znanym portalu i działa bez problemów. Przygotowałem i polutowałem płytkę z takim procesorem w wersji smd. Zaprogramowałem tym samym programem, fuse bity te same, wyświetlacz działa prawidłowo, odczyt z DS18B20 działa prawidłowo, komunikacja...
Ciekawe zadanie ;) Może lepiej dać układ nadzorujący na każdy silos? Wtedy mamy 30 urządzeń komunikujących sie po RS485 i jeden centralny master zarządzający ruchem i komunikujący się z PC. Sprawdzałeś czy przy takiej odległości nie będzie problemów z komunikacją po 1wire?
Zainstaluj sobie odpowiednie środowisko i zapomnij o makefile i problemach z nim związanych: http://mikrokontrolery.blogspot.com/2011... Poza tym pokaż schemat - może tam też są jakieś krzaczki :-)
U mnie DS18B20 na 1Wire działało nawet jak przez przypadek ustawiłem FuseBity na 4MHz a w programie było zadeklarowane 8MHz. Więc problemów z komunikacją z DS18B20 raczej bym się nie bał. 1Wire narzuca ramy czasowe ale nie aż takie żeby zmiana częstotliwości o 10% mogła coś spierniczyć. Dodano po 6 Zakłócenia elektromagnetyczne to już inna sprawa. Ale...
no to na pewno miałeś namieszane z komunikacją 1w. sprawdz sobnie odstepy czasowe, i czy był wysyłany reset w miejscach jak pisze w aplikacji
Wrzucam tu procedurki którymi ja odzczytuję DS18B20 w asemblerze '51 może się przydadzą :) ; /-----\ ; |-------| ; | | ; |DS12B20| ; |_______| ; | | | ; GND Vdd ; DQ ; PIN1WEQU P1.0 ;=======================================... ; procedura odczytu temperatury z DS18B20 ;---------------------------------------...
Powiedzcie mi tylko, jakim cudem cały program się tam zmieścił?! Ten PIC ma przecież tylko 1 kilobajt pamięci, wiec niewiele... Ja pisząc ostatnio program do 256-bitowego klucza na attiny13V (który ma podobne parametry pojemnościowe jak ten PIC), ledwo zmieściłem się ze swoim programikiem napisanym w BASICU... Witam, Cuda się zdarzają :D Ja pisząc...
W sieci są dziesiątki serwisów (również po polsku), które krok po kroku wprowadzają do programowania w środowisku Arduino. Nie ma lepszego sposobu niż przejście kolejnych etapów kursu, wykonanie kolejnych ćwiczeń dydaktycznych o rosnącym poziomie trudności, a potem stopniowe rozbudowywanie własnego programu. Jeśli chcesz mieć własny kontroler biurka...
Czy w Twoim sterowniku można bezpośrednio zmieniać temperature z urzadzenia? Czy mógłbym prosic o schemat elektroniczny i program? Ustawienia można zmieniać: - z poziomu konfiguracji xml, wymaga restartu procesu, wymaga zalogowania do raspberry i edycji pliku - z poziomu przeglądarki www można zmienić parametry poszczególnych elementów (np krzywą grzewczą,...
Witam Temat jest taki. Posiadam magistralę 1wire na której są zamontowane termometry DS18B20 oraz przełączniki DS2407. Pracuje na tym sterowanie ogrzewaniem w mieszkaniu. Do tej pory sterowałem nią układem na bazie Atmega168 i działało to prawidłowo. Zbudowałem następny sterownik z Atmega32 na pokładzie i zaczeły się schody. Odczyt adresów układów prawidłowa....
WItajcie Czy jest szansa, by w 2 kB 90s2313 zmieścić obsługę DS18B20 wraz z obliczeniami by uzyskać na LCD temperaturę z wartościami po przecinku. Walczę z optymaliacją programu i wszystko łacznie z LCD i komunikacją sie mieści, ale gdy dodam operacje obliczania temperatury to zawsze wychodzi mi ponad 2 kB. Jak do procedury DS18B20 i na jakich zmiennych...
Witam, Mam już ładnie działający czujnik temperatury ds18b20 wraz z atmegą oraz modułem enc28j60, lecz problem z komunikacją między witryną a atmegą. Odebrałem dane z uC za pomocą funkcji php file_get_contents, lecz chciałbym jeszcze z witryny ustawić minimalną temperaturę po której zapalą mi się diody dołączone do układu. Drugim zadaniem co chciałbym...
DS18xx ma dużą dokładność , ale nie wiedziałem o tych problemach z komunikacją ( w 3 koncówkowym podłączeniu także ? Nie wiem o jakich problemach piszesz u mnie DS18b20 są podłączone na 20m skrętki do jednego pinu Atmegi jest ich 5szt i nie ma problemu żadnego. Jedynie rezystor podciągający zmniejszony jest do 1kom.
Witam serdecznie Przejrzałem mnóstwo wątków i stron www o AVR i problemach z komunikacją z czujnikiem temp. DS18B20. U mnie pomiar działa ale jest pewien haczyk - temperatura mierzona jest (i wyświetlana na LCD) do wartości 70stopni Celsjusza. Dalsze ogrzewanie czujnika powoduje, że otrzymuję tylko jedną wartość temperatury tj. 127,9. Po schłodzeniu...
W sumie racja. Tyle, że w tym zastosowaniu CAN to troszkę przerost formy nad treścią... :D Można wykorzystać też kartę przekaźników ale nie na I2c taką z zaimplementowaną komunikacją RS485 np.: moduł z infornacją zwrotną o stanie przekaźników AVT531 . i w ogóle nie dawać drugiego uC. W tym pierwszym (jedynym) czujniki można połączyć po 1-Wire oczywiście.
Witam. Chciałem zrobić termometr bezprzewodowy. Na razie mam problem z komunikacją UART. Nadajnik działa na 100 % odczytywałem temperaturę na komputerze prze ft232. Ale odbiornik nie odczytuje temperatury. W tej chwili obydwa mikrokontrolery są spięte przewodem TX ->RX Kod Nadajnik [syntax=c]#include <stdio.h> #include <avr/io.h> #include...
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ć.
Jakiś czas temu podłączyłem czujniki ds18b20 za pomocą przewodów (skrętka cat5) na dystansie 80m w środowisku silnych zakłóceń (skrętka położona z przewodami 230V) ,jako rezystor pull-up 1,5k ,i za pomocą 2 przewodów nie było żadnego problemu z komunikacją z czujnikami .
WItam Najlepiej zrób tak: linie DQ podłącz do pinu procka i podciagnij ją rezystorkiem 4,7kohm do +5V a mase do masy. Nie podłączaj zasilania czujnika. Ja miałem takie problemy własnie gdy wykorzystałem techlogię 2wire taka jak ty. Gdy zmieniłem tak jak Ci napisałem wszytko było już ok. Pozdrawiam Shevu
Witam. Jestem w trakcie budowy systemu do monitorowania temperatury,napiecia sieci el. (i nie tylko) w swoim domu w oparciu o urzadzenie Raspberry pi (czujnik temp ds18b20 1-wire, kamerka, sterowanie stycznikami bistabilnymi,monitoring sieci elektrycznej - za pomocą ups aeg z komunikacją usb). Platformę dostępową implementuję w Pythonie + javascript...
Nie podałeś szczegółów co do całego systemu. Więc proponowane rozwiązanie może być. Hardware: Od strony sterownika S7-200 + moduł Ethernet np.CP243-1 IT Od strony elektroniki Moduł ethernetowy WizNet np. W3100A z komunikacją a I2C Elektronika z prockiem (Atmel ,uC itp.) z podpiętymi DS1820 na 1-wire i szyną I2C do komunikacji z modułem WizNet. Myślę,...
Pomysł z projektami na MSP430 jest przedni, trzymam kciuki za wszystkich. Ze swojej strony mogę obiecać kilkupunktowy precyzyjny termometr na DS18B20 (może rozbudowany do regulatora temperatury i rejestratora) z wyswietlaczem LED i komunikacją z PC-tem. Nie mogę jednak nic powiedzieć o czasie powstania, gdyż teraz jestem zawalony poważniejszymi projektami....
The calibrated internal RC Oscillator provides a fixed 1.0, 2.0, 4.0, or 8.0MHz clock. Przyniesiona ze sklepu M8 pracuje na wewnętrznym zegarze 1 MHz! Spróbuj $crystal = 1000000
Przyznaję, że się w Twój kod nie zagłębiałem, ale może sprawdź jak to wygląda od strony hardware'owej - sygnały na magistrali 1-wire. Pozdro.
Magistrala 1Wire jest bardzo zależna od czasów. Ponieważ nowa Atmega8 ze sklepu jest ustawiona na 1MHz zapytam czy zmieniałeś ustawienia FuseBitów w tych Atmegach? Pytam ponieważ w kodzie masz zadeklarowaną prędkość 4MHz. Taką predkośc podałes kompilatorowi i do takiego taktowania policzył czasy do komunikacji z czujnikiem. Jeśli nie zmieniałeś nic...
Witam wszystkich forumowiczów projektuje 2 płytki pcb 1 dla mikrokontrolera avr a druga dla stm32 prośiłbym was o sprawdzenie ponieważ niektórych elementow projektu nie jestem pewin, a mianowicie: ----AVR---- *kwestia zasilania jak korzystam z 2 diod Schottkiego do "przełączania" zasilania z baterii na sieciowe to czy ten układ zadziała również jak...
Zmajstrowałem sobie taki oto schemat: http://obrazki.elektroda.pl/7918901100_1... Ma to być kontroler wentylatorów pecetowych z czujnikami temperatury DS18B20 i komunikacją z chłodzonym pecetem. Cudów tu raczej nie ma, mikrokontroler, MOSFETy do sterowania samymi wentylatorami przez PWM, odczyt czujników Halla na wzmacniaczach i przerzutnikach...
Zacznijmy od tego że nie powiem Ci czy to tanio czy drogo bo nie jestem w "temacie" od jakiegoś czasu. Ten "turbo-zaje****y NIEBIESKI wyświetlacz" mnie trochę zniechęca tutaj... Niepotrzebny wodotrysk. Nie podoba mi się to że LED-y mają na przemian czerwony i zielony kolor, to pewnie utrudnia odczyt. Lipa też, że ma tylko 5 przycisków, czemu nie osiem?...
Witajcie, mam problem z komunikacją na drodze STM32 <-> DS18B/S20. "Hello world!" w tym wypadku to poprawna realizacja funkcji Reset(), niestety nawet tak prosta sprawa mi nie działa. Sprawdziałem na DS18B20 i 2 sztukach DS18S20 aby wykluczyć ew. uszkodzone układy. Co do poprawności działania samego kodu to próbowałem dać odpowiedź DSa wstawiając...
Stara mega32 da radę, ale dla pewności taktowałbym ją zewnętrznym generatorem kwarcowym (taniocha) a nie kwarcem. Bascom to przeliczy. Widziałem 1wire jak działa z Bascom w Xmedze na 48MHz. Wystarczy dobrze zadeklarować prędkośc taktowania, co obstawiam jeśli reszta protokołów działa. Dalej obstawiam błąd w oprogramowaniu przez programistę :)
Ja w sumie używałem jako terminala screena (pod linuksem). Spróbuj może zakomentować obsługę wyświetlacza i czujnika. Tak żeby wiedzieć czy sam UART działa... Edit: Jeśli masz wątpliwości co do terminala to jeszcze możesz spróbować puttiego. On ma bardzo prostą konfigurację. Po prostu klikniesz że chcesz połączenie po serialu, wpiszesz prędkość, klikasz...
A jak masz połączone te rezystory? Szeregowo czy równolegle? Czemu posługujesz się czyimiś bibliotekami, nie napiszesz ich sam? A to już nie można cudzych bibliotek wykorzystać? Nie wiem czy tutaj byłeś: [url=http://www.hobby.abxyz.bplaced.net/... Na dole artykułu jest gotowa biblioteka do ds18b20 działająca na 100%. W msb i lsb...
A wiec pwm masz na oc1a i oc1b to jest timer1 (jak sie nie myle). Poza tym masz 3 pwm oc2 na timerze2. Wiec jak bys chcial jeszcze czas liczyc lepiej uzyj jakis zew. ukladu, bo zostal ci tylko timer0, na ktorym bedzie ciezko to osiagnac. Na timerze1 i 2 mozesz zrobic sterowanie diodami rgb. Wlasnie widze ze ten czujnik wilgotnosci nie ma mozliwosci...
Nie, jest ok. Jeśli wysyłasz 0 to powinno być 0 przez 80 us, jeśli 1 to powinno być 1 przez 80 us. Jak widzisz w obu przypadkach kod opóźnienia jest taki sam, stąd też nie ma potrzeby wykonywania kodu alternatywnego (else).
A jeśli programujesz w Visual Basic to polecam: http://ggsender.ovh.org/ do GG, a kontrolkę MsComm do komunikacji z ds18b20
Niestety nie. Ten Shimaden nie obsluguje komunikacji 1 wire ktora ma ten czujnik
Czyli kolejna ważna nauczka - czytać warningi.
np. DS18B20 + komunikacja MODBUS po RS485. Nie trzeba tworzyć linii produkcyjnej.
No wiadomo że trzeba go wyciągać :) IMO na wewnętrznym RC, prędkości rzędu 4800, 9600 powinny działać bez kwarcu.
85*C to jest utrata polaczenia blad komunikacji albo za szybko odczytujesz temperature po inicializacji.
1. Rysuj schematy w czymś normalnym, nie ręcznie... 2. Na magistrali 1wire powinien być raczej rezystor podciągający do 5V, a nie kondensator, który skutecznie uniemożliwi komunikację :D
...Jak nie działa to jest brak komunikacji z układem. Ja obstawiłbym "timesloty", czyli program.
Hm... przydałby się jeszcze system komunikacji DS18B20 (może jest coś tańszego, albo bardziej użytecznego?), który by nie wymagał żadnego połączenia poza przewodami do ładowania, podłączanymi do '+' i '-' akumulatora.
Jeśli czujnik zaniża tylko niektóre pomiary, to wydaje mi się, że raczej nie może to być skutek opisanego problemu. Zmiana danych kalibracyjnych w EEPROM musiałaby przecież spowodować zaniżenie albo zawyżenie wszystkich następnych pomiarów. Miałem taki przypadek z DS18B20 zasilanym pasożytniczo: komunikacja z czujnikiem odbywała się całkowicie poprawnie,...
Mam wspaniałe dzieła stm32f103 1-ware slave na takich delay //:::::::... // Прогрk...
Dziękuję za pomoc, na razie odłożyłem ESP i zrobiłem na mega.
Możesz wykorzystać analogowe czujniki temperatury jak LM35 albo cyfrowe DS18B20. Komunikacja z komputerem dziś to raczej tylko USB. Może być też RS232 jednak wątpię że twój laptop ma taki port. To nie jest zadanie dla początkujących ale nie zniechęcam ;)
Jeżeli stosujesz funkcję typu delay1us(X) (rozumiem, że sam ją napisałeś) to pamiętaj, że wejście i wyjście oraz pętle odliczające też trzeba uwzględnić. Polecam zrobić na potrzeby ds'a funkcje o określonym czasie trwania (będzie ich raptem kilka), bo jak zmienisz taktowanie to może się okazać, że wyżej wymienione dodatkowe opóźnienia mogą mieć znaczenie...
Mam takie pytania: 1. Czy jest jakaś możliwość realizacji komunikacji z DS18B20, która nie będzie uzależniona od delay-ów? 2. Czy własne napisanie delay-ów może mi w czymś pomóc? 3. Jeżeli chciałbym zrealizować coś bardziej skomplikowanego to powinienem "dołożyć" jeszcze jeden µC, żeby uniknąć niespodzianek? Miałoby się to wiązać z przerwaniami...
Ok dobra teraz uwaga bo ciekawa rzecz: Podłączając odwrotnie (a co tam jak już zjarałem to trudno) tj. środkową nóżkę do masy a GND do sygnału otrzymuję kwadrat jakiś, wydaje się komunikacją cyfrową, atmega reaguje oczywiście wprowadzając stan wysoki na pin "temperatura za niska". Przy zwarciu takich połączeń na nóżce niecyfrowej żadnego kwadratu nie...
Kolego golas17 udało ci się uruchomić tą komunikację 1wire? Pytam ba posiadam stm32f103 i chętnie podłączył bym właśnie termometr DS18b20.
Kod jak dla mnie zupełnie nieczytelny, nieoptymalny - dokładasz jakąś funkcję krytyczną w czasie i jesteś w kropce. Konstrukcje typu : dec loop_odb_bajt cpi loop_odb_bajt,0 brne odb_dale swobodnie moga występować bez cpi . Masz najprawdopodobniej źle dobrane opóźnienia, może predkośc zegara się różni od przyjętej ? Nie lepiej zrobic obsługe na timerze,...
Cały dom oblecieć? Nie za długi przewód z kontrolera do czujników? Chyba musisz wymyśleć inną komunikację.
Atmega128 jest polaczona po UARTcie z ds2480B i dalej jest czujnik temperatury ds18b20, Nie moge zainicjowac DS2480B zeby on wysylal po 1wire, Mam note aplikacyjna ale nie moge wyczytac co mam zrobic zeby zaczal pracowac - moge polaczyc bezposrednio czujnik temperatur z prockiem ale chcialem to zrobic po RSie, moze ktos wie bo pewnie musze zrobic cos...
Czytales dokumentacje do DS?
Mam pytanie na które sam nie nie umiem sobie odpowiedzieć. Napisałem duży program, który korzysta z timera1,ma komunikacje z ds18b20 i komputerem poprzez uart. Na czas komunikacji z ds... wyłączam przerwania. Jak to wpłynie na komunikacje z kompem ?
Witam Mam pytanie dlaczego poniższy kod nie pozwala mi dogadać się z DS18B20. Napisałem/przepisałem go na bazie opracowania Pana Cezarego Klimasz "Obsługa interfejsu 1-wire na przykładzie obsługi DS18B20". Proszę o pomoc. Dziękuję #include <string.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include...
Proste: Bylejaki kod obsługi DS18B20 bez użycia przerwania timera lub sprytnego użycia UART nie może działać poprawnie, jeżeli reszta oprogramowania korzysta z jakichkolwiek przerwań aktywnych podczas komunikacji z DS18B20.
Witam nie czekasz na obliczenie temperatury powinno być waitms 750 . Wstaw waitms 750 w miejsce gdzie masz 'przeczekaj czas konwersji
Zgadzam się z przedmówcą. Kiedyś nie mogłem wyjść z podziwu, że program przestawał działać po załączeniu optymalizacji. Dopiero po pewnym czasie zauważyłem, że optymalizacja pod względem prędkości działania dosięgnęła również... pętli opóźniających :) Dlatego odmierzanie czasu na timerze jest najbardziej precyzyjnym i uniwersalnym wyjściem. I optymalizacja...
Przyczyna może być tylko jedna brak komunikacji ds18b20 z atmegą, proponuje sprawdzić ciągłość pomiędzy nóżkami mikrokontrolera a samym ds-em i jeżeli nie ma przerwy to należy przeanalizować podłączenie ds-a do nóżek atmegi a dokładnie czy jest to podłączenie zgodne ze schematem.
Zapoznaj się dokładniej z transmisją 1-Wire. Po właczeniu zasilania nic nie musisz sprawdzac na lini, aż do momentu kiedy będziesz chciał z danym urzadzeniem nawiązać komunikacje. Wtedy wystawiasz sygnał RESET i czekasz na odpowiedz, jesli jest to znaczy że na lini znajduje się jakieś urzadzenie. Sygnał RESET zawsze poprzedza poczatek transmisji z 1-Wire.
unsigned char recive1bit_1wire(void) { CATCH1WIRE; //pin as output CLEAR1WIRE; //drive bus low delay_us(6); //delay 6us RELEACE1WIRE; //release bus - pin as input HiZ delay_us(9); //delay 9us if(PIN1WIRE==1) //sample bus to read bit from SLAVE { delay_us(9); //delay 9us return(1); //return read...
Najlepiej jest uzyc gotowych bibliotek ktore dolanczam Deklarujesz obiekt tej klasy w pliku Unit1.h ****************************************... #include <Forms.hpp> #include "comm.h" .... class TForm1 : public TForm { __published:// IDE-managed Components ...... private:// User declarations public: // User declarations TCommPort COM_PORT;...
Zacząłbym od tego: Otrzymujesz wartość zmiennej temperatura równą np. 1871819,25. Jak przemnożysz to przez 16 to okaże się, że wyrażenie (temp1 + (temp2*256)) zwraca wartość 29 949 108. Teoretycznie zmienne temp1 i temp2 nie powinny przyjmować wartości większych od 255, więc wartość maksymalna wyrażenia (temp1 + (temp2*256)) = (255 + (255*256)) = 65535....
^^^^ Bo masz tylko 2 lub 4 cyfry i czas komunikacji z DS18B20 jest niewielkim procentem czasu świecenia jednego znaku więc efekt mrugnięcia jest, ale mało dokuczliwy. Ja miałem 10 znaków i musiałem mocno skrócić czas świecenia 1 znaku. A wtedy te kilka ms na komunikację z termometrem to było więcej niż czas świecenia jednego znaku i wtedy było to strasznie...
Konstrukcja wykonana bardzo przyzwoicie i starannie mam pytanie dotyczące tego czy można użyć czujnika DS18B20 zamiast tego DS1631 Różnica polega w komunikacji. DS18B20 łączy się przez 1-wire, a DS1631 przez I2C (zresztą co widać na schemacie) i nie można z tego względu stosować tych czujników zamiennie. Pytanie do autora. Czemu nie zastosowałeś jeden...
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...
Niby nie trzeba pchać na usart ale jak wtedy debugować? Bardzo prosto : USART przeznaczyć na komunikację z układami ( np. ESP8266 ) a ewentualne debugowanie puścić na programowy "port szeregowy". Konwertery TTL/USB są tanie jak barszcz a w takich sytuacjach są jak znalazł.
Zajrzyj do mikokontrolerow - tam bylo wiele razy...
I tu: http://www.elektroda.pl/rtvforum/topic21...
Ok skoro nie nawiązałeś komunikacji ze wszystkimi dallasami to wykonaj kolejny krok tzn. pozostaw jedynie jedenego dallasa i zrób to po kolei sprawdzisz czy numery Ci grają. Jak już tak pojedynczo sprawdzisz to podłącz kolejnego tak żeby były 2 na jednej linii i tak pokolei do przodu. Spokojnie do wszystkiego się dojdzie. Pozdrawiam. PS. Z Bascomem...
Kwarc może nieznacznie odbiegać od tego podanego. Ba, może nawet się różnić o kilka MHz i komunikacja po 1wire będzie działać. Natomiast problem leży w złym czujniku 1wire. Te układy różnią się od siebie. Jak masz źródło programu to można to łatwo zmienić - albo wymień czujniki. Pozdrawiam.
Jak dla mnie to sprawdz czasy przy komunikacji (rozumiem że to 1-Wire).
Skoro znasz już składnię assemblera, to jedyne czego potrzebujesz, to: - datasheet Atmega8 - datasheet Ds18b20 - opis standardu komunikacji 1wire Nie wiem jak jest z gotowcami, ale na assembler to bym za bardzo nie liczył. Skoro kiepsko u ciebie z angielskim, to zacznij chociażby od tego: http://www.1-wire.rms.biz.pl/
Kolega jakie I2C? DS18B20 używa protokoły 1Wire. To zupełnie co innego. Jeśli jednak naprawdę myślisz o I2C i wyprowadzaniu go na zewnętrzne urządzenia to jest to średni pomysł. Ten interfejs jest zaprojektowany raczej jako interfejs do komunikacji w obrębie jednej płytki drukowanej, względnie do komunikacji między mało odległymi modułami. Nie mówię...
DS1820 czy DS18B20 ? Sposób zasilania ?
Witaj. Jeśli chcesz wykorzystać jakiś procesor i czujniki temperatury to często wykorzystywany jest czujnik DS18B20. Komunikacja z nim przez 1wire więc do jednego procesora bez problemu podłączysz ich 20 albo więcej. Procesor to już Twój wybór, zależy czy już jakiś poznałeś. Sporo na temat podłączenia tego czujnika można znaleźć na elektrodzie. A co...
Problemem była komunikacja między arduino a domoticzem a konkretnie rozpoczęcie "nadawania" usunięcie liniki: Serial.begin(9600); rozwiązało problem
O ile ten uC, który to obsługuje, ma przerwania. Nie są konieczne, ale wtedy potrzebna jest zupełnie inna filozofia pisania programu - na przykład taka, że w głównej pętli wołasz na zmianę dwie procedury, jedna z nich sprawdza, czy już czas na przełączenie się na następną cyfrę (i jeśli tak, to to robi), druga wykonuje elementarną operację przy komunikacji...
cześć Super konstrukcja ale mam pytanie które mnie nurtuje. Pisałeś o możliwości podłączenia trzech czujników DS18b20...w jakiej max odległości od urządzenia się znajdowały tak żeby pomiar był poprawny. Pytam ponieważ sam mam pomysł zrobienia sterownika CO na mieszkaniu (70m2) i zastanawiam się czy okablować całe mieszkanie pod czujniki ds18b20 czy...
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
Witam Atmel opisał ten sposób komunikacji. Poszukaj na stronach AVR.
Witam, walczyłem z tym samym problemem - najnowszy update Raspbianna z 7.02.2015 psuje komunikacje po 1-wire. Rozwiązaniem problemu jest dodanie odpowiedniego wpisu w config.txt. Read /boot/overlays/README. You will probably need to add: dtoverlay=w1-gpio to your config.txt, but you have to choose between that overlay and w1-gpio-pullup, and both have...
https://obrazki.elektroda.pl/3403235600_... Witam wszystkich Chciałem się podzielić projektem, który wykonałem dla swojego znajomego w ramach wspólnej zabawy w elektronikę i informatykę ;) Założenia: -Zasilanie DC 12-48V -Komunikacja przez Ethernet -Możliwość obsługi kilku przycisków -Możliwość sterowania kilku przekaźników -Możliwość...
Witam Nie widzę deklaracji funkcji: delayus() oraz delayms(). W bibliotece delay.h funkcje te wyglądają tak: delay_us() i delay_ms(). Tak naprawdę właśnie dobór opóźnień jest najistotniejszy przy komunikacji po 1-Wire. Wiem bo sam męczyłem się trochę z tym czujnikiem. Niestety funkcję dostępne standardowo w bibliotece delay.h ( delay_us() i delay_ms()...
Witam, Projektuje układ sterujący pracą wentylatora DC 12V, zasilany w całości z ogniw fotowoltaicznych. Mam do dyspozycji panel, który daje ok 45W przy napięciu 16,8V. (optymalne warunki nasłonecznienia). Wymyśliłem sobie, że wentylator będzie sterowany przez mikrokontroler Atmega8 za pomocą PWM. Wentylator ma się załączać przy pewnych temperaturach....
A co to są za czujniki-jakieś termometry po 1-wire może(DS18b20)??
komunikacją atmega8 epson komunikacją satel komunikacją
scania listwa paliwowy samsung zanik napiąć załączenie tyrystora bocznikiem
bosch pue631bb2e rocky horror ws504
Zamienniki tranzystora 50T65FD1: IGBT i MOSFET Zipp Quantum nie wchodzi na obroty i gaśnie – gaźnik, podciśnienie, zapłon, typowe usterki