Jak myśle to te termometry to ds1820 Spróbuj zmienić czasy w odczycie 1 wire lub zmienić rezystor podciągający
ok.niezla sugestia .. zaraz sprawdzam.. dzieki za checi zerkniecia w kod.. :) DS1820 050402 136AF poczatkowo myslalem ze jakas uszkodzona seria... no niestety,czas zmienilem(ustawialem od 10 do 13 us) i nic z tego,widocznie w czym innym problem.. chociaz wlasciwie troche zaaragowalo.. temp sie troche lepiej zmienia,nie tak opornie.. sprobuje inne sprawdzic...
I tu już klapa. Nie mogę sobie pozwolić na to aby w przypadku awarii czujnika ponownie grzebać w programie. To musi działać tak że odpinam uszkodzony czujnik i wpinam nowy. Potem restart modułu i wszystko działa.. Nie chcę się upierać, że odczyty wszystkich czujników na jednej magistrali to najlepszy sposób ale kurka wodna ;) .... dla mnie większym...
Nie sądzę, aby podciągnięcie 5,1k stanowiło problem... Właśnie próbowałem zrobić specjalną "wersję testową", aby rozwiązać problem z synchronizacją (jeśli to jest problem). https://github.com/openshwprojects/OpenB... Pomysł: użyj "startDriver DS1820 <factor>", aby bezpośrednio użyć czynnika. Polecenie "startDriver DS1820 9999"...
Polecam przeczytać ten datasheet: http://elektronika.iee.put.poznan.pl/Not... a dokładniej rozdział OPERATION – MEASURING TEMPERATURE
Pisałem wcześniej że czasy są inne w rzeczywistosci delay_us(12); to około 60 us wiec bedzie czytał ale to nie jest problem Mam zegar 3.6864 może Pan sprawdzić program i powinien działać bez problemu Uzywalem tego podprogramu do pica i avra Moje pytanie to Jak zrobić żeby dało się czytać CZTERY czujniki teperatury każdy podpięty na osobnym pinie porty...
Gdzie tu tkwi problem? Zrewiduj czasy przy wydawaniu poleceń czujnikowi i jego odczycie. Zajrzyj do noty katalogowej i sprawdź w jakim czasie czujnik wykonuje CONVERT_T, i jakie są zalecenia przy wykonywaniu tego polecenia (strona 16).
Pobieżne oględziny programu wskazują na to, że przerwanie "Set_clk:" trwa byt długo, co przeszkadza w odczycie danych z czujnika po 1Wire, bo wydłużają się czasy odczytu poszczególnych bitów. Albo jednak nie masz fusebitó dobrze ustawionych albo używasz niewłaściwego kwarcu. Wyświetlacz nie miga (za wolne taktowanie)albo świeci za słabo(zbyt szybkie...
Naprawiono GPIO, dodano również sterownik i2c do skanowania. Teraz przynajmniej aht20 działa dla mnie, na ds18b20 dostaję albo to Debug:SENSOR:DS1820[21] - Discover CRC failed (CRC=ff != calculated:14) Error:SENSOR:DS1820[21] - Family not discovered lub to Error:SENSOR:DS1820[21] - Reset failed...
DS1820 podpinam do 4 pinu portu B. W makrze BusHigh ustawiam mozliwosc "podciagania" lini, a w BusLow - pin 4 jest wyjsciowy. Czasy sie zgadzaja bo sprawdzalem w symulatorze avr studio. Dodam jeszcze ze DS1820 jest zasilany dodatkowa linia. Rezystor podciagajacy dalem zgodnie z zaleceniami 4,7 kOhm. Podciaganie dziala - sprawdzalem. Oto kod: .include...
A jak zasilasz czujnik? Oddzielne zasilanie, czy pasożytniczo?
1. Do samego siebie. Tak jak to zwykle robi kondensator. 2. I zmieniaja sie inne parametry kabla, indukcyjnosc, dopasowanie, czasy propagacji. 3. Laczneie mas sluzy wlasnie temu, a dla eliminacji zaklocen sluzy roznicowe nadawanie/odbieranie. Nie wiem o co ci chodzi, probujesz zaprzeczac kanonom elektroniki?
na symulatorze jest dobrze tzn prawidłowe czasy i stany sprawdziłem tego DSa czy nie padł po drodze ale na '51 chodzi
wreszcie odpaliłem mojego ds, w symulatorku działał zawsze ok, a w realu nie, przypomniałem sobie że w książce "uK AVR w praktyce" był kod źródłowy dla pastylki dallasa, i było to właśnie na 8MHz, tak więc skopiowałem bezczelnie funkcję opóźnienia w [us], wkleiłem do swojego programu i zaczęło działać, wyświetla cały zakres temperatur od -55 do 128oC....
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...
Odczyt 85*C jest zapisany po WLACZENIU zasilania. Temperature trzeba najpierw zmierzyc (chyba rozkazem 0x44)[do tego na czas pomiaru uklad pobiera wiecej pradu] a potem odczytac.Jesli chodzi o trzecia nozke to jest ona wykorzystywana do zasilania ,ale jest to opcjonalne poniewaz uklad moze pracowac w trybie PARASITE wtedy trzeba na czas pomiaru zewrzec...
Na samym początku funkcja uc1Wire_ResetPulse zwraca wartość zmiennej PRESENCE - czyli zmiennej która w tej funkcji nie istnieje - popraw całą funkcję. Zwróć uwagę ze zmieniam tez trochę czasy opóźnień zgodne z dokumentacją dallasa. unsigned char uc1Wire_ResetPulse(void) { unsigned char ucPresenceImpulse; OUT_1WIRE_LOW; DIR_1WIRE_OUT; delayus(480);...
Istnieje coś takiego jak HPT (High Performance Timer), pozwalające odmierzać czasy na poziomie mikrosekund i faktycznie było już omawiane na tym forum. Rozdzielczość czasu mocno zależy od sprzetu. Trzeba mieć to na uwadze, pisząc program.
Witam, Mam problem z obsługą DS1820. Linia danych podłączona do portu P3.2. Mianowicie próbuję zrestartować magistralę, przedziały czasowe stosuję tak jak jest podane w TMOD=0x01; //timer0, tryb1, 16bit TH0 = 0x00; TL0 = 0x01; i wystartowaniu licznika TR0=1; to po ustawieniu flagi przepełnienia TF0=1 będę miał odliczoną 1mikrosekune? Powiedzmy coś w...
Rezonator 8MHz co daje 125ns na instrukcję, opóźnienia robiłem marnotrawiąc cykle na zwiększanie zawartości rejestrów. W symulatorze sprawdzałem już 2 razy i czasy są dobre.
Witam, Po pobieżnym zerknięciu to coś mi czasy nie grają ;], kiedyś pisałem program do obsługi OW. Procedura reset powinna sprawdzić czy urządzenie jest fizycznie podpięte i odpowiada aby nie czytać potem z głupot. Moje biblioteki nie działają z adresowaniem podaje kolega tylko port i pin ale w zamian nie ma obsługi więcej niż jednego ds'a na jednym...
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...
nawilzanie to chyba masz rozwiazane - nawilzaczem :) gorzej z osuszaniem - wprowadzona woda bedzie krazyc w zamknietym obiegu razem z powietrzem. Prostym sposobem byloby otwieranie obiegu i wypuszczanie czesci zawilgoconego powietrza (pod warunkiem ze naplywajace powietrze bedzie suchsze). Niezawodnym sposobem usuwania wilgoci z powietrza jest wymrazanie,...
9,216MHz do 9600 bodów będzie w sam raz.. można zastosować oczywiście mniejszy kwarc: 2,4576MHz = 9600*16*16.. 1,8432MHz używany jest/był wraz z uartem montowanym w PC..(typowy kwarc z którego da się wyciągnąć wszystkie prędkości) oczywiście sztuką niejesy dobrać taki kwarc który będzie dawał odpowiednie czasy do transmisji z komórką, ale także który...
Tak czytam ten wątek i nie wiedze tu nic konkretnego JESZCZE JEDNO. JEŻELI MASZ TAK KRÓTKI KABELEK DO DS TO MUSISZ GO ZASILAĆ PO TRZECH PRZEWODACH. (MUSISZ PODAĆ MU +5V)INACZEJ NIE BĘDZIE CI CHODZIŁ BO NIE BĘDZIE MIAŁ ENERGII ŻEBY CI ODPOWIEDZIEĆ. A CZERPIE JĄ Z POJEMNOŚCI KABLA PRZY PRACY DWUPRZEWODOWEJ.A JAK KABELEK MA 1O CM TO NIE ZNAJDZIE W NIM...
Co powinienem jeszcze sprawdzić ? ... Przede wszystkim, funkcję W1odbierz() . Poza tym, reszta też mocno ... nadmiarowa - wiele niepotrzebnych instrukcji, np. [syntax=c]void W1wyslij(uint8_t BajtDoNadania){ //uint8_t pomoc; for (uint8_t i=0;i<8;i++) { W1_nadajBIT(BajtDoNadania & 1); BajtDoNadania>>=1; //zmienna lokalna, więc można ją "zniszczyć"...
Nie. Poczytaj to: http://www.google.pl/url?sa=t&source=web... i to: http://www.google.pl/url?sa=t&source=web...
Witam. Najpierw wysyłasz rozkaz pomiaru temperatury, później z pomocą timera lub nawet zmiennej zwiększanej w pętli odliczasz czas pomiaru lub większy (mikroprocesor w międzyczasie normalnie wykonuje program). Po tym odczytujesz wynik pomiaru z DS1820, co nie trwa zbyt długo. Pozdrawiam. EDIT: Uzupełniłem posta
UCY74164 (bardziej prymitywna wersja 74LS164) jest wymieniony w katalogu CEMI, ale praktycznie są tam tylko parametry elektryczne (które i tak dla LS są inne, i wynikają z samego standardu serii), i układ wyprowadzeń, z którego widać, że jest to rejestr przesuwny 8-bitowy z szeregowym wejściem, i równoległym wyjściem; ale nie ma informacji, na jakim...
http://obrazki.elektroda.pl/2453165300_1... Witam Przeszukując internet natrafiłem na ciekawą bibliotekę JavaFTD2XX-0.2.6.jar autorstwa Węgra, pana Peter Kocsis ze strony http://kenai.com/projects/javaftd2xx/pag... Pan Kocsis według mnie bardzo świetnie przetłumaczył bibliotekę ftd2xx.dll firmy FtdiChip na język Java przez co umożliwił...
Na porcie D.6 i D.7 masz zworkę, w sensie zwarcie jednego lub drugiego do masy przestawia program w tryb odczytu jednego lub drugiego rodzaju czujnika.
najprościej - 3 przyciski 1. UP (zwiększa liczbę) 2. DOWN (zmniejsza liczbę) 3. SET zmienia parametr do ustawienia (po kolei - hh:mm:ss dd:mm:yy) i aktywację ustawiania robisz np. przytrzymanie przycisku SET przez 3s. potem każde wciśnięcie przycisków up down zmienia liczbę, a SET powoduje przejście do pobierania kolejnej danej
Najbardziej ogólnie: 1820 - rozdzielczość pomiaru 9 bit 18b20 - rozdzielczość od 9 do 12 bit
Piszesz DS1820 a czytasz dokumentację DS18B20, a te czujniki różnią się rozdzielczością. DS1820 ma 0,5 stopnia.
Hmmm przy 3 przewodowej raczej problemu nie powinno być. Proponuję Ci abyś zanim zaczniesz przerzucać kod sprawdź timingi na oscyloskopie. Warto zobaczyć co takiego dzieje się na krótkim odcinku przewodu i na długim. Posiadanie oscyloskopu w takim przypadku jest bardzo uzasadnione. Czy Twój kabel jest ekranowany, jakiej impedancji jest. PS. Do kolegi...
Witam Czy niżej przedstawiona metoda jest metoda prawidłową przy wykrywaniu zakłamań w transmisji przy użyciu CRC? Czy program może być stosowany do ds1820/ds18b20? Masz poniżej pewne działające: [syntax=basic4gl] '///////////////////////////////////////... Sub Temperature ' actual measuring 1wwrite &HCC : 1wwrite...
A jak dokładnie brzmi ten błąd?
Witam !!!! No dotarłem do pracy. W załączniku macie przetłumaczoną wiadomość jaką dostałem z support'u technichnego Maxim'a i odpowiednią notę aplikacyjną. Są tam opisane wszystkie problemy i rozwiązania. Pozdrawiam (M.)
Ja mam tak (DS18B20) i to chodzi: 1wreset 1wwrite &H55 ' Będę wysyłał adres 1wwrite Adresy(1) , 8 ' Wysyłam adres 1wwrite &HBE ' Komenda dla czujnika o wysłanym adresie Wew(1) = 1wread(9) 1wreset 1wwrite &H55 1wwrite Adresy(9) , 8 1wwrite &HBE Zew(1) = 1wread(9) 1wreset 1wwrite &HCC ' Komenda skip ROM,...
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.
Jeden z odpwiadajacych powyzej napisal Wam przeciez ze jest to blad w Bascomie, wiec po co sie dalej glowicie ;) Jezeli koniecznie chcesz obsluzyc 1-wire na 24Mhz, to sproboj w asm. Jest to o wiele wiele prostsze niz by sie wydawalo i daje o wiele wiecej satysfakcji :) Polecam "'mikrokontrolery 8051 w praktyce" z wydawnictwa Helion, wszystko jest bardzo...
Na szybko: http://obrazki.elektroda.pl/3702037400_1... + kod: [syntax=c] #include<stdio.h> #define XOR_MASK ((1<<3) | (1<<4)) char calculate_crc8(char input); unsigned char input = 0x09; unsigned char CRC = 0x00; int main() { CRC = calculate_crc8(input); printf("\n"); printf("%x\n", CRC); getchar(); return 0; } char...
No to masz problem bo: http://obrazki.elektroda.net/44_12361844... 0010 to domyślne ustawienie. A 0001 to zarezerwowana wartość. Masz jakiś generator sygnału prostokątnego z 500kHz...2MHz? Jak tak to podłącz go do XTAL1 i spróbuj połączyć się z procesorem za pomocą programatora. Dodano po 6 Dziwne tylko że avrdude odczytało high fuse jako 0x01.
Jeśli chodzi o ATMEGE32 to moim zdaniem jest ona wystarczająca w zupełności do takiego projektu. Nie wiem na ile będziesz zawierał tam skomplikowane algorytmy ale przy jakiś podstawowych funkach przypisanych do tych czujników, wyświetlaczu LCD 2x16 (zakładam że o taki chodziło) i tych 'niewiadomych' czujnikach to zmieściłbyś to na ATMEGA8. Przy trochę...
Jak komparator ma coś mierzyć? Widzę, że nie wiesz, więc Ci wyjaśnię: komparator to układ służący do porównywania, w tym wypadku porównuje dwa napięcia na dwóch wejściach (a dokładniej powinien porównywać dwa napięcia na dwóch wejściach ale jakoś nie wiadomo gdzie na Twoim schemacie jest to drugie wejście), w zależności od wartości tych napięć, komparator...
Karzdy układ wiem ze ma swoj adres. Ale jak w programie ustalic ich adresy i jak się zabierac do nich po koleji gdy jest ich kilka na lini? :? Masz wszystko napisane w specyfikacji, magistrale się przeszukuje i na to jest określony przepis który gwarantuje znalezienie każdego układu. A co do komunikacji, to wysyłasz rozkaz MatchROM, potem adres, a...
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
A próbowałeś używać wcześniej tego DS1820 na innym uC? Masz rezystor 4,7k podciągający do plusa magistralę? Skoro ci nic nie wyświetla to być może program jest źle napisany - magistrala 1-Wire jest bardzo czuła na odpowiednie czasy na wyjściu, więc kwarc musi być dokładnie taki na jakie był pisany program etc.... Krótko: czy jesteś na 100% pewien że...
http://obrazki.elektroda.net/86_12805854... Witam, Chciałbym zaprezentować kolejny mini projekt aczkolwiek bardzo użyteczny i przydatny na codzień. Ponieważ posiadam kilka bardzo dużych wyświetlaczy VFD 2x20znaków (rozmiar lampy 20x6 cm !!!) postanowiłem zbudować mini panel reklamowy z wygodną obsługą dla klienta. Wyświetlacze omawiane były w http://obrazki.elektroda.net/65_12805841...
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 :) http://plc-home.pl/realizacja-systemu/po...
czasy propagacji czasy emulacji podłączenie ds1820
awaria alarm świateł pozycyjnych analogowy generator
zrobić generator impulsów generator elektrodrążarki
Blokada klawiatury w Dell Vostro 3750 - rozwiązania Instrukcja obsługi tunera Denon TU-460 - gdzie znaleźć?