Ad 2. magistrala 1wire pozwala na wysyłanie komendy do wszystkich podpiętych urządzeń z pominięciem adresowania - wtedy 1 komendą mamy zlecone dokonanie pomiaru przez wszystkie czujniki. Co do problemu - możesz wykorzystać arytmetykę stałopozycyjną i ręcznie dokonywać konwersji.
Problem może być ... sprzętowy. Otóż Tiny2313 fabrycznie ma ustawiony zegar na 8MHz i preskaler zegara na podział przez 8 czyli pracuje na 1MHz. Jeśli nie manipulowałeś z Tinką to nie będzie zgodna rzeczywista częstotliwość taktowania uC z zadeklarowaną w programie. Magistrala 1Wire jest bardzo wrażliwa na czas poszczególnych impulsów i nie zniesie...
No to powodzenia z obsługą 1-wire w assemblerze. Jeszcze przez początkującego. Mój nauczyciel bawił się okrągły miesiąc i udało mu się :). I2c można dosyć prosto obsłużyć z poziomu asm, ale co do 1-wire to jak nie znajdziesz gotowca w assemblerze to sam nie zrobisz. Dla chcącego nic trudnego. Nazwy procedur mówią same za siebie. Magistrala na P1.7...
to, że sama magistrala 1wire nie ma nic wspólnego z timerami to ok. Ale jeden rozkaz 1wread() w praktyce na poziomie kodu maszynowego to cały zestaw rozkazów typu wystaw na magistralę sygnał, poczekaj, odczytaj, poczekaj itd. Porcesor musi mieć informację o czasie, więc skąd ją bierze?
1. Magistrala 1wire jest przystosowana do obsługi teoretycznie nieskończonej liczby urządzeń. 2. Długość kabla jest chyba 100 stóp (wg normy amerykańskiej).
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...
http://obrazki.elektroda.net/78_12422206... Ten prosty, dedykowany początkującym, projekcik powstał gdy potrzebowałem jednoczesnego pomiaru temperatury w 2 punktach innego układu elektronicznego. Jak to się mówi "potrzeba jest matką wynalazków" - i tak też było w tym przypadku. Zmontowanie układu, napisanie programu i uruchomienie zajęło ok....
Poniżej krótki przejrzysty program do termometru. 1wwrite &H44 zmusza DS'a do wykonania pomiaru 1wwrite &HBE zmusza DS'a do "wyplucia" zmierzonej temperatury 1wwrite &HCC zmusza DS'a do zgłoszenia się bez podania adresu układu. Jest to uproszczenie kiedy mamy na magistrali jeden układ. Zmieniając podprogram możemy wysyłać adresy DS'ow. Do Gosub Wlacz_konwersje...
Witam Mam problem ze skompilowaniem w Bascom 8051 procedur do DS18B20 'program obslugi termometru DS18B20 ' $regfile = "89c4051.dat" 'P3.7 - magistrala 1wire ( do termometru ) 'P3.5 - przycisk zwiekszajacy temperature 'P3.4 - przycisk zmniejszajacy temperature 'P3.2 wyjscie termostatu ( np. do sterowania grzejnikiem ) 'uwaga:...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
Witam W ramach dalszego eksperymentowania z AVR i Bascom popełniłem połączenie odczytu z DS18B20 z sterowaniem wyjściem uC ( przez tranzystor FET ) + dodatkową atrakcję - buzer, który sygnalizuje wł/wył tranzystora/wyjścia. Chciałem dodać możliwość zmiany temp max i min, przez proste menu. Menu zrobiłem w oparciu inny mój kod obsługujący ustawianie...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
masy się łączą, odległość na razie to jakieś 30 cm ale docelowo ma być ok 30 m Drogi kolego omen_s ;) Szkoda Twojego cennego czasu na komunikację pomiędzy prockami magistralą 1wire , przy pomocy Bascom-owych funkcji 1wire , bo tak się po prostu nie da . Te funkcje pracują w trybie MASTER , a procek który ma odbierać dane powinien pracować w trybie...
Nie testowałem 1wire na takich częstotliwościach. Wiem jednak z programowania w C, że warunki czasowe dla 1wire są bardzo ważne. Jeżeli nie są spełnione to magistrala się wysypie.
Przede wszystkim. Zejdź z taktowaniem do jakiejś normalnej wartości dla ATmega16 i przetestuj czy wtedy komunikacja z DS-ką jest prawidłowa. Jeśli nie to najpierw musisz naprawić sprzęt/algorytm by wszystko działało prawidłowo. Jeśli na niskim taktowaniu komunikacja będzie w porządku to będzie to oznaczało tylko to, że specjalne makra opóźniające jakie...
Hej! Twój problem polega na specyficznej konstrukcji magistrali 1Wire i tego że wszystkie czujniki są podłączone za pomocą jednej lini i w momencie gdy chcesz pobrać dane z jednego to zgłaszają ci się wszystkie na raz lub ten który jest szybszy. Miałem podobny problem gdy w układzie miałem podłączony czujnik temperatury oraz pastylkę dallasa i efekt...
Po prostu raz odczytujesz id termometrów i potem na stałe zapisujesz je w odpowiednich tablicach, zamiast stosować instrukcji wyszukujących układy na magistrali. --- Choć z tego co wiem o magistrali 1wire czujniki powinny być zawsze wyszukiwane w tej samej kolejności, stąd może masz jakieś błędy w komunikacji (np. poprzez za długi kabel złej jakości...
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...
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...
Po pobieżnym przyjrzeniu się programowi nasuwają mi się takie wnioski. 1. Zadeklarowałeś wejścia, ale zostawiłeś je jako "pływające". Powinieneś port-y przycisków podciągnąć do plusa, czyli ustwić stan wysoki =1 2. Nie widzę deklaracji dla magistrali 1wire dla DS-ów i całej procedury odczytu i zapisu danych do pamięci. Być może to celowe na tym etapie,...
Czy masz może w twoim kodzie: Config 1wire = Portb.0 (konfiguracja linii magistrali)
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
ło matko ;) po opisie kolegi atom1477 i po tej informacji, że "Bascom coś kombinuje" można by uznać, że napisanie sotu do obsługi 1wire to rzecz prawie niemożliwa dla zwykłego śmiertelnika. Tymczasem to co robi Bascom to absoultnie nie żadna kombinacja tylko normalne zachowanie - ponieważ to podtrzymanie stanu wysokiego na pinie portu jest niejako przygotowaniem...
Witam. Ponieważ jestem zainteresowany tematem automatyki domowej mam pewne pytanie. Otóż swojego czasu w prasie elektronicznej (choćby przy okazji kursów Bascom) było bardzo dużo na temat mikrokontrolerów Atmel we współpracy z różnymi magistralami, przede wszystkim i2c, 1WIRE. Natomiast odnośnie magistrali CAN, w moim przekonaniu, zawsze panowała cisza....
Witam. A jak chcesz uaktywnić ten drugi , skoro "ogłuchł" po wybraniu pierwszego i nie reaguje na żadene polecenie :?: Jedynie RESET magistrali może go ożywić :) Piotrek
Mam pytanie związane z tym termometrem - czy BASCOM wymusza stan wysoki na linii danych DQ magistrali 1WIRE na czas konwersji temperatury, w celu realizacji zasilania typu "parasite"? Jeśli nie - to pomiar może być obarczony dużym błędem ze względu na zasilanie czujników jedynie przez rezystory 4k7.
Witam, Musze zrobić teorie do pracy dyplomowej temat:Analizator magistrali 1WIRE i przykładowa przystawka - Pomiar temperatury. Urzadzenie mam juz zrobione ale musze napisac teorie, mam na to zaledwie pare dni bo goni mnie termin. Potrzebuje namiarow na jakas stronke alo gotowych prac odnoscnie takich elementow jak: -Atmel AVR AT90s2313 -HD44780 (dekoder...
Witam Przerzucając masę stron w internecie nic nie znalazłem na temat związku jak w temacie. Czy oprócz odczytu numerów ID oraz temperatury zrobił ktos coś ciekawego opierając się na magistrali 1wire? Proszę o podanie przykładów a głównie o obsługę DS1921. Pozdrawiam
Czy w Bascomie należy konfigurować porty używane jako magistrale danych, czy mają pracować jako WE/WY, czy bascom robi to automatycznie, gdy np. zadeklaruję port m. 1-Wire (Config 1wire = Portd.x ) lub używam UARTA sprzętowego lub wyświetlacza LCD ze sterownikiem HD44...
Nieeeeeeee, zwraca liczbę urządzeń podłączonych do magistrali 1Wire (konkretnego pinu, np. B.0) Aaa sorki Xury za przesyłkę :)
Tylko w bascom colage nie byl opisywany problem porzadkowania balaganu na magistrali jedenoprzewodowej (!WIRE), gdy podlaczony byl wiecej niz jeden czujnik :D
Wiesz, lepiej już tej osoby się nie radź :) Atmel udostępnia notę aplikacyjną demonstrującą użycie USART do realizacji mastera OW. W skrócie - USART można wykorzystać do generowania impulsów ujemnych OW. W tym czasie odbiornik USART działa jako 8-bitowy układ samplujący magistralę z zadaną prędkością.
Witam, a 1wreset to ma magicznie wiedzieć którą magistrale ma zainicjować? :roll: Więc resetuje tylko tą magistralę która została ustawiona jako domyślna z użyciem Config 1wire . Pozdrawiam, GSM
Na razie to tylko ćwiczenie mające na celu nauczenie się obsługi magistrali 1wire. Skoro mam w przyszłości z tego korzystać, na pewno użyję timera, ale tu powstaje pytanie: Mam włączyć przerwania i ewentualne opóźnienia w nich realizować?
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...
mam podlaczone dwa termometry ds18b20 do magistrali 1wire, steruje tym z basoma oto krotki fragment kodu Config 1wire = Portb.0 1wreset Dim W As Word Dim Id_cz1(8) As Byte Dim Id_cz2(8) As Byte W = 1wirecount() Id_cz1(1) = 1wsearchfirst() Do Id_cz2(1) = 1wsearchnext() Loop Until Err = 1 po tych...
...odczekuję ten czas zapytania (łatwo można go obliczyć) A jak chcesz to obliczyć :?: i wysyłam mu ten numer zwykłą Bascomowską instrukcją 1wwrite... Zły pomysł ;) Poczytaj sobie specyfikację magistrali 1wire i zastanów się , kto w układzie czytnik-mikrokontroler udający DS1990 jest master , a kto slave. Piotrek
Czy na pewno nie ma przerwy na magistrali 1Wire ? Ten program jest sprawdzony i należy szukać błędu w połączeniu i konfiguracji. Czy Atmega jest nowa tzn. bezpośrednio ze sklepu ?
Jak widzę będzie się kolega zmagał z programem w Bascom. Jeżeli chodzi o one 1Wire to możemy podłączyć to na 2 sposoby: - z dwoma przewodami - wtedy używamy tylko lini DQ (linia DQ powinna być podciągnięta do zasilania poprzez rezystor 3k3 - 4k7 do zasilania ponieważ porty mikro kontrolera mają zbyt małą wydajność) i GND. Zasilanie odbywa się przez...
Tak właściwie to powinno sprawę wyjaśnić, ale na magistrali mam obecnie 13 urządzeń 5 termostatów i 8 przełączników. Mam właśnie 500om i jak wyczytałem gdzieś w mądrej książce jest to granica możliwości dla magistrali 1wire. Poniżej to właściwie zmierza do całkowitego zwarcia. Jest to więc tylko 13 urządzeń na powiedzmy długości przewodu około 50. Co...
witam - czy ktoś z was pisał program obsługujący te pastylki (w BASCOMIE) bo ja mam straszliwe problemy.... a może w asm-ie ktoś ma ? też mile widziane:) pomóżcie bo trace mase czasu przez to i nic nie dzaiła.... wszystkie układy 1wire oprócz pastylek wykrywa a samych pastylek nie... nawet reset magistrali niedziała... niemam tutaj aoscyloskopu więc...
ja mam własnie zamiar podpiąć 3 ds do jednego pinu. No własnie z helpa( z programu) spisałem sobie wszystkie 3 adresy moich ds`ow i w tym momencie się zastanawiam co zajmie więcej pamięci, podprogram odczytujące je,czy może ich sztywne wpisanie. Z tego co wyczytałem o magistrali 1Wire to żeby odczytać temperaturę z odpowiedniego ds`a należy wcześniej...
Witam serdecznie !!! Mam taki problem z DS18b20 i ATmega16. Programuje w BASCOMie i wykorzystuję funkcję 1wirecount tak jak w programie poniżej i ciągle mi wyświetla że ilość podpiętych urządzeń to 0, nie wiem w czym tkwi problem. Podpiąłem zgodnie z nota katalogową tzn 1 do gnd 2 do uP i do tego 4,7k rezystor oraz 5v pod Vdd. oto 'Termometr DS18B20...
1WIRECOUNT Przeznaczenie: Zwraca liczbę urządzeń podłączonych do magistrali 1Wire. Składnia: [syntax=basic4gl]zmienna = 1WIRECOUNT( ) zmienna = 1WIRECOUNT( port , pin )[/syntax] A także: [syntax=basic4gl]1wverify Reg_no(1) Print Err 'Err=1 gdy nie ma takiego numeru[/syntax] Zwróć uwagę na tajemniczą zmienną Err, która jest zaszyta w programie.
Witam, od pewnego czasu meczę się z odbiornikiem IR na magistrali 1wire (dokładnie chodzi o tsop4836). Nie wiem jakie dane wyslac do niego... Pamiętam, że przy ds18b20 znalazłem sobie te dane w karcie katalogowej, ale w karcie tsop4836 nie ma takich informacji... Nie mogę znaleźć w internecie nic sensownego na ten temat... ...czy ktoś może pokazać mi...
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...
...A jak powinno być poprawnie ?? Przecież napisałem. Zadbaj o to, by w czasie obsługi magistrali 1wire, nie występowały przerwania. Najprościej jest wyłączać je na czas obsługi DS-a, ale wtedy, czasy załączenia ... dmuchania :-P trochę Ci się rozjadą. Można też użyć np. maszyny stanów, ale to raczej nie dla początkujących.
Witam Mam takie pytanko o konfigurację pinu do obsługi magistrali 1wire. 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 ? O tyle to dla mnie istotne, że wszystkie procedury piszę samodzielnie w asm...
Witam, Chyba coś nabroiłem... Zaczęło się od tego próbowałem zaprogramować Fusebity przy pomocy PonyProg 2000. Efekt jest taki, że teraz Program w ogóle "nie widzi" procka (PonyProg2000 i Bascom). A sam procesor też zamilkł i nie daje żadnych oznak życia. Programator jest zgodny z SKT200/SKT300. Załączony obrazek (PonyProg2000) przedstawia sytuację...
Witam, czy mógłbyś po krótce wyjaśnić zasadę komunikacji z DHT11 ? Wiem, że jest on na 1Wire, jednak nie rozumiem jak dobrać się do jego rejestrów z danymi...w dokumentacji nie ma nic na ten temat, ani jakiegoś adresu ROM urządzenia (gdy mamy kilka urządzeń na magistrali), ani informacji jak zczytać dane...Tylko napisane, że całość zawiera 40 bitów...
magistrala 1wire 1wire magistrala 1wire bascom
scart audio niesprawna klawiatura cyfrowy potencjometr audio
zmywarka amica junkers euroline
Kod błędu P1 w zamrażarce Bosch - co oznacza? Cobra Rally GT900 Pro – niedziałające sprzęgło, diagnostyka, potencjometr, przewód RJ-12