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ąć ?
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.
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.
http://helion.pl/ksiazki/avr-i-arm7-programowanie-mikrokontrolerow-dla-kazdego-pawel-borkowski,avrar7.htm?nr=5314.&url=avrar7 zastanawiam się nad tym a nie chce pieniędzy w błoto wyrzucić
http://helion.pl/ksiazki/avr-i-arm7-programowanie-mikrokontrolerow-dla-kazdego-pawel-borkowski,avrar7.htm?nr=5314.&url=avrar7 zastanawiam się nad tym a nie chce pieniędzy w błoto wyrzucić
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 ?
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.
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.
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.
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.
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:
Code: c
Log in, to see the code
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.
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źć.
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ę:
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
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
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 ?
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.
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.
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.
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 )
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.
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 ?
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:
@Akurat tutaj jest dość dobra sekcja filtracji także możesz śmiało sobie to skopiować do siebie.
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ę.