Logo Mon Club Elec

Test simple des moteurs CC du EeePC-Bot

Le EeePC-Bot est un robot autonome qui peut être contrôlé à l’aide d’un ordinateur portable. Il est équipé de moteurs CC qui lui permettent de se déplacer et de réaliser diverses tâches. Dans cet article, nous allons vous montrer comment effectuer un test simple des moteurs CC du EeePC-Bot afin de vérifier leur bon fonctionnement. Nous expliquerons également comment régler les paramètres des moteurs pour obtenir le meilleur rendement possible.

Test simple des moteurs CC du EeePC-Bot

Test simple des moteurs CC du EeePC-Bot


1.  Présentation

Test des moteurs du EeePC-Bot

Ce programme utilise les fonctionnalités suivantes :

Ressources utiles associées à ce programme :

2.  Matériel Nécessaire

2.1  L’espace de développement Arduino

  • … pour éditer, compiler le programme et programmer la carte Arduino.
Test simple des moteurs CC du EeePC-Bot

2.2  Le matériel suivant pour réaliser le montage associé

Test simple des moteurs CC du EeePC-Bot
Test simple des moteurs CC du EeePC-Bot

3.  Instructions de montage

  • Chaque moteur est commandé par 2 broches :
    • une broche de sens
    • une broche de vitesse PWM

4.  Le schéma théorique du montage

Test simple des moteurs CC du EeePC-Bot

Le schéma théorique du montage (cliquer pour agrandir)

5.  Le circuit du montage

Test simple des moteurs CC du EeePC-Bot

Le schéma du montage à réaliser (cliquer pour agrandir)

6.  Fonctionnement du programme

6.1  Structure globale du programme

Ce programme simple comprend :

  • une entête déclarative
  • une partie « configuration » qui ne sera exécutée qu’une fois (fonction setup( ) )
  • une partie constituée d’une boucle sans fin que le programme répètera à l’infini ( fonction loop( ) ) : c’est le coeur du programme.

6.2  Déroulement du programme

Le programme se déroule de la façon suivante :

  • Après avoir pris en compte les instructions de la partie déclarative,
  • puis après avoir exécuté la partie configuration ( fonction setup( ) ),
  • le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin.
Test simple des moteurs CC du EeePC-Bot
Le déroulement du programme

7.  Explication du programme

  • Pour chaque moteur :
    • une broche commande le sens
    • une broche commande la vitesse par impulsion PWM (0 = 0% et 255= 100%)

8.  Mise en oeuvre du programme

8.1  Préparation du montage et programmation de la carte Arduino :

  • Commencer par réaliser le montage indiqué sur plaque d’expérimentation
  • Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle

8.2  Fonctionnement

  • Le moteur gauche puis droit tourne en marche avant pendant 3 secondes.
  • Le moteur gauche puis droit tourne en marche arrière pendant 3 secondes.

9.  Le programme complet en langage Arduino

A copier/coller directement dans l’éditeur Arduino

// — Programme Arduino —
// Trame de code générée par le générateur de code Arduino
// du site www.mon-club-elec.fr

// Auteur du Programme : X. HINAULT – Tous droits réservés
// Programme écrit le : 20/2/2011.

// ——- Licence du code de ce programme —–
//  This program is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, either version 3 of the License,
//  or any later version.
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//  You should have received a copy of the GNU General Public License
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.

// ////////////////////  PRESENTATION DU PROGRAMME ////////////////////

// ——– Que fait ce programme ? ———
 /*  */

// — Fonctionnalités utilisées —

// Utilise une carte d’interface moteurs CC DFRobot 2A

// ——– Circuit à réaliser ———

// Connexion de l’interface DFRobot 2A Moteur CC sur les broches de la carte Arduino :
// Connecter broche de sens du moteur 1 sur la broche 4
// Connecter broche de vitesse du moteur 1 sur la broche 5
// Connecter broche de sens du moteur 2 sur la broche 7
// Connecter broche de vitesse du moteur 2 sur la broche 6

// /////////////////////////////// 1. Entête déclarative ///////////////////////
// A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets utiles…

// — Déclaration des constantes —

// — Inclusion des librairies —

// — Déclaration des constantes utiles —

const int AVANT=1; // constante sens moteur
const int ARRIERE=0; // constante sens moteur

const int STOP=0; // constante vitesse moteur
const int MAXI=255; // constante vitesse moteur

// — Déclaration des constantes des broches E/S numériques —

const int sensMoteurGauche=4; // Constante pour la broche 4
const int vitesseMoteurGauche=5; // Constante pour la broche 5

const int vitesseMoteurDroit=6; // Constante pour la broche 6
const int sensMoteurDroit=7; // Constante pour la broche 7

// — Déclaration des constantes des broches analogiques —

// — Déclaration des variables globales —

// — Déclaration des objets utiles pour les fonctionnalités utilisées —

// ////////////////////////// 2. FONCTION SETUP = Code d’initialisation //////////////////////////
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// — ici instructions à exécuter 1 seule fois au démarrage du programme —

// ——- Initialisation fonctionnalités utilisées ——-  

// ——- Broches en sorties numériques ——-  
 pinMode (sensMoteurGauche,OUTPUT); // Broche sensMoteur1 configurée en sortie
 pinMode (vitesseMoteurGauche,OUTPUT); // Broche vitesseMoteur1 configurée en sortie

 pinMode (vitesseMoteurDroit,OUTPUT); // Broche vitesseMoteur2 configurée en sortie
 pinMode (sensMoteurDroit,OUTPUT); // Broche sensMoteur2 configurée en sortie

// ——- Broches en entrées numériques ——-  

// ——- Activation si besoin du rappel au + (pullup) des broches en entrées numériques ——-  

// ——- Initialisation des variables utilisées ——-  

} // fin de la fonction setup()
// ********************************************************************************

////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s’exécute sans fin en boucle aussi longtemps que l’Arduino est sous tension

void loop(){ // debut de la fonction loop()

// — ici instructions à exécuter par le programme principal —

//— Code type DFRduino 1A – DFRobot 2A

//—- Test moteur Gauche AVANT —-
analogWrite(vitesseMoteurGauche,MAXI); // génère une impulsion PWM sur la broche de vitesse du moteur
digitalWrite(sensMoteurGauche,AVANT); // Marche avant

delay(3000);

analogWrite(vitesseMoteurGauche,STOP); // génère une impulsion PWM sur la broche de vitesse du moteur

delay(1000);

//—- Test moteur Droit AVANT —-
analogWrite(vitesseMoteurDroit,MAXI); // génère une impulsion PWM sur la broche de vitesse du moteur
digitalWrite(sensMoteurDroit,AVANT); // Marche avant

delay(3000);

analogWrite(vitesseMoteurDroit,STOP); // génère une impulsion PWM sur la broche de vitesse du moteur

delay(1000);

//—- Test moteur Gauche ARRIERE  —-
analogWrite(vitesseMoteurGauche,MAXI); // génère une impulsion PWM sur la broche de vitesse du moteur
digitalWrite(sensMoteurGauche,ARRIERE); // Marche avant

delay(3000);

analogWrite(vitesseMoteurGauche,STOP); // génère une impulsion PWM sur la broche de vitesse du moteur

delay(1000);

//—- Test moteur Droit AVANT —-
analogWrite(vitesseMoteurDroit,MAXI); // génère une impulsion PWM sur la broche de vitesse du moteur
digitalWrite(sensMoteurDroit,ARRIERE); // Marche avant

delay(3000);

analogWrite(vitesseMoteurDroit,STOP); // génère une impulsion PWM sur la broche de vitesse du moteur

while(1); // stop loop

} // fin de la fonction loop() – le programme recommence au début de la fonction loop sans fin
// ********************************************************************************

// ////////////////////////// FONCTIONS DE GESTION DES INTERRUPTIONS ////////////////////

// ////////////////////////// AUTRES FONCTIONS DU PROGRAMME ////////////////////

// ////////////////////////// Fin du programme ////////////////////
 

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.