0% ont trouvé ce document utile (0 vote)
27 vues9 pages

Compte Rendu

Le TP3 a pour objectif de mesurer la température à l'aide de deux microcontrôleurs PICs, où le PIC1 mesure et affiche la température, tandis que le PIC2 commande un moteur en fonction de cette température. Le projet implique la programmation de l'interface série USART pour la communication entre les deux microcontrôleurs, ainsi que l'utilisation de fonctions d'interruption. Ce travail pratique a permis d'approfondir les connaissances sur la régulation de température et la communication série, tout en rencontrant des défis liés à la gestion des interruptions et à la transmission des données.

Transféré par

houssam Ouajih
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
27 vues9 pages

Compte Rendu

Le TP3 a pour objectif de mesurer la température à l'aide de deux microcontrôleurs PICs, où le PIC1 mesure et affiche la température, tandis que le PIC2 commande un moteur en fonction de cette température. Le projet implique la programmation de l'interface série USART pour la communication entre les deux microcontrôleurs, ainsi que l'utilisation de fonctions d'interruption. Ce travail pratique a permis d'approfondir les connaissances sur la régulation de température et la communication série, tout en rencontrant des défis liés à la gestion des interruptions et à la transmission des données.

Transféré par

houssam Ouajih
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction

Le TP que nous avons choisi de faire le compte rendu est le TP3 qui est une suite du TP2 où
nous avons commencé à travailler sur la mesure de la température. Celui-ci a pour objectif
d'utiliser et de programmer une fonction d'interruption, ainsi que d'explorer l'utilisation de
l'interface série USART.
Le système est composé de deux microcontrôleurs PICs relier à l’aide de l’utilisation de
l’interface série USART :

➢ PIC1 : Connecté à un capteur de température, il est responsable de la mesure de la


température (Tm), de l'affichage sur un écran LCD et de l'envoi de la valeur mesurée
au PIC2.
➢ PIC2 : Reçoit les données de température envoyée par le PIC1 et commande le moteur
en fonction de la température reçu (Marche ou Arrêt).

Les travaux à faire dans ce TP nous les avons scindés en deux parties

La première partie (Code d’émission)

Cette partie consiste à écrire un programme sur MikroC pour le PIC1 qui permettra de La
configurer le convertisseur CAN. Cette étape va permette la conversion de la valeur N afin de
pourvoir calculer la température à l’aide de la formule suivante : T=0.488*N-273. Une fois ce
calcul fait la valeur sera affiché sur l’afficheur LCD afin de l’a comparé avec une température
Tc (+ ou -2) avant de l’envoyé au PIC2 via l’interface série USART (dans notre cas le Port
RC6). Sur le code ci-dessous nous trouvons le programme d’émission ainsi que la simulation
du code sur l’ISIS pour voir le bon fonctionnement du code :

1
Figure 1: Code d'émission
Le code afficher montre les différentes étapes demandées dans la première partie avec la
configuration du l’USART (UARTT1_Init ()). Lors de la configuration de l’USART il est
nécessaire de donner la valeur de la vitesse de transmission.

2
Nous avons aussi le Lcd qui est paramétrer en fonction du schéma qui nous a été donné. Ce
code est également celui de l’émission (c’est l’UART1_Write () qui représente l’envoi).
Etant sûr de notre code nous avons procédé à la simulation sur le logiciel ISIS qui nous a
donné plus de confiance à la validation de notre code. La figure suivante notre la simulation
du code.

Figure 2: Marche moteur

La simulation sur ISIS nous affirme que le code est le bon avec les conditions de marche et
d’arrêt du moteur qui sont Moteur marche si Température supérieure à 88°C ; au cas contraire
il reste en arrêt comme indiqué sur la figure suivante :

Figure 3: Moteur arrêt

3
Deuxième partie (Réception et commande du moteur)
Cette deuxième partie est consacré à la réception et à la commande du moteur :

Réception
Une fois que notre USART configurer via UART1_Init () ; nous avons configurer les
paramètres du teste de réception de donner à l’aide de UART1_Data_Ready () qui permet de
tester voir si une donnée a été reçu par l’USART. Ensuite configurer les paramètres de lecture
via UART1_Read () qui nous permettra de lire le s donnée reçue par l’USART. Après réglage
de ces différents paramètres, le PIC2 est en position réception donc qui recevra les donnée
envoyée (la réception des données se fait sur le Port RC7 de notre PIC2 dans le cas de notre
TP).

Commande du moteur
Une fois que les données envoyées ont été reçue et lue ; le moteur est mis en marche en
fonction de la température donnée (Marche si Température supérieure à 88°C ; au cas
contraire il reste en Arrêt).
Pour cette deuxième partie le code nous est demandé en deux cas qui sont :
➢ Sans interruption ;
➢ Avec interruption.

Le code sans interruption

Le programme fonctionne de manière séquentielle ; il exécute les instructions ligne par ligne
dans une boucle infinie (while (1)). Un code sans interruption vérifie tout le temps si un
événement se produit, ce qui peut le rendre moins rapide et moins pratique pour des tâches
complexes. L’avantage de ce modèle de code est sa simplicité c’est-à-dire qu’il est facile à
écrire et à comprendre. Dans le cas de notre travail, nous proposons ainsi notre code sans
interruption sur la figure suivante :

4
Figure 4: Code de réception sans interruption

5
Ce code sans interruption permet d’exécuter le programme ligne par ligne tel qu’elle est du
début jusqu’à la fin. Bien qu’il soit simple mais il présente un inconvénient qui est
l’inefficacité. Les code de ce genre sont moins efficace pour des systèmes complexe car il
peut manquer des opérations complexe.

Qu’il y soit avec interruption ou sans interruption ; la sortie a le même résultat (Marche ou
Arrêt du moteur). Sur-ce nous allons générer notre programme avec interruption.

Le code avec interruption

L’interruption permet de réagir immédiatement à un événement, sans avoir à le surveiller en


continu. C’est-à-dire si nous avons un programme qui est programmé avec interruption ; il
fois l’exécution de celui-ci arrive au niveau de l’interruption il laisse immédiatement le
programme principal qu’il exécutait et répond à la fonction d’interruption. Si celui-ci fini de
s’exécuter, il reprend le programme principal à l’endroit où il avait interrompu. L’avantage
de l’interruption est qu’il est efficace c’est-à-dire qu’il peut exécuter d’autres tâches pendant
qu’il attend un événement.

Dans le code de l’interruption qui sera afficher ci-dessous nous allons remarquer la
configuration de certains paramètres qui sont les paramètres d’interruption à savoir les bits
INTCON.GIE et INTCON.PEIE ces deux bits sont les bits de validation générale. Nous
avons aussi la source d’interruption dans notre cas le RCI pour une réception reçu sur
l’USART. Cette source à deux paramètres que nous devons prendre en compte à savoir la
validation (PIE1.RCIE) on le met à 1 pour désigner la validation de l’interruption ; et le Flag
(PIR1.RCIF) la mise à 0 du Flag nous permet de savoir que l’interruption a été effectué. C’est
le réglage de ces différents paramètres qui nous permet de faire notre programme avec
interruption qui est présenter sur la figure ci-dessous :

6
Figure 5: Code de réception avec interruption

7
Comme nous l’avons mentionné ci-dessus quelques soit la méthode l’objectif de notre TP
reste le même c’est la Marche et l’Arrêt du moteur à des températures bien définie
précédemment. Nous retrouvons ci-dessous la même figure pour le fonctionnement du moteur

Figure 6: Moteur marche

Figure 7: Moteur arrêt

8
Conclusion
Le TP3 a permis d'approfondir nos connaissances sur la régulation de température à l'aide de
systèmes embarqués, en mettant en œuvre des concepts clés tels que l'utilisation des
interruptions et la communication série via l'interface USART. Grâce à la configuration et à la
programmation des microcontrôleurs PIC1 et PIC2, nous avons réussi à établir un système
fonctionnel capable de mesurer, afficher et transmettre des données de température en temps
réel. L'affichage des données sur un écran LCD nous a permis une visualisation immédiate
des résultats, facilitant ainsi le suivi des variations de température.

Cependant, plusieurs difficultés ont été rencontrées au cours de ce TP. La gestion des
interruptions a nécessité un temps d'adaptation, notamment pour comprendre le
fonctionnement des registres et des modes de fonctionnement du PIC. De plus, des problèmes
de communication entre les deux microcontrôleurs ont surgi, nécessitant des ajustements dans
le code pour assurer une transmission fiable des données via l'USART.

En somme, ce TP a non seulement renforcé nos compétences en programmation et en


électronique, mais il a également illustré l'importance de l'intégration de différents
composants dans un système embarqué. Les connaissances acquises lors de ce travail pratique
serviront de base solide pour des projets futurs.

Vous aimerez peut-être aussi