Wielozadaniowa, programowalna maszyna 2D/3D do zadań precyzyjnych

Autor projektu: Bartosz Butler (II rok fizyki gier komputerowych i robotów).

Skrócony opis projektu:

Podstawowym celem projektu jest budowa kompaktowej maszyny mechaniczno-elektronicznej o szerokim zastosowaniu. Maszyna ta ma umożliwić precyzyjne sterowanie podłączonymi akcesoriami – mazak, frez, laser aby naśladować, np. ręczne pismo człowieka, wykonywać precyzyjny rysunek techniczny, ale także ciąć w miękkich materiałach typu pleksi, sklejka. Dostępne są komercyjne urządzenia realizujące powyższe zadania (maszyny CNC), jednak tutaj zakłada się zbudować maszynę od podstaw i połączyć wszystkie wymienione funkcjonalności w jedną. Takie podejście pozwoli na rozwijanie umiejętności projektowania i programowania maszyn/robotów w większym stopniu niż dotychczas (wykreślone rzeczy to wynik zmniejszonego finansowania).

Budowa maszyny wymaga solidnej konstrukcji mechanicznej (Wydział Fizyki udostępnił zestawu MakerBeam), należy dokupić precyzyjny zestaw napędowy (silniki krokowe, śruba trapezowa, prowadnice liniowe), elementy elektroniczne, a także elementy niestandardowe – zaprojektowane i wydrukowanych w 3D. Maszyna będzie sterowana z poziomu mikrokontrolera na platformdie Arduino.

Cel:

Zakłada się prezentację maszyny w celach promocyjnych Wydziału Fizyki oraz Uniwersytetu jako całości – podczas imprez organizowanych na Wydziale Fizyki (Marcowe Dni Nauki, Podlaski Festiwal Nauki i Sztuki, zaproszone wykłady) oraz podczas udziału w targach edukacyjnych (imprezy wyjazdowe organizowane przez Dział Promocji UwB). Nauka projektowania, programowania i opieki nad całością projektu to indywidualny cel Autora.

Prezentacja (praca maszyny):

Etapy:

  • 28.10.2021 – lekki tuning: sprężynki
  • 23.01.2020 – rozbudowa: pismo odręczne!
  • 15.01.2020 – prezentacja podczas XV Targów Edukacyjnych w 2LO w Białymstoku
  • 23.12.2019 – 100% completed!!
  • 16.12.2019 – 93% completed… LCD Nokia (moduły)
  • 9.12.2019 – 90% completed… LCD Nokia
  • 2.12.2019 – 98.5% completed… motylek (docisk pisaka)
  • 25.11.2019 – 98% completed…
  • 18.11.2019 – 97% completed…
  • 05.11.2019 – pełnoletność 😉
  • 27.10.2019 – OLED, enkoder…
  • 25.10.2019 – prezentacja w Mechaniaku
  • 21.10.2019 – software, hardware
  • 14.10.2019 – software
  • 07.10.2019 – panel boczny
  • 01.10.2019 – nowe wózki! akceleracja!
  • 26.09.2019 – nowe wózki! akceleracja!
  • 17.09.2019 – małe kroczki i nowe wózki
  • 10.09.2019 – planowanie niezbędnych zakupów
  • 09.09.2019 – pierwsza prezentacja projektu – Salon Maturzystów PERSPEKTYWY 2019
  • 27.08.2019 – soft: pliki GRAPH CREATORA!
  • 20.08.2019 – soft: wydruki z GRAPH CREATORA!
  • 13.08.2019 – soft (linie ukośne OK)
  • 30.07.2019 – krańcówki (ok) i linie ukośne (fail)
  • 23.07.2019 – GRAPH CREATOR (processing)
  • 04.07.2019 – konstrukcja i BBcode
  • 02.07.2019 – trzymak 
  • 27.06.2019 – BBcode
  • 14.06.2019 – wózki i rama
  • 05.06.2019 – zakupy
  • 24.05.2019 – rama, wózki
  • 30.04.2019 – Maker Beam
  • 28.03.2019 – Parlament Studencki: kasa!
  • 26.03.2019 – Parlament Studencki: prezentacja

Etapy (szczegółowo):

28.10.2021 – lekki tuning: sprężynki

Maszyna stała w pudle parę miesięcy i nic nie robiła… Z powodów COVID-a nie była wykorzystywana na prezentacje… Aż tu nagle trzeba było ją zaprezentować! No i klops – mechanizm podnoszenia/opuszczania pisaka zawiódł. Dociskaniem pisaka do podłoża zajmowały się gumki recepturki, a podnoszeniem – mikro serwo. Nie ma problemu z podnoszeniem, jednak z dociskaniem już tak – po kilkumiesięcznej przerwie gumki sparciały i nie chciały już pełnić swojej roli, czyli maszyna nie rysowała (znaczy rysowała „wybiórczo”). Ale wystarczył jeden dzień, aby Pan Bartek zmienił mechanizm z gumek recepturek na sprężynki. Wydaje się, że to rozwiązanie będzie trwalsze!

Tuning – nowy mechanizm ze sprężynkami.

23.01.2020 – rozbudowa: pismo odręczne

Pan Bartek nie próżnuje i ulega moim sugestiom: zmodyfikował GRAPH CREATORA i dodał funkcję automatycznego próbkowania. W ten oto sposób można pisać odręcznie i  rysować całkiem naturalne rysunki!

Dodatkowo: pojawiła się opcja cofnij (undo) znana z wielu programów. Mała rzecz, ale jak przydatna! Brawo!

15.01.2020 – prezentacja podczas XV Targów Edukacyjnych w 2LO w Białymstoku

23.12.2019 – 100% completed!

Wszem i wobec ogłaszamy, że maszyna ukończona! Duży, wyraźny ekranik Nokii zastąpił malutkiego OLEDa. Nie ma bezmyślnej plątaniny przewodów wewnątrz obudowy – a to za sprawą mini-modułów. Wszystko sprawdzone i działa!

Doszła jeszcze modyfikacja softu: poprzenio, po wybraniu zapisanych obrazków można było wybrać jeden z 5 (6?) plików. Brak opcji przewijania dostępnych plików z karty SD był dotkliwy… Dlatego przy okazji zakończenia projektu Autor rozbudował menu o możliwość przewijania i wyboru dowolnego z zapisanych plików. Brawo.

16.12.2019 – 93% completed… LCD Nokia (moduły)

Są już przygotowane moduły połączeniowe Nokii z Arduino Mega: niebawe wszystko zostanie oprogramowane (co nie jest tak hop-siup).

9.12.2019 – 90% completed… LCD Nokia

Ekranik OLED jest fajny, ale ma jedną wadę – jest bardzo mały! Dochodzi do tego, że gdy maszyna stoi na burku i chce się nią operaować – to trzeba się zgiąć aby wybrać konkretną opcję z menu (ktoś tu za duży urósł? bo problem nie dotyczy hobbitów 😛 ani sokołów ;-D).

Arduino UNO z Nokią 5110 oraz konwerterem napięć, po prawej Arduino Pro Mini 3.3V z Nokią (konwerter zbyteczny).

Wymiana na stary, poczciwy ekranik z Nokii 5110 (lub modelu 3310 – bardziej popularnego w PL) trochę naprawi sprawę. Tym baridzej, że Autor projektu zna ten wyświetlacz i umie na nim różne cuda robić. Tylko że teraz, gdy prawie cały projekt jest zakońćzony to taka „wymiana” ekraniku to masakra… Wszystko było przygotowane pod wymiary OLEDa, połączenia były przez protokół I2C – a teraz ekranik większy, protokół SPI. Na dodatek Nokia działa w logice 3.3V więc przeba jeszcze zmieścić konwerter napięć 5V <–> 3.3V (bez niego zepsujemy wyświetlacz). Jak widać jest sporo roboty, ale Pan Bartek działa… Cofam stan zaawansowania projektu do 90%

2.12.2019 – 98.5% completed… motylek (docisk pisaka)

Niewielka, ale użyteczna sprawa – docisk pisaka nie wymaga już użycia śrubokręta, bo wydrukowany został „motylek” na śrubkę M3 i jest już OK.

25.11.2019 – 98% completed…

Kolejne mini-zmiany: tym razem w sofcie. Chodziło o automatyczne włączenie silników krokowych przy wyborze rysowania z karty SD… Co tu dużo mówić – projekt zakońćzony 😉

18.11.2019 – 97% completed…

Tak, tak – maszyna jest już (prawie) zakończona! Przede wszystkim działa niezależnie od komputera, który teraz pełni funkcję edytora do obrazków. Potem kopiuje się pliki na kartę SD i można już rysować bez kompa. Wszystko jest podłączone i działające (a co więcej – przewody zostały zebrane do kupy w owijkę i nie ma już bałaganu…).

Są też wydrukowane na nowo nóżki (lekko usprawnione) oraz inne elementy konstrukcyjne (także z drobnymi zmianami). Co pozostało? Oj, jak zawsze można pracować nad projektem kolejne miesiące, ale to co już jest – jest dobre. A inne projekty przyciągają Autora 😉

05.11.2019 – pełnoletność 😉

Maszyna (powoli) nabiera pełnoletności – chce być samodzielna, działać bez podłączonego komputera… bez taty i mamy, „na własnym” 😉 Oczywiście nie zrywa więzów z rodziną (czytaj: GRAPH CREATOREM) no bo kto przygotuje pliki na kracie SD w formacie BB?

Niebawem zakończenie projektu – wszystko jest już na „ostatniej prostej”.

27.10.2019 – OLED, enkoder…

Coraz bliżej „oderwania” maszyny od laptopa i pracy z zapisanymi projektami na karcie SD. Niby wszystko proste – są biblioteki do wyświetlacza, do enkodera…

Jednak pojawiła się (przykra) niespodzianka – chcąc obsłużyć przycisk w enkoderze (przerwaniami) trafiamy na kłopoty z samym enkoderem. Trzeba było napisać własną obsługę enkodera (oczywiście bazując na świetnym wzorcu – bibliotece Encoder by Paula Stroffregen (PJRC)). Ale udało się i niebawem wszystko zostanie połączone z maszyną i nowymi wydrukami.

25.10.2019 – prezentacja w Mechaniaku

Prezentacja maszyny podczas Tygodnia Kariery w białostockim Mechaniaku. Hasło w tym roku to „Pasja, profesja, powołanie” – jak najbardziej pasuje do Autora projektu – pana Bartka.


21.10.2019 – software, hardware

Trwają prace nad użyciem karty SD, ekranu OLED oraz enkodera w maszynie… Przygotowywane są panele do zabudowy w konstrukcji maszyny (patrz: panel boczny).

Obsługa enkodera odbywa się przez bibliotekę Encoder autorstwa Paula Stoffregena. Jest wiele innych bibliotek, ale ta wydaje się być bardzo skuteczna – obsługuje eknodery na jednym przerwaniu, na dwóch – lub nawet bez ich udziału, a sprzęt działa bardzo dobrze. Instalujemy ją z menu Zarządzanie bibliotekami lub z linku.

14.10.2019 – software

Trwają prace nad zmianami w kodzie: zarówno w GRAPH CREATORZE jak i w samym oprogramowaniu maszyny (akceleracja).

Udało się zrobić (w domu, bo na zajęciach panuje ostatnio jakiś chaos):

  • dodatnie dodatkowego kroku po wygenerowaniu ścieżek (zapis bcode’u do pliku lub wysłanie bezpośrednio do maszyny)
  • informacje o połączeniu z maszyną w panelu do sterowania
  • automatyczne wykrywanie i łączenie z maszyną
  • delikatne zmiany wyglądu

Dodatkowo: przyszła paczucha z filamentem do drukarki (700g + 200g + 200g) – będzie można dalej tworzyć obudowę w oryginalnym, pomarańczowym kolorze 😉 Dziękujemy naszemu sponsorowi – Dziekanowi Wydziału Fizyki.

07.10.2019 – panel boczny

Ruszyły prace w kierunku uniezależnienia maszyny od podłączenia do PC – oczywiście GRAPH CREATOR pozostaje w rozwoju i ciągle będzie integralną częścią projektu PM2D3D. Teraz chodzi o możliwość przygotowania rysunku na PC, zapisania go na karte SD a potem (już bez PC-ta) wielokrotnie rysowanie z maszyny odczytującej tą kartę SD.

Jak widać juz przygotowany jest „szkielet” pudełka (projekt i druk Pan Bartek), a wolne przestrzenie zostaną wypełnione przezroczystą pleksi. Będzie miejsce na czytnik kart SD, enkoder do sterowania menu (aby można było wybierać konkretne pliki do rysowania, albo demo fraktala drzewa), a przy okazji zrobi się porządek z przewodami. A do tego wszystkiego ciągle trwają prace nad akceleracją ruchu głowicy maszyny…

01.10.2019 – nowe wózki! akceleracja!

Precyzyjny wydruk – proszę zwrócić uwagę, że rysujemy obrazek na już narysowanym obrazku i nie widać „podwójnych linii”. Dowodzi to, że osiągnięto dokładność równą grubości długopisu. Brawo dla Pana Bartka!

Kwestia akceleracji ciągle w toku…

26.09.2019 – nowe wózki! akceleracja!

Pan Bartek napracował się przy nowych wózkach – przemyślana konstrukcja, projekt 3D a potem wydruk. No i mamy konkretny wynik! Nie tylko wizualny, ale i jakościowy – dzięki nim maszyna jest niższa, a także pracuje stabilniej!



Uważny obserwator bloga zauważy też, że RAMA ma krótsze nóżki ? To też pozytywnie wpływa na stabilność pisaka. A poniżej filmik z rysowaniem ulubionego logo 😉

Co ciekawsze, powtórzenie wydruku (z tego samego punktu startowego) idzie idealnie po linii – nie widać różnic na grubości długopisu – precyzyjna maszyna jest na prawdę PRECYZYJNA!

Akceleracja

Chodzi o zmianę prędkości głowicy – na prostych odcinkach opłaca się iść szybko, natomiast zawijasy, zakrętasy powinny być wykonane staranniej – czyli wolniej. Jest już sporo w tym temacie, choć prace trwają. Oglądając poniższy filmik warto włączyć głośniczki – dźwięki wydawane przez silniki krokowe są „mega” 😉

Planujemy odsprzedać efekty dźwiękowe z silników do kolejnych części Gwiezdnych wojen 😀

17.09.2019 – małe kroczki, nowe wózki

Przełączenie sterowników silników krokowych na 1/16 kroku (poprzednio: 1/8 kroku) poskutkowało lekko wolniejszą, cichszą pracą – ale za to dokładniejszą (mniej „chwiejnych” linii). Poniżej fajny wydruk:

Sprawa „chwiejnych” linii nie jest do końca rozwiązana – po części wynika z luzów konstrukcji, po części ze zbyt dużej prędkości rysowania zakrzywionych linii. Dlatego Pan Bartek pracuje nad zmianą ramy – wózki z profili Makerbeama chce zastąpić wydrukami z 3D, które (oczywiście) sam zaprojektował.

Trwają więc prace nad udoskonalaniem ramy maszyny – w końcu ma być precyzyjna „do bólu” 😀 Najbliższe plany to też uniezależnienie maszyny od podłączenia do PC-ta – trzeba przygotować maszynę do odczytu BBcodu z karty SD. Należy więc dodać wyświetlacz, jakieś pokrętło i przyciski – zrobić mini-interfejs do obsługi  plików z BBcodem. Dodatkowo w głowie jest też akceleracja ruchu głowicy maszyny – linie proste powinny być rysowane z większą prędkością, natomiast zakręty – z mniejszą. Wpłynie to na polepszenie jakości wydruków. Jak widać jest nad czym pracować! 😉

10.09.2019 – planowanie zakupów

To także element każdego projektu – ktoś te zakupy musi zaplanować, wyszukać w internecie i wybrać tak, aby za przesyłkę nie płacić sto razy. Tym „ktosiem” jest Autor projektu. W przypadku jednego czy dwóch elementów to idzie szybko, ale gdy się kupuje „drobnicę” – godzina mija za godziną… Taka oto ciemna strona liderowania…

09.09.2019 – pierwsza prezentacja projektu – Salon Maturzystów PERSPEKTYWY 2019

Salon Maturzystów to cykliczna impreza organizowana przez Perspektywy. Projekt choć nie ukończony w 100% to i tak nadawał się na prezentację – wielu się spodobał! OK, niektórzy przeszli niewzruszeni, ale i tak bywa 😉
Więcej zdjęć i relacji tutaj.

27.08.2019 – soft: pliki z GRAPH CREATORA!

Program rozbudowany został o możliwość zapisywania obrazów do plików (tekstowych). Jednak problemem pozostaje uchwyt pisaka – lekko się chwieje – jest niestabilny, szczególnie przy kreśleniu krzywych o dużej zmienie kierunku (np. o 90 stopni). O ile rysowanie koła wychodzi całkiem nieźle, to na powyższym rysunku doszukaliśmy się kilku różnic… Do ponownego zaprojektowania pozostaje więc głowica maszyny, z lepszym chwytakiem.

Niby prosta sprawa – okienko „zapisz rysunek” przy wychodzeniu z programu. Nie chcemy utracić tworzonej grafiki, więc musi sie pojawić dialog o zapisie/odrzeceniu tworzonej pracy. Nie wystarczyło nadpisać funkcji exit() w processingu…

O rozwiązaniu tego problemu przeczytaj tutaj (osobny wpis).

Przy okazji wydrukowaliśmy nowe sprężynki – tym razem o grubości 3mm i 4mm. Poprzednia – 2mm – okazała się za słaba, „skurczyła” się i ledwo pracowała. Nowe, grubsze powinny być lepsze (okaże się z czasem). Na razie testujemy tą 3mm….


Pierwsza z lewej – „stara”, 2mm sprężynka. Obok wersja 3mm.

20.08.2019 – soft: wydruki z GRAPH CREATORA!

Po naprawie pomniejszych błędów w kodzie… bo niby kto się nie myli? ważne, że zdiagnozowane i naprawione!

13.08.2019 – soft (linie ukośne OK)

Nastąpiła modyfikacja konstrukcji ramy: pierwotne mocowanie silników krokowych z jednej strony powodowało łatwe wywrócenie maszyny na bok – ze względu na brak równego rozłożenia ciężarów na ramie. Dlatego silniki zostały przeniesione z jednej strony na przeciwne, aby zrónoważyć całą konstrukcję – trochę to pomaga, choć pozostaje jeszcze kwestia dodania przeciwwagi z przodu ramy. Dodatkowy ciężarek będzie pewnie w niedalekiej przyszłości, gdy powstanie panel do sterowania.

Są też anty-poślizgowe nóżki do ramy, z dodatkowymi „dociskaczami” kartki A4 (wydrukowane w 3D). W planach jest jeszcze nowa sprężynka, bo ta niedługo skończy swój żywot…

Jak wspomniano, najwięcej zmian Pan Bartek wykonał w sofcie i… POPRANIE rysowane są już LINIE UKOŚNE! Zastosowany algorytm Bresenhama  wykorzystuje w tym celu operacje WYŁĄCZNIE na linczbach całkowitych, przez co jest zdecydowanie szybszy od wersji na liczbach rzeczywistych. O różnicy w szykości można przekonać się na własnych oczach i USZACH – gdyż w przypadku liczb rzeczywistych oba silniki wykonują kroki w różnych odstępach, powdując częste zatrzymania danego silnika i nierówną jego pracę – co także słychać! W wersji z liczbami całkowitymi silniki pracują „równo” i nie ma męczącego piszczenia. W planach jest wzbogacenie algorytmu o akcelerację – zmienę szybkości poruszania głowicą maszyny tak, aby przyspieszala na początku drogi do ustalonego punktu a dopiero na koniec zwalniała.

Maszyna sterowana jest kodami BBcode, które można wysyłać bezpośrednio przez terminal do Arduino lub z poziomy GRAPH CREATORA. Za pomocą tego graficznego narzędzia można już rysować pierwsze obrazy! Aktualnie obsługiwane są komendy:

  //Bcommand Xvalue Yvalue Evalue (command + arguments x, y and extra)
  //--------------commands table---------------
  // B10 - set origin (ustaw punkt startowy)
  // B11 - home
  // B12 - print position
  // B13 - test endstops
  // B14 - enable/disable steppers (chyba wymaga rozdzielenia na dwie oddzielne komendy)
  // B15 E - set MSDELAY to Evalue (czas pomiędzy krokami)
  // B20 X Y - move to x/y pos (pierwsza, niepłynna wersja ruchu po skosie)
  // B21 X Y - bresenham's move (ruch po liniach z algorytmu)
  // B30 - pen up
  // B31 - pen down
  //-------------------------------------------- 

Zestaw komend powoli się rozbudowuje, niektóre niebawem znikną (np B20). Pozostaje wyskalowanie obszaru GRAPH CREATORA do rozmiaru kartki A4 (konfiguracja zapisana w pamięci EEPROM mikrokontrolera?) i posługiwanie się innymi jednostkami niż kroki silnika – naturalny wybór to milimetry (czyli B21 X Y, gdzie X i Y będą podawane w mm). 

30.07.2019 – krańcówki (ok) i linie ukośne (fail)

Zamontowano już krańcówki – przydał się kolejny wydruk elementu mocującego. Co więcej, po podłączeniu krańcówki działają!


Skoro krańcówki są i działają – to należy je oprogramować. Drogi są (co najmniej) dwie: 

  • w programie realizującym poruszanie silnikami sprawdzamy, co się dzieje z krańcówkami – i w razie czego zatrzymujemy konkretny silnik, lub
  • inicjalizujemy przerwania, które robią to automatycznie.

Jednak zanim doszło do tego to… pojawiły się problemy z rysowaniem linii po skosie. Przygotowany przez Pana Bartka kod miał działać – jednak okazało się, że ma wady. Wiadomo – ten się nie myli, kto nic nie robi ? Dlatego trwają prace nad naprawieniem tej części softwearu.

23.07.2019 – GRAPH CREATOR (processing)

Prace nabierają tempa – Pan Bartek stworzył GRAPH CREATOR – czyli program graficzny do rysowania ścieżek myszką! Te ścierzki będą następnie zamieniane na BBcode i wykonywane przez Precyzyjną Maszynę.

Jak działa ten program? Na początku wczytujemy obrazek referencyjny (przycisk Load image), który możemy powiększać (przycisk + oraz -), a także obracać (przyciski < oraz >). Mając już obraz referencyjny przechodzimy do trybu edycji (przycisk mode: Edit) , klikamy myszką i stawiamy punkt w konretnym miejscu, potem kolejny punkt i tak dalej. Wszystko jest już dobrze dopracowane – łączenie punktów odbywa się albo automatycznie, albo po wybraniu F z klawiatury – kto zna Blendera, to wie skąd akurat taki a nie inny skrót 😉 Można też przesuwać postawione punkty, zaznaczać je „boxem” (prawy klawisz myszy) i łączyć, i kasować, i cuda wianki… dużeo tego! Na koniec klikamy przycisk Path i otrzymujemy komendy w BBcodzie gotowe do wpisania do maszyny!

Należy zauważyć, że Pan Bartek nie skorzystał z gotowych bibliotek GUI pod processinga – zdecydował się wsyzstko napisać samodzielnie, od zera! Mądrze przemyślane klasy obiektów to kolejny atut GRAPH CREATORA (a inne to: funkcjonalność, graficzny wygląd – przyciski z zaokrągleniami, przyjemna kolorystyka).

Dodatkowo został zmieniony chwytak – aby był stabilniejszy (co było ostatnio problemem).

Okazuje się, że nowa konstrukcja działa zgodnie z oczekiwaniami – nic się nie chwieje, a linie są idealnie proste (no i pisak wraca do punktu startowego!). 

Powżej wydruk jeszcze linii komend BBcoda (a nie z GRAPH CREATORa) – już niebawem nastąpi modyfikacja BBcodu aby działał w połączeniu z GRAPH CREATORem i Arduino Mega.

04.07.2019 – konstrukcja i BBcode

Jednak ciągle trzeba zmieniać konstrukcję ramy – elementy trzymające pisak nie są wystarczająco sztywne – nawet ołówek się chwieje. Dodatkowe łożyska nie rozwiązały sprawy. Problem polega na dużej długości samego mechanizmu mocowania pisaka. Trzeba go skrócić, a w ten sposób poprawi się sztywność trzymaka. Element rysujący musi byc bliżej stołu – dlatego skrócimy też stelaż (nogi maszyny). Szykuje się więc większa przebudowa ramy…

W międzyczasie BBcode zyskuje nowe funkcje – do kalibracji prądu na sterownikach silników (testx, testy), oraz do rysowania kwadracika 😉 Wszystko fajnie działa!

02.07.2019 – trzymak (=chwytak)

Chwytak do ołówka/mazaka zaprojektowany, wydrukowany w 3D i zamontowany! Działa z serwomechanizmem a kod BBcode obsługuje nowe instrukcje (up, down).


Dodatkowo- nie tylko chwytak został wydrukowany, ale i mechanizm naciągu pasków:

Oraz mały drobiazg – prowadnica do paska, zabezpieczająca przed spadnięcia paska z ośki:

Wszystko projektował i drukował samodzielnie Pan Bartek – gratulacje! Oczywiście nie da się tak od razu, za pierwszym razem stworzyć najlepszego rozwiązania, więc poniżej zdjęcie kilku wcześniejszych wydruków 3D – „nietrafionych” rozwiązań. Jednak to właśnie one przyczyniły się do ostatecznego sukcesu – nie ma więc co narzekać!

A sprężynki w jakim celu? Otóż serwomechanizm opuszcza pisak, a następnie maszyna porusza się i rysuje kształty. W przypadku jakiejś nierówności warto dać możliwość lekkiego oderwania pisaka znad powierzchni kartki – bez regulacji serwosilniczkiem. To zadanie właśnie dla prężyknki – dociskanie do stołu 😉 Trzeba było zaprojektować (i przetestować!) kilka wariantów sprężynek…

No i kolejny (próbny) precyzyjny rysunek:

Można zauważyć, że o ile chwytak dobrze spełnia swoją rolę, to sama konstrukcja trzymania chwytaka i ołówka jest za mało stabilna – ma „luzy”. Będzie trzeba lekko zmodyfikowac konstrukcję tak, aby pozbyc się tych „luzów”.

27.06.2019 – BBcode

Mamy odpowiednie paski, więc maszyna chodzi już bardzo precyzyjnie. W końcu kwadrat jest kwadratem 😉

Jest pomysł sterowania maszyną z poziomu interfejsu graficznego processinga – ale aby to zrobić, trzeba jakoś się komunikować się: PC z Arduino. Właśnie tworzy się protokół sterujący BBcode (od inicjałów Autora). Na razie obsługiwana jest jedne polecenie: rusz się o (x,y) kroków w kierunku x i y. W tym celu wykorzystana została klasa String z Arduino. Poniżej jak to działa (jeszcze bez processinga):

W planach rozbudowa protokołu o kolejne instrukcje: „pisak-up”, „pisak-down”, a może nawet „powtarzaj X-razy” (zobaczy się). Odczytaniem położenia zajmuje się poniższy kod:

  if(Serial.available()){
    String ss = Serial.readStringUntil('\n');
    int x_pos = ss.indexOf('x');
    int sp_pos = ss.indexOf(' ');
    int y_pos = ss.indexOf('y');
    String sx, sy;
    if(x_pos != -1)
      sx = ss.substring(x_pos+1, sp_pos);
    else
      sx = "x not found";
    if(y_pos != -1)
      sy = ss.substring(y_pos+1);
    else
      sy = "y not found";
    Serial.println(sx.toInt());
    Serial.println(sy.toInt());
    move_x(sx.toInt());
    move_y(sy.toInt());
    }

Obsługiwane są komendy z parą x i y, ale także tylko x czy tylko y. Wartości ujemne oznaczają ruch w przeciwnym kierunku. 

Do wykonania jest mechanizm trzymania, podnoszenia i opuszczania pisaka (zmiany kolorów – na zasadzie „rewolwera” – kto wie, kto wie…). Jest także pomysł wykorzystujący druk 3D i „sprężynkę”, ale o tym będzie potem. Prace trwają…

14.06.2019 – wózki i rama

(chyba już) finalna konstrukcja – rama. Silniki podłączone. Motor shield zaprogramowane – wszystko jest już więc w fazie (pierwszych) testów.

Pierwszy PRECYZYJNY wydruk:

(warto mieć go tu w galerii, dla porównania z ostateczną wersją maszyny + softu).

05.06.2019 zakupy

Zakupy:

  • mamy shield CNC do steroników krokowych
  • mamy same sterowniki (A4988)
  • oczywiście silniki krokowe: u nas są to NEMA17 – KS42STH40-1204A – 4kg/cm – 1,68A – 40mm
  • oraz kilka serwomechanizmów (MG-90S),
  • zębatki GT2 (20 zębów, 5mm)
  • Zakupiliśmy też drobiazgi do rozbudowy naszego zestawu Maker Beama:

Te niepozorne maluchy – kostki „łączniki” są super użyteczne!

24.05.2019 – rama, wózki

Pierwsza konstrukcja ramy z wózkami.

Dla podkreślenia ważności samych wózków przedstawiamy kolejne zdjęcie – wózki świecą fluoroscencyjnie 😀


A poniżej portrecik wózka:

30.04.2019 – Maker Beam

Rama – nie musimy się bawić w metalowe pręty i wydruki 3D je spajające. Wykorzystujemy zestaw Maker Beam znajdujący się na wyposażeniu Wydziału Fizyki i udostępniony w celu realizacji tego zacnego projektu! Dziękujemy Wydziałowi za wsparcie!


Zestaw Maker Beam rozwiązuje wiele problemów – konstrukcja jest stabilna i trzyma kąty. Można łączyć elementy na wiele sposobów. Trzeba „tylko” wymyśleć co i jak połączyć. Jest to proste w przypadku samej ramy maszyny, ale nie jest to oczywiste w przypadku zestawu napędowego – wózków. Nie może on mieć „luzów” i musi być precyzyjny.

Pierowtnie przewidziany system prowadnic liniowych z wózkami  odpada – finanse nie pozwalają (zostały okrojone). W związku z tym trzeba było wymysleć inne rozwiązania, bazując na posiadanych komponentach. Powyżej pierwsze (właściwie drugie czy nawet trzecie) próby z wózkami: który najlepszy?

28.03.2019 – Parlament Studencki: kasa

Uzyskanie finansowania od Parlamentu Studentów UwB. Wnioskowana kwota: 2100 zł, przyznana: 700 zł.

Co oznacza zmniejszenie finansowania? Ograniczy to funkcjonalność maszyny (nie idziemy w kierunku maszyny CNC, grawera czy plotera płytek PCB) ale kontynuujemy projekt – precyzyjny rysunek to pierwszy krok do zrealizowania. Będzie trzeba też coś kombinować z samą ramą maszyny, bo nie możemy sobie pozwolić na kupno planowanego zestawu Maker Beam (zbyt drogi), czy też rezygnujemy z systemu prowadnic liniowych. Czy się poddajemy? Nieee… Zainwestujemy w stalowe pręty, połączymy wydrukiem 3D i prototyp powstanie 😉 A może kiedyś znajdą się fundusze to wrócimy do pierwotnej funkcjonalności i solidniejszej konstrukcji ramy. Samorządowi Studenckiemu UwB dziękujemy za finansowanie!

26.03.2019 – Parlament Studencki: prezentacja

Prezentacja projektu przed Parlamentem Studentów UwB.