Tym razem projekt na zamówienie. Powstał w celu usprawnienia produkcji - konkretnie programowania mikrokontrolera na płytkach po montażu SMD.
Podobnie jak w przedwzmacniaczu kluczem do sukcesu było połączenie elektroniki, mechaniki i programowania.
Urządzenie powstawało od zera, w 2021 roku. Najpierw pojawiła się koncepcja mechaniki, wiedziałem, że obudowę urządzenia wytnę na frezarce z materiału G10, użyję wałków i łożysk liniowych, a największą trudnością do zrealizowania było opuszczanie ramienia ze szpilkami programatora. No właśnie, bo jak to działa?
Na płycie programatora umieszczamy panel z płytkami. W ruchomym ramieniu jest sześć rzędów po sześć szpilek, które opuszczają się na pola kontaktowe na programowanych płytkach. W tej sposób, płytka po płytce jest programowany cały wiersz. Następnie ramię unosi się, przesuwa do kolejnego rzędu i cykl się powtarza. Całość obsługiwana jest z poprzez wyświetlacz z panelem dotykowym i dwa przyciski. Program, którym jest programowana każda płytka znajduje się na karcie SD w postaci pliku .hex Znajdują się też na niej pliki konfiguracyjne, z fuse bitami, odległościami pomiędzy wierszami płytek itp. Wyświetlacz 320 x 240 pikseli pozwala na przyjemny interfejs użytkownika (np. wyświetlanie ikonek), a całość jest intuicyjna:
Żeby urządzenie mogło programować nie tylko jeden rząd płytek potrzebne jest ruchome ramię w dwóch osiach, które będzie dociskało igły kontaktowe do pól na płytkach. O ile przesuwanie pomiędzy rzędami udało się prosto zrealizować na silniku krokowym, dwóch wałkach i łożyskach liniowych fi12, o tyle ruch góra dół był trudniejszy w realizacji. Jak łatwo policzyć dociskane jest 36 szpilek, a każda potrzebuje ok. 100 gramów do ugięcia się. Daje to ok. 3,6 kg na całe ramię. Zakres ruchu jest nieduży i wynosi ok. 8 mm. Żadne skuteczne i proste w realizacji rozwiązania nie przychodziły mi do głowy do czasu znalezienia małych siłowników elektrycznych na znanym, chińskim portalu. To był game changer i projekt od strony mechanicznej ruszył pełną parą:
W tzw. międzyczasie powstawał program dla sterownika w STM32Cube, a z Chin szły płytki: sterownika i buforów szpilek ramienia.
Oprogramowanie zostało napisane w C na STM32F401RET:
1. Obsługuje wyświetlacz ILI9341 (2,8 cala) i jego panel dotykowy
2. Odpowiada za sterowanie silnikiem krokowym poprzez DRV8825
3. Zmienia kierunek przepływu prądu przez siłowniki dla ruchów góra - dół
4. Odczytuje kartę SD, parsuje plik konfiguracyjny i wyświetla jego podgląd.
5. Generuje sekwencje potrzebne do programowania AVR (attiny13)
Na filmie tego nie widać, bo zaprogramowane zostały prawidłowo wszystkie płytki, ale w przypadku niepowodzenia wyświetlane są czerwone ikonki z kodami błędów przy odpowiadającej im płytce. Można także ponowić programowanie wybranych płytek, po usunięciu usterki (z reguły niedolutowany pin µC).
Jak to zawsze mówią, diabeł tkwi w szczegółach, dopracowanie całości trwało ok. 3,5 miesiąca. Finalnie urządzenie przeszło test bojowy na produkcji, a po 2 latach zamówione zostało kolejne, co chyba najlepiej świadczy o jego przydatności. Stąd na zdjęciach są dwa urządzenia: wersja z 2021 roku - czarna i z 2023/24 r. - biało-czerwona, taki patriotyczny akcent
W nowszej wersji zostało wprowadzonych kilka zmian, m.in:
1. Grubsza płyta przednia i tylna obudowy (3 mm zamiast 2) dla lepszej sztywności.
2. Boczne elementy ramienia wykonane z tworzywa, choć pierwowzór z G10 nie wykazywał objaw zużycia
3. Poprawiony kod, dodana akceleracja i deceleracja ramienia, ustawienie "home" ramienia robione tylko raz po włączeniu
4. Zamiast szerokiej taśmy do ramienia na zewnątrz urządzenia, schowana miniaturowa FFC wewnątrz
Zapraszam do komentowania i konstruktywnej krytyki!
Fajne? Ranking DIY

