Spisu treści:

ESP8266 WIFI AP Sterowany czworokątny robot: 15 kroków (ze zdjęciami)
ESP8266 WIFI AP Sterowany czworokątny robot: 15 kroków (ze zdjęciami)

Wideo: ESP8266 WIFI AP Sterowany czworokątny robot: 15 kroków (ze zdjęciami)

Wideo: ESP8266 WIFI AP Sterowany czworokątny robot: 15 kroków (ze zdjęciami)
Wideo: 14 канал WiFi и ESP8266 2024, Listopad
Anonim
Image
Image

To jest samouczek, jak zrobić robota 12 DOF lub czteronożnego (czworonożnego) za pomocą serwa SG90 ze sterownikiem serwo i można nim sterować za pomocą serwera WIFI Web za pomocą przeglądarki smartfona

Całkowity koszt tego projektu wynosi około 55 USD (dla części elektronicznej i plastikowej ramy robota)

Krok 1: Przygotuj ramkę

Części elektroniczne (Wemos D1 Mini)
Części elektroniczne (Wemos D1 Mini)

Cały obiekt 3D można pobrać bezpłatnie ze strony www.myminifactory.com lub www.thingiverse.com

Wydrukuj go, używając podpór materiałowych dla niektórych części, takich jak stopa, biodra i uda

Wykaz części drukowanej:

1x korpus podstawowy

1x okładka

1x uchwyt baterii

4x biodra (typ A i B)

4x Uda (typ A i B)

4x Stopa (typ A i B)

4x Tarcza

12x tuleja + 12x śruba 2mm

Krok 2: Montaż ramy robota

Postępuj zgodnie z powyższym filmem krok po kroku, aby zmontować ramę, śruba jest przeznaczona do otworu o rozmiarze 2 mm

Krok 3: Części elektroniczne (Wemos D1 Mini)

Image
Image

Na rynku jest wiele wariantów NodeMCU i zasadniczo mają tę samą funkcjonalność, do tego projektu wybieram Wemos D1 Mini.

Ta część będzie służyła jako serwer WWW dla naszego czworonoga jako punkt dostępowy.

To, czego potrzebujesz, to po prostu podłącz się do punktu dostępowego Quadruped i kontroluj wszystkie ruchy swojego robota, a być może w przyszłym projekcie wyświetli on wszystkie potrzebne panele czujników…

Ten D1 mini to mini płyta WIFI oparta na ESP-8266EX. i ma 11 cyfrowych pinów wejścia/wyjścia, wszystkie piny obsługują przerwanie/pwm/I2C/one-wire (z wyjątkiem D0) 1 wejście analogowe (wejście maks. 3.3V) złącze Micro USB

Jak zacząć w:

  1. Zainstaluj dla Arduino 1.6.7 ze strony internetowej dla Arduino.
  2. Uruchom dla Arduino i otwórz okno Preferencje.
  3. w polu Adresy URL menedżera dodatkowych tablic. Możesz dodać wiele adresów URL, oddzielając je przecinkami.
  4. Otwórz Tools→Board:xxx→Boards Manager i zainstaluj esp8266 przez społeczność ESP8266 (i nie zapomnij wybrać płyty ESP8266 z menu Narzędzia > Tablica po instalacji).

Aby uzyskać więcej szczegółów, możesz sprawdzić wideo powyżej

Kliknij tutaj, aby wyszukać w Aliexpress

Do tego projektu wystarczy podłączyć ten Pin:

  1. Pin NodeMCU RX łączy się z pinem Arduino Nano TX
  2. Pin NodeMCU TX łączy się z pinem Arduino Nano RX
  3. Pin NodeMCU G podłącz do DC-DC mini 5v Stepdown (-) Wyjście pinu wyjściowego
  4. Pin NodeMCU5V podłącz do DC-DC mini 5v Stepdown (+) Wyjście pinowe

PS: Aby zaprogramować tę płytę, musisz odłączyć wszystkie piny podłączone do arduino i DC-DC step down, w przeciwnym razie pojawi się błąd…

Krok 4: Części elektroniczne (Arduino Nano)

Części elektroniczne (Arduino Nano)
Części elektroniczne (Arduino Nano)

To samo z NodeMCU, dla płyty arduino możesz użyć dowolnej płyty, która pasuje do ciebie, jak Arduino Pro Mini, Arduino Nano lub inny.

Ale do tego projektu wybrałem Arduino Nano, ponieważ nie potrzebuje dużo pinów, których użyłem, jest mały i nie potrzebuje FTDI do programowania.

kliknij tutaj, aby wyszukać w Aliexpress

Do tego projektu używam po prostu:

  1. Pin Arduino nano RX łączy się z pinem NodeMCU TX
  2. Pin Arduino nano TX łączy się z pinem NodeMCU RX
  3. Pin Ardiono nano A4 łączy się z pinem PCA9685 SDA
  4. Pin Arduino nano A5 łączy się z pinem PCA9685 SCL
  5. Pin Arduino nano GND łączy się z wyjściem DC-DC mini 5v Stepdown (-) Wyjście pinowe
  6. Pin Arduino nano 5V podłączyć do DC-DC mini 5V Stepdown (+) Wyjście pinowe

zobacz schemat powyżej, aby uzyskać więcej szczegółów

PS: Aby zaprogramować tę płytę, musisz odłączyć wszystkie piny podłączone do NodeMCU i DC-DC step down, w przeciwnym razie pojawi się błąd…

Krok 5: Części elektroniczne (Mikro serwo Tower Pro 9g)

Części elektroniczne (Mikro serwo Tower Pro 9g)
Części elektroniczne (Mikro serwo Tower Pro 9g)

To najpopularniejszy mini serwo. Waży tylko 9 gramów i daje moment obrotowy 1,5 kg/cm. Całkiem mocny jak na swój rozmiar. Nadaje się do robotów typu belka.

PS: ten serwo może obracać się tylko o 180 stopni;

Kluczowe cechy:

• Półprzezroczysty korpus

• Lekki

• Mniej hałasu Dane techniczne:

• Wymiary: 22,6 x 21,8 x 11,4 mm

• Długość przewodu łączącego: 150 mm

• Prędkość robocza (4,8 V bez obciążenia): 0,12 s / 60 stopni

• Moment utyku (4,8 V): 1,98 kg/cm

• Zakres temperatur: 30 do 60°C (-22 do 140℉)

• Szerokość strefy martwej: 4 usec

• Napięcie robocze: 3,5 - 8,4 V

Kliknij tutaj, aby wyszukać serwo SG90 w Aliexpressie

Krok 6: Części elektroniczne (16-kanałowy 12-bitowy sterownik PWM/serwo - interfejs I2C - PCA9685 dla Arduino)

Części elektroniczne (16-kanałowy 12-bitowy sterownik PWM/serwo - interfejs I2C - PCA9685 dla Arduino)
Części elektroniczne (16-kanałowy 12-bitowy sterownik PWM/serwo - interfejs I2C - PCA9685 dla Arduino)

Chcesz zrobić robota chodzika? ale używanie tylko mikrokontrolera ma ograniczoną liczbę wyjść PWM i zaczynasz się kończyć! Nie z 16-kanałowym, 12-bitowym sterownikiem PWM/serwosterownika Adafruit - interfejs I2C. Dzięki temu przerwaniu sterownika PWM i serwo możesz sterować 16 wolnymi wyjściami PWM za pomocą zaledwie dwóch pinów! Potrzebujesz uruchomić więcej niż 16 wyjść PWM? Nie ma problemu. Połącz ze sobą do 62 tych piękności, aby uzyskać wyjątkowe 992 wyjścia PWM.

Ta płyta/układ wykorzystuje 7-bitowy adres I2C pomiędzy 0x60-0x80, wybierany za pomocą zworek Listwa zaciskowa dla wejścia zasilania (lub można użyć zacisków 0,1" z boku) Zabezpieczenie przed odwrotną polaryzacją na wejściu bloku zacisków Zielona dioda LED dobrego zasilania 3 złącza pinowe w grupach po 4, dzięki czemu można podłączyć 16 serw na raz (wtyczki serw są nieco szersze niż 0,1", więc możesz ustawić tylko 4 obok siebie na nagłówku 0,1" Konstrukcja z możliwością łączenia łańcuchów Miejsce do umieszczenia dużego kondensator na linii V+ (w razie potrzeby) rezystory szeregowe 220 omów na wszystkich liniach wyjściowych w celu ich zabezpieczenia, a do tego, aby sterowanie diodami LED było trywialne Dolutowane zworki dla 6 pinów wyboru adresu sterowany przez i2c sterownik PWM z wbudowanym zegarem. W przeciwieństwie do rodziny TLC5940, nie musisz ciągle wysyłać do niego sygnału blokującego mikrokontroler, jest całkowicie wolny!Jest zgodny z 5V, co oznacza, że możesz sterować nim z mikrokontrolera 3,3V i nadal bezpiecznie sterować wyjściami do 6V (to jest dobry, gdy chcesz kontrolować biały lub niebieski L ED z napięciem przewodzenia 3,4+) 6 pinów wyboru adresu, dzięki czemu można podłączyć do 62 z nich na pojedynczej magistrali i2c, w sumie 992 wyjść - to dużo serw lub diod LED Regulowana częstotliwość PWM do około 1,6 KHz 12-bit rozdzielczość dla każdego wyjścia - dla serw, co oznacza rozdzielczość około 4us przy częstotliwości aktualizacji 60Hz Konfigurowalne wyjście push-pull lub open-drain Pin umożliwia szybkie wyłączenie wszystkich wyjść.

kliknij tutaj, aby wyszukać w Aliexpress

W tym projekcie potrzebujemy tylko 12 CH dla wszystkich nóg (3CH na nogę), podłącz ten pin PCA9685 do Arduino Nano:

  1. PCA9685 VCC do DC-DC mini 5 v Stepdown (+) wyjście pinowe
  2. PCA9685 GND do DC-DC mini 5v Stepdown (-) Wyjście pinowe
  3. PCA9685 Zasilanie serwo (PWM) V+ do UBEC (+) Wyjście pinowe
  4. PCA9685 Serwo (PWM) zasilanie GND do UBEC (-) Wyjście pinowe
  5. PCA9685 SDA pinto pin arduino nano A4
  6. Pin PCA9685 SCL do pinu arduino nano A5
  7. PCA9685 CH0 do przedniego prawego ucho, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  8. PCA9685 CH1 do przedniej prawej stopy, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  9. PCA9685 CH2 do prawego przedniego biodra, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  10. PCA9685 CH4 do tylnego prawego ucho, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  11. PCA9685 CH5 do tylnej prawej nóżki, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  12. PCA9685 CH6 do tylnego prawego biodra, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  13. PCA9685 CH8 do przedniego lewego ucho, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  14. PCA9685 CH9 do przedniej lewej stopy, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  15. PCA9685 CH10 do przedniego lewego biodra, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  16. PCA9685 CH12 do tylnego lewego ucho, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  17. PCA9685 CH13 do tylnej lewej nóżki, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)
  18. PCA9685 CH14 do tylnego lewego biodra, proszę dopasować kolor kabla do koloru gniazda PCA9685 (żółty, czerwony, brązowy/czarny)

PS: Niektóre PCA9685 nie mają gniazda kodu koloru, więc upewnij się, że żółty kabel z serwa SG90 idzie do pinu danych PWM, czerwony kabel do pinu V+, a czarny/brązowy do pinu GND

Krok 7: Połączenie PWM z pinem serwomechanizmu

Połączenie PWM z pinem serwomechanizmu
Połączenie PWM z pinem serwomechanizmu
Połączenie PWM z pinem serwomechanizmu
Połączenie PWM z pinem serwomechanizmu

Kliknij i powiększ zdjęcie powyżej, aby zobaczyć mapowanie pinów między PCA9685 a serwomechanizmami

PS: Używasz tylko 12 CH z 16 CH dla tego projektu, więc nadal masz 4 CH do rozszerzenia, np. Włóż serwo radaru lub umieść na nim jakąś broń nerf blaster… Po prostu umieść dodatkowy kod w arduino i NodeMCU

Krok 8: Części elektroniczne (UBEC)

Części elektroniczne (UBEC)
Części elektroniczne (UBEC)

3A-UBEC jest regulatorem impulsowym DC-DC dostarczanym z pakietem baterii litowych 2-6 ogniw (lub 5-18 ogniw NiMh / NiCd) i zapewnia stałe, bezpieczne napięcie dla odbiornika, żyroskopu i serw. Jest bardzo odpowiedni do helikoptera RC. W porównaniu z trybem liniowym UBEC, ogólna wydajność trybu przełączania UBEC jest wyższa.

W tym projekcie używamy go do zasilania wszystkich serw, ma filtrowanie, dzięki czemu zmniejszy hałas, który może wpłynąć na usterkę silnika, i ma wysoki Amp, który wystarcza, aby podnieść obciążenie robota.

kliknij tutaj, aby wyszukać w Aliexpress

Połączenie pinowe:

  1. UBEC (+) CZERWONY Wyjście pin do PCA9685 Servo (PWM) zasilanie V+
  2. UBEC (-) BLACK Wyjście pinowe do zasilania serwa PCA9685 (PWM) GND
  3. UBEC (+) CZERWONY Wejście do akumulatora (+) pin
  4. Wejście UBEC (-) CZARNY do pinu przełącznika

Krok 9: Części elektroniczne (DC-DC Mini Stepdown)

Części elektroniczne (DC-DC Mini Stepdown)
Części elektroniczne (DC-DC Mini Stepdown)
Części elektroniczne (DC-DC Mini Stepdown)
Części elektroniczne (DC-DC Mini Stepdown)

Ma prawie taką samą funkcję jak UBEC, ale ten jest tylko prostym modułem obniżającym napięcie DC-DC. Posiada potencjometr, który możemy regulować na wyjściu V (+) od 1V do 17V i nie posiada filtrowania.

kliknij tutaj, aby wyszukać go na Aliexpress

PS: pamiętaj, zanim go użyjesz, wyreguluj wyjście V (+) na wyjście 5 V za pomocą miernika napięcia prądu stałego

Połączenie pinowe:

  1. Mini stepdown (+) IN do (+) Baterii
  2. Mini stepdown (-) IN do pinu przełącznika
  3. Mini stepdown (+) OUT równolegle do pinu NodeMCU (5V), Arduino nano (5V) i PCA9685 (VCC)
  4. Mini stepdown (-) OUT równolegle do pinu NodeMCU (G), Arduino nano (GND) i PCA9685 (GND)

Krok 10: Inna część elektroniczna

Inna część elektroniczna
Inna część elektroniczna
Inna część elektroniczna
Inna część elektroniczna
Inna część elektroniczna
Inna część elektroniczna

To, czego potrzebujesz, to około (20 kabli lub mniej) żeński do żeńskiego przewodu połączeniowego (wyszukiwanie przewodu połączeniowego AliExpress)

Przełącznik wciskany samoblokujący lub możesz użyć innego rodzaju przełącznika (wyszukiwanie przełącznika samoblokującego Aliexpress)

i parę złącz JST od akumulatora do przełącznika i stepdown UBEC/DC-DC (Aliexpress JST Connector search)

Krok 11: Źródło zasilania

Źródło prądu
Źródło prądu
Źródło prądu
Źródło prądu

Istnieje wiele źródeł zasilania, z których możesz korzystać, dla mnie wolę używać akumulatora LiPo 3S. Ma prąd 11, 1 V i pojemność 500 mAh lub więcej (nie za dużo, więc może być lżejszy).

Ale używanie 3S lipo wymaga ładowarki i nie jest tanie, więc… możesz użyć innego źródła zasilania, takiego jak bateria AAA, możesz szeregowo 6 baterii AAA, więc może wytwarzać źródło zasilania około 9 V i myślę, że to wystarczająca moc dla tego robota.

Kliknij tutaj, aby wyszukać baterię Lipo 3S w Aliexpress

Kliknij tutaj, aby wyszukać ładowarkę Lipo

Kliknij tutaj, aby wyszukać uchwyt baterii 6xAAA w Aliexpress

Krok 12: Schemat połączeń

Schemat przewodów
Schemat przewodów

Kliknij i powiększ zdjęcie powyżej, aby zobaczyć cały schemat połączeń dla tego projektu

PS: potrzebujesz trochę lutowania w jakiejś części i umieść gumową główkę, aby uszczelnić ją w celu połączenia między wyłącznikiem zasilania, UBEC i DC-DC step down.

Krok 13: Kodowanie i pozycja początkowa

Kodowanie i pozycja początkowa
Kodowanie i pozycja początkowa

Podłącz arduino nano za pomocą kabla mini USB do portu USB (ale nie zapomnij odłączyć wszystkich pinów od wemos D1 mini i DC-DC stepdown) i otwórz „spider_driver_open_v3_ESP8266_Rev280918.ino” i sflashuj go do Arduino nano, ale nie Nie zapomnij wybrać płyty arduino do Arduino nano i wybrać odpowiedni port.

Następnie podłączamy Wemos D1 mini do komputera za pomocą micro USB do USB (nie zapomnij też odłączyć wszystkich pinów od DC-DC stepdown i Arduino nano). Następnie otwórz " QuadrupetV2_310319_fix_connection_issue.ino " i sflashuj go do płyty, ale wcześniej wybierz właściwą płytę w preferencjach i wybierz właściwy port (więcej szczegółów wróć do kroku 3)

Po zakończeniu możesz ponownie podłączyć wszystkie piny między arduino nano, wemos D1 mini i DC-DC stepdown i włączyć robota, aby dostosować prawidłową początkową pozycję.

POZYCJA POCZĄTKOWA (Patrz obrazek powyżej) ustaw całą nogę jak najbliżej powyższego obrazka.

Po włączeniu robota, jeśli pozycja nóg nie jest taka sama jak na powyższym obrazku, potrzebujesz tylko:

  1. odkręć Servo Horn i odłącz servo Horn od serwa.
  2. obróć nogę, aż znajdzie się wystarczająco blisko w początkowej pozie
  3. ponownie podłącz klakson serwa i ponownie go obsadź
  4. zrób to dla wszystkich chybionych nóg!

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino jest już naprawiony, pewien problem, taki jak trudne połączenie (wifi) i nieudane renderowanie strony internetowej, dla tych, którzy flashują starszy program przed 31-3-2019, pobierz go ponownie powyżej
  2. trzeba zainstalować dodatkową bibliotekę (skopiuj ją do folderu biblioteki)

    • github.com/wimleers/flextimer2
    • github.com/adafruit/Adafruit-PWM-Servo-Dri…
    • github.com/kroimon/Arduino-SerialCommand

Krok 14: Sterowanie robotem

Sterowanie robotem
Sterowanie robotem

Ponieważ ten robot stał się punktem dostępu WIFI, więc potrzebujesz tylko:

  1. Włączanie robota
  2. Otwórz ustawienia Wi-Fi na swoim smartfonie
  3. Połącz się z punktem dostępu SpiderRobo za pomocą hasła „12345678”
  4. Otwórz przeglądarkę internetową na smartfonie i wpisz

Teraz Twój Robot jest gotowy do przejęcia Twojego polecenia…

Krok 15: Dla kogo problem z otwarciem strony internetowej lub połączeniem z AP?

NAPRAWIŁEM TEN PROBLEM, POBIERZ GO PONOWNIE OD KROKU 13 POWYŻEJ (poprawka @ 31-4-2019)

niektóre klony Wemos D1 mini mają zły lub wadliwy ESP, co powoduje: - Trudności w połączeniu z AP

- Nie udało się otworzyć strony

- Ładowanie nie zostało zakończone

Aby uzyskać więcej informacji, sprawdź mój film powyżej…

Zalecana: