Inhoudsopgave:

ESP8266 WIFI AP-gestuurde viervoetige robot - Ajarnpa
ESP8266 WIFI AP-gestuurde viervoetige robot - Ajarnpa

Video: ESP8266 WIFI AP-gestuurde viervoetige robot - Ajarnpa

Video: ESP8266 WIFI AP-gestuurde viervoetige robot - Ajarnpa
Video: Stemmestyret robotarm 2024, Juli-
Anonim
Image
Image

Dit is een tutorial om een 12 DOF of vierbenige (viervoetige) robot te maken met behulp van SG90 servo met servodriver en deze kan worden bestuurd met behulp van WIFI-webserver via smartphonebrowser

De totale kosten voor dit project bedragen ongeveer US $ 55 (voor elektronisch onderdeel en plastic robotframe)

Stap 1: Bereid het frame voor

Elektronische onderdelen (Wemos D1 Mini)
Elektronische onderdelen (Wemos D1 Mini)

Alle 3D-objecten kunnen gratis worden gedownload @ www.myminifactory.com of www.thingiverse.com

Druk het af met materiële ondersteuning voor een deel zoals voet, heupen en dijen

Lijst met gedrukte onderdelen:

1x basislichaam

1x Hoes

1x Batterijhouder

4x Heupen (type A & B)

4x Dij (type A & B)

4x Voet (type A & B)

4x schild

12x Bus + 12x 2mm schroef

Stap 2: Montage van het robotframe

volg de stapsgewijze video hierboven om het frame te monteren, de schroef is voor een gat van 2 mm

Stap 3: Elektronische onderdelen (Wemos D1 Mini)

Image
Image

Er zijn veel NodeMCU-varianten op de markt en hebben in principe dezelfde functionaliteit, voor dit project kies ik voor Wemos D1 Mini.

Dit deel zal dienen als een webserver voor onze viervoeter als een toegangspunt.

Wat je nodig hebt, is gewoon verbinding maken met de Quadruped AP en alle bewegingen van je robot regelen, en misschien zal het voor het toekomstige project alle dashboards van de sensoren weergeven die je nodig hebt …

Deze D1 mini is een mini WIFI-bord op basis van ESP-8266EX. en het heeft 11 digitale input/output-pinnen, alle pinnen hebben interrupt/pwm/I2C/one-wire ondersteund (behalve D0) 1 analoge input (3.3V max input) een Micro USB-verbinding

Hoe te beginnen in:

  1. Installeer voor Arduino 1.6.7 van de voor Arduino-website.
  2. Start voor Arduino en open het voorkeurenvenster.
  3. in het veld Extra Boards Manager-URL's. U kunt meerdere URL's toevoegen, gescheiden door komma's.
  4. Open Tools→Board:xxx→Boards Manager en installeer esp8266 door ESP8266 Community (en vergeet niet om uw ESP8266-board te selecteren in Tools > Board-menu na installatie).

Voor meer details kun je de video hierboven bekijken

Klik hier om te zoeken in Aliexpress

Voor dit project hoef je alleen deze pin aan te sluiten:

  1. NodeMCU RX-pin maakt verbinding met de Arduino Nano TX-pin
  2. NodeMCU TX-pin maakt verbinding met de Arduino Nano RX-pin
  3. NodeMCU G-pin verbinding maken met de DC-DC mini 5v Stepdown (-) Output pin out
  4. NodeMCU5V pin aansluiten op de DC-DC mini 5v Stepdown (+) Output pin out

PS: voor het programmeren van dit bord moet je alle pins loskoppelen die aan de arduino zijn bevestigd en DC-DC naar beneden gaan, anders krijg je een foutmelding …

Stap 4: Elektronische onderdelen (Arduino Nano)

Elektronische onderdelen (Arduino Nano)
Elektronische onderdelen (Arduino Nano)

Hetzelfde met NodeMCU, voor het Arduino-bord kun je elk bord gebruiken dat bij je past, zoals Arduino Pro Mini, Arduino Nano of anders.

Maar voor dit project kies ik Arduino Nano, omdat ik niet veel van de pin nodig heb die ik heb gebruikt, het is klein en er is geen FTDI nodig om het te programmeren.

klik Hier om te zoeken in Aliexpress

Voor dit project gebruik ik gewoon:

  1. Arduino nano RX-pin maakt verbinding met de NodeMCU TX-pin
  2. Arduino nano TX-pin maakt verbinding met de NodeMCU RX-pin
  3. Ardiono nano A4 pin aansluiten op de PCA9685 SDA pin
  4. Arduino nano A5 pin aansluiten op de PCA9685 SCL pin
  5. Arduino nano GND pin aansluiten op de DC-DC mini 5v Stepdown (-) Output pin out
  6. Arduino nano 5V pin aansluiten op de DC-DC mini 5v Stepdown (+) Output pin out

zie het schema hierboven voor meer details

PS: voor het programmeren van dit bord moet je alle pins loskoppelen die op de NodeMCU zijn aangesloten en DC-DC naar beneden gaan, anders krijg je een foutmelding …

Stap 5: Elektronische onderdelen (Tower Pro 9g Micro Servo)

Elektronische onderdelen (Tower Pro 9g Micro Servo)
Elektronische onderdelen (Tower Pro 9g Micro Servo)

Dit is de meest populaire mini-servo. Weegt slechts 9 gram en geeft je een koppel van 1,5 kg/cm. Vrij sterk gezien zijn grootte. Geschikt voor robots van het straaltype.

PS: deze servo kan alleen een hoek van 180 graden draaien

Belangrijkste kenmerken:

• Doorschijnend lichaam

• Lichtgewicht

• Minder ruis Specificaties:

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

• Lengte connectordraad: 150 mm

• Bedrijfssnelheid (4,8 V onbelast): 0,12 sec / 60 graden

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

• Temperatuurbereik: 30 tot 60°C (-22 tot 140℉)

• Dode bandbreedte: 4 usec

• Bedrijfsspanning: 3,5 - 8,4 Volt

Klik Hier om SG90-servo in Aliexpress te zoeken:

Stap 6: Elektronische onderdelen (16-kanaals 12-bits PWM/servo-stuurprogramma - I2C-interface - PCA9685 voor Arduino)

Elektronische onderdelen (16-kanaals 12-bits PWM/servo-stuurprogramma - I2C-interface - PCA9685 voor Arduino)
Elektronische onderdelen (16-kanaals 12-bits PWM/servo-stuurprogramma - I2C-interface - PCA9685 voor Arduino)

Robotwalker maken? maar het gebruik van alleen een microcontroller heeft een beperkt aantal PWM-uitgangen, en je merkt dat je bijna opraakt! Niet met de Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface. Met deze pwm- en servodriver-breakout kun je 16 vrijlopende PWM-uitgangen aansturen met slechts twee pinnen! Wilt u meer dan 16 PWM-uitgangen gebruiken? Geen probleem. Koppel tot 62 van deze schoonheden aan elkaar voor maximaal 992 PWM-uitgangen.

Deze kaart/chip gebruikt I2C 7-bits adres tussen 0x60-0x80, selecteerbaar met jumpers Klemmenblok voor stroominvoer (of u kunt de 0.1" breakouts aan de zijkant gebruiken) Omgekeerde polariteitsbeveiliging op de klemblokinvoer Groene stroom-goede LED 3 pin connectoren in groepen van 4 zodat je 16 servo's tegelijk kunt aansluiten (Servo pluggen zijn iets breder dan 0.1" zodat je er maar 4 naast elkaar kunt stapelen op 0.1" header "Chain-able" ontwerp Een plek om een grote condensator op de V+ lijn (voor het geval je het nodig hebt) 220 ohm serieweerstanden op alle uitgangslijnen om ze te beschermen, en om aansturen van LED's triviaal te maken Soldeer jumpers voor de 6 adresselectie pinnen i2c-gestuurde PWM-driver met een ingebouwde klok. In tegenstelling tot de TLC5940-familie, hoef je het niet continu een signaal te sturen om je microcontroller te verbinden, het is volledig vrij! is goed voor als je wit of blauw wilt regelen L ED's met meer dan 3,4 voorwaartse spanningen) 6 adresselectiepinnen, zodat u er tot 62 op een enkele i2c-bus kunt aansluiten, in totaal 992 uitgangen - dat zijn veel servo's of LED's Instelbare frequentie PWM tot ongeveer 1,6 KHz 12-bit resolutie voor elke uitgang - voor servo's betekent dat een resolutie van ongeveer 4us bij een updatesnelheid van 60 Hz. Configureerbare push-pull- of open-drain-uitgang Uitgangspin om snel alle uitgangen uit te schakelen.

klik Hier om te zoeken in Aliexpress

In dit project hebben we alleen 12 CH nodig voor alle poten (3CH per poot), sluit deze PCA9685-pin aan op Arduino Nano:

  1. PCA9685 VCC naar de DC-DC mini 5v Stepdown (+) Output pin out
  2. PCA9685 GND naar de DC-DC mini 5v Stepdown (-) Output pin out
  3. PCA9685 Servo (PWM) voeding V+ naar UBEC (+) Uitgang pin-out
  4. PCA9685 Servo (PWM) voeding GND naar UBEC (-) Uitgang pin-out
  5. PCA9685 SDA pinto de arduino nano A4 pin
  6. PCA9685 SCL-pin naar de Arduino nano A5-pin
  7. PCA9685 CH0 aan de rechtervoorzijde, stem de kabelkleur af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  8. PCA9685 CH1 op de rechtervoorvoet, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  9. PCA9685 CH2 op de heup rechtsvoor, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  10. PCA9685 CH4 naar de rechterachterkant, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  11. PCA9685 CH5 op de rechterachtervoet, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  12. PCA9685 CH6 naar de rechter achterheup, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  13. PCA9685 CH8 op de linkervoorzijde, stem de kabelkleur af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  14. PCA9685 CH9 op de linkervoorvoet, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  15. PCA9685 CH10 op de linkervoorheup, stem de kabelkleur af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  16. PCA9685 CH12 naar de linkerachterkant, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  17. PCA9685 CH13 op de linkerachtervoet, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)
  18. PCA9685 CH14 naar de linker achterheup, stem de kleur van de kabel af op de kleur van de PCA9685-aansluiting (geel, rood, bruin/zwart)

PS: Sommige PCA9685 hebben geen kleurcode-aansluiting, dus zorg ervoor dat de gele kabel van de SG90-servo naar de PWM-gegevenspin gaat, de rode kabel naar de V+-pin en de zwart/bruine kabel naar de GND-pin

Stap 7: PWM-naar-servo-pinverbinding

PWM naar servopin-verbinding
PWM naar servopin-verbinding
PWM naar servopin-verbinding
PWM naar servopin-verbinding

Klik en zoom de afbeelding hierboven om de pin-toewijzing tussen PCA9685 en de servo's te zien

PS: Je gebruikt alleen 12CH van 16 CH voor dit project, dus je hebt nog 4CH over voor uitbreiding, zoals het plaatsen van een radarservo of een nerf-blasterwapen erop … Zet gewoon een extra code in de arduino en NodeMCU

Stap 8: Elektronische onderdelen (UBEC)

Elektronische onderdelen (UBEC)
Elektronische onderdelen (UBEC)

De 3A-UBEC is een schakelende DC-DC-regelaar die wordt geleverd met een lithiumbatterijpakket van 2-6 cellen (of een NiMh-/NiCd-batterij van 5-18 cellen) en levert een consistente veilige spanning voor uw ontvanger, gyro en servo's. Het is zeer geschikt voor RC-helikopters. Vergeleken met de lineaire modus UBEC is de algehele efficiëntie van de UBEC met schakelmodus hoger.

In dit project gebruiken we het om alle servo's van stroom te voorzien, het heeft filtering zodat het de ruis vermindert die de motorstoring kan veroorzaken en het heeft een hoge versterker die voldoende is om de robotbelasting op te tillen.

klik Hier om te zoeken in Aliexpress

Pin-aansluiting:

  1. UBEC (+) ROOD Uitgangspin naar de PCA9685 Servo (PWM) voeding V+
  2. UBEC (-) ZWART Uitgangspin naar de PCA9685 Servo (PWM) voeding GND
  3. UBEC (+) RODE ingang naar de batterij (+) pin
  4. UBEC (-) ZWART ingang naar de schakelaar pin

Stap 9: Elektronische onderdelen (DC-DC Mini Stepdown)

Elektronische onderdelen (DC-DC Mini Stepdown)
Elektronische onderdelen (DC-DC Mini Stepdown)
Elektronische onderdelen (DC-DC Mini Stepdown)
Elektronische onderdelen (DC-DC Mini Stepdown)

Het heeft bijna dezelfde functie als UBEC, maar dit is slechts een eenvoudige DC-DC step-down module. Het heeft een potensiometer waarmee we de V (+) -uitgang kunnen aanpassen van 1V tot 17V en geen filtering heeft.

klik Hier om het te zoeken op Aliexpress

PS: dus onthoud, voordat u het gebruikt, past u de V (+) uit naar 5V-uitgang met behulp van een DC-voltmeter

Pin-aansluiting:

  1. Mini stepdown (+) IN naar de (+) batterij
  2. Mini stepdown (-) IN naar de schakelaar pin
  3. Mini stepdown (+) OUT parallel aan de NodeMCU (5V), Arduino nano (5V) en PCA9685 (VCC) pin
  4. Mini stepdown (-) OUT parallel aan de NodeMCU (G), Arduino nano (GND) en PCA9685 (GND) pin

Stap 10: Ander elektronisch onderdeel

Ander elektronisch onderdeel
Ander elektronisch onderdeel
Ander elektronisch onderdeel
Ander elektronisch onderdeel
Ander elektronisch onderdeel
Ander elektronisch onderdeel

Wat je nodig hebt is rond (20 kabel of minder) vrouwelijke naar vrouwelijke jumperdraad (Aliexpress Jumper wire zoeken)

Zelfsluitende drukschakelaar of u kunt een ander type schakelaar gebruiken (Aliexpress Zelfsluitende schakelaar zoeken)

en een paar JST-connectoren van batterij naar schakelaar en UBEC/DC-DC stepdown (zoeken op Aliexpress JST-connector)

Stap 11: Stroombron

Krachtbron
Krachtbron
Krachtbron
Krachtbron

Er is veel stroombron die u kunt gebruiken, voor mij gebruik ik liever een oplaadbare lipo 3S-batterij. Het heeft 11, 1 Volt Stroom en 500mAh of meer capaciteit (niet te veel dus het kan lichter zijn).

Maar als je 3S lipo gebruikt, heb je een oplader nodig en het is niet goedkoop, dus … je kunt een andere stroombron gebruiken, zoals een AAA-batterij, je kunt een seriële 6 AAA-batterij gebruiken, zodat deze een stroombron van ongeveer 9V kan produceren en ik denk dat dat genoeg stroom is voor deze robot.

Klik Hier om Lipo 3S-batterij in Aliexpress te zoeken

Klik hier om Lipo-oplader te zoeken:

Klik Hier om te zoeken 6xAAA Batterijhouder in Aliexpress

Stap 12: Draadschema

Draaddiagram
Draaddiagram

Klik en zoom afbeelding hierboven om al het draaddiagram voor dit project te zien

PS: je moet in een deel wat solderen en een rubberen krimpkous plaatsen om het af te dichten voor de verbinding tussen aan / uit-schakelaar, UBEC en DC-DC naar beneden.

Stap 13: codering en beginhouding

Codering en beginhouding
Codering en beginhouding

Sluit de arduino nano aan met behulp van een mini-USB-naar-USB-poortkabel (maar vergeet niet alle pinnen los te koppelen van de wemos D1 mini en DC-DC stepdown) en open "spider_driver_open_v3_ESP8266_Rev280918.ino" en flash het naar de Arduino nano, maar doe het niet Vergeet niet het Arduino-bord naar de Arduino nano te selecteren en de juiste poort te selecteren.

Vervolgens sluit u de Wemos D1 mini aan op de computer met behulp van micro-USB naar USB (vergeet ook niet alle pinnen los te koppelen van DC-DC stepdown en Arduino nano). Open dan " QuadrupetV2_310319_fix_connection_issue.ino " en flash het naar het bord, maar selecteer eerst het juiste bord en selecteer de juiste poort (meer detail ga terug naar stap 3)

Nadat u klaar bent, kunt u alle pins opnieuw bevestigen tussen arduino nano, wemos D1 mini en DC-DC stepdown en de robot inschakelen om de juiste beginpositie aan te passen.

EERSTE POSE (Zie de afbeelding hierboven) pas het hele been zo dicht mogelijk bij de afbeelding hierboven aan.

Nadat u de robot hebt ingeschakeld en de beenpositie niet overeenkomt met de bovenstaande afbeelding, heeft u alleen het volgende nodig:

  1. schroef de servohoorn los en maak de servohoorn los van de servo.
  2. draai het been totdat het dichtbij genoeg is met de beginhouding
  3. bevestig de servohoorn opnieuw en beman hem opnieuw
  4. doe het voor iedereen missen wedstrijd been

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino is al een probleem opgelost, zoals moeilijk te verbinden (wifi) en het renderen van webpagina's mislukt, voor wie het oudere programma vóór 31-3-2019 flasht, download het dan hierboven opnieuw
  2. er is een extra bibliotheek nodig om te installeren (kopieer deze naar de bibliotheekmap)

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

Stap 14: De robot besturen

De robot besturen
De robot besturen

Omdat deze robot WIFI Access Point is geworden, is alles wat je nodig hebt:

  1. De robot opstarten
  2. Open wifi-instelling op je smartphone
  3. Maak verbinding met het SpiderRobo Access Point met wachtwoord is "12345678"
  4. Open de webbrowser op uw smartphone en typ

Nu is uw robot klaar om uw commando over te nemen…

Stap 15: Voor wie een probleem heeft met het openen van een webpagina of het verbinden met het AP

IK HEB DIT PROBLEEM OPGELOST DOWNLOAD HET OPNIEUW VANAF STAP 13 HIERBOVEN (fix @ 31-4-2019)

sommige Wemos D1 mini-kloons hebben een slechte of defecte ESP en dit veroorzaakt: - Moeilijk om verbinding te maken met de AP

- Kan pagina niet openen

- Laden niet klaar

Voor meer details check mijn video hierboven…

Aanbevolen: