Turinys:

ESP8266 WIFI AP valdomas keturkojis robotas: 15 žingsnių (su nuotraukomis)
ESP8266 WIFI AP valdomas keturkojis robotas: 15 žingsnių (su nuotraukomis)

Video: ESP8266 WIFI AP valdomas keturkojis robotas: 15 žingsnių (su nuotraukomis)

Video: ESP8266 WIFI AP valdomas keturkojis robotas: 15 žingsnių (su nuotraukomis)
Video: Контроллер температуры мобильного телефона с модулем WIFI DT 06 | Программирование LDmicro-Roboremo 2024, Lapkritis
Anonim
Image
Image

Ši pamoka skirta 12 DOF arba keturių kojų (keturkojų) robotui sukurti naudojant SG90 servo sistemą su servo tvarkykle ir gali būti valdoma naudojant WIFI žiniatinklio serverį per išmaniojo telefono naršyklę

Bendra šio projekto kaina yra apie 55 USD (elektroninei daliai ir plastikiniam roboto rėmui)

1 žingsnis: Paruoškite rėmą

Elektroninės dalys („Wemos D1 Mini“)
Elektroninės dalys („Wemos D1 Mini“)

Visą 3D objektą galima nemokamai atsisiųsti @ www.myminifactory.com arba www.thingiverse.com

Atspausdinkite ją naudodami tam tikros dalies, pvz., Pėdos, klubų ir šlaunų, materialinę paramą

Spausdintų dalių sąrašas:

1x bazinis korpusas

1x dangtelis

1x baterijos laikiklis

4x klubai (A ir B tipai)

4x pėdkelnės (A ir B tipai)

4x pėda (A ir B tipai)

4x skydas

12x įvorė + 12x 2 mm varžtas

2 žingsnis: Surinkite roboto rėmą

sekite žingsnis po žingsnio vaizdo įrašą, kad surinktumėte rėmą, varžtas skirtas 2 mm dydžio angai

3 žingsnis: Elektroninės dalys („Wemos D1 Mini“)

Image
Image

Rinkoje yra daug „NodeMCU“variantų ir iš esmės turi tas pačias funkcijas, šiam projektui aš renkuosi „Wemos D1 Mini“.

Ši dalis bus mūsų keturkojo kaip prieigos taško žiniatinklio serveris.

Jums tereikia prisijungti prie keturkojo AP ir valdyti visą savo roboto judėjimą, o galbūt būsimame projekte jis parodys visus jums reikalingus jutiklių prietaisų skydelį …

Ši „D1 mini“yra mini WIFI plokštė, pagrįsta ESP-8266EX. ir jis turi 11 skaitmeninių įvesties/išvesties kaiščių, visi kaiščiai turi pertraukimo/pwm/I2C/vieno laido palaikymą (išskyrus D0) 1 analoginį įėjimą (maksimali įvestis 3,3 V) ir „Micro USB“jungtį

Kaip pradėti:

  1. Įdiekite „Arduino 1.6.7“iš „Arduino“svetainės.
  2. Pradėkite „Arduino“ir atidarykite nuostatų langą.
  3. į papildomų lentų valdytojo URL lauką. Galite pridėti kelis URL, atskirdami juos kableliais.
  4. Atidarykite Įrankiai → Lenta: xxx → Lentų tvarkytuvė ir įdiekite esp8266 by ESP8266 Community (ir nepamirškite įdiegę ESP8266 plokštę pasirinkti iš Tools> Board).

Norėdami gauti daugiau informacijos, galite peržiūrėti aukščiau pateiktą vaizdo įrašą

Spustelėkite čia, jei norite ieškoti „Aliexpress“

Šiam projektui viskas, ko jums reikia, yra prijungti šį kaištį:

  1. „NodeMCU RX“kaištis prijungiamas prie „Arduino Nano TX“kaiščio
  2. „NodeMCU TX“kaištis prijungiamas prie „Arduino Nano RX“kaiščio
  3. „NodeMCU G“kaištis prijungiamas prie „DC-DC mini 5v Stepdown“(-) išvesties kaiščio
  4. „NodeMCU5V“kaištis prijungiamas prie „DC-DC mini 5v Stepdown“(+) išvesties kaiščio

PS: Norėdami užprogramuoti šią plokštę, turite atjungti visą kaištį, prijungtą prie arduino ir DC-DC, priešingu atveju gausite klaidą …

4 žingsnis: Elektroninės dalys („Arduino Nano“)

Elektroninės dalys („Arduino Nano“)
Elektroninės dalys („Arduino Nano“)

Tas pats ir su „NodeMCU“, „arduino“plokštėje galite naudoti bet kokią jums tinkamą plokštę, pvz., „Arduino Pro Mini“, „Arduino Nano“ar kt.

Tačiau šiam projektui aš pasirenku „Arduino Nano“, nes man nereikia daug naudoto kaiščio, jis yra mažas ir nereikia FTDI, kad jį užprogramuotumėte.

spustelėkite čia, jei norite ieškoti „Aliexpress“

Šiam projektui aš tiesiog naudoju:

  1. „Arduino nano RX“kaištis prijungiamas prie „NodeMCU TX“kaiščio
  2. „Arduino nano TX“kaištis prijungiamas prie „NodeMCU RX“kaiščio
  3. „Ardiono nano A4“kaištis prijungiamas prie PCA9685 SDA kaiščio
  4. „Arduino nano A5“kaištis prijungiamas prie PCA9685 SCL kaiščio
  5. „Arduino nano GND“kaištis prijungiamas prie „DC-DC mini 5v Stepdown“(-) išvesties kaiščio
  6. „Arduino nano 5V“kaištis prijungiamas prie DC-DC mini 5v „Stepdown“(+) išvesties kaiščio

daugiau informacijos rasite aukščiau esančioje schemoje

PS: Norėdami užprogramuoti šią plokštę, turite atjungti visus kaiščius, pritvirtintus prie „NodeMCU“ir DC-DC, priešingu atveju gausite klaidą …

5 žingsnis: Elektroninės dalys („Tower Pro 9g Micro Servo“)

Elektroninės dalys („Tower Pro 9g Micro Servo“)
Elektroninės dalys („Tower Pro 9g Micro Servo“)

Tai yra populiariausias mini servo. Sveria tik 9 gramus ir suteikia 1,5 kg/cm sukimo momentą. Gana stiprus, atsižvelgiant į jo dydį. Tinka sijos tipo robotams.

PS: Ši servo sistema gali pasukti tik 180 laipsnių kampą

Pagrindiniai bruožai:

• Permatomas korpusas

• Lengvas

• Mažiau triukšmo Specifikacijos:

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

• Jungties laido ilgis: 150 mm

• Veikimo greitis (4,8 V be apkrovos): 0,12 sek. / 60 laipsnių

• Sukimo momentas (4,8 V): 1,98 kg/cm

• Temperatūros diapazonas: nuo 30 iki 60 ° C (nuo -22 iki 140 ℉)

• Negyvos juostos plotis: 4 naudojimoc

• Darbinė įtampa: 3,5 - 8,4 voltai

Spustelėkite čia, jei norite ieškoti SG90 servo „Aliexpress“

6 žingsnis: Elektroninės dalys (16 kanalų 12 bitų PWM/servo tvarkyklė - I2C sąsaja - PCA9685, skirta „Arduino“)

Elektroninės dalys (16 kanalų 12 bitų PWM/servo tvarkyklė - I2C sąsaja - PCA9685, skirta „Arduino“)
Elektroninės dalys (16 kanalų 12 bitų PWM/servo tvarkyklė - I2C sąsaja - PCA9685, skirta „Arduino“)

Norite pasivaikščioti robotu? tačiau naudojant tik mikrovaldiklį yra ribotas PWM išėjimų skaičius, ir jūs jaučiatės pritrūkę! Ne su Adafruit 16 kanalų 12 bitų PWM/servo tvarkyklės-I2C sąsaja. Naudodami šį pwm ir servo tvarkyklės pertrauką, galite valdyti 16 laisvai veikiančių PWM išėjimų tik dviem kaiščiais! Reikia paleisti daugiau nei 16 PWM išėjimų? Jokiu problemu. Sujunkite grandinę iki 62 šių gražuolių, kad pasiektumėte išskirtinį 992 PWM išvestį.

