Choix du Langage C et Compilateur MikroC pour la Programmation d’un Microcontrôleur

5.3 .Solution logicielle

5.3 .1.Choix du langage et du compilateur

Choix du ‘C’

Pour programmer le microcontrôleur, nous avons choisi le langage C comme hôte, pour de nombreuses raisons. En effet, le langage C est un langage déjà compilé, c’est-à-dire que le programmeur aura trois tâches : éditer le code, le compiler, puis l’exécuter ; une succession de taches plutôt facile en quelques clics. Contrairement aux langage interprétés (Basic,Pascal…), l’exécution sera beaucoup plus rapide puisqu’il n’y a plus de traduction à effectuer, mais la phase de mise au point sera plus complexe.

En outre, le C est un langage de « haut niveau », comparé à l’assembleur, qui permet d’écrire des programmes nettement plus intelligibles et donc plus faciles à relire et corriger ou modifier. Le compilateur contrôle la cohérence du code au moment de la compilation et signale bon nombre d’erreurs, qui seront autant de bogues en moins à corriger. Le compilateur prend en charge la gestion d’un certain nombre de mécanismes fastidieux : par exemple, pas besoin de spécifier la page mémoire dans laquelle on veut écrire, le compilateur s’en charge.

Par contre, le fichier généré prend assez de place en mémoire, mais celle du microcontrôleur choisit suffira aisément.

Choix du logiciel ‘MikroC

Il y a sur le marché plusieurs compilateurs C. Si on nous propose bien des compilateurs, ceux-ci sont payants et ne couvrent que le haut de la gamme des PIC.D’autres éditeurs proposent également des compilateurs dont certains sont très complets, livrés avec des bibliothèques simplifiant l’utilisation des périphériques du PIC. Malheureusement, ici encore c’est assez cher, jusqu’à plusieurs centaines d’euros pour un environnement de développement intégré couvrant l’essentiel de la gamme des PIC.

Heureusement il existe des alternatives moins onéreuses. Par exemple, en cherchant bien sur internet on peut dénicher des compilateurs freeware en ligne de commande. Notre choix s’est porté sur le compilateur MikroC de la société Mikroelectronica, pour les raisons suivantes : Il existe une version gratuite avec quelques limitations mineures (taille du code généré…) permettant de se prendre la main et de créer des applications personnelles et les versions payantes (à des tarifs très raisonnables) permettent de créer des applications commerciales et d’avoir accès au code source des bibliothèques. MikroC est livré avec un environnement de développement intégré facilitant le développement d’applications. Et surtout, MikroC reste assez proche du matériel : on peut très facilement accéder à tous les bits d’un registre donné, et toutes les bibliothèques dont nous avons besoin y résident.


image177

Figure 81: le logiciel MikroC

5.3.2. Le programme développé

Pour mieux décrire le programme développé dans le microcontrôleur, nous avons séparé le code en trois parties :

Le programme principal ;

L’algorithme de régulation ;

Les structures d’affichage.

5.3.2.1. Le programme principal

Apres le lancement du programme, le code commence par une initialisation, correspondant à la configuration des ports d’entrées sorties et les registres de conversion analogique numérique du pic : c’est le choix de la fréquence d’échantillonnage qui par défaut est configurée à celle de l’oscillateur, et le forçage du port E comme entrée logique. C’est dans cette étape d’initialisation que les entrées des valeurs initiales de la loi de commande, de l’erreur et constantes de régulation dont le calcul a été défini au chapitre 3 seront effectuées.

Ensuite le microcontrôleur entre dans une boucle infinie. Celle ci consiste notamment à capturer les tensions de mesure et de référence, prépare le registre de conversion et passe à l’échantillonnage des deux signaux : c’est la première partie de l’asservissement.

Apres la conversion, une série de calculs est entamée, pour la correction de la vitesse de rotation et la limitation du couple moteur, après quoi le microcontrôleur envoie les résultats dans les ports D et C pour la commande des deux convertisseurs statiques : c’est la deuxième partie de l’asservissement.

Apres l’envoi des résultats dans les ports, nous passerons à l’affichage de la vitesse de rotation et du mode de charge choisit, juste avant une nouvelle acquisition.

5.3.2.2. L’algorithme de régulation

Cet algorithme de correction effectue en quelque sorte un calcul permanent de la commande qu’il ajuste à chaque instant. Pour ce faire, avant chaque nouveau calcul, il faudra stocker l’ancienne, vu qu’on la réutilisera. Ensuite le régulateur lira la valeur fournie par le CNA, puis calcule la nouvelle valeur de l’erreur (référence-mesure).Le calcul de l’action de commande quant à lui se résume juste à l’application de la formule suivante :

