INHOUDSOPGAWE:

Wi-Fi-beheerde 4-wiel-robot: 6 stappe
Wi-Fi-beheerde 4-wiel-robot: 6 stappe

Video: Wi-Fi-beheerde 4-wiel-robot: 6 stappe

Video: Wi-Fi-beheerde 4-wiel-robot: 6 stappe
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
Wi-Fi-beheerde 4-wiel-robot
Wi-Fi-beheerde 4-wiel-robot

Vir hierdie projek ontwikkel ons 'n 4-wiel-robot met behulp van ESP8266 wat beheer word oor 'n Wi-Fi-netwerk. Die robot kan beheer word vanaf 'n gewone internetblaaier, met behulp van 'n HTML -ontwerpte koppelvlak of ook vanaf 'n Android -mobiele toepassing. ESP8266-chip is 'n kragtige en goedkoop mikrobeheerder, wat nie net maklik is om te gebruik nie, maar ook ingeboude Wi-Fi-verbinding het. Dit is net die perfekte chip om robotte op afstand vanaf u rekenaar of mobiele toestel te beheer.

Om hierdie chip in ons projek op te neem, kan ons 'n verskeidenheid ontwikkelingsborde gebruik wat gebaseer is op hierdie mikrobeheerder.

1. Adafruit Feather Huzzah - Dit word gemaak deur Adafruit en het maklik beskikbare instruksies en ondersteuning. Dit het 'n li-po-batterylaaier op die bord, sodat dit baie handig sal wees in draagbare projekte.

2. NodeMCU ESP8266 - Die bord is open source en beskik oor uitstekende dokumentasie, so dit sal baie maklik wees om aan die gang te kom.

3. Sparkfun ESP8266 - Dit is soos die Huzzah met die toevoeging van 'n kragskakelaar en 'n eksterne antenna vir 'n langer Wi -Fi -reeks.

4. Wemos D1 Mini - Dit is die kleinste van al die borde, maar dit het geen invloed op die prestasie nie.

Vir my projek gebruik ek Wemos D1 Mini om 'n Wi-Fi-beheerde 4-wiel-robot te maak. Maar u kan enige ESP8266 -ontwikkelbord gebruik en dieselfde Arduino -kode gebruik sonder dat enige veranderinge nodig is. Ek het 'n PCB vir hierdie projek ontwerp, maar u kan 'n PCB -bord gebruik om die stroombaan te implementeer of selfs u eie PCB te ontwerp.

En ons sal 'n 4WD robotiese onderstelstel gebruik, soos in die prent hierbo getoon, aangesien dit ideaal is vir selfdoen en die mees ekonomiese robotmotorstel met 'n eenvoudige meganiese struktuur is.

Kenmerke van hierdie kit:-

1. Kom met vier afsonderlike BO -plastiekmotors met ratkas, dit is goed vir wendbaarheid.

2. Met 'n groot, stewige akriel -onderstel kan u die uitbreidbaarheid van u handwerk baie makliker maak.

3. Vierwielaangedrewe slim motor onderstelstel. Baie maklik om te installeer, voeg net 'n mikrobeheerder (soos Arduino) en sensormodules by om 'n volledig outonome robot te bou

Stap 1: Komponentelys

Komponentelys
Komponentelys
Komponentelys
Komponentelys
Komponentelys
Komponentelys

Wemos D1 Mini [Hoeveelheid - 1]

L293d motorbestuurder IC [hoeveelheid - 2]

PCF8574 Port Expander IC [Hoeveelheid - 1]

12V litiumionbattery [hoeveelheid - 1]

Wi-Fi-beheerde robot-PCB [hoeveelheid-1]

4WD Robot Smart Car Chassis Kit [Hoeveelheid - 1]

Stap 2: Brein van die projek - ESP8266 Development Board (Wemos D1 Mini)

Brain of the Project - ESP8266 Development Board (Wemos D1 Mini)
Brain of the Project - ESP8266 Development Board (Wemos D1 Mini)

Wemos D1 Mini is 'n mini-Wi-Fi-ontwikkelbord met 4 MB flits gebaseer op ESP-8266 Chip.

  • Het 11 digitale invoer-/uitvoerpenne; alle penne word ondersteun deur interrupt/pwm/I2C/eendraad (behalwe D0)
  • Het 1 analoog ingang (maksimum 3.2V ingang)
  • Het 'n mikro -USB -aansluiting vir programmering sowel as 'n kragtoevoer.

Hierdie bord, gebaseer op ESP8266, is dus Arduino IDE -versoenbaar, daarom kan dit met Arduino geprogrammeer word of ook met Lua -samesteller geprogrammeer word. Dit ondersteun ook seriële en OTA -programmering.

Ons sal die Wemos D1 Mini met Arduino IDE programmeer. Om die bord te programmeer met behulp van die Arduino IDE moet aan die volgende vereistes voldoen word.

Vereiste:-

  • Bestuurder CH340G
  • Installeer die nuutste Arduino IDE vanaf die Arduino -webwerf.
  • 'N Micro usb -kabel vir programmering

Nadat u die bestuurder en die arduino -sagteware geïnstalleer het, moet u 'Arduino -kern vir ESP8266 WiFi -chip' in die Arduino IDE installeer, sodat ons die ESP8266 -chip uit die Arduino -omgewing kan programmeer. Met hierdie ESP8266 Arduino -kern kan u sketse skryf met behulp van bekende Arduino -funksies en biblioteke, en dit direk op ESP8266 laat loop, geen eksterne mikrobeheerder benodig nie.

ESP8266 Arduino -kern bevat biblioteke om via WiFi te kommunikeer met behulp van TCP en UDP, HTTP-, mDNS-, SSDP- en DNS -bedieners op te stel, OTA -opdaterings te doen, 'n lêerstelsel in flashgeheue te gebruik, te werk met SD -kaarte, servo's, SPI- en I2C -randapparatuur.

Laai die volgende dokument af om 'n idee te kry van hoe u die Esp8266 arduino -kern installeer.

Stap 3: Motorbestuurder - L293d

Motorbestuurder - L293d
Motorbestuurder - L293d
Motorbestuurder - L293d
Motorbestuurder - L293d
Motorbestuurder - L293d
Motorbestuurder - L293d

Die motorbestuurder is 'n IC vir motors waarmee u die werksnelheid en rigting van twee motors gelyktydig kan beheer.

L293d is ontwerp om tweerigting -dryfstrome by spannings van 5 V tot 36 V. L293D kan 2 GS -motors gelyktydig aandryf.

L293D is 'n 16 -pins motorbestuurder -IC. Daar is 4 INPUT penne, 4 OUTPUT penne en 2 ENABLE pen vir elke motor.

L293D Kenmerke:

Uitvoerstroomvermoë van 600 mA per kanaal

Klok en teen-kloksgewys rigtingbeheer vir individuele kanale

Speldbeskrywing van L293d:

  • Speld 1: As Aktiveer1 HOOG is, werk die linker gedeelte van die IC, dit wil sê die motor wat met pen 3 en pen 6 gekoppel is, draai.
  • Speld 2: Invoer 1, wanneer hierdie pen HOOG is, sal die stroom deur uitset 1 vloei.
  • Pen 3: Uitgang 1, hierdie pen is verbind met een motoraansluiting.
  • Speld 4/5: GND -penne
  • Pen 6: Uitgang 2, hierdie pen is verbind met een motoraansluiting.
  • Speld 7: Invoer 2, wanneer hierdie pen HOOG is, sal die stroom deur uitset 2 vloei.
  • Speld 8: VCC2, hierdie pen word gebruik om kragtoevoer aan gekoppelde motors van 5V tot 36V maksimum te gee, hang af van die gekoppelde motor.
  • Speld 9: As Aktiveer 2 HOOG is, werk die regterkant van die IC, dit wil sê die motor wat met pen 11 en pen 14 gekoppel is, draai.
  • Speld 10: Invoer 4, wanneer hierdie pen HOOG is, sal die stroom deur uitset 4 vloei.
  • Pen 11: Uitgang 4, hierdie pen is verbind met een motoraansluiting.
  • Speld 12/13: GND -penne
  • Pen 14: Uitgang 3, hierdie pen is verbind met een motoraansluiting.
  • Speld 15: Invoer 3, as hierdie pen HOOG is, sal die stroom deur uitset 3 vloei.
  • Speld 16: VCC1, vir logiese toevoer van krag na IC, dit wil sê 5V.

