Zdalnie sterowana motorówka prosto z drukarki 3d

Zdalnie sterowana motorówka prosto z drukarki 3d

Witam wszystkich

Pamiętacie zeszłomiesięczny projekt naszego kolegi Cezarego? 
Pływałbym, ale troszkę inaczej, a przede wszystkim szybciej ;)

Poprzeglądałem Thingiverse i znalazłem bardzo urzekający projekt, którego tanią realizację mam zamiar przedstawić poniżej.

Do projektu będą potrzebne:

– 2 arduino nano (mogą być inne)
– 2 moduły nRF24l01
– 2 kondensatory 10uF (do modułów nRF240l01)
– obudowa na akumulatory 18650- w moim przypadku na 2 sztuki
– 2 akumulatory 18650 (oczywiście można inne zasilanie załatwić)
– kable prototypowe
– kable do połączeń stałych+ jeden 4 przewodowy około metra
– 2 płytki prototypowe (lub jedna duża)
– obudowa uniwersalna na nadajnik (w projekcie użyłem pudełka o wymiarach 86x65x30)
– sterownik silników L298N
– serwo SG-90
– silnik dc (najlepiej z otworami na śruby)
– moduł joysticka
– 2 przełączniki
– bateria 9v
– klips do baterii 9v
– pręt gwintowany M3
– wiertła 2mm oraz 2,5mm
– męskie i żeńskie konektory BLS (opcjonalne)
– małe nakrętki, śruby/wkręty (M3 16mm, 10mm, przycinałem do krótszych nawet) 
– „klej do plastików twardych” żeby skleić łódź w jedną całość (odradzam kropelkę)
– około 300g filamentu
– narzędzia typu nóż/kombinerki/lutownica/wiertarka/klej na gorąco/papier ścierny

Spis treści:

1. Drukowanie
2. Elektronika (schematy)
3. Programowanie (kody)
4. Łączenie tych światów w całość
5. Jak to pływa?
6. Źródła

1. Drukowanie

Zacznijmy od drukowania, żeby w międzyczasie bawić się elektroniką ;)
W paczce projektu jest kilka opcji wydrukowania łodzi- od jednego całego elementu po elementy przystosowane do drukarek Zmax=200 jak i drukarki Zmax=150.
Jeżeli komuś nie odpowiada wysokość elementów do drukarki Zmax=200 to powinien wydrukować te elementy:
hull bow 129mm
hull front mod 140mm
hull middle 50mm
hull back 140mm
lub hull complete podzielić

oraz oczywiście:
rudder
rudder mount
rudder horn 4.3
servo mount
switch mount (osobiście nie użyłem)
motor mount
deck back 165
deck front 138
Propeller 31
joystick back cover
joystick front cover
lacznik
clip

Osobiście bardzo raził mnie fakt, że muszę drukować 4 elementy i robić 3 klejenia dlatego skorzystałem z modelu hull_complete i w slicerze za pomocą opcji „stop printing at height:” podzieliłem wydruk na 3 elementy po 152,8mm, czyli w moim przypadku 1528 warstw każdy

Teraz jak to drukować, łódź jest zoptymalizowana abyśmy mogli drukować w trybie wazonów (vase mode) i taki tryb też włączamy.

Pierwszym elementem jaki drukowałem jest tył łodzi, aby poprawnie wydrukować ten element należy włączyć:
jeżeli drukujemy na ustawieniu 0,3mm wysokość warstwy to musimy ustawić 7 pierwszych warstw jako wypełnione w 100%, możemy drukować różną wysokością warstwy, ale trzeba zachować tą proporcję, czyli np. 0,15mm=14 wypełnionych pierwszych warstw, 0,1mm=21 warstw itd…
0,6mm szerokość ścieżki
wypełnienie ostatnich 3 warstw (aby była powierzchnia do klejenia)- w moim przypadku przy wysokości 0,1mm otrzymałem powierzchnię lekko podziurawioną, ale to nie szkodzi, klej będzie miał gdzie uciec.
vase mode

Aby wydrukować środek łodzi należy łódź obrócić o 180 stopni aby wypełniona warstwa, która będzie się łączyła z dziobem była na dole- jakby była na górze (czyli byśmy po prostu przesunęli łódź w dół) to wypełnione ostatnie warstwy drukowałoby się w powietrzu dając średni efekt.

Podsumowując:
Ilość wypełnionych pierwszych warstw redukujemy do rozsądnych kilku, obracamy łódź o 180 stopni i obniżamy o 152,8mm (w moim przypadku) i wydrukuje się takie coś:

Ostatnim dużym elementem jest dziób, który drukujemy jak pierwszy element, tylko chowamy pod stół 2×152,8mm (w moim przypadku) i pierwsze warstwy również redukujemy do kilku.

Drukowanie elementów deck_back i deck_front wygląda tak samo jak elementy wyżej bez żadnych komplikacji.

Kolejnym, ostatnim elementem wymagającym zmiany ustawień jest sprzęgło/łącznik, który połączy silnik z wałem, eksperymentowałem troszkę i najprostszy sposób jest najlepszy:

Zwykła tuleja o wymiarach 14mm wysokości 6mm średnicy i wewnątrz 2mm otwór. Polecam wydrukować kilka sztuk takich samych ponieważ będziemy wiercić, a to można łatwo zepsuć. Polecam ustawić rodzaj wypełnienia na okrągły jak na zdjęciu. Osobiście wydrukowałem to w 100% wypełneniu.

Resztę elementów takich jak ster/mocowanie możemy drukować standardowo bez żadnych specjalnych ustawień.

Potrzebujemy wydrukować jakąś obudowę do joysticka, zamiast robić ciężkie żelazko postawiłem na podzielenie pilota na 2 elementy.

1. Lekka, wyprofilowana obudowa na sam moduł 

2. Pudełko na nrf/arduino/baterię, które będzie klipsem przypięte do kieszeni/paska- wykorzystałem obudowę uniwersalną o wymiarach 86x65x30, która walała mi się po szufladach ;)

Obudowę na joystick odważyłem się drukować bez supportów i wyszło dobrze- na pewno lepiej niż miałbym walczyć kombinerkami.

2. Elektronika

Zrobię tradycyjny makaron i rozpiskę co do czego ;)

Zacznijmy od nadajnika:

Bateria 9V -> arduino nano
           …-… -> GND
         …+… -> przełącznik -> VIN

Joystick -> arduino nano
      GND -> GND
     (oś Y) -> A6
    (oś X) -> A5
       VCC -> 5V

Moduł nrf -> arduino nano
         GND -> GND
          VCC -> 3V3
            CE -> D9
         CSN -> D10
         SCK -> D13
      MOSI -> D11
      MISO -> D12

Wskazówka: potrzebujemy 3 złącza GND, a arduino ma 2, jeżeli nie chcemy ciąć i łączyć kabli to możemy się wlutować z masą do pinu od ICSP

Następny jest odbiornik:

Baterie -> L298N
    …+… -> przełącznik -> +12V
     …-… -> GND

L298N -> arduino nano
    ENA -> D3
     IN1 -> D7
    IN2 -> D8
      5V -> VIN
  GND -> GND

L298N -> silnik DC
   …+… -> …+…
    …-… -> …-…

Moduł nrf -> arduino nano
         GND -> GND
          VCC -> 3V3
            CE -> D9
         CSN -> D10
         SCK -> D13
      MOSI -> D11
      MISO -> D12

                 Serwo -> arduino nano
            Brązowy -> GND
          Czerwony -> 5V
Pomarańczowy -> D5

Polecam na początek zrobić to na płytkach prototypowych.
Jak jesteśmy już blisko modułu L298N to trzeba powiedzieć w skrócie jak on działa.
Do modułu podajemy zasilanie z akumulatorów, moduł może zasilać arduino bo ma wyprowadzenie 5v. Poza pinami zasilającymi i silnikiem do modułu podpinamy pin enA- jest to sterowanie prędkością silnika poprzez sygnał PWM. Piny IN1 i IN2 służą do sterowania kierunkiem obrotu silnika. Dodatkowo jeżeli enA=0 (jeżeli nie ruszamy joysticka to taki stan przyjmuje) to Silnik również będzie się zatrzymywał aż stanie.

3. Programowanie

Czas na kody, jako, że należę do osób, które „cannot into programowanie obiektowe” napisałem banalne kody strukturalnie. Na wstępnie napiszę w kilku zdaniach jak działa całokształt.

Transmiter odczytuje wartości z joysticka i na podstawie zebranych danych oblicza numery biegów- dwa biegi dla dwóch osi, które potem są wysyłane z kontrolnymi danymi do odbiornika. 

Odbiornik odbiera gotowe dane, sprawdza ich poprawność i jeżeli się różnią od poprzednich danych to ustalany jest kierunek jazdy oraz prędkość.

Jakie biegi zaprojektowałem?
Podzieliłem wartości otrzymywane od joysticka na 7 części (1023/7=146) i zależnie od tego w jakiej części znajduje się wartość taki mamy bieg. Poniżej rysunek poglądowy wykonany w programie…. Paint

Oczywiście lewo/prawo jest na drugiej osi, ale z zasada działania taka sama.

Teraz kody:

„Brzydkie” akapitowanie w Case’ach jest specjalne, żeby sztucznie nie odstraszać dużym kodem ;)

4. Łączenie tych światów w całość

Na początek skleimy łódź w jedną całość, w moim przypadku klej potrzebuje 12godzin aby wyschnąć, dlatego warto to zrobić jak najszybciej. Odradzam użycie kropelki ponieważ zbyt szybko wiąże- w zasadzie przy pierwszym (zazwyczaj krzywym) kontakcie mamy już mocne spojenie plastików.

Takiego kleju użyłem:

Na początku skleiłem środkową część z tyłem- dno ma być jak najbardziej równe na zewnątrz, w środku łodzi wyszło mi delikatnie krzywo ale to nic nie szkodzi.

Następnie położyłem na kilka godzin 2kg filamentu aby był jakiś docisk.

Po tym czasie zdecydowałem się dokleić ostatni element

Po wyrównaniu powstała taka konstrukcja, która mam nadzieję przetrwa całą noc i się nie rozsypie :)

Podczas gdy łódź schnie możemy zająć się joystickiem, oczyszczamy wydruk nożem i jak widać w moim przypadku moduł pasuje idealnie:

Następnie powiększamy wiertarką dziury na odpowiednie śruby lub znajdujemy odpowiednie śruby, uważajcie tylko, żeby nie przewiercić się na wylot.

Kolejnym etapem jest podłączenie około metrowego przewodu do modułu. Osobiście wykorzystałem kabel telefoniczny, który ma 4 przewody, nawet kolory się zgadzają ;)

Możecie użyć konektorów BLS lub po prostu to zlutować, nie mam obudów więc ładnie zaizoluję te piny

Wszystko teraz skręcamy i tak wygląda prawie skończony kontroler, prawie skończony ponieważ jeszcze zakleiłem klejem na gorąco dziurę przy kablu usztywniając/zabezpieczając go ;)

Teraz bierzemy się za obudowę do nadajnika, powiem szczerze, niby szybkie i proste- wrzucić wszystko i zamknąć, ale trochę się namęczyłem aby to upchać i żeby jakoś to wyglądało/działało.

Żeby nie zapomnieć napiszę to w tym miejscu, nrf24l01 do poprawnego działania potrzebuje kondensatora 10uF na zasilaniu, zrobiłem bardzo „cwany myk”, którym chętnie się z wami podzielę ;)

Na zdjęciu brzydko wygląda, w rzeczywistości jest estetyczniej, najważniejsze, że działa i nie zajmuje dużo miejsca.

W tym przypadku akurat mam nrf24l01 z antenką, oczywiście nie potrzebujesz dokładnie tej samej wersji, zwykła również da radę.

Walczyłem kilka godzin z tym pudełkiem, ale udało się, tak wygląda makaron w środku (nie lutowałem arduino/kabli ze względu na to, że może mi się przyda w innym projekcie) Bateria i nRF są przyklejone klejem na gorąco.

Widzicie ten zaznaczony pin? Przez niego straciłem około pół godziny bo się wysunął i nie działało :v

A tak prezentuje się skończony zestaw nadajnika:

Musimy jeszcze zamontować klips aby był możliwy montaż na pasku/kieszeni, użyłem kropelki:

A tak wygląda nadajnik założony na kieszeń:

Teraz musimy wykonać wał i połączyć go z silnikiem oraz śrubą, wyżej napisałem o wydrukowaniu kilku tulejek ze względu iż trzeba to prosto i szybko wywiercić w innym przypadku PLA zacznie się topić i będzie krzywo.

Wspomnianą tulejkę na początek złapałem w kombinerki i przewierciłem wiertłem 2mm i to wystarczyło aby można było mocno nabić tulejkę na oś silnika, jeżeli będzie luźno to spróbuj z mniejszym wiertłem/nalać kleju lub podgrzać oś silnika i wtopić do nie rozwierconej tulei.

Jak już uzyskaliśmy efekt widoczny na obrazku- tuleja mocno trzyma się na osi silnika. Możemy przejść do następnego etapu- drugą stronę tulei należy nawiercić wiertłem 2,5-2,7 ponieważ gwint m3 ma około 2,8mm- kupiłem w castoramie metr za ~1,5zł. Pręt gwintowany docinamy na odpowiednią długość- u mnie jest to 15cm i próbujemy wkręcić pręt w wywiercony otwór, powinno się udać i wyglądać mniej-więcej tak:

Śrubę po drugiej stronie możemy zamontować identycznie, ale możemy też wywiercić odpowiednio dużą dziurę, włożyć pręt i po prostu zalać klejem od góry. Oczywiście śrubę przymocujemy na samym końcu jak już wszystko będzie w łodzi ;)
Osobiście wydrukowałem śrubę w skali 110% i pręt gwintowany z lekkim oporem się wkręcił.

Teraz trzeba zamontować wszystko do łodzi, zacząłem od zrobienia dziur lutownicą, nadmiar ściąłem nożem.
Pamiętamy też o dziurze na nasz wał na pokładzie 

jak i o powiększeniu dziur przy sterze i uchwycie do serwa, tak wygląda kompletny ster:

Tak prezentuje się serwo w uchwycie, niepotrzebnie rzeźbiłem, myślałem, że inaczej ma być…

A tak wygląda zamontowany ster, na tym etapie nie widziałem dziury do zrobienia przy sterze aby drucik mógł iść po linii prostej… potem to naprawiłem :)

Kolejnym etapem był montaż silnika, znalazłem silnik, który miał 2 otwory na śruby m3 aby montaż był łatwiejszy, a przede wszystkim pewniejszy niż kleje, otwory w tym elemencie są przewidziane na silniki bezszczotkowe więc musiałem zrobić swoje dziury na swój silnik.

Tak wygląda przykręcony silnik, te podkładki zmieniłem później na kilka zwykłych ponieważ śruby za głęboko mi wchodziły w silnik

Dochodzimy do momentu gdzie klej na gorąco poszedł w ruch :)
Silnik wraz z tym „koszykiem” przykleiłem na klej na gorąco ponieważ miałem możliwość dobrania odpowiedniej pozycji aby nie było zbyt dużych oporów i wszystko było na środku (wał).

Ostatnim etapem jest wprowadzenie się z elektroniką i szczerze mówiąc poszedłem tutaj na łatwiznę z kilku względów, ale pierw zobaczcie jak to wygląda w środku bez akumulatorów:

Od płytki prototypowej usunąłem listwy zasilające i całkiem dobrze zmieściło się w środku, jakbyście mieli jeszcze mniejszą płytkę to byłaby ona w pełni wykorzystana i nie zajmowałaby zbędnego miejsca. Szczerze mówiąc wolę takie rozwiązanie niż lutowanie nastu kabli ponieważ w tym momencie nie zamknąłem sobie drogi do ewentualnych modyfikacji. Woda dostanie się do środka? łatwo wymienię arduino i będzie działać dalej, a nawet mam łatwy dostęp do gniazda usb w razie aktualizacji oprogramowania.
Rozważam wsadzenie elektroniki w jakieś woreczki aby choć  trochę poczuły się bezpiecznie.

Kolejna rzecz- dlaczego wszystko w środku jest na klej na gorąco?
– wygoda
– silnik, tak jak już wspomniałem, miałem możliwość wycentrować go i uchwyty wtedy nie bardzo się zgrywały aby robić tam dziury i skręcać
– będę musiał wyważyć zabawki w środku więc taki rodzaj kleju umożliwi mi odklejenie i przyklejenie w innym miejscu

A gdzie się podział nRF24l01? Ładnie go przykleiłem za piny do ścianki.

Tak wygląda całość po zamknięciu, ładnie się wsunęło, ale wątpię w wodoodporność no i tak nie planuję robić z tego łodzi podwodnej:

5.Jak to pływa?

Niczym legendarny TITANIC, nie było żadnych szans w starciu z górą lodową…

A tak na poważnie to zawiodła konstrukcja dociskająca i rano zastałem taki widok :D

Po naprawieniu i odczekaniu 12h (na klej) udało mi się zwodować łódź, oto efekty:
https://youtu.be/jfxpNYhUIew

Jakbym miał podsumować, demon prędkości to to nie jest, kwestia zastosowania dobrego silnika, ja nie wybrałem najszybszego DC tylko takiego co ma otwory montażowe, ale tragedii nie ma, jest dobrze, a mimo wszystko projekt jest bardzo tani, mógłbym strzelić, że całość kosztowała <50zł. Można wsadzić silnik bezszczotkowy, ale sam akumulator wyniesie więcej niż ten projekt, a gdzie jeszcze ESC, silnik, ładowarka itd. Banan na twarzy utrzymuje się długo po wodowaniu :D 

6. Źródła

Projekt łodzi
Śruba pochodzi z tego projektu
Klips to ten projekt
Joystick

Poniżej paczka z wykorzystanymi modelami do wydrukowania oraz kodami.

Pliki załączone do artykułu:

Ocena: 5/5 (głosów: 10)

Podobne posty

3 komentarzy do “Zdalnie sterowana motorówka prosto z drukarki 3d

Odpowiedz

anuluj

Masz uwagi?