Dans cette équation, delta représente la période d’échantillonnage du CNA, fixée à la moitié de la fréquence d’horloge. Ensuite, un test sur cette loi de commande est effectué pour limiter cette dernière à la valeur maximale.

Ensuite, si l’un des boutons poussoirs sélecteur de charge est activé, le pic calculera la loi de commande Uc2 du pont mixte, en fonction de celle calculée ci haut, pour maintenir le couple constant, et ensuite le limiter à 1.2 de sa valeur nominale. D’après l’équation 3 du paragraphe 3.3.1, maintenir Tem constant revient à maintenir Im, et donc le produit Tem*Im serait constant, il faudrait alors que la relation suivante soit vérifiée :, où K est une constante à déterminer en fonction de la charge désirée ;elle correspond à une valeur au tiers de la charge, une à la moitié, et une à la charge nominale.

Figure 84: organigramme d’affichage

Figure 82: organigramme principal

Figure 83: organigramme de correction

Pour vérifier l’égalité ci dessus, la valeur de la loi de commande en fonction de est donc :

Il suffira juste d’envoyer cette valeur au PORTC et d’apprêter le coup suivant.

5.3.2.3. L’algorithme d’affichage

Tout d’abord l’afficheur LCD (écran à cristaux liquides) nécessite une phase d’initialisation avant de pouvoir remplir sa fonction. Cette phase a été accomplie lors du programme principal. Ensuite le microcontrôleur préparera le portb, par qui la commande de l’afficheur sera faite, puis le calcul de la vitesse à afficher sera fait par l’équation suivante :

.

En effet, il faudrait juste multiplier la tension de sortie du capteur de vitesse, par le coefficient de conversion vitesse-tension de la dynamo tachymétrique. Puis cette vitesse sera convertie en chaines de caractères et envoyée à l’écran. Si celle-ci devient trop élevée (supérieure à 3400 tours par minute, le pic envoie « SURVITESSE» à l’afficheur qui informe l’utilisateur du problème.

5.3.3. Choix du simulateur

Pour réaliser une simulation d’un circuit électronique, plusieurs logiciels sont disponibles, mais notre choix s’est porté sur le logiciel Protéus, qui nous a permis d’étudier le circuit, son comportement, et de visualiser les signaux de sortie dont nous avions besoin. En effet, Protéus est une suite logicielle de chez Labcenter Electronics. Deux logiciels principaux composent cette suite logicielle: ISIS pour la simulation, et ARES pour la génération des circuits imprimés.

Le logiciel ISIS de Protéus est principalement connu pour éditer des schémas électriques. Par ailleurs, le logiciel permet également de simuler ces schémas ce qui permet de déceler certaines erreurs dès l’étape de conception. Indirectement, les circuits électriques conçus grâce à ce logiciel peuvent être utilisé dans des documentations car le logiciel permet de contrôler la majorité de l’aspect graphique des circuits. En addition, il permet une aisance dans la manipulation des microcontrôleurs, vu qu’il suffit juste d’importer le fichier .hex généré par le compilateur, et d’exécuter facilement le comportement de celui-ci.C’est d’ailleurs par ce logiciel que nous avons réalisé les circuits imprimé des cartes présentées en annexe.

Figure 85: le logiciel Isis

5.4 .Evaluation des résultats

Impulsions d’un étage TCA785

Les impulsions des gâchettes à la sortie des circuits TCA 785 sont obtenues comme suite.


image187

image188

Figure 86: impulsions d’un étage TCA

Nous retrouvons ici exactement les mêmes signaux que la simulation sur simulink nous a donné, le déphasage est respecté, et la largeur de l’impulsion est acceptable.

Impulsions à la sortie des transformateurs d’impulsion


image189

Figure 87: signaux de commande du pont PD3

Ici encore à la sortie des transformateurs d’impulsion, nous retrouvons la même succession d’impulsion que l’étude théorique a menée, respectant bien la tension de gâchette et la largeur de l’impulsion.

Evaluation statique du régulateur

Vcap(V)Uc(V)
t=0st=1.1st=1.2st=1.3st=1.4st=1.5st=1.6s
16.56.475.75.55.45.14.92
1.56.56.475.825.765.705.485.33
2.56.56.476.356.296.236.116.06
36.56.46.46.46.46.46.4
3.56.56.006.116.176.236.236.35
46.55.595.645.705.765.825.94
4.56.55.535.605.875.966.016.1

Pour évaluer la réponse de la carte de régulation, nous avons prélevé sept valeurs de la tension de commande chaque demi-seconde. Nous avons donc rempli le tableau ci-dessous qui donne Uc, en fonction du temps et de la valeur de l’entrée de mesure, que nous avons varié nous même .Ce test a été effectué pour une tension de référence de trois Volts.

Tableau 8 : valeurs statiques prélevées sur le régulateur

A t=0, la tension du régulateur est de 6.5volts, correspondant à un angle d’amorçage de 90° ; la tension motrice est alors nulle.


image190

Figure 88 : courbes caractéristiques de la réponse en tension

Nous observons d’après le graphe que pour une valeur du capteur égale à 3V (valeur de référence), la réponse du microcontrôleur est constante : Vcap=Vref à t=0 ; lorsque la valeur mesurée devient inférieure, la tension du régulateur diminue, par conséquent, l’angle d’amorçage aussi, mais la tension du moteur augmente. En outre, la pente de descente est de plus en plus élevée lorsqu’on s éloigne de la valeur de consigne. Nous observons par ailleurs le phénomène opposé lorsque la tension se mesure devient supérieure à celle désirée.

Conclusion

Dans ce chapitre, nous avons présenté les outils matériels et logiciels que nous avons utilisés pour la conception et la réalisation de la carte de commande, par la suite nous avons dressé un tableau qui nous a permis de tester la validité statique du régulateur. Les plans des circuits imprimés des trois cartes et réalisation seront donnés en annexe.

ETUDE ECONOMIQUE DU PROJET

Nous avons justifié techniquement l’utilisation de tous les composants de la partie puissance et de la partie commande du projet, il sera question dans ce paragraphe d’analyser la faisabilité du projet en examinant les coûts conséquents .Nous tenons à signaler que ce dernier n’est pas une étude économique approfondie mais plutôt un aperçu sur ce que peut coûter sa réalisation. Nous avons laissé tomber la mise en œuvre de la partie mécanique qui devait exiger des modifications à apporter à la structure e déjà conçue. L’analyse de la faisabilité se fera par l’estimation du prix d’achat pour chaque composant à commander puis une sommation en suivra :

Pour la carte de commande:

répertoireQuantitédésignationsPrix Unitaire(TTC)FournisseursPrix Total (TTC)
Diodes201N41480.025 DTSNE Sometel0.500 DT
Diodes101N40070.050 DTSNE Sometel0.500 DT
Régulateur178050.700 DTSNE Sometel0.700 DT
Régulateur178150.750 DTSNE Sometel0.750 DT
Régulateur179150.745 DTSNE Sometel0.745 DT
Transistors82N22220.195 DTSNE Sometel1.560 DT
CNA2Dac 08082.925 DTSNE Sometel5.850 DT
Capacités Chimiques22200µF 25V0.740 DTSNE Sometel1.480 DT
Capacités Chimiques610µF 63V0.100 DTSNE Sometel0.600 DT
capacités6100nF 100V0.195 DTSNE Sometel1.560 DT
capacités140.470µ0.100 DTSNE Sometel1.400 DT
BridgePont diode 2A0.420 DTSNE Sometel0.420 DT
Transfo d’impulsion8IT45010 DTFarnell80 DT
Ecran LCD1LM016L16 DTSNE Sometel16 DT
Pic118F45214.261 DTSNE Sometel14.261 DT
Transfo Point Milieu1TRANS 12VA 2x24V7.436 DTSNE Sometel7.436 DT
Plaque2Simple face16.549 DTSNE Sometel33DT
Diode zener10DZ 3,3V0.100 DTSNE Sometel1 DT
Résistances200.100 DTSNE Sometel2 DT
Bouton poussoirs42 Pattes0.200 DTSNE Sometel0.800 DT
Diodes leds3Rouge, vert, jaune0.150 DTSNE Sometel0.450 DT
potentiomètres20.500 DTSNE Sometel1.500 DT
support116 pattes0.752 DTSNE Sometel1.504 DT
support140 pattes1.500 DTSNE Sometel1.500 DT
fiche2Femelle, mâle1.200 DTSNE Sometel2.400 DT
TCA4TCA 78511.026 DTSNE Sometel44.104 DT
Quartz1Crystal0.250 DTSNE Sometel0.250 DT
Buzzer1Buzzer1.800 DTSNE Sometel1.800 DT
OPAMP214580.800 DTSNE Sometel1.600 DT
Bornier100.500 DTSNE Sometel5 DT
Total : 240 DT

 

Tableau 9 : coût de la carte de commande

Pour les circuits de puissance

repertoireNombredésignationfournisseurPrix des composants
Q1DK1 KC 13 à Cartouche fusible taille 2Télémécanique89€
Q11disjoncteur à boitier Moulé RDM6-630S 500A Pdc de 35KApeople Group178,08€
Q21le disjoncteur NZMH3-A500 réglé à 250AEATON Electric337,49€
Q31Le disjoncteur NZMH3-A500 réglé au MaxEATON Electric156,72€
Q41Vigicompact NS500N 515V 600AMerlin Gerin669€
Q51Vigicompact NS250N 750v 270AMerlin Gerin533€
KM11Contacteur LC1-D95 20A 220VTélémécanique20€
KM21Contacteur LC1-F500 700A 600VTélémécanique1288€
KM31Contacteur LC1-F330 370A 600VTélémécanique999€
F11Cartouche fusible 10×38 _AM-20ALegrand2€
F3 a F53Socle unipolaire s38Legrand2€
F4-F52Cartouche fusible 10x38_ AM-2ALegrand4 €
F31Cartouche fusible 10x38_AM-2ALegrand2€
F21Cartouche fusible 10x38_AM-2ALegrand2€
F6 à F81Cartouche fusible 10x38_AM-2ALegrand2€
L11Inductance 65mhEATON Electric1,75€
L21Inductance 22.4mHEATON Electric1,75€
T11Transformateur 423-05 250VA 230VLegrand31,2€
T21Transformateur 380V/127VLegrand31,2€
dissipateur1WR 250 ventilé à 5m/s.EATON Electric15€
thyristors22N1849ATélémécanique46 €
diodes212F40Télémécanique4,80€
dissipateur1CO 865Legrand12,5€
dissipateur1Moulage M5Merlin Gerin17,90 €
câble10mcâble FRN05-VVUMerlin Gerin17,90 €
câble10mcâble H07 VRMerlin Gerin66,89 €
câble10mcâble H07 VUMerlin Gerin17,90 €
Total : 4526€ soit 8500DT environ

 

Tableau 10: coût de la partie puissance.

 

GENERALE ET PERSPECTIVES

La conception d’un banc d’essai en charge pour moteurs de traction a été présentée dans ce projet de fin d’études.

Dans la première partie du travail, une petite analyse sur les entrainements électriques et une étude sur le moteur de traction a été menée. Apres avoir dimensionné les différents éléments de la solution adaptée, les principales composantes de l’entrainement ont été implantées dans l’environnement de simulation Matlab/Simulink, et les courbes de réponse du système théorique ont été prélevées. Par la suite, une conception du schéma électrique total du banc a été proposée.

Connaissant les efforts de traction à mener lors de l’entrainement, la deuxième partie a évoqué une approche dans le choix du type de l’accouplement mécanique entre les différentes machines, et une conception de cette transmission sur le logiciel Solidworks a été présentée.

La dernière partie du projet a porté sur la conception et la réalisation de la carte de commande du banc d’essai. Celle ci permet de varier la vitesse sur huit crans, de choisir le mode de charge à administrer su l’arbre moteur, et de contrôler à chaque instant le système entrainé. Ainsi, la quasi-totalité du cahier des charges a été couverte.

Ce projet a par ailleurs été pour nous une grande source de maitrise de notre métier, dans la mesure où nous avons abordé notamment les domaines de l’électrotechnique, l’électronique de puissance, l’automatique, l’informatique et l’électronique.

La mise en place du banc d’essai se fera à la fin de l’été, après la livraison de tout le matériel nécessaire. Il pourra donc être fonctionnel, et permettre les essais effectifs sur les moteurs de traction.

Quant à la finition de la dernière carte inachevée pour causes de livraison, nous l’effectuerons les jours prochains à l’atelier, dans le cadre d’un stage d’été. Nous inclurons par ailleurs un système de surveillance de température sur le banc.

BIBLIOGRAPHIE ET WEBOGRAPHIE

[1] http://www.sncft.com.tn

[2] http://www.maxicours.com/soutien-scolaire/electricite

[3] Electrotechnique, 3e édition Par Théodore Wildi, Gilbert Sybille.

[4] http://www.engineering.schneider-electric.ma

[5] http://www.tassignon.be

[6] documentation plateforme d’essai, HELMKE

[7] cours documentation Christian Dupaty

[8] http://www.siemens.fr

Liste des livres consultés pour la conception

Memotech électrotechnique.

Mémotech commande numérique.

Electronique pratique.

Livre des archives SNCFT.

Pour citer ce mémoire (mémoire de master, thèse, PFE,...) :
📌 La première page du mémoire (avec le fichier pdf) - Thème 📜:
Etude et conception d’un banc d’essai en charge pour moteurs de traction
Université 🏫: Université Libre de Tunis - Institut supérieur polytechnique privé
Année de soutenance 📅: Mémoire de fin d'études - Juin 2012
Energy Specialist . Electrical Energy project engineer
Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Laisser un commentaire

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

Scroll to Top