Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Kieszonkowy kompas na ATTiny

ghost666 09 Dec 2020 12:50 45711 15
  • Kieszonkowy kompas na ATTiny
    Przedstawiony projekt to pierwsza próba skonstruowania urządzenia opartego o ATtiny85 tego autora. Jest to prosty, kieszonkowy kompas cyfrowy.

    ATtiny85 to wysokowydajny mikrokontroler o małej mocy. Posiada jednakże tylko 8 KB programowalnej pamięci Flash. Z tego powodu wyzwaniem w tym projekcie było zmniejszenie rozmiaru programu, ponieważ sam obwód jest bardzo prosty dzięki wykorzystaniu interfejsu I²C.

    Do budowy systemu potrzebować będziemy:

    * ATtiny85
    * Magnetometr HMC5883L
    * SSD1306 - wyświetlacz OLED 128x64 o przekątnej 0,96"
    * Przełącznik
    * Akumulator litowo-polimerowy 3,7 V 300 mAh
    * Obudowa – elementy w plikach STL do znalezienia na stronie z projektem (patrz: link na końcu artykułu).

    Dodatkowo, do budowy ładowarki potrzebne będą:

    * Dwa kawałki PCB; 17x10mm i 13x18mm
    * Obudowa wydrukowana w 3D
    * Moduł ładowarki baterii litowej Micro USB 5V 1A TP4056

    Krok 1: Oprogramowanie

    W przypadku tego projektu zaczniemy dosyć nietypowo - od zaprogramowania układu. Wynika to z faktu, że mikrokontroler jest lutowany w systemie bezpośrednio (bez podstawki etc.) i później nie będzie takiej możliwości.

    Konieczne jest załadowanie programu AB.ino (listing poniżej) do ATtiny85. O tym, jak to zrobić, przeczytać można tutaj: https://www.instructables.com/id/DIY-Attiny-Programming-Shield/

    Aby skompilować program w Arduino IDE, należy zainstalować bibliotekę ssd1306 autorstwa Alexeya Dyndy, dostępną pod adresem https://platformio.org/lib/show/1904/ssd1306

    Code: c
    Log in, to see the code



    Kieszonkowy kompas na ATTiny


    Krok 2: Połączenia elektryczne

    Do montażu dobrze jest odciąć nieużywane piny ATtiny przed lutowaniem. Przed montażem przygotuj dwa 10-centymetrowe odcinki pary przewodów, zdejmując w połowie po ok. 2 milimetry izolacji w odległości 5 mm od siebie, jak pokazano na pierwszym i drugim zdjęciu. Przylutuj jedną sekcję pierwszej pary kabli (A) do SDA (pin 5), a drugą sekcję do SCL (pin 7), jak pokazano na trzecim rysunku. W drugiej parze przewodów (B) przylutuj jeden kabel do GND (pin 4), a drugi do linii zasilania (pin 8), jak na ostatnim zdjęciu.

    Kieszonkowy kompas na ATTiny Kieszonkowy kompas na ATTiny

    Kieszonkowy kompas na ATTiny Kieszonkowy kompas na ATTiny


    Następnie należy przylutować wszystkie cztery przewody z ATtiny (SDA, SCL, zasilanie i masa) do modułu wyświetlacza OLED, zgodnie z opisem sygnałów w module. Potem wkleić można wyświetlacz do obudowy i zabezpieczyć jego tylną stronę taśmą izolacyjną.

    Kieszonkowy kompas na ATTiny


    Następnie w obudowie zamontować musimy dwa piny do ładowania. Każdy z nich wyginamy w haczyk widoczny na zdjęciach i montujemy w obudowie, jak pokazano dalej – jeden na boku obudowy, a drugi na jej dolnej stronie.

    Kieszonkowy kompas na ATTiny Kieszonkowy kompas na ATTiny Kieszonkowy kompas na ATTiny


    Możemy teraz zamontować ostatni element – magnetometer HMC5883L. Wklejamy go w dolną część obudowy. Do modułu podłączyć należy w pierwszej kolejności linie SCL oraz SDA idące do mikrokontrolera. Następnie do padu masy dolutować należy jeden z pinów ładowania (ten zamontowany na dnie). Do niego i pinu zasilania lutujemy pozostałą parę przewodów idących od ATtiny. Po przylutowaniu wszystkich czterech przewodów do modułu magnetometru, zabezpieczamy całą płytkę taśmą izolacyjną.

    Kieszonkowy kompas na ATTiny Kieszonkowy kompas na ATTiny


    Na tym etapie podłączyć można zasilanie. Ujemny biegun baterii lutujemy do pinu 4 ATtiny, a dodatni do drugiego pinu ładowarki (na brzegu obudowy). Od tego punktu prowadzimy dodatkowy przewód, który dołączamy do przełącznika, który lutujemy do pinu zasilania magnetometru, podłączając cały system do baterii. Teraz można uruchomić i przetestować kompas przed finalnym sklejeniem obudowy.

    Kieszonkowy kompas na ATTiny


    Program w szkicu AB.ino wyposażony jest w algorytm automatycznej kalibracji. Wystarczy obrócić kompasem o 360 stopni, jak pokazano na poniższym filmie.

    Uwaga

    Nie wolno zwierać kontaktów do ładowania ze sobą – ich zwarcie spowoduje zwarcie ze sobą biegunów baterii, co może się zakończyć nawet jej wybuchem czy zapłonem.



    Autor wykonał ponadto pasującą do układu ładowarkę:

    Kieszonkowy kompas na ATTiny Kieszonkowy kompas na ATTiny


    Źródło: https://www.instructables.com/id/A-Tiny-Compass-With-ATtiny85/

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 10189 posts with rating 8481, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • #2
    krzbor
    Level 20  
    Lutowanie do wyprowadzeń procesora - myślałem, że nie ma miejsca, ale ze zdjęć wynika, że miejsca sporo. Okrutnie wygląda ten skatowany Attiny.
  • #4
    ghost666
    Translator, editor
    maciej_333 wrote:
    Szkoda, że ta konstrukcja nie została "skażona" choćby jednym kondensatorem odsprzęgającym...


    Na ogół są w poszczególnych modułach, więc tylko mikrokontroler nie ma...
  • #5
    ZaQ_1
    Level 7  
    Quote:
    Nie wolno zwierać kontaktów do ładowania ze sobą – ich zwarcie spowoduje zwarcie ze sobą biegunów baterii, co może się zakończyć nawet jej wybuchem czy zapłonem.

    Czyli z rozpędu wsadzasz do kieszeni z kluczami i po chwili masz tam płonące ogniwo ¯\_(ツ)_/¯
    Już by się autor mógł trochę wysilić z rozmieszczeniem elementów i udałoby się upchać moduł ładowarki widoczny na zdjęciach. Ryzyko zwarcia by drastycznie zmalało, a do tego kompas miałby gniazdo ładowania kompatybilne z większością smartfonów.
  • #6
    omron
    Level 17  
    Z całym szacunkiem dla autora... kompas na baterię + ładowarka - zestaw na cyfrową, bezludną, dużą wyspę - gdzie palmy mają w korzeniu gniazdo USB... inaczej do szałasu nie trafi... wybacz proszę ironię - ale są na tym świecie rzeczy, o których powinno się wiedzieć bez baterii ... miłego !
  • #7
    fotomh-s
    Level 22  
    Skala od -180 do 180? Każdy szanujący się kompas posiada skalę od 0 do 359, do tego często jest jeszcze skala w miliradianach.

    Taki wymysł pacyfisty żeby stworzyć skalę bardzo niepraktyczną na wojnie ;-)
  • #8
    maciej_333
    Level 35  
    ghost666 wrote:
    maciej_333 wrote:
    Szkoda, że ta konstrukcja nie została "skażona" choćby jednym kondensatorem odsprzęgającym...


    Na ogół są w poszczególnych modułach, więc tylko mikrokontroler nie ma...

    Nadal nie jest to zgodne z zasadą stosowania kondensatorów tego rodzaju.
  • #9
    acctr
    Level 17  
    Montaż może nie najwyższej jakości, ale efekt końcowy wygląda całkiem sympatycznie. Attiny ładnie się wyrabia ze wszystkim co widać na wyświetlaczu.
    Do symboli NESW można dodać strzałkę, ciekawe jak się wyrobi z taką animacją. W sumie, strzałka kierunku to oczywista sprawa, czyżby biblioteka tego ne udostępniała?
  • #10
    gemiel
    Level 23  
    Obudowa przypomina mi stary dowcip o facecie, który wrzucał do wody kwadratowe płyty chodnikowe i dziwił się, że na wodzie powstają kółka.
    Wszystkie elementy są tutaj prostokątne, a obudowa okrągła. Jeśli miało to przybliżyć wygląd urządzenia do klasycznego kompasu, można było kupić okrągły wyświetlacz. Ostatnio jest ich bardzo dużo. Wystarczy wpisać w wyszukiwarkę "OLED circular (round) display".
  • #11
    eDZio
    Level 16  
    Poważnie wyzwaniem było zmieszczenie się w 8kB? Przecież pisząc normalnie coś takiego zostałoby jeszcze sporo miejsca.
  • #12
    maciej_333
    Level 35  
    eDZio wrote:
    Poważnie wyzwaniem było zmieszczenie się w 8kB? Przecież pisząc normalnie coś takiego zostałoby jeszcze sporo miejsca.

    Przecież autor zastosował Arduino. Tam nawet prosty kod zajmuje wiele pamięci.

    Na marginesie chciałbym zapytać po co pisać o takich projektach? Przecież rozwiązanie to zawiera błędy. Wyraźnie też widać, że autor nie bardzo ma pojęcie co robi. Czy nie lepiej prezentować coś nawet prostego, ale z czym wiąże się prawidłowe rozwiązanie jakiegoś problemu? Przecież ktoś może pomyśleć, że tak właśnie należy wykonywać urządzenia.
  • #13
    OPservator
    Level 29  
    Niby fajnie, ale po co? Każdy smartfon ma dzisiaj kompas, są jeszcze ludzie, którzy go nie mają? Chyba wolałbym kieszonkowy kompas analogowy, rozmiar podobny, a mam pewność jego działania...
  • #14
    yego666
    PLD specialist
    Jako wprawka do późniejszych poważnych projektów można to uznać za umiarkowany sukces bo działa.
    Estetyka elektronicznego montażu jak na skrajnego amatora też ujdzie, a nawet użycie środowiska Arduino można wybaczyć w myśl zasady że cel uświęca środki, jednakże trudno mi pojąć właśnie ten cel.
    Analogowe kompasy nie wymagają zasilania ani programowania i się nie psują a do tego są poręczne i zwykle wodoodporne, więc pytanie "Po co?" pozostaje otwarte.
  • #15
    rafels
    Level 24  
    Dla realizacji pasji. Dla przyjemności tworzenia. Dla rozwoju umiejętności. Dla zabawy. Czy tylko zaawansowane i super dopracowane konstrukcje można tu prezentować?
  • #16
    Grzegorz740
    Level 34  
    Jeśli chodzi o projekt to powiem tak, fajny gadżet.

    Jedynie co mi się nie spodobało to zastosowanie mikroprocesora w wersji THT. Mozna było zastosować mikroprocesor w wersji SMD lutując go do małej płytki PCB . O wiele ładniej i bardziej profesjonalnie by wyglądało a nie tak jak na przedstawionym zdjęciu. Takie jest moje zdanie.