U kan dus sien dat u drie digitale penne benodig om elke motor te beheer (een pen vir spoedbeheer en twee penne vir rigtingbeheer). As een L293d twee GS -motors beheer, benodig ons twee L293d IC's om vier DC -motors te beheer. Ons gaan plastiek BO Motors gebruik vir hierdie projek. U sien dus dat ons 12 digitale penne benodig om al die vier gelykstroommotors onafhanklik te beheer met beide spoed- en rigtingbeheer.

Maar as u sien dat Wemos D1 mini slegs 11 digitale I/O -penne en 1 analoog pen het. Om hierdie probleem op te los, gaan ons die vier insetspelde (twee aktiveerpenne van die eerste L293d en twee inskakelpenne van die ander L293d) direk aan Wemos Digital -penne koppel, terwyl al die agt invoerpenne (vier van die eerste L293d en vier van die ander L293d) met behulp van PCF8574 ('n I/O -poortuitbreider) via I2C.

Stap 4: PCF8574 - 'n I/O -poortuitbreider

PCF8574 - 'n I/O -poortuitbreider
PCF8574 - 'n I/O -poortuitbreider
PCF8574 - 'n I/O -poortuitbreider
PCF8574 - 'n I/O -poortuitbreider

Wemos D1 Mini (dit wil sê ESP8266) het 'n tekort aan invoer/uitsetpenne. Ons kan die digitale invoer-/uitsetpenne verhoog met behulp van I/O expander IC soos PCF8574, wat 'n 8 bit I/O expander is.

Een van die voordele van die gebruik van PCF8574A I/O -uitbreiding is dat dit I2C -bus gebruik, wat slegs twee data lyne benodig, dit is klok (SCK) en data (SDA). Met hierdie twee lyne kan u dus tot agt penne van dieselfde skyf beheer. Deur die drie adrespenne van elke PCF8574 te verander, kan ons algehele 64 penne beheer.

Hierdie 8-bis input/output (I/O) expander vir die tweerig-tweerigting bus (I2C) is ontwerp vir 2.5V tot 6V VCC werking. Die PCF8574-toestel bied algemene I/O-uitbreiding vir algemene doeleindes vir die meeste mikrokontroller-gesinne deur middel van die I2C-koppelvlak [seriële klok (SCL), seriële data (SDA)].

Die toestel beskik oor 'n 8-bis quasi-tweerigting-I/O-poort (P0 – P7), insluitend ingeslote uitsette met 'n hoë-stroom-aandrywingskapasiteit om LED's direk te bestuur. Elke kwasi-tweerigting I/O kan as 'n invoer of uitset gebruik word sonder die gebruik van 'n datarigting-beheersignaal. By aanskakel is die I/Os hoog.

Sien die onderstaande "PCF8574_With_L293d" pdf -lêer vir die verbindingsdiagram van PCF8574 met die twee L293d IC's

Stap 5: Skema's

Skemas
Skemas
Skemas
Skemas

Ek het Kicad gebruik vir PCB -ontwerp.

Laai die onderstaande skematiese pdf af om u eie PCB te ontwerp of implementeer dit op 'n PCB -bord.

Stap 6: Kode

Koppel aan die volgende Wi-Fi-toegangspunt:-

// Gebruikergedefinieerde netwerkbewyse bewys char* ssid = "WiFi_Robot";

const char* password = "Outomatiseer@111";

Nadat u met die bogenoemde toegangspunt gekoppel is, gaan na die onderstaande skakel in 'n webblaaier:-

192.168.4.1

U kry die volgende boodskap:-

"hallo van Robot!"

192.168.4.1/fw

Dit sal veroorsaak dat die robot vorentoe beweeg

192.168.4.1/bk

Dit sal veroorsaak dat die robot agteruit beweeg

192.168.4.1/lt

Dit sal veroorsaak dat die robot na links beweeg

192.168.4.1/rt

Dit sal veroorsaak dat die robot regs beweeg

192.168.4.1/st

Dit sal veroorsaak dat die robot stop

As u wil, kan u die robot ook beheer via die Android -app wat deur Robo India gemaak is.

{Soek na 'WiFi Robot Controller' Android -app in die speelwinkel gemaak deur Robo India}

[Nota: ek is op geen manier verbonde aan Robo India nie, en dit is nie vir advertensies nie, dit is my persoonlike projek!]

Werkvideo van die projek:-

Aanbeveel: