LOCODUINO

Aide
Forum de discussion
Dépôt GIT Locoduino
Flux RSS

samedi 27 avril 2024

Visiteurs connectés : 44

Un programme pour régler facilement les servos moteurs avec un ESP32

.
Par : bobyAndCo

Les servos moteurs sont des petits objets que l’on rencontre de plus en plus fréquemment sur nos réseaux de modélisme ferroviaire. Ils sont petits, performants et bon marché. Autant de qualités qui contribuent à leur succès.

Ils ont cependant un inconvénient de taille, c’est qu’il n’est pas facile de connaître la valeur de leur position et encore moins de trouver des valeurs précises comme pour les positions droites ou déviées d’une aiguille.

<

Je vous propose ici un petit programme facile à mettre en œuvre et à utiliser.

Le matériel

Il ne faut rien de plus qu’un ESP32, trois câbles Dupont, un ordinateur et un câble USB entre votre ordinateur et l’ESP32.

Les branchements

Outre le branchement en USB entre votre ordinateur et l’ESP, vous aurez à relier le Vcc du servo à la broche 5V de l’ESP. La masse du servo à une masse de l’ESP et le câble du signal de l’ESP32 à une broche PWM de l’ESP32. Pour vous simplifier la vie, branchez-vous sur la broche 14 qui est sélectionnée par défaut dans le programme.

Câblage du servo avec l'ESP32

Réglages préalables du programme

Si vos avez choisi la broche 14 comme préconisé, les seules informations à saisir « en dur » et définitivement dans le programme sont :

  • Le SSID de votre box domestique
  • Le mot de passe pour accéder à la box
PNG - 19.4 kio

Vous aurez également à télécharger (si ce n’est déjà fait) deux bibliothèques que vous trouverez ici :

AsyncTCP : https://github.com/me-no-dev/AsyncT...
ESPAsyncWebServer : https://github.com/me-no-dev/ESPAsy...

PNG - 68 kio

Pour tout ce qui concerne l’installation de l’environnement ESP32 dans l’IDE Arduino, si vous ne l’avez pas déjà fait, je vous renvoie vers les nombreux tutoriels sur internet dont celui-ci : https://www.upesy.fr/blogs/tutorials/install-esp32-on-arduino-ide-complete-guide

Choisissez votre carte parmi celles proposées ou plus simplement, prenez la première de la liste, il y a toutes les chances pour que cela fonctionne.

PNG - 1.5 Mio

Téléversez le programme

Ouvrez le moniteur série de l’IDE et appuyez sur le bouton reset de l’ESP pour relancer le programme.

Si la connexion à votre réseau WiFi a fonctionné, l’adresse IP de l’ESP32 s’affiche dans le moniteur série de l’IDE Arduino.

L'adresse IP de l'ESP32 dans le moniteur série
L’adresse IP de l’ESP32 dans le moniteur série

Réglez vos servos

Ouvrez votre navigateur, copiez l’IP dans la barre d’URL et chargez la page.

Vous obtenez cet écran :

PNG - 128.1 kio

En faisant glisser le slider du milieu, vous allez déplacer le servo en temps réel et trouver ainsi progressivement la position exacte qui vous convient.

Le slider du bas vous permettra de trouver l’autre position.

Astuce : Les flèches droite et gauche de votre clavier vous permettent d’avancer pas à pas et donc d’obtenir un réglage fin.

Sketch complet du programme
Au démarrage du programme, les valeurs pour les deux butées sont réglées à 1500 microsecondes ce qui correspond à une valeur moyenne entre les deux extrêmes d’un servo (800 et 2200 environ). Je vous conseille de désolidariser le bras du servo d’avec le mécanisme d’aiguille avant la mise en route du programme pour éviter la casse éventuelle. Une fois le servo dans sa position initiale de 1500 microsecondes, vous pourrez remonter le mécanisme.

Appuyez sur le bouton pour tester le mouvement entre les deux positions.

Le slider vitesse vous permet d’évaluer le délai à appliquer entre deux pas de servo. Plus la valeur est élevée, plus le délai entre les pas est faible. Cette valeur en millisecondes est donnée par la formule 1 – valeur du slider. Ainsi, si le slider est sur 0,8, la valeur est (1 – 0,8) * 100 millisecondes. Soit dans notre cas, 20 millisecondes environ entre chaque pas.

Voilà, il vous suffit de noter ces différentes valeurs pour les reporter dans votre programme de gestion pour les aiguilles ou votre PN.

Le sketch peut être téléchargé ci-dessus.

Comme d’habitude, n’hésitez pas à poser vos questions ou faire part de suggestions pour l’amélioration de ce projet.

6 Messages

Réagissez à « Un programme pour régler facilement les servos moteurs avec un ESP32 »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Projets »

LaBox, Une Centrale DCC polyvalente et abordable (1)

LaBox, Une Centrale DCC polyvalente et abordable (2)

LaBox, Une Centrale DCC polyvalente et abordable (3)

Comment piloter trains et accessoires en DCC avec un Arduino (1)

Comment piloter trains et accessoires en DCC avec un Arduino (2)

Comment piloter trains et accessoires en DCC avec un Arduino (3)

Comment piloter trains et accessoires en DCC avec un Arduino (4)

SGDD : Système de Gestion DD (1)

SGDD : Système de Gestion DD (2)

SGDD : Système de Gestion DD (3)

La PWM : Qu’est-ce que c’est ? (1)

La PWM : Qu’est-ce que c’est ? (2)

La PWM : Qu’est-ce que c’est ? (3)

La PWM : Qu’est-ce que c’est ? (4)

Mise en oeuvre du Bus CAN entre modules Arduino (1)

Mise en oeuvre du Bus CAN entre modules Arduino (2)

Un gestionnaire en C++ pour votre réseau (1)

Un gestionnaire en C++ pour votre réseau (2)

Un gestionnaire en C++ pour votre réseau (3)

Un gestionnaire en C++ pour votre réseau (4)

Réalisation de centrales DCC avec le logiciel libre DCC++ (1)

Réalisation de centrales DCC avec le logiciel libre DCC++ (2)

Réalisation de centrales DCC avec le logiciel libre DCC++ (3)

Contrôleur à télécommande infrarouge pour centrale DCC++

Gestion d’une gare cachée (1)

Gestion d’une gare cachée (2)

Gestion d’une gare cachée (3)

La carte Satellite V1 (1)

La carte Satellite V1 (2)

La carte Satellite V1 (3)

La carte Satellite V1 (4)

La carte Satellite V1 (5)

Block Automatique Lumineux à 8 cantons analogiques

Un décodeur DCC pour les plaques tournantes Fleischmann et Roco

Passage à niveau géré par Arduino (5)

Éclairer le réseau (3)

Éclairer le réseau (2)

Passage à niveau géré par Arduino (4)

Éclairer le réseau (1)

Une manette simple et autonome pour LaBox

Passage à niveau géré par Arduino (3)

Souris et centrale sans fil

Passage à niveau géré par Arduino (2)

Un programme pour régler facilement les servos moteurs avec un ESP32

Enseigne de magasin

Feux tricolores

TCO Web interactif avec des ESP32 et des ESP8266 (5)

Multi-animations lumineuses

TCO Web interactif avec des ESP32 et des ESP8266 (4)

TCO Web interactif avec des ESP32 et des ESP8266 (3)

TCO Web interactif avec des ESP32 et des ESP8266 (2)

TCO Web interactif avec des ESP32 et des ESP8266 (1)

Affichage publicitaire avec Arduino (2)

Affichage publicitaire avec Arduino (1)

Éclairer le réseau (4)

Va-et-vient pour deux trains

Boitier 3D pour la station DCC minimale

Mon premier décodeur pour les aiguillages DCC

Ma première manette pour les aiguillages DCC

Banc de test pour les décodeurs DCC

CDM-Rail pour Ma première centrale DCC (2)

CDM-Rail pour Ma première centrale DCC (1)

Rocrail pour Ma première centrale DCC

JMRI pour Ma première centrale DCC

Éclairer le réseau (5)

Une horloge à échelle H0

Etude d’un passage à niveau multivoies

L’Arduino et le système de commande numérique DCC

Un décodeur d’accessoire DCC versatile basé sur Arduino

Un moniteur de signaux DCC

Identifier et localiser vos trains avec le RFID/NFC et un bus CAN.

Automatisation du pont FLEISCHMANN 6152 (HO) avec un ESP32 (1)

Un automatisme de Passage à Niveau

Simulateur de soudure à arc

La rétro-signalisation sur Arduino

La génèse d’un réseau 100% Arduino

Calcul de la vitesse d’un train miniature avec l’Arduino

L’Arduino au coeur des systèmes de pilotage analogiques ou numériques

Une animation sonore

Une barrière infrarouge

Un TCO xpressnet

Un capteur RFID

Passage à niveau géré par Arduino (1)

Décodeur pour aiguillage à solénoïdes sur Arduino

Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO

Etude d’un passage à niveau universel

Réalisation pratique d’un système de mesure de vitesse à l’échelle N

Une Passerelle entre le bus S88 et le bus CAN pour la rétro signalisation

Un décodeur DCC pour 16 feux tricolores

Chenillard de DEL

Block Automatique Lumineux avec la carte shield "Arduino 4 relays"

Réalisation d’un affichage de gare ARRIVEE DEPART

Ménage à trois (Ordinateur, Arduino, réseau)

Réalisation d’un va-et-vient automatique et réaliste

Communications entre JMRI et Arduino

Annonces en gare avec la RFID

Une croix de pharmacie animée avec Arduino UNO

Réalisation d’un wagon de mesure (distance et vitesse)

Les derniers articles

LaBox, Une Centrale DCC polyvalente et abordable (3)


Thierry

LaBox, Une Centrale DCC polyvalente et abordable (1)


Thierry

LaBox, Une Centrale DCC polyvalente et abordable (2)


Dominique, msport, Thierry

Un programme pour régler facilement les servos moteurs avec un ESP32


bobyAndCo

TCO Web interactif avec des ESP32 et des ESP8266 (5)


utpeca

TCO Web interactif avec des ESP32 et des ESP8266 (4)


utpeca

TCO Web interactif avec des ESP32 et des ESP8266 (3)


utpeca

TCO Web interactif avec des ESP32 et des ESP8266 (2)


utpeca

TCO Web interactif avec des ESP32 et des ESP8266 (1)


utpeca

Affichage publicitaire avec Arduino (2)


catplus, Christian

Les articles les plus lus

Réalisation de centrales DCC avec le logiciel libre DCC++ (3)

La PWM : Qu’est-ce que c’est ? (1)

Comment piloter trains et accessoires en DCC avec un Arduino (1)

Une Passerelle entre le bus S88 et le bus CAN pour la rétro signalisation

Mise en oeuvre du Bus CAN entre modules Arduino (2)

Réalisation de centrales DCC avec le logiciel libre DCC++ (1)

Réalisation pratique d’un système de mesure de vitesse à l’échelle N

La rétro-signalisation sur Arduino

Chenillard de DEL

Comment piloter trains et accessoires en DCC avec un Arduino (2)