Elektroda.pl
Elektroda.pl
X
Mitronik
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Emulator czujnika DS18B20

neo_84 19 Kwi 2017 12:39 14499 30
  • Witam ,
    chciałbym przedstawić mój emulator czujnika ds18b20.
    Celem projektu było zaprojektować i wykonać emulator, by skończyć z przypalaniem podgrzewaniem itp. czujników ds18b20.
    Pewnie nie raz każdy zmagał się z tym tematem podgrzewania czujnika, aby sprawdzić czy jego urządzonko działa poprawnie np. sterownik pieca czy wyłącza piec po przekroczeniu temperatury...

    Cel projektu:
    - Obsługa enkodera, która w żaden sposób nie zakłóca działania emulatora .
    - Obsługa wyświetlacza 1x8
    - Emulacja czujnika z rozdzielczością ustawiania temperatury x1 st , x0.1 st
    - kopiowanie ID czujnika
    - czytanie i podgląd ID czujnika na wyświetlaczu LCD
    - wczytanie z epromu ID czujnika
    - CRC

    Obsługiwane komendy emulatora DS:
    - Search ROM
    - Skip ROM
    - Convert
    - Match ROM


    Troche o emulatorze,
    Menu 1 Emulacja czyli nie ma co się dużo rozpisywać załącza emulator i można ustawić temperaturę w granicach ? 55 do 125 C x1 lub x0.1 C.

    Menu 2 Copy ID - kopiowanie ID czujnika do epromu oraz do emulatora. Emulator po załączeniu ma swój seryjny ID dla tego można skopiować lub odczytać z epromu poprzednie kopiowane ID.
    Menu 3 Read ID podglad na wyswietlaczu aktualnego nr ID.
    Menu 4 Eprom ID wczytanie ostatniego skopiowanego ID z eprom.
    Menu 5 lcd led On-Off podświetlania.

    Niestety nie wszystko wyszło jak chciałem. Przewidywałem, że jak dam diodę D2 w celu zabezpieczenia przed odwrotnym podłączeniem zasilania, to kontrast lcd pójdzie w "krzaki" i tak się stało. Trzeba by za każdym razem regulować kontrast przy przełączaniu zasilania. Można by jeszcze pokombinować z dioda zamiast potencjometru. Całość działa rewelacyjnie i można kręcić enkoderem z dużą prędkością - nie gubi impulsów, oraz nie zakłóca transmisji 1 wire.
    Płytka wykonana termo transferem i zabezpieczona lakierem.
    Przy pisaniu programu korzystałem z artykułu "Programowy emulator DS1990 - Elektronika Praktyczna" - bez tego nie napisałbym obsługi 1 Wire. :D
    Mam nagrany filmik z pracy urządzenia, niestety zajmuje 150 Mb, a maksymalne pliki na elektrodzie to 100 Mb. Nie posiadam programu do konwersji video. Są strony do konwertowania online, ale niestety dzisiaj mam pecha bo 2 godziny upload-ował i tylko 1/4 pliku się wgrała :/

    PS. nie udostępniam wsadu.

    Trochę fotek :
    Emulator czujnika DS18B20 Emulator czujnika DS18B20 Emulator czujnika DS18B20


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Mitronik
  • #2 19 Kwi 2017 14:46
    electro
    Poziom 17  

    Bardzo "sprytne" i przydatne narzędzie. Super! Film możesz wrzucić na YouTube, tam nie musisz martwić sie formatami.

  • Mitronik
  • #3 19 Kwi 2017 17:38
    george2002

    Poziom 19  

    Bardzo fajny projekt i zgrabne wykonanie, chociaż może dało by się bardziej kompaktowo upchać wszystko, żeby mniej miejsca zajmowało ale to kwestia gustu ;). Z ciekawości w czym pisane oprogramowanie, bo tego nigdzie autor nie opisał :). Programowo można rozwiązać sterowanie kontrastem oraz podświetlaniem i z enkodera wtedy regulować jasność łatwiej i szybciej według mnie :).
    Emulator czujnika DS18B20
    Na zdjęciu schematu zapożyczony z projektu LCD2USB zaznaczyłem Podświetlanie, oraz Kontrast, wykorzystuję w swoich projektach takie rozwiązanie i działa BDB :)

  • #4 19 Kwi 2017 19:17
    rs6000
    Poziom 28  
  • #5 19 Kwi 2017 20:52
    Duch__
    Poziom 31  

    Szkoda że kolega nie udostępnia źródeł. Akurat szukam podobnego rozwiązania by za pomocą 1-wire emulować innego rodzaju czujniki np. za pomocą emulacji DS18b20 lub innego przesyłać wartość napięcia itp. No ale niestety prosić się nie będę.

  • #6 19 Kwi 2017 21:49
    SylwekK
    Poziom 29  

    Bardzo przydatne urządzenie. Dodał bym tu jeszcze funkcje automatycznej cyklicznej zmiany temperatury w określonym czasie i w określonym zakresie. Wtedy to byłby emulator pełna gębą :-)

    @Duch_, kiedyś był już tu podobny temat i tam był wsad upubliczniony jeśli dobrze pamiętam.

  • #7 19 Kwi 2017 22:29
    Karol966
    Poziom 30  

    rs6000 napisał:
    Elektronice Praktycznej 4/2017
    ehh, nawet nie zauważyłem, jak mi się wygasiła kolejna, dwuletnia prenumerata :(

    Również uważam, że to fajne urządzenie ale tego typu emulatory powinny być w dwóch wersjach - mini (potencjometr + procek i nic więcej, mini płytka, mini procesor i tyle, ew switch do kopiowanie ID) oraz wersja na wypasie jak tutaj + to co dodał SylwekK :)

    PS. Ogólnie to jakieś tam problemy prawne są z używaniem 1-wire no nie? W sensie jak masz gotowy element z 1-wire to problemu nie ma ale jak naśladujesz ten standard to już tak. Takie coś się mi gdzieś o uszy obiło ;)

  • #8 19 Kwi 2017 23:36
    RaStro
    Poziom 13  

    Hobbystycznie/Edukacyjnie to chyba żaden problem, ale chyba nie można sprzedawać gotowego urządzenia.

  • #9 19 Kwi 2017 23:43
    HD-VIDEO
    Poziom 38  

    Nie można tego wprowadzić na rynek, wiec bez obaw, że pojawi się to jako gotowe urządzenie lub DIY, wiec też bez obawy o wsad czy źródła

  • #10 20 Kwi 2017 00:11
    neo_84
    Poziom 14  

    george2002 napisał:
    Bardzo fajny projekt i zgrabne wykonanie, chociaż może dało by się bardziej kompaktowo upchać wszystko,
    a no można by czego nie :D akurat ten rozmiar mnie zadowalał i dobrze w reku leży hehe . Program pisany w Eclipse , procek atmega8, 60% pamięci, kwarc 12 Mhz. Bez problemowo działało w fazie testów na 8Mhz na wewnętrznym generatorze. Można by zoptymalizować kod i pewnie parę procent było by mniej ale po co ? jak i tak nic nie będę wgrywał więcej w procek a czy program zajmuje 5 10 czy 100% to nie ma większego znaczenia w prototypie 1 sztukowym
    Dodano po 8 [minuty]:
    Duch__ napisał:
    Szkoda że kolega nie udostępnia źródeł. Akurat szukam podobnego rozwiązania by za pomocą 1-wire emulować innego rodzaju czujnik

    No jak nie udostępniam ?! przecież pisze wyraźnie gotowiec " Programowy emulator DS1990 - Elektronika Praktyczna" nie dość ze jest wsad to jeszcze opisane co i jak :D wiec nic tylko przepisać ... i zaadoptować swoje funkcje
    rs6000 napisał:
    W Elektronice Praktycznej 4/2017 jest opis emulatora DS18B20 na Attiny85 - właśnie czytam :)
    a tu kolega podpowiada ze jeszcze w ep4/2017 jest jakiś opis choć nie czytałem

  • #11 20 Kwi 2017 02:23
    HD-VIDEO
    Poziom 38  

    W EP opis jest ale bardzo krótki

    Źródło jest udostępnione w C i właściciel projektu jest też na forum elektrody

  • #12 20 Kwi 2017 08:05
    zgierzman
    Poziom 20  

    neo_84 napisał:
    jak dam diodę D2 w celu zabezpieczenia przed odwrotnym podłączeniem zasilania , kontrast lcd pójdzie w "krzaki" i tak się stało trzeba by za każdym razem regulować kontrast przy przełanczani zasilania

    Daj diodę D3, identyczną jak D2, za stabilizatorem 7805. Będziesz miał ten sam spadek napięcia w przypadku zasilania z obu źródeł (magistrala i zasilacz), więc problem kontrastu powinien zniknąć...

  • #13 20 Kwi 2017 17:38
    22053
    Użytkownik usunął konto  
  • #14 20 Kwi 2017 19:30
    neo_84
    Poziom 14  

    R-MIK napisał:
    Pewnie kolega chciał napisać "przełanczaniu" ale takiego wyrazu tez nie ma. A z kontrastem łatwo sobie poradzić "podlonczając" potencjometr do Aref ustawiając je na wewnętrzne napięcie odniesienia :-)
    kurde tyle lat żyłem w nieświadomości... :please:

  • #15 20 Kwi 2017 19:38
    22053
    Użytkownik usunął konto  
  • #16 20 Kwi 2017 22:52
    neo_84
    Poziom 14  

    R-MIK no akurat nie o to mi chodziło miałem na myśli ze nie ma takiego wyrazu jak "przełanczaniu" :lol: w szkole ortografy to była moja specjalność , dobrze że w edytorze jest auto korekta bo by się kolega zdziwił ile w jednym zdaniu można zrobić "byków" :D

  • #17 20 Kwi 2017 23:31
    piterek-23
    Poziom 32  

    SylwekK napisał:
    @Duch_, kiedyś był już tu podobny temat i tam był wsad upubliczniony jeśli dobrze pamiętam.

    Nie wiem czy akurat o tym samym projekcie myślimy, ale nasz forumowy Kolega @niveasoft coś podobnego popełnił, o TUTAJ ;)

  • #18 20 Kwi 2017 23:41
    22053
    Użytkownik usunął konto  
  • #19 21 Kwi 2017 08:32
    zgierzman
    Poziom 20  

    R-MIK napisał:
    z kontrastem łatwo sobie poradzić "podlonczając" potencjometr do Aref ustawiając je na wewnętrzne napięcie odniesienia


    Czy to jest rozwiązanie przetestowane w praktyce?

    Moje gdybanie niepoparte próbami:
    Przy niskim napięciu zasilania wyświetlacza, np 3,3 V, na pin Vo trzeba podać napięcie ujemne względem masy żeby kontrast wyświetlacza był wystarczający.
    Z tego wnioskuję, że ważny jest potencjał Vo względem zasilania, a nie masy.
    I dlatego wydaje mi się, że jak by nie stabilizować napięcia na pinie Vo względem masy, to jeśli zmieni się napięcie wejściowe, to i tak kontrast pójdzie w las. Chyba potrzebna byłaby stabilizacja "od dołu", czyli taka, która zapewnia stałe napięcie pomiędzy Vcc i Vo

  • #20 21 Kwi 2017 08:41
    22053
    Użytkownik usunął konto  
  • #21 21 Kwi 2017 09:56
    zgierzman
    Poziom 20  

    R-MIK napisał:
    Jaka różnica?


    Ogromna. Albo mierzymy względem masy (minusa) albo względem Vcc (plusa) I wydajność prądowa nie ma tu nic do rzeczy, bo ważny jest potencjał.

    I jestem coraz bardziej przekonany, że to ja mam rację, bo zrobiłem stosowny eksperyment:

    Podłączyłem wyświetlacz w sposób "klasyczny", czyli potencjometr 10k pomiędzy Vcc i GND, a ślizgacz do Vo wyświetlacza.
    Ustawiłem kontrast jak należy i zmierzyłem napięcia przy zasilaniu 5V
    Vo do GND = 1,2V
    Vo do Vcc = -3,8V

    Zmniejszyłem zasilanie do 4V, i znów ustawiłem kontrast
    Vo do GND = 0,2V
    Vo do Vcc = -3,8V

    Więc proszę przekonaj mnie, że ważny jest potencjał Vo względem GND, skoro dla dobrego kontrastu wyświetlacza potrzebuję mieć zawsze 3,8V różnicy pomiędzy zasilaniem Vcc a Vo, zaś stabilizowanie Vo względem GND jest wręcz szkodliwe, bo raz wynosi 1,2V a innym razem 0,2V żeby kontrast był dobry. Na tym samym wyświetlaczu, w tej samej temperaturze. Wyświetlacz współczesny, nie żaden 20 letni zabytek .

    Mam też wyświetlacze przystosowane fabrycznie do pracy przy 3,3V - one mają na pokładzie dodatkową przetwornicę napięcia ujemnego, dlatego da się na nich ustawić kontrast w sposób "klasyczny". Ale tego wyświetlacza nie sprawdzałem bo to inna bajka.

  • #22 21 Kwi 2017 10:15
    22053
    Użytkownik usunął konto  
  • #23 21 Kwi 2017 10:20
    zgierzman
    Poziom 20  

    R-MIK napisał:
    Napięcie zasilania LCD zmieniło się czy nie? Pewnie zmieniło.

    Oczywiście, że się zmieniło. Załączam schemat.
    V1, czyli napięcie pomiędzy zasilaniem a Vo musi być stałe - w moim przypadku 3,8V. Napięcie V2, czyli względem masy się zmienia.
    Emulator czujnika DS18B20
    R-MIK napisał:
    Mało wiesz o LCD.

    R-MIK napisał:
    w nocie wyraźnie piszą o napięcie pomiędzy GND a Vo.


    Jak widzę rozmawiam z wybitnym ekspertem.
    Proszę więc pokaż mi notę gdzie jest o tym napisane. Ja nic takiego wcześniej nie zauważyłem, ale jak piszesz, mało wiem o LCD...
    Ni proszę nie krzycz, ale przeprowadź swoje pomiary.

    Bo ja nawet jak ustawiam Vcc na 4,8V, co na 100% mieści się w tolerancji wyświetlacza, to widzę, że dobry kontrast jest tylko wtedy, kiedy napięcie pomiędzy zasilaniem a Vo jest równe 3,8V. Napięcie Vo względem GND wynosi wtedy 1V.

  • #24 21 Kwi 2017 10:38
    22053
    Użytkownik usunął konto  
  • #25 21 Kwi 2017 10:43
    zgierzman
    Poziom 20  

    R-MIK napisał:
    Przeczytaj notę katalogową wyświetlacza, czy gwarantowana jest poprawna praca przy zasilaniu 4V (zakładam, że jest na 5V). Na 90% nie. Jeśli jest tak jak piszę to to samo co wymagałbyś od niedożywionego człowieka pracy z pełna wydajnością.


    Zerknij na mojego maila wyżej. Przy 4,8V jest to samo, a mieści się w tolerancji.

  • #26 21 Kwi 2017 11:00
    22053
    Użytkownik usunął konto  
  • #27 21 Kwi 2017 11:04
    zgierzman
    Poziom 20  

    R-MIK napisał:
    Ile wyświetlaczy ilu firm firm testowałeś?

    Trzy różne wyświetlacze, wszystkie firmy "Made in China". Kupowane w Artroniku, jeden z nich chyba gdzieś indziej. Poglądowo jeszcze wyświetlacz na 3,3V - ten ma przetwornicę napięcia ujemnego - układ na scalaku nazwanym U3 w prawej części płytki.
    Emulator czujnika DS18B20

  • #28 21 Kwi 2017 11:36
    22053
    Użytkownik usunął konto  
  • #29 22 Kwi 2017 21:34
    373522
    Użytkownik usunął konto