Šioje plokštėje/mikroschemoje naudojamas I2C 7 bitų adresas tarp 0x60-0x80, pasirenkamas su trumpikliais. Gnybtų blokas, skirtas įvesti maitinimą (arba galite naudoti 0,1 colio įbrėžimus šone) Apsauga nuo gnybtų bloko įvesties poliškumo kištukinės jungtys 4 grupėse, kad galėtumėte vienu metu prijungti 16 servo („Servo“kištukai yra šiek tiek platesni nei 0,1 colio, kad galėtumėte sukrauti 4 greta vienas kito ant 0,1 colio antraštės, tinkančios grandinei) Vieta dideliam diegimui kondensatorius ant V+ linijos (jei jums to reikia) 220 omų serijos rezistoriai visose išvesties linijose, kad jas apsaugotų, o kad važiavimo šviesos diodai taptų nereikšmingi Lydmetalio džemperiai 6 adresams pasirinkite kaiščius i2c valdomas PWM tvarkyklė su įmontuotu laikrodžiu. Skirtingai nuo TLC5940 šeimos, jums nereikia nuolat siųsti signalo, jungiančio jūsų mikrovaldiklį, jis veikia visiškai laisvai! Jis suderinamas su 5 V įtampa, o tai reiškia, kad galite valdyti jį iš 3,3 V mikrovaldiklio ir vis tiek saugiai valdyti iki 6 V išvesties (tai tinka, kai norite valdyti baltą arba mėlyną L ED su 3,4 ir daugiau priekinės įtampos) 6 adresų pasirinkimo kaiščiai, kad galėtumėte prijungti iki 62 iš jų į vieną i2c magistralę, iš viso 992 išėjimus - tai daug servo ar šviesos diodų Reguliuojamas dažnis PWM iki maždaug 1,6 KHz 12 bitų kiekvienos išvesties skiriamoji geba-servo sistemoms tai reiškia apie 4us skiriamąją gebą esant 60 Hz atnaujinimo dažniui.

spustelėkite čia, jei norite ieškoti „Aliexpress“

Šiame projekte mums reikia tik 12 CH visoms kojoms (3CH kiekvienai kojai), prijunkite šį PCA9685 kaištį prie „Arduino Nano“:

  1. PCA9685 VCC į DC-DC mini 5v Stepdown (+) išvesties kaištį
  2. PCA9685 GND į DC-DC mini 5v Stepdown (-) išvesties kaištį
  3. PCA9685 Servo (PWM) galia V+ į UBEC (+) išvesties kaištis
  4. PCA9685 Servo (PWM) maitinimas GND į UBEC (-) išvesties kaištis
  5. PCA9685 SDA su arduino nano A4 kaiščiu
  6. PCA9685 SCL kaištis prie arduino nano A5 kaiščio
  7. PCA9685 CH0 prie priekinio dešiniojo šono, suderinkite kabelio spalvą su PCA9685 lizdo spalva (geltona, raudona, ruda/juoda)
  8. PCA9685 CH1 prie priekinės dešinės kojos, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  9. PCA9685 CH2 prie priekinio dešiniojo klubo, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  10. PCA9685 CH4 prie galinės dešinės pusės, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  11. PCA9685 CH5 prie galinės dešinės kojos, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  12. PCA9685 CH6 prie galinio dešinio klubo, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  13. PCA9685 CH8 prie priekinio kairiojo šono, suderinkite kabelio spalvą su PCA9685 lizdo spalva (geltona, raudona, ruda/juoda)
  14. PCA9685 CH9 prie priekinės kairės kojos, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  15. PCA9685 CH10 prie priekinio kairiojo klubo, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  16. PCA9685 CH12 prie galinės kairės pusės, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  17. PCA9685 CH13 prie galinės kairės kojos, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)
  18. PCA9685 CH14 prie galinio kairiojo klubo, prijunkite kabelio spalvą prie PCA9685 lizdo spalvos (geltona, raudona, ruda/juoda)

PS: Kai kuriuose PCA9685 nėra spalvų kodo lizdo, todėl įsitikinkite, kad geltonas kabelis iš SG90 servo eina į PWM duomenų kaištį, raudonas kabelis - prie V+ kaiščio, o juodas/rudas - į GND kaištį

7 žingsnis: PWM prijungimas prie servo kaiščio

PWM - servo kaiščio jungtis
PWM - servo kaiščio jungtis
PWM - servo kaiščio jungtis
PWM - servo kaiščio jungtis

Spustelėkite ir padidinkite paveikslėlį aukščiau, kad pamatytumėte kaiščio atvaizdavimą tarp PCA9685 ir servo

PS: Šiam projektui naudojate tik 12 kanalų iš 16 kanalų, todėl jums dar liko 4 kanalų plėtrai, pvz., Radaro servo įdėjimui arba ant jo uždėti kokį nors nerf blaster ginklą … Tiesiog įdėkite papildomą kodą į arduino ir NodeMCU

8 žingsnis: elektroninės dalys (UBEC)

Elektroninės dalys (UBEC)
Elektroninės dalys (UBEC)

3A-UBEC yra perjungimo režimo nuolatinės srovės reguliatorius, tiekiamas su 2-6 elementų ličio baterijų paketu (arba 5-18 elementų NiMh /NiCd baterija) ir išleidžia pastovią saugią įtampą jūsų imtuvui, giroskopui ir servo sistemoms. Tai labai tinka RC sraigtasparniui. Palyginti su linijinio režimo UBEC, bendras jungiklio režimo UBEC efektyvumas yra didesnis.

Šiame projekte mes jį naudojame visų servo maitinimui, jis turi filtravimą, todėl sumažins triukšmą, galintį sukelti variklio gedimą, ir turi didelį stiprumą, kurio pakanka pakelti roboto apkrovą.

spustelėkite čia, jei norite ieškoti „Aliexpress“

Smeigtuko jungtis:

  1. UBEC (+) RED išvesties kaištis į PCA9685 servo (PWM) maitinimą V+
  2. UBEC (-) BLACK Išvesties kaištis į PCA9685 servo (PWM) maitinimą GND
  3. UBEC (+) RAUDONA įvestis į akumuliatoriaus (+) kaištį
  4. UBEC (-) JUODAS įėjimas į jungiklio kaištį

9 žingsnis: Elektroninės dalys (DC-DC Mini Stepdown)

Elektroninės dalys (DC-DC Mini Stepdown)
Elektroninės dalys (DC-DC Mini Stepdown)
Elektroninės dalys (DC-DC Mini Stepdown)
Elektroninės dalys (DC-DC Mini Stepdown)

Jis beveik turi tą pačią funkciją kaip ir UBEC, tačiau šis yra tik paprastas DC-DC mažinimo modulis. Jame yra stiprumo matuoklis, kuriuo galime reguliuoti V (+) išėjimą nuo 1 V iki 17 V, ir jis neturi filtravimo.

spustelėkite čia, jei norite ieškoti „Aliexpress“

PS: todėl nepamirškite, prieš naudodami jį, sureguliuokite V (+) išėjimą į 5 V, naudodami nuolatinės srovės voltų matuoklį

Smeigtuko jungtis:

  1. Mini pakrovimas (+) IN prie (+) akumuliatoriaus
  2. Mini pakilimas (-) IN prie jungiklio kaiščio
  3. Mini išjungimas (+) OUT lygiagrečiai su „NodeMCU“(5V), „Arduino nano“(5V) ir PCA9685 (VCC) kaiščiu
  4. Mini žingsnio (-) OUT lygiagrečiai su „NodeMCU“(G), „Arduino nano“(GND) ir PCA9685 (GND) kaiščiu

10 veiksmas: kita elektroninė dalis

Kita elektroninė dalis
Kita elektroninė dalis
Kita elektroninė dalis
Kita elektroninė dalis
Kita elektroninė dalis
Kita elektroninė dalis

Jums reikia maždaug (20 kabelių ar mažiau) jungiamojo laido iš moters į moterį („Aliexpress Jumper“laido paieška)

Savaiminio užrakto stumiamasis jungiklis arba galite naudoti kito tipo jungiklius („Aliexpress“savaiminio fiksavimo jungiklių paieška)

ir pora JST jungčių iš akumuliatoriaus į jungiklį ir UBEC/DC-DC išjungimas („Aliexpress JST Connector“paieška)

11 žingsnis: Maitinimo šaltinis

Maitinimo šaltinis
Maitinimo šaltinis
Maitinimo šaltinis
Maitinimo šaltinis

Yra daug energijos šaltinių, kuriuos galite naudoti, man labiau patinka įkraunama lipo 3S baterija. Jis turi 11, 1 voltų srovę ir 500 mAh ar didesnę talpą (ne per daug, todėl ji gali būti lengvesnė).

Tačiau naudojant 3S lipo reikia įkroviklio ir tai nėra pigu, todėl… galite naudoti kitą maitinimo šaltinį, pvz., AAA bateriją, ir serijinę 6 AAA bateriją, kad ji galėtų gaminti maždaug 9 V maitinimo šaltinį, ir manau, kad šiam robotui pakanka energijos.

Spustelėkite čia ir ieškokite „Lipo 3S“baterijos „Aliexpress“

Spustelėkite čia, jei norite ieškoti „Lipo Charger“

Spustelėkite čia ir ieškokite 6xAAA baterijų laikiklio „Aliexpress“

12 žingsnis: vielos schema

Vielos diagrama
Vielos diagrama

Spustelėkite ir padidinkite paveikslėlį aukščiau, kad pamatytumėte visą šio projekto laidų schemą

PS: kai kur reikia lituoti ir uždėti guminę galvutę, kad užsandarintumėte jungtį tarp maitinimo jungiklio, UBEC ir DC-DC.

13 žingsnis: kodavimas ir pradinė padėtis

Kodavimas ir pradinė poza
Kodavimas ir pradinė poza

Prijunkite „arduino nano“naudodami mini USB prie USB prievado kabelio (tačiau nepamirškite atjungti viso kištuko prie „wemos D1 mini“ir DC-DC išjungimo) ir atidarykite „spider_driver_open_v3_ESP8266_Rev280918.ino“ir prijunkite jį prie „Arduino nano“, bet ne Nepamirškite pasirinkti „Arduino nano“arduino plokštės ir pasirinkti tinkamą prievadą.

Toliau prijunkite „Wemos D1 mini“prie kompiuterio, naudodami „micro USB“prie USB (taip pat nepamirškite atjungti visų kaiščių prie „DC-DC stepdown“ir „Arduino nano“). Atidarykite „QuadrupetV2_310319_fix_connection_issue.ino“ir pamirkykite jį prie lentos, bet prieš tai parduodami tinkamą plokštę ir pasirinkite tinkamą prievadą (išsamiau prašome grįžti prie 3 veiksmo)

Baigę galite prijungti visą kaištį tarp „arduino nano“, „wemos D1 mini“ir DC-DC išjungimo ir įjungti robotą, kad sureguliuotumėte teisingą pradinę pozą.

Pradinė padėtis (žr. Paveikslėlį aukščiau) sureguliuokite visas kojas kuo arčiau aukščiau esančio paveikslo.

Įjungę robotą, jei kojos padėtis nesutampa su aukščiau esančia nuotrauka, nei jums reikia:

  1. atsukite servo ragą ir atjunkite servo ragą nuo servo.
  2. pasukite koją iki pakankamai arti pradinės pozos
  3. vėl pritvirtinkite servo ragą ir vėl jį įdėkite
  4. daryk tai visoms praleistoms rungtynėms

PS:

  1. „QuadrupetV2_310419_fix_connection_issue.ino“jau išsprendė tam tikrą problemą, pvz., Sunku prisijungti („Wi-Fi“) ir tinklalapio atvaizdavimas nepavyksta, tiems, kurie mirksi senesnę programą iki 2019 m.
  2. reikia įdiegti papildomą biblioteką (nukopijuokite ją į bibliotekos aplanką)

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

14 žingsnis: Roboto valdymas

Roboto valdymas
Roboto valdymas

Kadangi šis robotas tapo WIFI prieigos tašku, jums tereikia:

  1. Įjungiamas robotas
  2. Išmaniajame telefone atidarykite „Wi -Fi“nustatymą
  3. Prisijunkite prie „SpiderRobo“prieigos taško slaptažodžiu „12345678“
  4. Išmaniajame telefone atidarykite žiniatinklio naršyklę ir įveskite

Dabar jūsų robotas yra pasirengęs vykdyti jūsų komandą …

15 veiksmas: kam kyla problemų atidarant tinklalapį arba prisijungiant prie AP

PATIKRINU ŠIĄ PROBLEMĄ, PRAŠOME ATSISIŲSTI IŠ VĖL 13 ŽINGSNIO (pataisyti @ 2019-04-31)

kai kuriuose „Wemos D1“mini klonuose yra blogas arba sugadintas ESP, ir tai sukelia:- sunku prisijungti prie AP

- Nepavyko atidaryti puslapio

- Įkrovimas nebaigtas

Norėdami gauti daugiau informacijos, žiūrėkite mano vaizdo įrašą aukščiau…

Rekomenduojamas: