algo

 

    

Programmation

 

 

 

         I. Conception des algorigrammes.

 

 

1)    Définition de l’algorigramme.

Un algorigramme est une représentation graphique et normalisée d’un algorithme. Ce dernier est une suite d’actes ou d’opérations élémentaires à exécuter en séquence afin d’accomplir une tâche qui suit un enchaînement strict. L’algorigramme est donc l’étape nécessaire et utile qui précède l’écriture du programme.

Pour la conception des algorigrammes nous utiliserons le logiciel AlgoDraw®.

 

2)    Algorigramme du programme principal.

 

shema

 

Variables :

-         MG : Moteur Gauche ;

-         MD : Moteur Droit ;

-         CG : Capteur Gauche (CG=0, noir détecté ; CG=1,  blanc détecté) ;

-         CD : Capteur Droit (CD=0, noir détecté ; CD=1,  blanc détecté).

 

Le langage algorithmique est la base de l’algorigramme. Il représente la suite d’actions que le robot devra effectuer afin de suivre une ligne.

 

Langage algorithmique :

 

Début action

Démarrer MG et MD

Si CG=0

alors Ralentir MD

tant que CG=0

si CD=0

alors Stopper MD

sinon Ralentir MD

                   fin si

fin tant que

Fin si

Si CD=0

alors Ralentir MG

tant que CD=0

si CG=0

alors Stopper MG

sinon Ralentir MG

                   fin si

fin tant que

Fin si

Fin action

 

     algo1

 

 

3) Algorigramme de la  Modulation en Largeur d’Impulsion (MLI).

 

Le robot suit une ligne qui peut être plus ou moins courbé. Dans le cas d’un virage très intense, si la vitesse est trop importante, le robot risque de sortir de la piste. Nous avons donc eu le besoin de pouvoir faire varier la vitesse.

 

Un moteur possède une vitesse qui est proportionnelle à la tension aux bornes de celui-ci. Afin de faire varier la vitesse on peut donc  soit modifier cette tension ou utiliser la modulation en largeur d'impulsion.

La Modulation en Largeur d'Impulsion (MLI), soit en anglais Pulse Width Modulation (PWM), est un signal rectangulaire dont on peut faire varier le rapport cyclique, c'est à dire le rapport entre le temps à l’état haut et la période. Formule illustrant ce rapport :

α = th / T

 Par exemple, un rapport cyclique de 10% signifie que le signal reste 10% du temps à l'état haut et 90% du temps à l'état bas, alors qu'un rapport cyclique de 90% signifie que le signal reste 90% du temps à l'état haut et 10% du temps à l'état bas.

 

mli1

 mli2

le timer0 est plus précisément expliqué dans la partie programmation en langage C.

 

Variables :

-         tmr0if : Timer0 Interruptions Flag (drapeau des interruptions du timer0) ;

-         tmr0 : Nombre de cycles d’horloge compté ;

-         NbInt : Nombre d’interruptions ;

-         VitMG : Vitesse moteur gauche ;

-         VitMD : Vitesse moteur droit ;

-         VMG : Valid moteur gauche ;

-         VMD : Valid moteur droit.

 

Début action

Si tmr0if=1

alors tmr0=6

si NbInt>9

alors NbInt=0

Fin si

NbInt=NbInt+1

Si VitMG>=NbInt

alors VMG=1

sinon VMG=0

                   Fin si

Si VitMD>=NbInt

alors VMD=1

sinon VMD=0

Fin si

Fin si

Fin action

 file:///C:/page/

algo2

Sommaire