micro:bit i sterowanie serwami – zwijarka do lin (ropewalk)

micro:bit to bardzo wdzięczna platforma. Sama płytka wyposażona jest w kilka czujników – i pozwala na niemało zabawy. Pisałem też ostatnio o zestawie Kitronik Inventor’s Kit. Adapter do złącza i kilka podstawowych elementów elektronicznych umożliwiają przeprowadzenie wielu kolejnych eksperymentów. A gdy przećwiczycie już wszystko – do micro:bit wystarczy dołożyć rozszerzenie i… kontynuować konstruowanie.

Dzisiaj bawię się rozszerzeniem servo:lite. Dokręcone do micro:bit pozwala na sterowanie dwoma (lub trzema) serwami. Ponieważ jednak unikam sztuki dla sztuki – zamiast suchego opisu użyję servo:lite do zbudowania pewnego urządzenia. A będzie to: zwijarka do linek.

Problem znany jest modelarzom szkutniczym. W zasadzie w każdym modelu trzeba dorobić kilka linek (albo cały ich komplet). Zabawę zaczyna się od zwinięcia pojedynczych żył zgodnie z ich splotem (dużo ciaśniej niż oryginał). Następnie cały zestaw żył zwijamy razem ze sobą. Na koniec pozostaje opalenie, dzięki czemu pozbywamy się włosków. Wychodzi bardzo zgrabna (i grubsza niż surowiec) linka o ładnym splocie.

Taką wielożyłową linkę można też zwinąć „ręcznie”. Niestety jest to dość pracochłonne. Dodatkowo, trudno zachować identyczne skręcenie poszczególnych żył. W rezultacie efekt nie zawsze jest zadowalający a kolejne linki nie są do siebie podobne. W sprzedaży znajdziecie też specjalne urządzenia do zwijania (ropewalk). Niestety nie są popularne, a ich koszty są niewspółmiernie wysokie. Postanowiłem takie urządzenie zrobić samemu.

Prototyp

Prototyp zwijarki powstał na bazie klocków lego-podobnych.

Właściwie to urządzenie działało całkiem sprawnie. Niestety do dyspozycji miałem tylko jeden silnik. Po zwinięciu żył musiałem je przepinać, żeby spleść linkę.

Zwijarka

Moja zwijarka składa się z dwóch niezależnych elementów:

  • przedniego – zwijającego poszczególne żyły (maksymalnie 3), z micro:bit, servo:lite (za zasilaniem) i serwa 360,
  • tylnego – zwijającego żyły w linkę, wyposażonego w serwo 360.

Elementy są niezależne i można je ustawiać w dowolnej odległości. W ten sposób mogę zwijać linki dokładnie tak długie, jakie potrzebuję. Elementy mają pogrubione podstawki służące do przymocowania ich do stołu za pomocą klamerek lub ścisków stolarskich.

Obroty serwa przedniego elementu przekładane są za pomocą zębatek na 3 osie. Osie zakończone są haczykami, o które zaczepiam poszczególne żyły.

Serwo tylnego elementu skręca linkę z żył. Jest podłączone do servo:lite umieszczonym w przednim elemencie.

Całość sterowana jest przez micro:bit z przedniego elementu.

Cały proces skręcania linek wygląda następująco:

  • Tnę kilka żył, związuję na ich końcach pętelki i zaczepiam o haczyki przedniego elementu,
  • Przeciwne końce żył związuję razem i zaczepiam o haczyk tylnego elementu.
  • Żyły muszą być tak ułożone, żeby ich sploty układały się w tą samą stronę.
  • Między linki, przy tylnym elemencie wkładam krzyżak tak, żeby je rozdzielić
  • Skręcam poszczególne żyły przednim serwem zgodnie z ich splotem aż uzyskam pożądane napięcie (zwykle 1-2 cm mniej niż ich oryginalna długość),
  • Wyłączam przednie serwo,
  • Uruchamiam tylne serwo.
  • W miarę skręcania przesuwam krzyżak tak, żeby linki równomiernie splatały się od tylnego elementu w kierunku przedniego.
  • Po uzyskaniu pełnego splotu wyłączam tylne serwo.
  • Po napiętej lince przeciągam kilka razy płomień z zapalniczki tak, żeby pozbyć się włosków.

Gotowe:)

Servo:Lite

Rozszerzenie servo:lite to niewielka płytka dokręcana do micro:bit. Na jej odwrocie znajduje się zasobnik na 3 baterie AAA. Oprócz tego na płytce znajdziecie pięć diod LED oraz wyłącznik główny.

Płytka obsługuje 2 serwa – lub trzy, jeżeli zrezygnujecie z obsługi LED. Trzy baterie AAA dają maksymalnie 1.5v x 3 = 4.5v. Producent (Kitronik) zastrzega jednak, że obsługiwane są tylko serwa, które działają od 3.3v. Maksymalny prąd na wszystkich serwach nie może przekroczyć 1A. Jeżeli weźmiecie pod uwagę parametry pracy, w praktyce ogranicza to zakres obsługiwanych serw do tych mniejszych (klasy mikro, do 10g).

Wyjścia dla serw podłączone są do portów micro:bit P1 i P2. Diody do P0. Do płytki można dolutować piny, zmostkować jedno złącze – i obsłużyć dodatkowe serwo przez port P0 (zamiast diod). Wymaga to jednak ingerencji w płytkę.

Śrubowe połączenie płytki z micro:bit zapewnia zasilanie i komunikację. Ale uwaga: płytka Servo:Lite ogranicza trochę dostęp do microUSB micro:bit, więc nie wszystkie kable będą pasować.

Taki sam sterownik wykorzystywany jest w robocie Kitronik. Już niedługo napiszę o nim więcej.

Servo:Lite – programowanie serw

Servo:Lite można oprogramować na kilka sposobów. Kitronik dostarcza zestaw bloczków pozwalających na sterowanie serwami. Umożliwiają nawet kalibrację obrotów serwa do przebywanej drogi. Przeznaczone są jednak do programowania robota :MOVE. Tutaj taka funkcjonalność nie przyda się.

Wykorzystam bloczki z domyślnego zestawu. W grupie Pins znajdziecie:

Przykładowe komendy:

Bloczek (przykład) Rezultat dla normalnego serwa Rezultat dla serwa 360
servo write pin <p1> to <180> Ustaw serwo na pinie p1 w pozycji 180 (maksymalnie w lewo/prawo) Serwo P1 obraca się w lewo (prawo)
servo write pin <p2> to <0> Ustaw serwo na pinie p2 w pozycji 0 (maksymalnie w prawo/lewo) Serwo P2 obraca się w prawo (lewo)
servo write pin <p1> to <90> Ustaw serwo na pinie p1 w pozycji 90 (neutralnej) Serwo P1 nie obraca się

Więcej do obsługi serw nie trzeba. Pamiętajcie, że serwa podpięte są pod P1 i P2.

Servo:Lite – programowanie diod

Servo:Lite wyposażono w 5 programowalnych diod RGB. Do ich obsługi trzeba dodać bibliotekę ‚neopixel’. Wybierzcie menu ‚Add Package…’ i w wyszukiwaniu wpiszcie: ‚neopixel’. Dodajcie bibliotekę. W menu pojawi się nowy element: Neopixel.

Diody nie są mi potrzebne w tym projekcie. Ich programowanie opiszę przy innej okazji:)

Budowa zwijarki

Zwijarkę zbudowałem z 3mm sklejki. Sklejkę pozyskałem… z drewnianych segregatorów. Miały iść na przemiał. Zamiast tego delikatnie je rozkleiłem tak, aby wykorzystać oryginalne ząbkowane łączenia:

Tylny element

Tylny element spełnia dwie funkcje: trzyma wszystkie żyły razem – a po ich skręceniu, zwija całą linkę. Musiałem wykonać obudowę, która będzie podstawą dla serwa. Trudność polegała na tym, że ten element musi również napinać żyły podczas zwijania.

Przy budowie bazy wykorzystałem  ząbki łączeń:

Spód elementu wkleiłem wgłąb ścianek:

O tylną ściankę zahaczę gumkę – co będzie częścią „mechanizmu” napinającego:

Cały trik polegał na odpowiednim skonstruowaniu podłogi. Podłogę przykręcę np. do blatu stołu. Tylny element będzie się z  niej wysuwał (stąd podniesiony spód). Gumka będzie z powrotem odciągała cały element napinając podpięte do niego żyły. Razem wygląda to tak:

Zauważcie, że koniec podłogi jest trochę grubszy. Dzięki temu będę go mógł bezpiecznie przytwierdzić do np. stołu.

Na koniec wykonałem jeszcze pokrywkę:

Pokrywkę przymocowałem za pomocą kołków. Są wklejone jedynie w pokrywkę, więc mogę ją łatwo zdemontować.

Element przedni

Ten element jest trochę bardziej skomplikowany. Zawiera zasilanie, sterowanie i serwo napędzające 3 osie. O osie zahaczę zwijane żyły.

Podobnie jak poprzednio, zacząłem od skrzynki.

Tym razem serwo nie jest zamontowane w przedniej ścianie, tylko na dodatkowej przegrodzie:

Między przegrodą a przednią ścianą znajdą sie trybiki:

Środkowy trybik podłączony jest bezpośrednio do serwa. Napędza on pozostałe trzy trybiki. Serwa, osie i złączki zapożyczyłem z zestawu lego-podobnego.

Wycięcie otworów na osie wymagało większej uwagi. Znając położenie serwa (osi napędzającej),  miejsca na osie trybików wyznaczyłem za pomocą klocka i kątomierza cyfrowego.

Osie przełożone przez przednią ścianę:

Teraz zająłem się przednią ścianą, gdzie zamontowałem micro:bit:

Teraz pozostało osadzenie przedniego panelu na obudowie… Założyłem sobie, że będzie on demontowalny. Osadziłem go na prowadnicach:

Dzięki temu panel się wysuwa:

Wszystkie elementy drewniane:

Haczyki na osiach

Haczyki na osiach wykonałem z plastiku PLA (takiego od drukarki 3D). Pręciki PLA wkleiłem w mufki (zielone) przy pomocy Doodlera. Na koniec podgrzałem plastik za pomocą gorącego powietrza i ukształtowałem go w haczyki.

Dla tylnego elementu przykleiłem klocek lego do orczyka i krótki łącznik do haczyka. W ten sposób będę mógł przykręcić orczyk do serwa (przez klocek).

Tylny element z serwem:

Element przedni:

Element tylny i przedni

Na sam koniec pozostało dorobić przedłużkę łączącą servo:lite i tylne servo.

Oprogramowanie

Oprogramowanie jest raczej mało skomplikowane. W kolejnych krokach wybieram serwo oraz kierunek jego obracania. Między krokami przełączam się klawiszem „B’. Wybór opcji w danym kroku (np. serwo tylne/przednie, obroty w lewo/prawo) dokonuję wciskając klawisz ‚A’. Po wybraniu serwa i kierunku, wciśnięcie B uruchamia odpowiednie serwo. Wciśnięcie dowolnego przycisku przerywa obracanie serwa. Program powraca wtedy do wyboru serwa.

Poniżej zamieszczam kod w JS. Przejdźcie do edytora, w górnym menu wybierzcie „{} JavaScript” i wklejcie kod do edytora. Przechodząc do widoku „Blocks” – możecie programować za pomocą bloczków.

Jak to działa?

Poniższe wideo pokazuje zwijarkę w akcji.

Koszty

Zwijarkę zbudowałem z elementów, które już posiadałem. Ale zdaję sobie sprawę, że nie u każdego w szafie leżą:

  • micro:bit, koszt około 80 złotych,
  • servo:lite, koszt około 60 złotych,
  • dwa serwa 360 – około 30 złotych (u mnie Fitec),
  • sklejka 3mm – pewnie z 0.5 m2 – 10 złotych,
  • dodatkowe kabelki – może 2 złote,

Razem: około 180 złotych.

Drogo? Tak. Ale: możecie znacznie obniżyć koszty urządzenia. Najdroższe było samo sterowanie. Zwijarka wcale nie musi być sterowana micro:bit i servo:lite. Możecie użyć do tego Arduino z koszykiem baterii 4xAA. Możecie użyć nawet dwóch testerów do serw.

Sterowanie możecie zbudować właściwie na czymkolwiek co generuje sygnał PWM o wypełnieniu 5% lub 10%. Od biedy możecie użyć nawet timerów ne555 po 1 zł sztuka. Opcji jest mnóstwo – całe urządzenie można więc zrobić za nie więcej niż 20 złotych.

Podsumowanie

Dzięki zastosowaniu micro:bit i servo:lit, warstwa elektroniczna tego projektu była bardzo prosta. Najwięcej czasu zajęło mi zbudowanie samych obudów. W oryginale miały być prostsze, ale się trochę zapędziłem:)

W rezultacie powstało bardzo poręczne urządzenie. Linki są bardzo równi zwinięte. Tutaj porównanie zwiniętej ręcznie (na dole) i za pomocą urządzenia:

Trochę przesadziłem z tym „napinaczem” podstawki. Trzeba odpowiednio dobrać gumkę, żeby nie stawiała zbyt dużego oporu. Dodatkowo rozważyłbym zewnętrzne zasilanie – baterie pewnie nie wystarczą na długo.

Galeria

 

Dodaj komentarz