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

Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz

24 Kwi 2013 10:54 9366 47
  • Poziom 16  
    Witam, chciałbym sam na atmedze złożyć termometr i zaprogramować. Wcześniej trochę się bawiłem Arduino a niestety zaprogramować sama Atmege ciężko mi sie samemu nauczyć (chyba ze polecicie mi jakieś genialne książki to chętnie się w nie zaopatrzę.). Chodziłem na praktyki związane z konstruowaniem systemów wbudowanych ale praktyki się skończyły a ja się nauczyłem lutować i testować złożone układy.

    Chciałbym skonstruować termometr z dwoma czujnikami, od czego miałbym zacząć ?
  • IGE-XAOIGE-XAO
  • Poziom 16  
    Znam ten temat, w wiele rzeczy z tej listy jestem już zaopatrzony. Jak również C i C++ znam. Po południu skonstruuje schemat oraz model w fritzing. Myślę ze zacznę to składać na płytce prototypowej.
  • Poziom 19  
    Tu nie chodzi o listę, ale o cały portal (serwis, blog, stronę?).

    Skoro znasz język, masz elementy to czego Ci jeszcze brakuje? Jeżeli nie odpowiada Ci wspomniany DS18B20 poszukaj innego czujnika temperatury (w sumie DS18B20 sam w sobie jest termometrem wg dokumentacji) i poczytaj noty katalogowe i - jeżeli są - jakieś artykuły.
  • Poziom 16  
    Posiadam DS1820 (bez B w środku) czy to to samo ?

    Pytanie czy starczy atmega8 ? Chcialbym dotego podpiac wszystkiego wyswietlacz 16x2

    http://helion.pl/ksiazki/jezyk-c-dla-mikrokon...nsowanych-aplikacji-tomasz-francuz,jcmikr.htm mam ta książkę i szczerze mówiąc uważam ze nie jest ona o podstawach (moze musze sie glebiej wczytac)

    http://helion.pl/ksiazki/avr-i-arm7-programow...awel-borkowski,avrar7.htm?nr=5314.&url=avrar7 zastanawiam się nad tym a nie chce pieniędzy w błoto wyrzucić
  • Poziom 16  
    dondu napisał:
    vigorado89 napisał:
    http://helion.pl/ksiazki/avr-i-arm7-programow...awel-borkowski,avrar7.htm?nr=5314.&url=avrar7 zastanawiam się nad tym a nie chce pieniędzy w błoto wyrzucić

    Moją opinię znajdziesz tutaj: http://mikrokontrolery.blogspot.com/2011/03/recenzja-ksiazki-avr-arm-borkowski.html


    Przejrzałem nie tylko Twoja opinie ale również Twój poradnik związany z pierwszymi krokami na Twojej stronie, muszę przyznać ze własnie tego szukałem ;) Na pewno wiecej czasu spedze na Twoim blogu.

    Jednak ponawiam pytanie czy DS1820 to prawie to samo co DS18B20 ?
  • IGE-XAOIGE-XAO
  • Poziom 18  
    Witam,
    To nie to samo. Główna różnica, oprócz ceny, to rozdzielczość pomiaru.

    O ile się nie mylę to 1820- rozdzielczość pomiaru 9 bit, natomiast 18b20- rozdzielczość od 9 do 12 bit

    Pozdrawiam Pablo201_5


    Ponadto wszystko znajdziesz w notach katalogowych obu elementów dostępnych w sieci.
  • Poziom 16  
    Zaznajomiłem się już z tym kursem: http://mikrokontrolery.blogspot.com/2011/03/drzaskowy-pamietnik-wstep.html wiele mi rozjaśnił. Ale wciąż mam problem z ds1820, poszukałem na forum ale wszystko jest dla bascoma, a co znalazłem przydatnego to albo widzę wszystkie znaki ASCI na wyświetlaczu albo nic.

    Nie wiem czy jest sens zamieszczać kod i schemat jest bardzo podobny jak na tej stronie: http://mikrokontrolery.blogspot.com/2011/03/adc-prezentacja-wyniku-na-lcd.html

    Kurcze siedze dumam nad tym od 3 godzin i nic :( stoje w martwym punkcie
  • Moderator Mikrokontrolery Projektowanie
    vigorado89 napisał:
    Nie wiem czy jest sens zamieszczać kod i schemat jest bardzo podobny ...
    Kurcze siedze dumam nad tym od 3 godzin i nic :( stoje w martwym punkcie

    Jeżeli nie dasz nam materiałów do analizy, to także będziemy tylko dumali :)
    Znany slogan: "Prawie ... robi wielką różnicę ..."
  • Poziom 16  
    dondu napisał:
    vigorado89 napisał:
    Nie wiem czy jest sens zamieszczać kod i schemat jest bardzo podobny ...
    Kurcze siedze dumam nad tym od 3 godzin i nic :( stoje w martwym punkcie

    Jeżeli nie dasz nam materiałów do analizy, to także będziemy tylko dumali :)
    Znany slogan: "Prawie ... robi wielką różnicę ..."


    W sumie święte słowa ;) Z rana wszystko wrzucę.
  • Poziom 16  
    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Mam pytanie, niezbyt rozumiem tej inicjacji ADC, w Arduino wystarczyło zadeklarować analogowe wejście pod jakaś zmienna i gdy podłączyłem załóżmy LM35 to wiedziałem ze w tej zmiennej mam wartość z czujnika temp (oczywiście odpowiednim wzorem to dalej przeliczałem) a w tym przypadku nie widzę gdzie mam ta zmienna z wartością z pinu PC5.
  • Poziom 30  
    Chyba nie bardzo czytałeś, jeżeli masz to tak połączone jak na schemacie to już nigdy nie zadziała (stabilizator 8V), filtrowanie zasilania ( żadnego kondensatora) linia danych ds1820 nie podciągnięta do plusa przez rezystor 4,7K. Reset nie podciągnięty.... Wróć do lektury.
  • Poziom 16  
    Stabilizator 8v ? to mi Atmege spali wsadziłem 5v, przecież jest kondensator 1000uF, a Reset nie rozumiem po co podciągać ? jak wpinam od programatora reset i wszystko się programuje. Nie chodzi o to ze chce robić po swojemu na pale tylko chce zrozumieć po co mam do + podciągać reset, na moja logikę to procesor non stop będzie w stanie resetu.
  • Poziom 16  
    Przeczytałem, przebudowałem (jak i również zrobiłem porządek), pogrzebałem trochę w kodzie i gdy zamiast DS1820 wsadzę potencjometr to ładnie mi się wszystko wyświetla, z DS1820 mam 0 a gdy dotknę go palcem to dochodzi do 2(taki sam objaw jest gdy mam podciągnięty do + rezystorem czy nie.).

    dodaje schemat i kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz

    Jest jednak jedna rzecz która mnie intryguje: w 2 linii wyświetlacza chciałem wyświetlacz 3 rzeczy = liczbę 1, liczbę z PC5 oraz liczbę losowa(taki od test) jednak na wyświetlaczu mam w tym polu kompletnie nic, żadnych znaczków ani liczb.
  • Moderator Mikrokontrolery Projektowanie
    Zacznijmy od schematu:

    1. Regulator napięcia wymaga elementów zewnętrznych - sprawdzałeś datasheet regulatora? Pomijam już fakt, że na schemacie masz pokazany 7808, a opis 5V :)
    Przeczytaj także: http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html

    2. Skąd wziąłeś wartości kondensatorów przy kwarcu? Sprawdzałeś datasheet tego mikrokontrolera lub chociażby kwarcu? Jeżeli nie to sprawdź.

    3. Skąd wytrzasnąłeś 2x100uF na pinie AVcc? Na pewno nie z tego linku, który podał kol. płetwa.

    4. AREF łączysz z AVcc - możnatak robić, ale nie jest to wskazane. W dodatku, nie wykorzystujesz przetwornika ADC, więc L1 jest niepotrzebne.
    Więcej na ten temat: http://mikrokontrolery.blogspot.com/2011/03/avr-adc-podlaczenie.html

    5. Zamiast SCK podłączyłeś do złącza programatora SS: http://mikrokontrolery.blogspot.com/2011/04/isp-co-to-takiego.html

    6. Niepotrzebnie dajesz symbole łączenia (kropki) w wielu miejscach. Używaj narzędzia NET zamiast WIRE, a symbole połączeń same będą się ustawiać w miejscach w których powinny się znaleźć.

    7. Zrób więc schemat od nowa w taki sposób: http://mikrokontrolery.blogspot.com/2011/04/kicad-projektowanie-schematow-i-pytek.html

    Na razie tyle. Gdy zrobisz schemat jeszcze raz, to go sprawdzimy i dopiero zajmiemy się programem.
  • Poziom 16  
    1. Nie mogłem znaleźć innego w eagle wiec wrzucilem taki jaki mi podpasowal a nie sporjzalem po oznaczeniach, poszukałem głębiej i znalazłem odpowiedni. Wiadomo ze 8v zabiłoby atmege.

    2. Nie sprawdzałem ale już to zrobiłem. W datasheet znalazłem taka o to tabelkę:
    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz
    Ponieważ na chwile obecna dysponuje kondensatorem najmniejszym o wartości 10uF to póki nie kupie odpowiednich kondensatorów, z płytki wywalę kwarc.

    3. Tak z tego linku ale źle spojrzałem, uroiło mi się ze tam jest złączenie obu pinów.

    4. Tak jak pkt 3 :P

    5. Na płytce miałem podłączony pin z programatora pod SCK a na schemacie połączyłem w SS mój błąd.




    Schemacik ;)
    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz



    Pytania:

    1. Czy kwarc jest mi potrzebny tylko wtedy gdy chce robić za pomocą atmegi precyzyjny zegar ? Czy również do innych celów służy ?

    2. Lepsze jest zastosowanie kostki RTCC/RTC czy kwarcu do takiego samego zastosowania jak wyżej ?

    3. Gdy juz mam kwarc wsadzony to czy muszę go włączyć fusebitem "CKSEL" ?

    4. Obecnie gdy cały układ pracuje trochę dłużej to stabilizator się grzeje (aż przykręciłem do niego radiator) Czy gdzieś mogę mieć zwarcie ? Czy po prostu całość więcej pobiera prądu ze stabilizator się robi cieplejszy ?
  • Poziom 16  
    Widze że wasze chęci pomocy i edukacji poczatkujacego już się skończyły.
  • Moderator Mikrokontrolery Projektowanie
    Dobrze że się przypomniałeś, bo przeoczyłem ten temat wśród wielu innych, w których się udzielam.

    1. Kwarc to element, który przydaje się w wielu sytuacjach. Na przykład w przypadku zegara o którym piszesz. Ale są i inne sytuacje:
    - chcesz taktować mikrokontroler inną częstotliwością niż może to zrobić wewnętrzny generator RC.
    - potrzebujesz większej stabilności w przypadku zmiany temperatury mikrokontrolera, np przy komunikacji szeregowej,
    - gdy potrzebujesz mierzyć dokładnie częstotliwość lub czasy impulsów,
    - itp.

    2. To już Ty musisz zadecydować co rozumiesz przez słowo "lepsze"? Do zegarka wystarczy kwarc zegarkowy 32,768kHz - tańszy niż zewnętrzny RTCC/RTC.

    3. CKSEL to kilka fusebitów i faktycznie trzeba je odpowiednio ustawić. Zależy to od kwarcu który wybrałeś.

    4. Patrząc na Twój schemat, nie widzę powodu, żeby się grzał. Coś jest nie tak. Jeżeli masz multimetr, to sprawdź jaki jest pobór prądu na wyjściu 7805.


    Pozostałe uwagi do poprawionego schematu:

    5. Kondensatory przy 7805 (C7 i C1) nie są zgodne z tym co Ci podałem - przeczytaj jeszcze raz.

    6. Kondensatory C2 i C6 także złe.

    7. Złącze ISP podłącz do GND także piny 4,6 i 8 - niektóre programatory niezgodne ze standardem mogą mieć pin 10 niepodpięty do gnd.

    8. DS18B20 wymaga zewnętrznego rezystora pull-up - sprawdź w datasheet.

    9. Szkoda, że nie narysowałeś schematu według wytycznych, które Ci podałem.
  • Poziom 16  
    Witam po bardzo długiej przerwie. Ponieważ na zajęciach pojawił się przedmiot podstawy elektroniki to powróciły mi chęci na dokończenie mojego cudownego układu (oraz rozbudowanie go). Na start odpaliłem stary układ który wciąż działa perfekcyjnie (wersja przerobiona na zasilanie z baterii 9v) Niestety stary miernik nie nadaje się już do niczego i zastanawiam się nad kupieniem czegoś lepszego za większe pieniądze i żeby służyło mi lata. Kolejna sprawa a wiec czujniki DS1820, na szybko podpiąłem je pod arduino, poszukałem bibliotek odpowiednich i czujniki (nawet dwa) działają perfekcyjnie. Sprawdzając wszystko po kolei niestety wydaje mi się ze programator umarł (ale może jest coś źle ustawione lub źle podłączone). Nic w układzie nie zmieniałem przez te lata. Nie wiem od czego zacząć, na pewno będę musiał przejrzeć ten temat od nowa (na pewno tez poszerzyć swoja wiedzę elektroniczna bo jak się sam przekonałem na zajęciach i patrząc po 2 latach na ten temat to mocno kuleje) i kupić lub ożywić programator. Ile waszym zdaniem można przeznaczyć max na dobry miernik ? Odkryłem dziś kanał na YT Atnel - mirekk36 i przejrzałem cala stronę owego mistrza i zastanawiam się nad kupnem książki jego wydawnictwa oraz programatora.
  • Poziom 37  
    Dobry miernik to 80zł coś z rodziny M890G na początku będzie aż za. Co do kanału mirka36 to nawet jest ok ale ma chore ceny w swoim sklepie i nie opłaca się tam niczego kupować. Książki nie są złe ale są tańsze i równie dobre.
  • Poziom 16  
    Witam ! A zatem zaczynam od schematu, przeanalizowałem wszystko i powracając do mojego schematu chce pozamieniać kondensatory (na ceramiczne 100nF) te przy atmedze czyi moje C2 oraz C6 oraz również chyba brakuje do VCC takiego samego jak na C2 i C6 ? A przy stabilizatorze mysle o elektrolitycznych po 100uF. To tak na poczatek, jutro gdy przelece od nowa tutoriale zwiazane ze schematami zrobie nowy schemat jak to teraz wyglada (wzorowalem sie na wersji zalecanej z tego linku http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html )
  • Moderator Mikrokontrolery Projektowanie
    1. Zastosuj ikonki Rotate i Mirror (w Eagle) do regulatora napięcia i obróć go pinem GND w dół :)
    2. Zapomniałeś podłączyć kwarc do pinów XTAL oraz GND do jego kondensatorów.
    3. 1000uF - to nie te czasy - wiele w elektronice się zmieniło na lepsze :) Spokojnie 47uF wystarczy
    4. C2 nie uF tylko nF.
    5. Jesli nie będziesz dokonywał pomiarów ADC, to L1 jest zbędny. Tak samo C6, który nota bene także powinien być nF zamiast uF.
    6. Piny 15 i 16 LCD to z reguły diody podświetlające - warto podłączyć.
    7. Brakuje rezystora podciągającego wyjście DS19B20 do Vcc - według dokumentacji wynoszący 4,7k
    8. symbole +5V podłączyłeś po prawej stronie schematu, ale dodaj taki sam na wyjściu regulatora napięcia, bo nie będą połączone razem.

    Reszta OK.
  • Poziom 16  
    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz

    Niestety musiałem cały schemat rysować od nowa, wszystko to co jest schemacie znajduje się na płytce prototypowej (no może oprócz włącznika ON/OFF przed C5 ale to chyba nie istotne), na razie nie podłączyłem kwarcu. Ucząc się całego eagla od nowa mogłem jeszcze coś pominąć, no i póki co zrobiłem jedna szynę napięcia. Jeśli profesjonaliści stwierdzą (mi się wydaje ze przy obecnym układzie trochę to zbędne) że lepiej porobić wszędzie oddzielnie +5v źródła napięcia do każdego podzespołu to tak zrobię. Niestety przeglądając temat i poprzednie schematy stwierdzam ze wiele rzeczy po prostu zapomniałem dorysować na schemacie a co na płytce było i pracowało.

    ps. Nie montowałem kwarcu bo nie dotarłem jeszcze do artykułów jak to dokładnie zamontować, zdaje się ze mam 12mhz, czy na razie on wystarczy czy podczas programowania potrzebny będzie ten 32mhz ? Za bardzo nie mogę znaleźć żadnych not w necie do tego kwarcu co mam :/ Tak się zastanawiam czy moze by nie wsadzić (np DS1307) nie ukrywam ze chciałbym tez żeby był i zegarek i kalendarz.

    Pytanie: W Twoich artykułach Dondu jakie znalazłem na Twoim portalu piszesz o kwarcu 32mhz, znalazłem w sprzedażny 40mhz wiec który byłby lepszy ?
  • Moderator Mikrokontrolery Projektowanie
    Tak na szybko, bo czas mnie goni odpowiem tylko na:

    vigorado89 napisał:
    Pytanie: W Twoich artykułach Dondu jakie znalazłem na Twoim portalu piszesz o kwarcu 32mhz, znalazłem w sprzedażny 40mhz wiec który byłby lepszy ?

    Chyba pomyliłeś artykuły ATmega z XMega :)

    ... a koledzy podpowiedzą dalej.
  • Poziom 37  
    Kwarc maksymalnie 16Mhz więcej atmega nie pociągnie (teoretycznie). Schemat narysowany makabrycznie. Rysując schematy podziel to sobie na sekcję zasilania, sterowania i tak dalej. Tutaj Ci wrzucam przykładowy schemat, nie jest to na pewno idealnie ale jako tako wygląda:

    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz

    @Akurat tutaj jest dość dobra sekcja filtracji także możesz śmiało sobie to skopiować do siebie.
  • Poziom 37  
    Dodaj po kondensatorze 100n do zasilania na wejściu i wyjściu. Do tego zmień te cewki z rezystorem (pewnie błąd dodawania). Całą sekcję zasilania atmegi (u Ciebie po lewej stronie) przekopiuj ze zdjęcia które dodaj wyżej. Poprawi się stabilność procka. Jeśli korzystasz z ADC to tym bardziej musisz mieć konkretną filtrację.
  • Poziom 16  
    Pierwszy projekt na Atmega - Termometr,Zegarek,Woltomierz

    Kolejne poprawki v2 :P kwarc fizycznie jeszcze nie zamontowany nie mam tak małych kondensatorów żeby to podłączyć do masy.