Robot do rysowania dla Arduino: 18 kroków (ze zdjęciami)
Robot do rysowania dla Arduino: 18 kroków (ze zdjęciami)
Anonim
Image
Image
Robot rysujący dla Arduino
Robot rysujący dla Arduino
Robot rysujący dla Arduino
Robot rysujący dla Arduino

Uwaga: Mam nową wersję tego robota, która wykorzystuje płytkę drukowaną, jest łatwiejsza do zbudowania i ma wykrywanie przeszkód IR! Sprawdź to na

Zaprojektowałam ten projekt na 10-godzinne warsztaty dla ChickTech.org, których celem jest przybliżenie nastoletnim kobietom tematyki STEM. Celami tego projektu były:

  • Łatwy w budowie.
  • Łatwy do zaprogramowania.
  • Zrobiłem coś interesującego.
  • Niski koszt, aby uczestnicy mogli zabrać go do domu i kontynuować naukę.

Mając na uwadze te cele, oto kilka opcji projektowych:

  • Kompatybilny z Arduino dla ułatwienia programowania.
  • Zasilanie baterią AA dla kosztów i dostępności.
  • Silniki krokowe zapewniają dokładny ruch.
  • Druk 3D dla łatwej personalizacji.
  • Pisanie pisakiem z grafiką Turtle dla ciekawych wyników.
  • Open Source, dzięki czemu możesz stworzyć swój własny!

Oto robot, który był najbliższy temu, co chciałem zrobić: https://mirobot.io. Nie mam wycinarki laserowej, a wysyłka z Anglii była zaporowa. Mam drukarkę 3D, więc myślę, że widzisz, dokąd to zmierza…

Nie daj się zniechęcić brakiem drukarki 3D. Lokalnych hobbystów, którzy chcą Ci pomóc, możesz znaleźć na stronie www.3dhubs.com

Zajęło to dużo pracy, ale jestem zadowolony z tego, jak wyszło. I sporo się nauczyłem w tym procesie. Powiedz mi co myślisz!

Krok 1: Części

Części
Części
Części
Części
Części
Części
Części
Części

Istnieje wiele sposobów zasilania, sterowania i sterowania robotami. Możesz mieć pod ręką różne części, które będą działać, ale wypróbowałem te, które sprawdzają się dobrze:

Elektronika:

  • 1- Arduino UNO lub odpowiednik - adafruit.com/products/50

    Adafruit jest teraz amerykańską fabryką oryginalnych Arduino! Pobierz je ze źródła

  • 2- Geared 5V Stepper - adafruit.com/products/858
  • 1- ULN2803 Darlington Driver - adafruit.com/products/970
  • 1- Płytka chlebowa półwymiarowa- adafruit.com/products/64
  • 12- Swetry męskie-męskie- adafruit.com/products/1956

    Co najmniej dwa powinny mieć 6 cali, reszta może mieć 3 cale

  • 1- Micro servo-adafruit.com/products/169
  • 1- Męski nagłówek pinowy- digikey.com/short/t93cbd
  • 1- 2 x uchwyt AA-digikey.com/short/tz5bd1
  • 1 -3 x uchwyt AA-digikey.com/short/t5nw1c
  • Kondensator 1 -470 uF 25V - www.digikey.com/product-detail/en/ECA-1EM471/P5155-ND/245014
  • 1 - Przełącznik suwakowy SPDT - www.digikey.com/product-detail/en/EG1218/EG1903-ND/101726
  • 1- kabel micro USB
  • 5 - Baterie AA

Sprzęt komputerowy:

  • 2- 1 7/8" ID x 1/8" O-ring - mcmaster.com/#9452K96
  • 1- Łożysko kółka 5/8" - mcmaster.com/#96455k58/=yskbki
  • 10- Śruba z łbem stożkowym ściętym M3 x 8 mm – mcmaster.com/#92005a118/=z80pbr
  • 4- Śruba z łbem płaskim M3 x 6mm – mcmaster.com/#91420a116/=yskru0
  • 12- Nakrętka M3 – mcmaster.com/#90591a250/=yskc6u3D
  • 2 - 1/4" gwintowanie 4-20 śrub

Części drukowane (sprawdź www.3dhubs.com, jeśli nie masz dostępu do drukarki):

  • https://www.thingiverse.com/thing:1091401

    • 1 x kółko z łożyskiem kulkowym
    • 1 x podwozie
    • 2 x koła
    • 2 x wspornik krokowy
    • 1 x obsadka do pióra/uchwyt serwo;
    • 1 x obroża na długopis
  • Używam niskiej rozdzielczości, 100% wypełnienia i braku wsparcia. To około 4 godzin drukowania.

Kieszonkowe dzieci:

  • Śrubokręt krzyżakowy
  • Pistolet na gorący klej
  • Cyfrowy multimetr
  • Ostry nóż
  • Kolorowe markery Crayola

Krok 2: Zaktualizuj oprogramowanie układowe

Zanim przejdziemy zbyt daleko w budowę, załadujmy testowe oprogramowanie do mikrokontrolera. Program testowy po prostu rysuje dla pudełek, dzięki czemu możemy sprawdzić właściwy kierunek i wymiar.

  1. Pobierz oprogramowanie Arduino ze strony www.arduino.cc/en/Main/Software
  2. Otwórz oprogramowanie Arduino.
  3. Pobierz załączony plik zip i rozpakuj go do lokalizacji szkicownika Arduino.

    Możesz znaleźć (lub zmienić) tę lokalizację w Arduino IDE: [Plik] -> [Preferencje] -> "Lokalizacja szkicownika"

  4. Załaduj szkic testowy: [Plik] -> [Szkicownik] -> [TIRL_Arduino_TEST]
  5. Podłącz Arduino do komputera za pomocą kabla USB.
  6. W środowisku Arduino IDE:

    1. Ustaw typ swojej tablicy: [Narzędzia] -> [Plansza] -> Typ twojej tablicy.
    2. Ustaw port szeregowy: [Narzędzia] -> [Port] -> Zwykle ostatni na liście.
  7. Prześlij szkic za pomocą ikony strzałki.

Jeśli masz jakiekolwiek problemy, odwiedź stronę www.arduino.cc/en/Guide/Troubleshooting, aby uzyskać pomoc.

Krok 3: Uchwyt na długopis i uchwyty na baterie

Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
Uchwyt na długopis i uchwyty na baterie
  1. Włóż nakrętki na górnej części obudowy (zdjęcie 1). Być może będziesz musiał je wcisnąć.
  2. Zainstaluj uchwyt na pióro z uchwytem serwo na górnej części obudowy (zdjęcie 2 i 3).
  3. Przymocuj uchwyty baterii na spodzie obudowy za pomocą śrub z płaskim łbem 3Mx6mm (zdjęcie 4)

    • Potrzebujesz co najmniej 5xAA, aby prawidłowo zasilić Arduino za pomocą wbudowanego regulatora. Sześć też by działało, więc dodałem otwory dla obu rozmiarów po obu stronach.
    • Chcesz, aby ciężar był przesunięty w kierunku rzucającego, więc umieść 3xAA w kierunku tyłu.
    • Ustaw uchwyty tak, aby przewody były jak najbliżej prostokątnych ciągów kablowych.
  4. Przełóż przewody akumulatora przez prostokątne biegi kablowe (zdjęcie 4).
  5. Powtórz dla drugiego uchwytu baterii.

Uwaga: O ile nie określono inaczej, pozostałe śruby to śruby z łbem stożkowym ściętym 3Mx8mm

Krok 4: Plecy krokowe

Plecy krokowe
Plecy krokowe
Plecy krokowe
Plecy krokowe
Plecy krokowe
Plecy krokowe
Plecy krokowe
Plecy krokowe
  1. Włóż nakrętkę do wspornika krokowego i przymocuj je do górnej części obudowy za pomocą śruby (zdjęcie 1).
  2. Włóż stepper do wspornika i przymocuj za pomocą śrub i nakrętek.
  3. Powtórz dla drugiego wspornika.

Krok 5: Caster

Odlewnik
Odlewnik
Odlewnik
Odlewnik
  1. Włóż łożysko kulkowe do kółka.

    Nie wciskaj go na siłę, bo się złamie. W razie potrzeby użyj suszarki do włosów lub pistoletu na gorące powietrze, aby zmiękczyć materiał

  2. Przymocuj kółko do dolnej części obudowy przed uchwytem baterii.

Próbowałem innych okrągłych przedmiotów, takich jak kulki, ale gładkie i ciężkie wydają się działać dobrze. Jeśli potrzebujesz innej średnicy, możesz edytować plik openScad (https://www.thingiverse.com/thing:1052674), aby dopasować go do tego, co masz pod ręką.

Krok 6: Deska do krojenia chleba i mózgi

Deska do krojenia chleba i mózgi
Deska do krojenia chleba i mózgi
Deska do krojenia chleba i mózgi
Deska do krojenia chleba i mózgi
Deska do krojenia chleba i mózgi
Deska do krojenia chleba i mózgi
  1. Usuń jedną z szyn zasilających ostrym nożem, przecinając dolny klej (zdjęcie 1).

    Jedna szyna ma moc (czerwona) na zewnętrznej krawędzi, druga ujemna (niebieska). Pierwszy trzymam w załączeniu, będzie pasował do schematów i zdjęć. Jeśli użyjesz drugiego, po prostu odpowiednio wyreguluj przewody

  2. Trzymając płytkę stykową nad szynami obudowy, zaznacz miejsce, w którym przecinają się z krawędzią (zdjęcie 2).
  3. Używając prostej krawędzi (jak usunięta szyna zasilająca), zaznacz linie i przetnij podkład (zdjęcie 3).
  4. Umieść płytkę stykową na obudowie tak, aby szyny dotykały odsłoniętego kleju (zdjęcie 4).
  5. Przymocuj Arduino z drugiej strony obudowy za pomocą 4-20 śrub (zdjęcie 5).

Krok 7: Umieszczenie kondensatora i części

Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
Rozmieszczenie kondensatorów i części
  1. Umieść sterownik darlington i włącznik zasilania na desce do krojenia chleba (zdjęcie 1).

    • Dodałem pomarańczowe kropki dla widoczności, aby zaznaczyć następujące elementy:

      • Pin 1 sterownika darlington
      • Pin baterii mikrotrolera. Przełącznik zasilania w pozycji „on”.
  2. W razie potrzeby przyciąć przewody kondensatora (dłuższy jest ujemny) (zdjęcie 2).
  3. Włóż kondensator do odpowiednich szyn na górze płytki stykowej (zdjęcie 3).

Krok 8: Moc

Moc
Moc
Moc
Moc
Moc
Moc
  1. Z prawymi przewodami akumulatora: Podłącz czerwoną linię do pierwszego styku wyłącznika zasilania (zdjęcie 1).
  2. Podłącz czarny przewód do pustego rzędu między mikrokontrolerem a układem darlington (zdjęcie 1).
  3. Z lewymi przewodami akumulatora: Podłącz czerwoną linię do tego samego rzędu, co czarny przewód drugiego akumulatora (zdjęcie 2).
  4. Podłącz czarną linię do szyny ujemnej płytki stykowej (zdjęcie 2).
  5. Podłącz zasilanie do mikrokontrolera:

    1. Czerwona zworka z szyny dodatniej do pinu akumulatora (kropka pomarańczowa, Zdjęcie 3).
    2. Czarny zworka z szyny ujemnej do pinu oznaczonego „G” (zdjęcie 4).
  6. Włóż baterie i włącz zasilanie (zdjęcie 5).
  7. Powinieneś zobaczyć zielone i czerwone światła kontrolera (zdjęcie 6).

Rozwiązywanie problemów:

  • Jeśli kontrolki mikrokontrolera nie zapalają się, natychmiast wyłącz zasilanie i rozwiąż problem:

    • Baterie zainstalowane w prawidłowej orientacji?
    • Dokładnie sprawdź położenie przewodów akumulatora.
    • Podwójnie sprawdź pozycjonowanie przewodów.
    • Użyj multimetru do sprawdzenia napięć akumulatorów.
    • Użyj miernika uniwersalnego, aby sprawdzić napięcia szyny zasilającej.

Krok 9: Moc krokowa

Moc krokowa
Moc krokowa
Moc krokowa
Moc krokowa
Moc krokowa
Moc krokowa

Teraz, gdy masz już zasilanie mikrokontrolera, dokończmy podłączanie zasilania do stepperów:

  1. Podłącz czarną zworkę od lewego górnego pinu Darlington do ujemnej strony szyny zasilającej (zdjęcie 1).
  2. Podłącz czerwoną zworkę od lewego dolnego kołka Darlington do dodatniej strony szyny zasilającej (zdjęcie 1).
  3. Połącz czerwony sweter z lewego dolnego kołka darlington do jednego rzędu po prawej stronie darlington (zdjęcie 2).
  4. Włóż nagłówki pinów do białych złączy JST stepera (zdjęcie 2).

Krok 10: Sygnały sterujące krokowego

Sygnały sterowania krokowego
Sygnały sterowania krokowego
Sygnały sterowania krokowego
Sygnały sterowania krokowego
Sygnały sterowania krokowego
Sygnały sterowania krokowego

Mikrokontroler dostarcza sygnały 5 V do tablicy darlington, która z kolei dostarcza napięcie VCC do cewek krokowych:

  1. Zacznij od szpilki obok bolca uziemienia na sterowniku darlington i zainstaluj przewody pomarańczowy, żółty, zielony i niebieski w tej kolejności (zdjęcie 1).
  2. Podłącz zworki do następujących pinów arduino (zdjęcie 2):

    1. pomarańczowy - cyfrowy pin 4
    2. żółty - cyfrowy pin 5
    3. zielony - cyfrowy pin 6
    4. niebieski - cyfrowy pin 7
  3. Wracając do darlington, kontynuuj zworkę dla drugiego steppera w odwrotnej kolejności:

    niebieski, zielony, żółty i pomarańczowy (zdjęcie 3)

  4. Podłącz zworki do następujących pinów arduino (zdjęcie 4):

    1. niebieski - cyfrowy pin 9 (pin 8 używany ostatnio do serwomechanizmu).
    2. zielony - cyfrowy pin 10
    3. żółty - cyfrowy pin 11
    4. pomarańczowy - pin cyfrowy 12

Krok 11: Połączenia cewki krokowej

Połączenia cewki krokowej
Połączenia cewki krokowej
Połączenia cewki krokowej
Połączenia cewki krokowej
Połączenia cewki krokowej
Połączenia cewki krokowej

Białe złącza JST steppera podłącza się do listwy kołkowej. Czerwony przewód to zasilanie i powinien pasować do czerwonych zworek zasilania, które zainstalowaliśmy wcześniej (zdjęcie 1).

Wszystkie kolory powinny pasować do zworek mikrokontrolera po przeciwnej stronie darlingtona, z wyjątkiem zielonego, który pasuje do różowego przewodu steppera (zdjęcie 2).

Krok 12: Serwo

Serwo
Serwo
Serwo
Serwo
Serwo
Serwo
  1. Zainstaluj klakson serwa z serwomechanizmem obróconym zgodnie z ruchem wskazówek zegara do oporu i klaksonem ustawionym poziomo (zdjęcie 1).
  2. Przymocuj serwo do uchwytu, a klakson wskazywał prawą stronę steppera (zdjęcie 1).
  3. Podłącz zworki brązowe (masa), czerwone (zasilanie 5V) i białe (sygnał) do złącza serwa, dopasowując kolory przewodów serwa (zdjęcie 2).
  4. Podłącz zworki zasilania i uziemienia do uziemienia i nagłówka 5 V w Arduino (zdjęcie 3).
  5. Podłącz biały przewód sygnałowy do złącza cyfrowego Arduino 8 (zdjęcie 4).

Krok 13: Koła

Koła
Koła
Koła
Koła
  1. Umieść gumowy o-ring wokół krawędzi koła (zdjęcie 1).
  2. Jeśli pasowanie piasty na osi jest luźne, możesz użyć śruby 3M, aby utrzymać ją na miejscu (zdjęcie 2).

    Nie dokręcaj zbyt mocno, bo zdejmiesz plastik

Krok 14: Testowanie

Mam nadzieję, że już załadowałeś oprogramowanie układowe w kroku 2. Jeśli nie, zrób to teraz.

Testowe oprogramowanie układowe po prostu wielokrotnie rysuje kwadrat, abyśmy mogli sprawdzić kierunek i dokładność.

  1. Umieść robota na gładkiej, płaskiej, otwartej powierzchni.
  2. Włącz zasilanie.
  3. Obserwuj, jak twój robot rysuje kwadraty.

Jeśli nie widzisz świateł na mikrokontrolerze, wróć i rozwiąż problemy z zasilaniem, jak w kroku 8.

Jeśli robot się nie porusza, sprawdź dokładnie połączenia zasilania ze sterownikiem darlington w kroku 9.

Jeśli robot porusza się nieregularnie, dokładnie sprawdź połączenia styków mikrokontrolera i sterownika darlington w kroku 10.

Krok 15: Kalibracja

Kalibrowanie
Kalibrowanie
Kalibrowanie
Kalibrowanie
Kalibrowanie
Kalibrowanie
Kalibrowanie
Kalibrowanie

Jeśli twój robot porusza się po mniej więcej kwadracie, czas odłożyć trochę papieru i włożyć do niego długopis.

Zmierz średnicę koła (zdjęcie 1) i rozstaw kół (zdjęcie 2) w milimetrach.

Twoje ustawienia kalibracji w kodzie to:

pływak koło_dia=63; // mm (wzrost = spirala na zewnątrz)

pływak rozstaw_koli=109; // mm (wzrost = spirala w) int steps_rev=128; // 128 dla skrzyni 16x, 512 dla skrzyni 64x

Zacząłem od zmierzonej średnicy koła 65 mm i możesz zobaczyć, jak pudełka obracają się na zewnątrz lub zgodnie z ruchem wskazówek zegara w każdym kroku (zdjęcie 3).

Ostatecznie osiągnąłem wartość 63 mm (zdjęcie 4). Widać, że nadal jest jakiś nieodłączny błąd związany z luzem zębatym i tym podobne. Wystarczająco blisko, aby zrobić coś ciekawego!

Krok 16: Podnoszenie i opuszczanie pióra

Podnoszenie i opuszczanie pióra
Podnoszenie i opuszczanie pióra
Podnoszenie i opuszczanie pióra
Podnoszenie i opuszczanie pióra

Dodaliśmy serwo, ale nic z nim nie zrobiliśmy. Umożliwia podnoszenie i opuszczanie pióra, dzięki czemu robot może się poruszać bez rysowania.

  1. Umieść kołnierz pisaka na pisaku (zdjęcie 1).

    Jeśli jest luźny, przyklej go na miejscu

  2. Sprawdź, czy dotknie papieru, gdy ramię serwomechanizmu jest opuszczone.
  3. Sprawdź, czy nie dotknie papieru po podniesieniu.

Kąty serw można regulować, zdejmując klakson i zmieniając jego położenie, lub za pomocą oprogramowania:

int PEN_DOWN = 20; // kąt serwomechanizmu, gdy pióro jest opuszczone

int PEN_UP = 80; // kąt serwomechanizmu, gdy pióro jest podniesione

Polecenia pióra to:

penup();

pióro();

Jeśli chcesz użyć różnych rozmiarów pisaków, będziesz musiał zmodyfikować uchwyt na długopis (www.thingiverse.com/thing:1052725) i kołnierz (www.thingiverse.com/thing:1053273) o odpowiedniej średnicy.

Krok 17: Baw się dobrze

Image
Image

Mam nadzieję, że dotarłeś tak daleko bez zbyt wielu przekleństw. Daj mi znać, z czym się zmagałeś, abym mógł poprawić instrukcje.

Teraz nadszedł czas na eksplorację. Jeśli spojrzysz na szkic testowy, zobaczysz, że udostępniłem Ci kilka standardowych poleceń „Żółwia”:

naprzód (odległość); // milimetry

wstecz(odległość); lewo(kąt); // stopnie w prawo(kąt); penup(); pióro(); Gotowe(); // zwolnij stepper, aby oszczędzać baterię

Używając tych poleceń, powinieneś być w stanie zrobić prawie wszystko, od rysowania płatków śniegu lub pisania swojego imienia. Jeśli potrzebujesz pomocy w rozpoczęciu pracy, sprawdź:

  • https://code.org/learn
  • https://codecombat.com/

Krok 18: Inne platformy

Inne platformy
Inne platformy

Czy ten robot może być zrobiony z ?

Tak! Ta platforma jest bardzo elastyczna. Głównie wystarczyłoby zmodyfikować podwozie.

Zrobiłem to z Raspberry Pi (zdjęcie 1) i Adafruit Trinket (www.instructables.com/id/Low-Cost-Arduino-Compatible-Drawing-Robot/) (zdjęcie 2).

Daj mi znać, co wymyślisz!