Table des matières:

Robot quadrupède contrôlé par AP WIFI ESP8266 : 15 étapes (avec photos)
Robot quadrupède contrôlé par AP WIFI ESP8266 : 15 étapes (avec photos)

Vidéo: Robot quadrupède contrôlé par AP WIFI ESP8266 : 15 étapes (avec photos)

Vidéo: Robot quadrupède contrôlé par AP WIFI ESP8266 : 15 étapes (avec photos)
Vidéo: How To Make A Wi-Fi Car Using NodeMCU esp8266 | Mobile Phone Controlled Car | PROKNOW 2024, Juillet
Anonim
Image
Image

Il s'agit d'un tutoriel pour créer un robot à 12 DOF ou à quatre pattes (quadrupède) à l'aide d'un servomoteur SG90 avec servomoteur et il peut être contrôlé à l'aide d'un serveur Web WIFI via un navigateur de smartphone.

Le coût total de ce projet est d'environ 55 $ US (pour la pièce électronique et le cadre de robot en plastique)

Étape 1: préparer le cadre

Pièces électroniques (Wemos D1 Mini)
Pièces électroniques (Wemos D1 Mini)

Tous les objets 3D sont téléchargeables gratuitement sur www.myminifactory.com ou www.thingverse.com

Imprimez-le en utilisant un support matériel pour certaines parties comme le pied, les hanches et les cuisses

Liste des pièces imprimées:

1x corps de base

1x couverture

1x support de batterie

4x Hanches (type A & B)

4x Cuisse (type A & B)

4x pied (type A et B)

4x Bouclier

12x Douille + 12x Vis 2mm

Étape 2: Assembler le cadre du robot

suivez la vidéo étape par étape ci-dessus pour assembler le cadre, la vis est pour un trou de 2 mm

Étape 3: Pièces électroniques (Wemos D1 Mini)

Image
Image

Il existe de nombreuses variantes NodeMCU sur le marché et qui ont essentiellement les mêmes fonctionnalités. Pour ce projet, j'ai choisi Wemos D1 Mini.

Cette partie servira de serveur Web pour notre quadrupède en tant que point d'accès.

Ce dont vous avez besoin, c'est simplement de vous connecter au quadrupède AP et de contrôler tous les mouvements de votre robot, et peut-être que pour le futur projet, il affichera tous les tableaux de bord des capteurs dont vous avez besoin…

Ce mini D1 est une mini carte WIFI basée sur ESP-8266EX. et il a 11 broches d'entrée/sortie numériques, toutes les broches ont une interruption/pwm/I2C/un fil pris en charge (sauf D0) 1 entrée analogique (entrée 3,3 V max) une connexion Micro USB

Comment démarrer en:

  1. Installez pour Arduino 1.6.7 à partir du site Web pour Arduino.
  2. Démarrez pour Arduino et ouvrez la fenêtre Préférences.
  3. dans le champ URL du gestionnaire de cartes supplémentaires. Vous pouvez ajouter plusieurs URL en les séparant par des virgules.
  4. Ouvrez Tools→Board:xxx→Boards Manager et installez esp8266 par ESP8266 Community (et n'oubliez pas de sélectionner votre carte ESP8266 dans le menu Tools > Board après l'installation).

Pour plus de détails, vous pouvez consulter la vidéo ci-dessus

Cliquez ici pour rechercher dans Aliexpress

Pour ce projet, tout ce dont vous avez besoin est de connecter cette broche:

  1. La broche NodeMCU RX se connecte à la broche Arduino Nano TX
  2. La broche NodeMCU TX se connecte à la broche Arduino Nano RX
  3. La broche NodeMCU G se connecte à la broche de sortie DC-DC mini 5v Stepdown (-)
  4. La broche NodeMCU5V se connecte à la broche de sortie DC-DC mini 5v Stepdown (+)

PS: pour programmer cette carte, vous devez déconnecter toutes les broches attachées à l'arduino et à l'abaissement DC-DC, sinon vous obtiendrez une erreur…

Étape 4: Pièces électroniques (Arduino Nano)

Pièces électroniques (Arduino Nano)
Pièces électroniques (Arduino Nano)

Idem avec NodeMCU, pour la carte arduino, vous pouvez utiliser n'importe quelle carte qui vous convient comme Arduino Pro Mini, Arduino Nano ou autre.

Mais pour ce projet, j'ai choisi Arduino Nano, car je n'ai pas besoin de beaucoup de broches que j'ai utilisées, il est petit et n'a pas besoin de FTDI pour le programmer.

cliquez ici pour rechercher dans Aliexpress

Pour ce projet, j'utilise simplement:

  1. La broche Arduino nano RX se connecte à la broche NodeMCU TX
  2. La broche Arduino nano TX se connecte à la broche NodeMCU RX
  3. La broche Ardiono nano A4 se connecte à la broche SDA PCA9685
  4. La broche Arduino nano A5 se connecte à la broche PCA9685 SCL
  5. La broche Arduino nano GND se connecte à la broche de sortie DC-DC mini 5v Stepdown (-)
  6. La broche Arduino nano 5V se connecte à la broche de sortie DC-DC mini 5v Stepdown (+)

voir le schéma ci-dessus pour plus de détails

PS: Pour programmer cette carte, vous devez déconnecter toutes les broches attachées au NodeMCU et à l'abaissement DC-DC, sinon vous obtiendrez une erreur…

Étape 5: Pièces électroniques (Tower Pro 9g Micro Servo)

Pièces électroniques (Tower Pro 9g Micro Servo)
Pièces électroniques (Tower Pro 9g Micro Servo)

C'est le mini servo le plus populaire. Ne pèse que 9 grammes et vous offre un couple de 1,5 kg/cm. Assez solide par rapport à sa taille. Convient aux robots de type faisceau.

PS: ce servo ne peut pivoter qu'à 180 degrés

Principales caractéristiques:

• Corps translucide

• Poids léger

• Moins de bruit

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

• Longueur du fil du connecteur: 150 mm

• Vitesse de fonctionnement (4,8 V sans charge): 0,12 seconde / 60 degrés

• Couple de décrochage (4,8 V): 1,98 kg/cm

• Plage de température: 30 à 60 °C (-22 à 140)

• Largeur de bande morte: 4 utilisations

• Tension de fonctionnement: 3,5 - 8,4 V

Cliquez ici pour rechercher le servo SG90 dans Aliexpress

Étape 6: Pièces électroniques (pilote PWM/Servo 16 canaux 12 bits - Interface I2C - PCA9685 pour Arduino)

Pièces électroniques (pilote PWM/Servo 16 canaux 12 bits - Interface I2C - PCA9685 pour Arduino)
Pièces électroniques (pilote PWM/Servo 16 canaux 12 bits - Interface I2C - PCA9685 pour Arduino)

Vous voulez faire un robot marcheur? mais utiliser uniquement un microcontrôleur a un nombre limité de sorties PWM, et vous vous retrouvez à court de ! Pas avec le pilote PWM/Servo Adafruit 16 canaux 12 bits - interface I2C. Avec ce breakout pwm et servodriver, vous pouvez contrôler 16 sorties PWM libres avec seulement deux broches ! Besoin d'exécuter plus de 16 sorties PWM ? Aucun problème. Enchaînez jusqu'à 62 de ces beautés pour jusqu'à 992 sorties PWM exceptionnelles.

Cette carte/puce utilise une adresse I2C 7 bits entre 0x60-0x80, sélectionnable avec des cavaliers Bornier pour l'entrée d'alimentation (ou vous pouvez utiliser les sorties de 0,1" sur le côté) Protection contre l'inversion de polarité sur l'entrée du bornier LED verte de bon fonctionnement 3 connecteurs à broches par groupes de 4 pour que vous puissiez brancher 16 servos à la fois (les prises de servo sont légèrement plus larges que 0,1", vous ne pouvez donc en empiler que 4 les unes à côté des autres sur un en-tête de 0,1" condensateur sur la ligne V+ (au cas où vous en auriez besoin) Résistances série 220 ohms sur toutes les lignes de sortie pour les protéger et pour rendre les LED de commande triviales Cavaliers à souder pour les 6 broches de sélection d'adresse Pilote PWM contrôlé par i2c avec une horloge intégrée. Contrairement à la famille TLC5940, vous n'avez pas besoin de lui envoyer de signal en continu pour attacher votre microcontrôleur, son fonctionnement est totalement gratuit ! est bon pour quand vous voulez contrôler le blanc ou le bleu L ED avec plus de 3,4 tensions directes) 6 broches de sélection d'adresse afin que vous puissiez en câbler jusqu'à 62 sur un seul bus i2c, un total de 992 sorties - c'est beaucoup de servos ou de LED Fréquence réglable PWM jusqu'à environ 1,6 KHz 12 bits résolution pour chaque sortie - pour les servos, cela signifie une résolution d'environ 4 us à un taux de mise à jour de 60 Hz Sortie push-pull ou à drain ouvert configurable Broche d'activation de sortie pour désactiver rapidement toutes les sorties.

cliquez ici pour rechercher dans Aliexpress

Dans ce projet, nous avons juste besoin de 12 canaux pour toutes les jambes (3 canaux par jambe), connectez cette broche PCA9685 à Arduino Nano:

  1. PCA9685 VCC vers le DC-DC mini 5v Stepdown (+) Brochage de sortie
  2. PCA9685 GND vers le DC-DC mini 5v Stepdown (-) Brochage de sortie
  3. PCA9685 Alimentation servo (PWM) V+ vers UBEC (+) Brochage de sortie
  4. PCA9685 Alimentation servo (PWM) GND vers UBEC (-) Brochage de sortie
  5. PCA9685 SDA pinto la broche arduino nano A4
  6. Broche PCA9685 SCL à la broche arduino nano A5
  7. PCA9685 CH0 à la cuisse avant droite, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  8. PCA9685 CH1 au pied avant droit, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  9. PCA9685 CH2 à la hanche avant droite, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  10. PCA9685 CH4 à la hauteur arrière droite, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  11. PCA9685 CH5 au pied arrière droit, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  12. PCA9685 CH6 à la hanche arrière droite, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  13. PCA9685 CH8 à la cuisse avant gauche, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  14. PCA9685 CH9 au pied avant gauche, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  15. PCA9685 CH10 à la hanche avant gauche, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  16. PCA9685 CH12 à la cuisse arrière gauche, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  17. PCA9685 CH13 au pied arrière gauche, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)
  18. PCA9685 CH14 à la hanche arrière gauche, veuillez faire correspondre la couleur du câble à la couleur de la prise PCA9685 (jaune, rouge, marron/noir)

PS: certains PCA9685 n'ont pas de prise de code couleur, alors assurez-vous que le câble jaune du servo SG90 va à la broche de données PWM, le câble rouge va à la broche V+, et le noir/marron va à la broche GND

Étape 7: Connexion PWM à Servo Pin

Connexion PWM à Servo Pin
Connexion PWM à Servo Pin
Connexion PWM à Servo Pin
Connexion PWM à Servo Pin

Cliquez et zoomez sur l'image ci-dessus pour voir le mappage des broches entre le PCA9685 et les servos

PS: vous n'utilisez que 12CH à partir de 16 CH pour ce projet, il vous reste donc 4CH pour l'extension comme mettre un servo radar ou mettre une arme nerf blaster dessus… Il suffit de mettre un code supplémentaire dans l'arduino et le NodeMCU

Étape 8: Pièces électroniques (UBEC)

Pièces électroniques (UBEC)
Pièces électroniques (UBEC)

Le 3A-UBEC est un régulateur DC-DC à découpage fourni avec une batterie au lithium de 2 à 6 cellules (ou une batterie NiMh/NiCd de 5 à 18 cellules) et il délivre une tension de sécurité constante pour votre récepteur, votre gyroscope et vos servos. Il est très approprié pour l'hélicoptère RC. Par rapport à l'UBEC en mode linéaire, l'efficacité globale de l'UBEC en mode de commutation est plus élevée.

Dans ce projet, nous l'utilisons pour alimenter tous les servos, il a un filtrage afin de réduire le bruit qui peut affecter le problème du moteur et il a un amp élevé suffisant pour soulever la charge du robot.

cliquez ici pour rechercher dans Aliexpress

Connexion des broches:

  1. UBEC (+) RED Broche de sortie vers le servo PCA9685 (PWM) power V+
  2. UBEC (-) BLACK Broche de sortie vers le GND d'alimentation du servomoteur PCA9685 (PWM)
  3. Entrée UBEC (+) ROUGE vers la broche (+) de la batterie
  4. Entrée UBEC (-) NOIR vers la broche du commutateur

Étape 9: Pièces électroniques (DC-DC Mini Stepdown)

Pièces électroniques (DC-DC Mini Stepdown)
Pièces électroniques (DC-DC Mini Stepdown)
Pièces électroniques (DC-DC Mini Stepdown)
Pièces électroniques (DC-DC Mini Stepdown)

Il a presque la même fonction avec UBEC, mais celui-ci n'est qu'un simple module abaisseur DC-DC. Il a un potentiomètre que nous pouvons régler la sortie V (+) de 1V à 17V et n'a pas de filtrage.

cliquez ici pour le rechercher sur Aliexpress

PS: alors rappelez-vous, avant de l'utiliser, veuillez régler la sortie V (+) sur la sortie 5 V à l'aide d'un voltmètre CC

Connexion des broches:

  1. Mini stepdown (+) IN à la (+) batterie
  2. Mini stepdown (-) IN à la broche de commutation
  3. Mini stepdown (+) OUT en parallèle à la broche NodeMCU (5V), Arduino nano (5V) et PCA9685 (VCC)
  4. Mini stepdown (-) OUT en parallèle à la broche NodeMCU (G), Arduino nano (GND) et PCA9685 (GND)

Étape 10: Autre partie électronique

Autre partie électronique
Autre partie électronique
Autre partie électronique
Autre partie électronique
Autre partie électronique
Autre partie électronique

Ce dont vous avez besoin, c'est d'environ (20 câbles ou moins) de fil de connexion femelle à femelle (recherche de fil de connexion Aliexpress)

Interrupteur à poussoir à verrouillage automatique ou vous pouvez utiliser un autre type d'interrupteur (recherche d'interrupteur à verrouillage automatique d'Aliexpress)

et une paire de connecteur JST de la batterie au commutateur et à l'abaissement UBEC/DC-DC (recherche de connecteur Aliexpress JST)

Étape 11: Source d'alimentation

Source d'énergie
Source d'énergie
Source d'énergie
Source d'énergie

Il y a beaucoup de source d'alimentation que vous pouvez utiliser, pour moi, je préfère utiliser une batterie rechargeable lipo 3S. Il a 11, 1 Volt Current et 500mAh ou plus de capacité (pas trop pour qu'il puisse être plus léger).

Mais l'utilisation de la lipo 3S nécessite un chargeur et ce n'est pas bon marché, alors… vous pouvez utiliser une autre source d'alimentation comme une batterie AAA, vous pouvez utiliser une batterie série 6 AAA pour qu'elle puisse produire une source d'alimentation d'environ 9 V et je pense que c'est assez de puissance pour ce robot.

Cliquez ici pour rechercher la batterie Lipo 3S dans Aliexpress

Cliquez ici pour rechercher Lipo Charger

Cliquez ici pour rechercher un support de batterie 6xAAA dans Aliexpress

Étape 12: Schéma de câblage

Schéma de câblage
Schéma de câblage

Cliquez et zoomez sur l'image ci-dessus pour voir tout le schéma de câblage de ce projet

PS: vous avez besoin de soudure dans une partie et de mettre une tête en caoutchouc rétractable pour la sceller pour la connexion entre l'interrupteur d'alimentation, l'UBEC et l'abaisseur DC-DC.

Étape 13: Codage et pose initiale

Codage et pose initiale
Codage et pose initiale

Connectez l'arduino nano à l'aide d'un câble de port mini USB vers USB (mais n'oubliez pas de déconnecter toutes les broches du wemos D1 mini et du stepdown DC-DC) et ouvrez "spider_driver_open_v3_ESP8266_Rev280918.ino" et flashez-le sur l'Arduino nano, mais ne le faites pas. N'oubliez pas de sélectionner la carte Arduino sur l'Arduino nano et sélectionnez le bon port.

Ensuite, connectez le Wemos D1 mini à l'ordinateur à l'aide d'un micro USB vers USB (n'oubliez pas non plus de déconnecter toutes les broches du stepdown DC-DC et de l'Arduino nano). Ensuite, ouvrez " QuadrupetV2_310319_fix_connection_issue.ino " et flashez-le sur la carte, mais avant cela, sélectionnez la bonne carte de préférence et sélectionnez le bon port (plus de détails, revenez à l'étape 3)

Après tout, vous pouvez rattacher toutes les broches entre arduino nano, wemos D1 mini et DC-DC stepdown et mettre le robot sous tension pour ajuster la pose initiale correcte.

POSE INITIALE (Voir l'image ci-dessus) réajustez toute la jambe aussi près que possible de l'image ci-dessus.

Après avoir mis le robot sous tension, si la position des jambes n'est pas la même que celle de l'image ci-dessus, tout ce dont vous avez besoin est:

  1. dévissez le Servo Horn et détachez le servo horn du servo.
  2. tourner la jambe jusqu'à ce qu'elle soit suffisamment proche de la pose initiale
  3. rattachez le palonnier et réarmez-le
  4. fais-le pour tous les matchs manqués

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino a déjà résolu un problème comme la difficulté à se connecter (wifi) et l'échec du rendu de la page Web, pour ceux qui flashent l'ancien programme avant le 31-3-2019, veuillez le télécharger à nouveau ci-dessus
  2. il y a une bibliothèque supplémentaire à installer (copiez-la dans le dossier de la bibliothèque)

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

Étape 14: Contrôler le robot

Contrôler le robot
Contrôler le robot

Parce que ce robot est devenu un point d'accès WIFI donc tout ce dont vous avez besoin c'est:

  1. Mise sous tension du robot
  2. Ouvrez le paramètre wifi sur votre smartphone
  3. Connectez-vous au point d'accès SpiderRobo avec le mot de passe "12345678"
  4. Ouvrez le navigateur Web sur votre smartphone et tapez

Votre Robot est maintenant prêt à prendre vos commandes…

Étape 15: Pour qui a un problème avec l'ouverture d'une page Web ou la connexion au point d'accès

J'AI RÉSOLU CE PROBLÈME VEUILLEZ LE TÉLÉCHARGER À NOUVEAU À PARTIR DE L'ÉTAPE 13 CI-DESSUS (correction @ 31-4-2019)

certains des mini clones Wemos D1 ont un ESP défectueux ou défectueux, ce qui provoque: - Difficile de se connecter à l'AP

- Échec de l'ouverture de la page

- Chargement pas terminé

Pour plus de détails, regardez ma vidéo ci-dessus…

Conseillé: