Vous êtes sur la page 1sur 2

LP STEEL

UFR ST
Université du Havre

TP Informatique Industrielle

Sujet :

Nous souhaitons réaliser un projet simulant le fonctionnement d’une voiture. Le circuit électrique de
la voiture est composé de 6 clignotants et de deux moteurs. La figure ci-dessous donne le détail des
connexions électriques avec un microcontrôleur PIC16F877.

Travail à réaliser :

Ecrire un programme sous MPLABX permettant de contrôler les diverses fonctions de la voiture :

1- Le switch START/STOP connecté à RD7 démarre la voiture.


2- Le switch CLIGN connecté à RA4/RA5 contrôle les clignotants gauche et droit de la voiture.
3- Le switch AV/AR connecté à RA2/RA3 contrôle la marche avant ou arrière de la voiture (sens
de rotation des moteurs).
4- Le potentiomètre VITESSE connecté à la voie analogique AN0 contrôle la vitesse de rotation
des moteurs (contrôle le rapport cyclique de la PWM de la sortie RC2-CCP1). La fréquence de
la PWM doit être réglée à 1KHz.

5- Le switch FREIN freine la voiture (arrêt des moteurs)

Le programme devra être structuré en plusieurs fonctions :

1- Fonctions permettant le contrôle des clignotants :


void clign_gauche(void) contrôle les clignotants gauches de la voiture. La période du
clignotement sera fixée à 0.5s.

2- Fonctions permettant le contrôle des clignotants :


void clign_droit(void) contrôle les clignotants droits de la voiture. La période du clignotement
sera fixée à 0.5s.

3- Fonctions permettant le contrôle des moteurs :


void mot_gauche(char ON, char N) si ON=1 le moteur gauche est en marche à la vitesse N. Si
ON=0, le moteur est à l’arrêt.
void mot_droit(char ON, char N) si ON=1 le moteur droit est en marche à la vitesse N. Si
ON=0, le moteur est à l’arrêt.

4- Affichage du rapport cyclique : Ecrire une fonction void affich_rap(unsigned char rap)
permettant d’afficher le rapport cyclique sur deux afficheurs 7 segments-BCD à 4 bits (dans 8
bits au total).

Rappel sur le fonctionnement du L293D :

Le L293D est un circuit intégré constitué de deux ponts en H (à 4 transistors). Les entrées IN1, IN2, EN1
contrôlent le premier pont dont les sorties sont OUT1 et OUT2. Les entrées IN3, IN4, EN2 contrôlent le
second pont dont les sorties sont OUT3 et OUT4.

La table suivante montre le fonctionnement d’un moteur connecté au premier pont :

EN1 IN1 IN2 OUT1 OUT2 Moteur 1


0 x x 0 0 OFF
1 1 0 Vcc 0 ON sens 1
1 0 1 0 Vcc ON sens 2 (sens de rotation inversé)
PWM 1 0 PWM 0 Vitesse variable sens 1
PWM 0 1 0 PWM Vitesse variable sens 2 (rotation inversée)

Dans notre cas, le L293D est commandé par le PORTB.

Vous aimerez peut-être aussi