SantyagoSantyago
YouTube RSS Facebook GitHub

Jakiś czas temu zaprezentowałem Wam mój pomysł na monitorowanie zasobów Linuksa za pomocą Arduino UNO. Dziś przyszedł czas, na przedstawienie bardziej praktycznej wersji 1.2.

Zasadniczym problemem było dla mnie upychanie całego Arduino wewnątrz komputera wraz z plątaniną kabelków - co nie jest do końca dobrym rozwiązaniem - nie tylko pod względem zajmowanej przestrzeni, ale z dostępem do samego Arduino, które przyda mi się do szybkiego testowania kolejnych projektów. Postanowiłem więc przenieść całą zabawkę na pojedynczą płytkę PCB z wyprowadzeniem podstawowych złączy takich jak: zasilania z zasilacza komputera, diod RGB, czujnika temperatury i wilgotności DHT11 oraz przycisków RESET i IDLE do zmiany trybu pracy

Zmiany w schemacie i prototyp

Kiedy mamy pod ręką Molexa +12/+5V grzech z niego nie skorzystać. Zamiast zasilania ze złącza USB wybrałem właśnie ten wariant, stabilizując sobie obie linie na kolejno +5V i +3.3V, gwarantując sobie pewne poziomy napięć niż w przypadku napięcia USB, które potrafi sobie pływać pomiędzy 4.8V - 4.9V. Różnica może niewielka, ale ma zasadniczy wpływ na odczyt z czujników analogowych, powodując spore różnice np.: w odczycie temperatury nawet do 2-4 °C.

Zamiast całego Arduino UNO, sercem została naturalnie ATMEGA328P-PU uprzednio zaprogramowana. Do komunikacji z komputerem skorzystałem z gotowego modułu FTDI Basic, który pozwoli mi nie tylko przesyłać dane o stanie systemu, ale również na wgranie nowego softu do mikro-kontrolera.

Oprócz dodatkowego przycisku RESET (głównie do przygotowania układu do wgrywania softu) reszta pozostała praktycznie bez zmian.

Schemat połączeń

Uruchomienie prototypu

Projekt płytki drukowanej

Kolejnym krokiem było zaprojektowanie płytki drukowanej - do tego celu doskonale nadał się opisywany przeze mnie program Eagle. Autorouter ścieżek nie spisał się koncertowo, jednak z małą pomocą i korektami udało się to jakoś w miarę sensownie poukładać.

Projekt płytki PCB


Wizualizacja 3D

Montaż elementów

Uruchomienie

Po końcowych testach, można już bez wstydu zamontować całość w obudowie. Ostatnim krokiem jaki mnie czeka, jest przygotowanie sobie panelu do zatoki 5,25" z miejscem na wyświetlacz TFT oraz przyciski Reset oraz Idle.

Strona projektu: Monitino UNO.

Komentarze Komentarze
Avatar 1
Qba Linux Ubuntu / Mozilla Firefox 21.0
27 maj 2013 - 18:26 Kraków

Witam, mam pytanie skąd Pan wziął footprint ATmegi328 - używał Pan może tego od zwykłej atmegi 8, czy z zewnętrznej biblioteki? Bo widzę że w Eagle nie mam takiego.

I drugie pytanie ile kosztuje, i gdzie można zamówić wykonanie takiej płytki PCB?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 21.0
27 maj 2013 - 20:04 Brak informacji

Witam. Skorzystałem z biblioteki Atmela - Mega8-P (wyprowadzenia są identyczne jak w 328). Płytkę wykonałem w firmie Gama http://drukowane.pl. Płytka kosztowała mnie około 40zł/szt (dwustronna, metalizowanie otworów, soldermaska i opisy). Zostały mi dwie na wszelki wypadek :D.

Co ciekawe, zamówiłem dwie sztuki - a dostałem trzy!

Avatar 1
Qba Linux Ubuntu / Mozilla Firefox 21.0
04 czerwiec 2013 - 10:48 Kraków

Bardzo dziekuje za odpowiedź

Avatar 1
mcv Linux x86_64 / Mozilla Firefox 24.0
05 październik 2013 - 20:54 Wrocław

Jeeeeeee! A ja już chciałem u Chińczyków płytki zamawiać.

Avatar 1
Wasyl Windows 7 / Opera 9.80
10 czerwiec 2013 - 16:10 Brak informacji

Witam. Pomysł jak najbardziej ciekawy, jednak od strony elektronicznej układ ma mniej lub bardziej poważne błędy.
W układzie brak praktycznie kondensatorów odsprzęgających, które powinny znaleźć się blisko wejścia i wyjścia stabilizatorów napięć, a także blisko układów cyfrowych - czyli uC, i układu RTC). Ich brak powoduje znaczy wzrost wrażliwości układu na zakłócenia pochodzące z zasilania. Kondensator filtrujący C6 powinien mieć znacznie wyższą wartość - minimum 100uF. Pin AVcc i Aref wisi w powietrzu - mimo, ze nie używasz przetwornika A/D, datasheet-y Atmeg na ogól mówią, że pin AVcc powinien być zwarty do zasilania, a pin Aref do masy przez C 100nF. Brak jest także rezystora podciągającego pin RESET uC do zasilania.
Płytkę można było wykonać na jednostronnym laminacie. Obecne poprowadzenie ścieżek jest mało optymalne - brak zróżnicowania szerokości ścieżek w zależności od pełnionych funkcji, zbyt długie i nie do końca właściwe prowadzenie zasilania oraz masy.
Do projektowania płytek moim zdaniem lepiej nadaje się KiCAD (program oczywiście na licencji GPL).
Dla tak prostego układu PCB można by wykonać domowym sposobem metodą transferową.
Polecam wykonanie poprawek i życzę dalszych sukcesów z układami uC.

Avatar 2
Korneliusz Linux / Mozilla Firefox 21.0
11 czerwiec 2013 - 15:00 Katowice

Dzięki za cenne uwagi!

Szkoda, że nie byłeś tu wcześniej przed zamówieniem kolejnej wersji PCB. Z Resetem faktycznie strzeliłem gafę. Mam jednak pytanie do Ciebie - czy naprawdę konieczne jest podpinanie AVcc i Aref gdy A/D nie jest mi potrzebne?

Jeśli chodzi o PCB to przyznam się, że jest to pierwsza jaką zaprojektowałem. Domowym sposobem jeszcze nie robiłem i mam ogólne obawy przed ewentualną ich jakością (w moim wykonaniu) - dlatego zdecydowałem się na dwie warstwy u profesjonalistów. Z drugiej strony wiele taniej by mnie to nie wyszło - czas, odpowiednia chemia i materiały

Avatar 1
Qba Linux Ubuntu / Mozilla Firefox 21.0
11 czerwiec 2013 - 19:26 Brak informacji

Tutaj ma Pan artykuł wszystko wyjaśniający- polecam z resztą tę stronę:
http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 21.0
11 czerwiec 2013 - 19:30 Bytom

Siedzę tam od dwóćh godzin :)

Skomentuj wpis