Autor projektu od lat tworzy maszyny CNC i podobne urządzenia własnej konstrukcji. Jego projekty oparte są na długoletnim doświadczeniu oraz służą do opracowywania kolejnych urządzeń. V plotter jest jedną z nowszych maszyn i wykorzystuje komputer Raspberry Pi. Ponadto, całość, choć ma względnie nieduże wymiary, pozwala na rysowanie na teoretycznie dowolnie dużych powierzchniach. Wynika to z faktu, że głowica plotera wisi na dwóch linkach i rysuje po kartkach umieszczonych pionowo, na tablicy ze sklejki lub drewna. Wygląd tego nietypowego urządzenia pokazano na fotografii otwierającej artykuł.
Elektryka i mechanika
Od strony elektrycznej, V plotter składa się z jednego Raspberry Pi, dwóch silników krokowych oraz sterujących nimi dwóch podwójnych modułów z mostkiem H, a także z dodatkowego, małego serwonapędu, sterowanego bezpośrednio z GPIO komputerka.
Silniki krokowe są przymocowane do kół zębatych, które służą jako przekładnie. Koła przytwierdzone są do tablicy z użyciem łożysk kulkowych. Wewnętrzny pierścień łożyska nie obraca się i sztywno trzyma tablicy. Zewnętrzny jest przyklejony do koła zębatego i obraca się razem z nim. Na zewnętrzny pierścień łożyska jednego koła zębatego przy prawym silniku i odpowiadającego mu łożyska koła przy lewym silniku nawinięte są linki. Drugi koniec linek jest przymocowany do głowicy drukującej. Głowica zawiera pisak oraz lekki serwonapęd, podłączony luźno zwisającym przewodem do GPIO Raspberry Pi. Pisak jest zamontowany za pomocą uchwytu, do metalowej, perforowanej blaszki. Blaszka przyczepiona jest w jednym punkcie do akrylowej płytki. Miniaturowy serwonapęd jest zamontowany również na blaszce, ale w taki sposób, by jego ruch powodował wyginanie się metalu i odchylanie pisaka od akrylowej płytki. Otwór w płytce sprawia, że jeśli pisak jest do niej przysunięty, w praktyce dotyka końcówką kartki i może po niej rysować. Wygięcie serwonapędem blaszki odsuwa pisak od kartki, co pozwala na przesuwanie głowicy po papierze bez pozostawiania śladu.
Kluczowe było użycie odpowiednio małego serwonapędu, by nie uczynić głowicy zbyt ciężką. Ważne jest też by sensownie poprowadzić przewody, tak by nie plątały się. Użycie płytki akrylowej pozwala też stabilniej trzymać pisak względem kartki. Dzięki niej pisak nie obraca się w żadnej płaszczyźnie, ani nie buja – tarcie kartki o płytkę szybko tłumi taki ruch.
Sam komputer jest umieszczony w górnej części plotera i przymocowany do tablicy, mniej więcej na wysokości silników krokowych. Moduły mostków umieszczone są pomiędzy Raspberry Pi a silnikami. Nawijanie i rozwijanie linek za pomocą silników powoduje ruch głowicy względem kartki. Wykorzystywana jest przy tym grawitacja – Równomierne i równoczesne rozwijanie linek powoduje opuszczanie głowicy pionowo w dół, a ich nawijanie – ruch do góry. Jeśli rozwijana jest tylko jedna linka, głowica opuszcza się po łuku okręgu o promieniu równym aktualnej długości drugiej linki i środki w punkcie drugiej osi. Oczywiście, osie kół na które nawijane są linki muszą znajdować się na skrajach kartki, gdyż ograniczają obszar wydruku od lewej i prawej.
Matematyka
Obliczenie tego, jak przekłada się pozycja silników na pozycję pisaka wymaga zastosowania wielu obliczeń matematycznych. Po pierwsze, należy obliczyć, jak przekłada się długość rozwiniętych linek na pozycję względem kartki. Sumaryczna długość rozwiniętych linek nie może być mniejsza od odległości pomiędzy osiami kół, na których linki są nawijane. Jeśli długości rozwiniętych linek są sobie równe, głowica jest umieszczona po środku, pomiędzy osiami, a pozycja w pionie zależy od sumarycznej długości rozwiniętych linek.
Budując samodzielnie ploter tego typu trzeba dokładnie określić odległość pomiędzy serwonapędami (a dokładniej, pomiędzy punktami, z których wyprowadzone są linki – warto je precyzyjnie ustalić, np. poprzez użycie dodatkowych, małych, metalowych oczek). Autor stworzył oprogramowanie w taki sposób, że po zamontowaniu plotera ustala się punkt startowy głowicy, będący lewym, górnym rogiem zadrukowywanej kartki. Współrzędne tego punktu, wyrażone w milimetrach, wraz z odległością pomiędzy punktami wyprowadzeń linek, należy podać jako parametry programu. Konieczne jest też sprawdzenie, jak przy zastosowanych kołach zębatych i silnikach krokowych, jeden krok przekłada się na ruch głowicy. W tym celu użytkownik musi najpierw zmierzyć odległość w linii prostej głowicy w pozycji startowej od punktu wyprowadzenia jednego z silników, a następnie wykonać nim 2000 kroków. Gdy głowica osiągnie nową pozycję, następuje kolejny pomiar jej odległości od punktu wyprowadzenia linki tego silnika. Różnica w pomiędzy odległością końcową a początkowo to długość, na jaką wysuwana jest linka po 2000 krokach. Program wymaga podania ile kroków przypada na wysunięcie linki o 1 mm. Można jeszcze zastanowić się nad zależnością szybkości rozwijania linki od jej aktualnego stopnia nawinięcia – w końcu im warstwa linki na łożysku jest grubsza, tym efektywna średnica szpuli większa, a więc każdy obrót koła powoduje szybsze rozwijanie linki. W praktyce jednak, przy zastosowanych łożyskach, których zewnętrzna średnica to 30 mm, 140-centymetrowa linka nie powoduje znaczącego zwiększenia grubości szpuli nawet przy pełnym nawinięciu i można ten problem pominąć.
Umiejąc przeliczać liczbę przebytych kroków jednego i drugiego silnika na długość rozwijanej linki oraz znając aktualną pozycję głowicy, można obliczać liczby kroków potrzebne do przesunięcia głowicy do nowej pozycji. Trzeba jednak pamiętać, że tor ruchu głowicy pomiędzy dwoma punktami znajdującymi się od siebie w tej samej odległości będzie zależał od ich pozycji względem powierzchni zadrukowywanej. Przykładowo, silniki krokowe, poruszając się jednocześnie, przy równo wysuniętych linkach, będą sprawiały że głowica będzie się poruszała pionowo w górę lub w dół. Natomiast jeśli początkowo linki nie będą w równym stopniu rozwinięte, każdy równocześnie wykonany krok będzie powodował przesunięcie głowicy po ukosie, pod kątem zależnym od aktualnych proporcji długości rozwiniętych linek.
Inaczej mówiąc, ploter powinien otrzymywać dokładnie obliczane pozycje punktów na rysowanych liniach, a nie tylko początek i koniec linii. Dzięki temu, tor poruszania się głowicy będzie dokładnie taki, jak potrzeba, a jednocześnie sam ruch i tak będzie płynny, gdyż szybkość sterowania silnikami krokowymi z użyciem Raspberry Pi jest wystarczająco duża.