... Mikrokontroler taktowany jest wewnetrznym rezonatorem RC (nie posiadam w tej chwili kwarcu) ... A kompilator o tym wie :?: Czy masz zadeklarowaną częstotliwość oscylatora w programie :?: $Crystal = 1000000 Config 1wire = Portx.x Masz to w programie lub w ustawieniach globalnych poustawiane :?: Nic o tym nie wspominasz :( Pozdrawiam Piotrek
Brak kropki w deklaracji pinów wyświetlacza ma byc: DB6 = portb.1 Następnym razem sprawdz dokładnie tego typu błedy i nie dodawaj tematu z tak błahego powodu
W uC należy odpowiednio ustawić FUSE BITY!!! Poczytaj przyklejony temat.
Szyna nie jest zależna bezpośrednio od oscylatora czy rodzaju procesora. Od strony procesora szyna jest tworzona programowo, więc przyczyn należy szukać w programie. Natomiast szybkość wykonywania programu, a tym samym przebiegów na szynie 1-wire zależy od typu procesora i oscylatora. Tak, więc przy dobrze napisanym programie (ważne są odpowiednie czasy...
Masz rezystor podciągający? Niektórzy o nim zapominają.
Wynik temperatury jaki uzyskał jest efektem odczytania samych jedynek z magistrali 1wire, czyli czujnik nie odpowiedział.
Witam Oczywiście, że się da tak zrobić. Konfigurację 1-wire, i I²C znajdziesz w helpie do Bascoma. Żadnych cudów nie ma. Możesz w samym programie nic nie pisać odnośnie konfiguracji a zrobić to w ustawieniach kompilatora. -- pozdrawiam
Jeżeli Twój program jest napisany w Bascomie , Atmega8 pracuje na wewnętrznym oscylatorze 1MHz to przestaw oscylator na 4MHz.Mi 1Wire nie chciało działać na 1MHz.Chyba nie tylko mi: http://www.elektroda.pl/rtvforum/topic12...
Np. tak: Set Flaga : While Flaga = 1 : Wend to umieszczasz raz lub kilkakrotnie w odczycie z DS-a. Część umieszczona poniżej tego wykona się dopiero jeśli flaga zostanie zresetowana. Flagę resetujesz po wykonaniu przerwania.
Problem rozwiązałem sam, stosując procedury Dallasa. W pliku dołączam całą bibliotekę 1wire. Może komuś się przydadzą.
Używam linuksa i nie potrzebuję AVStudio. Wszystko co chcę mogę ustawić w pliku makefile - nie mam z tym problemu. Jednak mam nierozwiązany problem z obsługą 1WIRE i można się na tym skupić.
Jak juz ktoś poruszył temat bez sprawdzania sum kontrolnych bedziesz walczył co chwilę z tymi czujnikami i nie dojdziesz ładu.
Zaglądnij tutaj http://www.elektroda.pl/rtvforum/topic66...
Może błąd tkwi w kodzie :)
Nie musisz czekać. Musisz zacząć trochę inaczej myśleć niż "linijka po linijce"... Dokładnie i nie jest to wcale takie proste :cry: Inaczej będzie to wyglądać dla prostego 'termometru', a zdecydowanie inaczej jeśli 'w tle' pracuje kilka przerwań, które rozwalą komunikację na 1wire na amen. Zerknij co kiedyś wykoncypowałem :D , żeby przerwanie obsługujące...
czytałem wolniej i efekt ten sam:(
Mozesz zrobic to tak jak ja to zrobilem, czyli: 1) procesor AVR, np. Atmega8 2) czujnik temp., np. DS1820 (1Wire), lub DS1624 (i2c) 3) interfejs USB na ukladzie FT232, proponuje gotowy modul dostepny np. w kamami.pl 4) soft na kompie piszesz sobie np. w borland c, bo razem z interfejsem USB producent dostarcza biblioteke z gotowymi funkcjami w c - fajna...
A nie lepiej po prostu wszystko na timerach i przerwaniu? Tak co mi na szybko przychodzi do glowy tolinie podpiac pod przerwanie, ustawic na detekcje zmiany zbocza. Zrobic jakas zmienna ktora mowi czy jest to przerwanie startujace czy konczace. Jesli startujace to zczytujesz czy jest to 0 czy 1 i start timera. Jesli przerwanie konczace to stop timer...
... Czy w obsłudze protokołu 1wire trzeba ciągle zmieniać konfigurację pinu jako wejściowy/wyjściowy w rejestrze DDR czy istnieje inny sposób, żeby uprościć sprawę i nie przekonfigurowywać co chwilę pinu ? ... Cały pic polega na tym , że obsługa magistrali 1wire, powinna odbywać się wyłącznie przez "zmianę kierunku" pinu. Piotrek
Podłączyłeś dławik i kondensatorki zgodnie z książkowym przykładem wykorzystania ADC ? Może daj dokładnie swój schemat. Acha, polecam DS1820 - świetny termometr na 1wire ;-)
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ś.
To tylko potwierdza że trzeba jednak kwarc zewnęrtzny. Ja przeprowadziłem wiele prób i doszłem do wniosku że ten wewnętrzny to można ustawiać dla magistrali I2C,1wire tylko dla odczytu numeru (pomiar temperatury już jest błędny). Pozdrawiam i czekam na efekty pracy.
a jak to jest z transmisją 1Wire
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...
Ten kod napisałem na podstawie dokumentacji temometru i dokumentu opisującego interface 1 wire od atmela: A do dokumentacji AVR-ka zaglądałeś :?: Zastanów się, czy można uzyskać niski stan na magistrali 1wire, jeżeli pin do niej podłączony jest ustawiony jako wejście :?: [syntax=c]unsigned char _DS18B20_ReadByte() { _DATA_DDR &= ~(1 << _DATA_WIRE);//...
Płytkę trzeba by prześledzić na spokojne lecz widzę, że kolega chce wykonać płytkę dwustronną a więc przydały by się przelotki jeszcze:) Jeśli chodzi o napięcie 5.6V zostało ono uzyskane przez autora dzięki zastosowaniu diody w masie stabilizatora. Kiedyś wykonywałem ten zegar i DS18B20 został podłączony na 3 przewodach. Rezystor 4k7 musi być obowiązkowo...
Może nic konkretnego tu nie poradzę (bo nie znam na tyle "C") ale napiszę, że pomysł jest trochę zakręcony. Jeśli taki musi być to proszę nie czytać reszty. Jeśli nie to podłączyłbym czujnik temperatury do ATMEGA8 po 1Wire, a MEGĘ do PC poprzez RS232. Będzie można bez problemu czytać temperaturę jak i dane z uC. Podłączenie MEGI po 1Wire będzie wymagało...
Ale czy inne urządzenia nie będą zapychać magistrali ( stanem wysokim ) i powodować błędnego działania? Oczywiście, że nie. Jak to ładnie ująłeś, urządzenie "zapycha magistrale" tylko gdy ma coś do powiedzenia a nieuszkodzone mają do powiedzenia tylko te, które o to poprosiliśmy. Zapoznaj się z opisem działania 1Wire. Pozdrawiam, GSM
WP zostawiłem. Schemat poprawiłem i dodałem 1wire:
Równolegle jest temat: http://www.elektroda.pl/rtvforum/searcht... Masz ładnie opisaną transmisję 1wire na MCS51. Pozdrawiam.
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...
//procedura odczytu bajtu z urzadzenia unsigned char wire_read_byte(short int czujnik) { unsigned char bajt, tmp, i; bajt = 0; for(i = 0;i<8; i++) { tmp = wire_read_bit(czujnik); tmp = tmp << i; bajt = bajt | tmp; } return bajt; } Chciałem zrobic na 2 innych pinach czytanie temperatury, mozliwe ze...
rs485 odpada Tylko że najlepiej by się do tego nadawał. Nie wiem jak masz daleko na strych ale I2C (SDA, SCL) może powodować błędy w transmisji, SPI piszesz że też nie, czytałem ze ktoś zrobił to na 1WIRE ale nie wiem na jakiej odległości. Poszytaj trochę o "inteligentnym domu" , było parę ciekawych tematów na elektrodzie.
Troszkę stary ten post piotrek198o, ale użyłem programu na swojej PCB (zmieniłem konfigurację LCD i 1wire) i program działa.
Czujnik z kabelkiem ma 2 przewody masa i data i jest w gilzie ,DHT jest 1wire z tego co wiem
Głównie interesuje mnie to "Waitms 750", bo zegar będzie do.. niczego Będzie działać poprawnie jeśli cały ten kod umieszczę w kodzie wyrażenia warunkowego gdzie warunek będzie spełniany co 750ms? Do tego właśnie można wykorzystać timer i zapomnieć raz na zawsze o wait. Czy w ogóle w takim układzie jest sens dawać odbiornik RC5 i DS18.. pod piny bez...
Napisz co konkretnie zmieniłeś w momencie jak przestało działać. A jak nie wiesz to powoli wracaj do wersji kiedy działało. Np. zacznij od kodu który tylko odbiera kody od pilota a potem dodawaj po kawałku obsługę I2C, wyświetlacza, 1Wire, itd.
1wire jest podciągnięte przez rezystor do VCC.
ATmega32 to dużo za dużo do tego projektu. Jak polecił kolega powyżej, spokojnie starczy ATmega8. Obsługę LCD, RTC, 1Wire, I2C masz na forum, wystarczy poszukać. Co do czujników to myślę że DS18B20 do tego wystarczą. Są tanie, działają na wystarczającym zakresie temperatur i obsługa wiele razy tu wałkowana.
Witam, Buduję przetwornicę w topologi SEPIC, potrzebuję kontrolera PWM co najmniej 10bit i jakieś 50kHz wzwyż. Sterowanie po jakimś SPI/1wire/i2c, cokolwiek co mi atmega8 wysteruje. Albo proszę o link gdzie znajdę taki układ - google przeszukuję nonstop. Z góry dziękuje i pozdrawiam.
zamiast lm335 zastosuj ds18b20 i pomiar przez 1wire
Na pewno masz źle zrobioną obsługę 1wire: [syntax=c]// zczytanie bit z magistralii unsigned char read(void) { unsigned char PRESENCE = 0; CLEAR_1Wire; // ustawienie w stan niski DQ _delay_us(2); // odczekanie 2us SET_1Wire; // zwolnienie magistralii _delay_us(15); <------------ // odbiór jedynki lub zera if (bit_is_set(PORT_1Wire, WE)) PRESENCE =...
1Wire i przyciski też muszą być z tej nowej masy.
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/
Dziękuję za linki. Moje rozwiązanie to będzie KTY + Atmega8 + PID + PWM + triak.
(at)snnaap: Ta funkcja ("ms") to jakaś pozostałość - coś zmieniałem, ale skoro spełniło moje wymagania to już zostawiłem odłogiem. Pierwszego pytania nie rozumiem. Tu znalazłem jakieś informacje o tym, że można sobie efektywnie poradzić bez UART: http://mirekk36.blogspot.com/2011/09/fak... Nie ma (albo nie "doszukałem...
...liczyłem że podczas tych 100ms na końcu ds coś odpowie Kolego :!: Magistrala 1wire była już "wałkowana" tyle razy, że muszę odesłać Cię do podstaw. Zapoznaj się z czymś, co nazywa się TIME SLOT. Podpowiem tylko, że układy slave nie pytane ... "nie mówią". zumek
Eksperymentuję sobie z Atmega8 poznając C, 1wire, twi itp. Wykorzystuję do tego płytkę stykową (zdjęcie niżej). Problem polega na tym, że często na wyświetlaczu pojawiają się krzaczki zamiast informacji jaka powinna być wyświetlona. Kilka-kilkanaście resetów zazwyczaj pomaga, ale nie zawsze. Nie wiem co może powodować takie zachowanie wyświetlacza....
Witam Odpaliłem w końcu termometr. Moim lamerskim błędem były źle skonfigurowane porty (inny port miałem zadeklarowany na lcd). Wszystko się odpala, ale pokazuje temperaturę 0,0 stopni (nie wykrywa czujników). Dziś już pora na mnie, jutro sprawdze co jest nie tak. Czy to możliwe aby któryś z czujników był wadliwy i obu nie wykrywało czy może coś z portem...
Mam sterownik do kolektora słonecznego zrobiony na atmega8 i dwóch termometrach ds18b20. Do tego mam komputer zbierający dane jeszcze z innych czujników podłączonych do innej magistrali 1wire. Teraz chciałbym aby komp zbierał też dane z czujników podłączonych do ATMEGA8. Podłączenie obu magistrali 1wire i podłączenie dwóch masterów do jednej magistrali...
Pana ksiazke posiadam lecz w c nie moglem poradzic sobie z rc5 i lcd dlatego wrocilem do bascoma gdzie wszystko podane jest na tacy(znacznie przystepnie lecz zdaje sobie sprawe, ze mniej wydajnie). Chce nabrac troche obycia z uc oraz dobrych nawykow(stad proba ucieczki od waitow) a za jakis czas pewnie wroce do c. Wracajac do tematu czy moglbym prosic...
PORTC.1 - 1wire PORTC.0,1,2 - multiplexowanie wyświetlaczy PORTD - segmenty
Nie mogło by być tak, że to przycisk generował by przerwanie? ... i pewnie do tego kolejny "delay" w przerwaniu od przycisku w celu eliminacji drgań styku? Nie brnij dalej w te delay'e, bo jeśli będziesz chciał dodać kolejną funkcjonalność to może okazać się to niemożliwe. Zrób sobie timer np. co 10ms i wywołuj nim przerwanie, ale uwaga: nie umieszczaj...
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. Poniżej zamieściłem program w bascomie który właśnie pisze (jeszcze nie skończony) i mam taki oto problem: Twój problem , to notoryczne ignorowanie pliku pomocy Bascoma ;) Powiedz mi , co to ca dziwolągi przy definiowaniu :?: '----KONFIGORACJA WYSWIETLACZA----.' Config Lcdpin = Pin , Db4 = Pa.5 , Db5 = Pa.4 , Db6 = Pa.3 , Db7 = Pa.2 , E = Pa.6...
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. Przepraszam ze odświeżam stary temat. Szukałem trochę w necie i nie znalazłem takiej przejściówki na atmega8. (albo na innym avr) Może Wy coś takiego gdzies widzieliscie
Osobiscie robilem cos takiego na kosciach maxima MAX6651, do tego pomiar temperatury tez Maxim(Dallas) na 1wire, napiecia... Calascia sterowal AVR + display 2x16. Uklad kontorluje sobie chlodzenie wzmacniaczy w zabudowie CarAudio :) MAX-y dostaniesz jako probki :) Soft powinno ci sie udac napisac w Bascomie (praktycznie obsluge wszystkiego co potrzeba...
Chyba sobie to odpuszczę, potrzebuje czujnik do mierzenia tylko temp cylindra, szkoda mi wydawać dużo kasy na takie coś. To miało być w skuterze więc miejsca też dużo nie ma. Nie ma jakiegoś czujnika na 1wire do 150°C? Ewentualnie do 135°C powinno wystarczyć. Oczywiście, że tak. A co powiesz na to?: http://www.mera-sp.com.pl/przyrzpom_opis...
lol ;] Dziwne, że po 50m kabelku przy nawet przy 3v3 nie wysyła śmieci.... (oczywiscie mowimy o standardowej prędkości 1wire)
A czy koledzy słyszeli, że Dallas zabrania samowolnego tworzenia urządzeń 1Wire Slave? http://www.1wire.org/index.html?target=p...
takie drobne uwagi do schematu: 1. przekaźniki daj w obwodach kolektorów tranzystorów a nie w emiterach, poza tym brak diod zabezpieczających :( poczytaj i zobacz to: http://mirekk36.blogspot.com/2012/04/prz... poza tym przydałoby się oddzielne zasilanie dla przekaźników a nie VCC którym zasilasz także procek. 2. wyświetlacz...
Ad 1 jak nie ustawię to bascom sam je ustawi na wejście... I już tak chyba miałem, ale sprawdzę jak chodzi. Ad2 jak podłączyłem przez ULN2803A to niestety było to samo. Czujka daje 1 w momencie wystąpienia sygnału, czyli do tego czasu wejście wisi... A jak rezystor to jakiś 4,7k jak 1wire czy coś rzędu kiladziesiąt ohm??
Witam w bascomie ciężko. Jak chcesz dokładnie, to zewnętrzny kwarc i kod w asm. No nie wytrzymam. Żeby zrobić przebieg 1 Hz to już trzeba asm zaprzęgnąć. Już się boje co trzeba żeby uzyskać przebieg 10 kHz, nie myśle nawet o RS czy 1Wire.
No tak- ale to nie jest DS tylko pamięć na ATmedze zaprogramowana zgodnie z 1wire. Reszta układów podpieta do 1wire będzie miała swoje 3.3V. Tylko ta Atmega udająca 1wire będzie miała nieco niższe napięcie zasilania- o spadek na diodzie. P.S. A swoją drogą- fajny pomysł zrobić własne układy na 1wire. Szkoda tylko że sprzedawać tego nie można.
Nie wiem czemu wszyscy się na te nieszczęscne dsy upierają, dla mnie 1wire jest najbardziej poronioną magistralą;/ A nie lepiej jakiś liniowy czujnik analogowy?:/
Czyli funkcje 'v1Wire_SendByte' i 'uv1Wire_ReadByte' służą tylko do tego, żeby wysłać odpowiedni rozkaz do termometru? Te funkcje, jak sama nazwa wskazuje, wysyłają i odczytują bajt danych z magistrali 1wire. W przypadku ds18b20 ten bajt danych to może tym rozkaz dla termometru (np. wspomniany już start pomiaru) lub dane (np. zmierzona wartość temperatury)....
Witam Udało mi się końcu dzisiaj rozwiązać problem. W jednym miejscu (_1WReadSlot(), tuż za odczytaniem bitu) ustawiłem za małe opóźnienie (25us, a powinno być 60us). Jeszcze spróbuje "pogadać" z DS18B20, i postaram się wrzucić tutaj gotowe funkcje do obsługi 1Wire. Dodano po 4 Zgodnie z obietnicą podaje gotowy projekt w WinAVR, pod ATmega8 (at) 4MHz....
Zmień sobie ustawienia i fusebity na conajmniej 4MHz. 1wire z z AVR gonionymi z wewnętrznych rezonatorów poniżej 4MHz lubi nie działać.
Ręce to opadają i masz rację ;) Masz błąd w definicji zmiennej do której wpisujesz ID czujników to nie jest jeden bajt tylko tablica 8x8bitów czyli 8 bajtów. Adresujesz nie istniejące czujniki bo ich adresy sa niepoprawne, wysyła procek ciagle ten sam bajt. Dim Adres1 As Byte 'adres pierwszego Dim Adres2 As Byte 'adres drugiego Dim Adres3 As Byte 'adres...
Dla pewności możesz jeszcze dodać potwierdzanie odbioru i testowanie poprawności odebranych danych CRC-16. Dodano po 4 Jeśli chodzi o komunikację przewodową na UARCIE to tak. Ale IRDY po stronie procka jeszcze nie ruszałem :) Do czego ma służyć to urządzenie , może wcale IRED tu nic nie wniesie. Styk to jednak styk. Jeśli problemem jest konektor to...
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...
Czy jest możliwy błąd podłączenia? Tutaj oczywiście zmieniłem na PB.1 Tak, wszystko jest możliwe... Spróbuj ten code: [syntax=basic4gl] 'DS18B20 - ROM reading test from single sensor DS18B20 $regfile = "m8adef.dat" $crystal = 4000000 $hwstack = 80 $swstack = 80 $framesize = 40 Config 1wire = Portb.1 'Config 1wire = Portd.5 Dim N As Byte Dim Dsid1(8)...
A to się w ogóle kompiluje? Bo chyba nie:> config 1wire - Portc.3
Ano mam zamiar tak pokombinować. Poza tym Atm8 będzie miała też inne rzeczy na głowie. (Prosze nie pisać złotych rad typu - "użyj ATmegi 16 lub lepszej"). Może ktoś doradzi w takim razie razie jaki protokół transmisji będzie do tego najlepszy, czy "ISP, I2C, RS232, 1Wire, CAN itd... ".
(at)PROXAQQ Kompilowałeś dla ATmega8? Jaka optymalizacja? Jaki kompilator GCC? Spor różnica w zajętości pamięci. Posiadam 'zestaw kompilujący' jak Ty, a wynik mi wyszedł jak koledze PROXAQQ Build started 23.10.2013 at 15:04:38 avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums...
jak z jednego czujnika to po co kilka kanałów? ale jeśli ma być kilka to do LM35 wystarczy ten przetwornik wbudowany w procek na ATMega8 (10 bitów) może lepszym rozwiązaniem byłoby dać czujnik na 1wire ? nie wiem co o tym myślisz, ale wtedy można dać jakiś tańszy procek bez przetwornika
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
Witam, 1. Niewiele więcej miejsca zajęła by ci ATmega8 lub mega48 lup podobny w obudowie TQFP32, a one mają sprzętowy USART który przydał by się tu do RS485 2. Do czego jest ta zworka JP2? Zwiększ wartość rezystora R2 podciągającego 1Wire. Na co najmniej 1k (optymalnie 2,2-4,7k) 3. Staraj sienie rysować połączeń pod kątem 45 stopnie. Przy większych...
Możesz spróbować [syntax=basic4gl]CONFIG LCD = 16 * 2 , CHIPSET=KS077[/syntax] ..albo spróbować jeszcze zmienić FuseBity na 8MHz i w kodzie wtedy też. Widziałem takie chińskie Megi, że nie chciały z 1Wire działać na 1MHz. Może jakieś zależności czasowe poza tolerancją.
w programowaniu jestem kompletnie zielony :) chcę żeby 2 czujniki ds18b20 były na 1Wire na zasilaniu osobnym (nie pasożytniczym z układu) jeśli to pomoże to mogę schemat wstawić
Witam, zaprojektowałem układ z mikrokontrolerem ATmega8, który przez MAX232 ma się komunikować z komputerem, a przez 1wire zbierać pomiary z czujników temperatury. Problem pojawia się, gdy podłączę zasilanie. W krótkiej chwili w której wykonywałem pomiar MAX232 pobrał ponad 1A prądu, a nie bardzo się domyślam dlaczego tak się dzieje.
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...
Tzn pytasz czy ktoś się spotkał z problemem podłączenia większej ilości czujników i chcesz żeby opisał ci ten problem ? Czy może pytasz o to, czy można podłączyć 6 do 10 czujników do 1wire ? ;) Skoro wolałbyś w C to w czym rzecz? Zrób - spokojnie można to zrealizować.
jeśli urządzenie na magistrali 1wire się wogóle nie zgłasza najczęściej coś jest nie tak ze szczelinami czasowymi. Czy masz tę samą cz. procesora co zadeklarowana w programie?
;) ... ja mam podłączony takim przewodem jak piszesz DS18B20 (magistrala 1Wire) na kablu o długości 16m i śmiga bez problemu. (też mierzy temperaturkę na dworzu)
Witam! A co z deklaracją 1wire w przypadku czujników na osobnych portach procesora? W przypadku 2 czujników na jednej linii u mnie było po prostu Config 1wire = Portd.7 a jak będzie w przypadku który opisał kolega hotdog?
Jak napiszesz bardzo skąpy kod w asemblerze to raczej tak. Jeśli bascom to zdecydowanie proponuję atmega8 - koszt niewielki a za to i2c jest sprzętowe można dać zegarek pcf8573 lub podobny i 8 kB pamięci to zdecydowanie więcej .
Witam Kolega dondu ma racje dioda i tranzystor jest potrzebny ale jeśli chcesz na szybko sprawdzić kod czy działa zamiast wentylatora podłącz LED i w ten sposób sprawdzisz czy kod jest poprawnie napisany bo jak dla mnie raczej nie Sprawdź ten kod zmień sobie Porty w LCD i 1Wire oraz Wentylator czyli LED w programie. $regfile = "m8def.dat"...
Był podłączony 1wire VDD złączone z GND i to razem do masy a linia danych do 4,7k i do uC. Przerobiłem na 2 wire i nadal zera
O ile mi wiadomo w atmedze nie ma priorytetowania przerwań, czyli które jest właśnie obsługiwane to dopiero jak się skończy to przyjmowane jest drugie przerwanie. Jeśli się mylę proszę mnie poprawić. The interrupts have priority in accordance with their Interrupt Vector position. The lower the Interrupt Vector address, the higher the priority. [atmega8]
Witam. U mnie ten program pracuje na wewnętrznym oscylatorze 1MHz. Sprawdź czy masz dobrze podłączony DS do pinu zadeklarowanym w programie. Config 1Wire = Portd.5 i tu ma być podłączony DS.
Witam Przy obecnych cenach zewnętrznych przetworników na I2C ilość ADC w Atmedze przestaje mieć znaczenie, zwracam też uwagę że Atmega8 ma w obudowie DIP tylko 6 przetworników. Temperaturę możesz mierzyć po 1Wire ( DS18B20 ). Masz pomimo komplikacji sprzyjające warunki, dysponujesz +12V i -12V, wiele wzmacniaczy różnicowych może pracować z wejściami...
Ja też nie jestem pewny, ale nie wyobrażam sobie pisania programu obsługującego i2c, 1wire, rs232, rtc, 4094 i 74165 w pętli do loop...? Być może do tego jednak dojdzie - jak tak dalej pójdzie jak idzie. :-(
Tak, tylko czy nie będzie problemów. Wiadomo, że 1W jest wrażliwe na odstępy czasowe, czy nie będzie problemów z przerwaniami od USB. Niby dlaczego, są takie konstrukcje USB-1wire nawet na elektrodzie, np. tutaj http://www.elektroda.pl/rtvforum/topic15...
Możliwości jest wiele np zastosowanie wyświetlacza 128*64 z spi na układzie 1601 albo tak jak napisałeś dodatkowy moduł z mikrokontrolerem sterowany po magistrali szeregowej spi , i2c, 1wire. Proponuje zerknąc na tą stronę : http://lcd.strony.pl
Witam, Chcę zmontować układ w którym procesor (Atmega8 , lub jakiś Attiny) komunikuje się z układem peryferyjnym (MAX31850) po magistrali 1Wire, problem polega na tym, że mikrokontroler jest zasilany napięciem 5V, a układ MAX31850 napięciem 3.3V, logika też jest na tym poziomie. Czy aby układ działał poprawnie wystarczy. że podciągnę pin DQ do linii...
...1. w funkcji void Cmd1Wire(unsigned int dana) występuje zmienna int op - w jakim celu ona tam jest użyta i co oznacza ?? A jak myślisz , co robi taka linia w kodzie while(--op); 2. podobnie w funkcji void onewire_odczyt(void) występują zmienne int op i char ty - w jakim calu one tam są użyte i co oznaczają ?? Oraz dlaczego ta funkcja jest typu void,...
Stwierdziłem, że najbardziej uniwersalnym sposobem będzie przyłączenie każdego czujnika do osobnego pinu w porcie. I bardzo dobrze :D Następnie program będzie przełączać linię 1wire pomiędzy te piny i odczytywać kolejno z czujników dane. No no , nie czytało się manuala od Bascoma. Tak jak napisałeś powyżej , to nie zadziała , bo Config 1wire jest NOT...
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...
atmega8 1wire bascom 1wire ds18b20 atmega8 czujnik temperatura 1wire atmega8
rozrusznik sterowanie bosch chłodziarka panel oleju skrzyni biegów sharan
układy zasilające adapter bluetooth
Kod U1318 w Citroen C4 - problem z magistralą CAN Sending Power On Command Over HTTP for IoT Devices