Accueil » Génie électrique » Choix du Langage C et Compilateur MikroC pour la Programmation d’un Microcontrôleur

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.



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.





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



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=0s t=1.1s t=1.2s t=1.3s t=1.4s t=1.5s t=1.6s
1 6.5 6.47 5.7 5.5 5.4 5.1 4.92
1.5 6.5 6.47 5.82 5.76 5.70 5.48 5.33
2.5 6.5 6.47 6.35 6.29 6.23 6.11 6.06
3 6.5 6.4 6.4 6.4 6.4 6.4 6.4
3.5 6.5 6.00 6.11 6.17 6.23 6.23 6.35
4 6.5 5.59 5.64 5.70 5.76 5.82 5.94
4.5 6.5 5.53 5.60 5.87 5.96 6.01 6.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.



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épertoire Quantité désignations Prix Unitaire(TTC) Fournisseurs Prix Total (TTC)
Diodes 20 1N4148 0.025 DT SNE Sometel 0.500 DT
Diodes 10 1N4007 0.050 DT SNE Sometel 0.500 DT
Régulateur 1 7805 0.700 DT SNE Sometel 0.700 DT
Régulateur 1 7815 0.750 DT SNE Sometel 0.750 DT
Régulateur 1 7915 0.745 DT SNE Sometel 0.745 DT
Transistors 8 2N2222 0.195 DT SNE Sometel 1.560 DT
CNA 2 Dac 0808 2.925 DT SNE Sometel 5.850 DT
Capacités Chimiques 2 2200µF 25V 0.740 DT SNE Sometel 1.480 DT
Capacités Chimiques 6 10µF 63V 0.100 DT SNE Sometel 0.600 DT
capacités 6 100nF 100V 0.195 DT SNE Sometel 1.560 DT
capacités 14 0.470µ 0.100 DT SNE Sometel 1.400 DT
Bridge Pont diode 2A 0.420 DT SNE Sometel 0.420 DT
Transfo d’impulsion 8 IT450 10 DT Farnell 80 DT
Ecran LCD 1 LM016L 16 DT SNE Sometel 16 DT
Pic 1 18F452 14.261 DT SNE Sometel 14.261 DT
Transfo Point Milieu 1 TRANS 12VA 2x24V 7.436 DT SNE Sometel 7.436 DT
Plaque 2 Simple face 16.549 DT SNE Sometel 33DT
Diode zener 10 DZ 3,3V 0.100 DT SNE Sometel 1 DT
Résistances 20 0.100 DT SNE Sometel 2 DT
Bouton poussoirs 4 2 Pattes 0.200 DT SNE Sometel 0.800 DT
Diodes leds 3 Rouge, vert, jaune 0.150 DT SNE Sometel 0.450 DT
potentiomètres 2 0.500 DT SNE Sometel 1.500 DT
support 1 16 pattes 0.752 DT SNE Sometel 1.504 DT
support 1 40 pattes 1.500 DT SNE Sometel 1.500 DT
fiche 2 Femelle, mâle 1.200 DT SNE Sometel 2.400 DT
TCA 4 TCA 785 11.026 DT SNE Sometel 44.104 DT
Quartz 1 Crystal 0.250 DT SNE Sometel 0.250 DT
Buzzer 1 Buzzer 1.800 DT SNE Sometel 1.800 DT
OPAMP 2 1458 0.800 DT SNE Sometel 1.600 DT
Bornier 10 0.500 DT SNE Sometel 5 DT
Total : 240 DT

 

Tableau 9 : coût de la carte de commande

Pour les circuits de puissance

repertoire Nombre désignation fournisseur Prix des composants
Q 1 DK1 KC 13 à Cartouche fusible taille 2 Télémécanique 89€
Q1 1 disjoncteur à boitier Moulé RDM6-630S 500A Pdc de 35KA people Group 178,08€
Q2 1 le disjoncteur NZMH3-A500 réglé à 250A EATON Electric 337,49€
Q3 1 Le disjoncteur NZMH3-A500 réglé au Max EATON Electric 156,72€
Q4 1 Vigicompact NS500N 515V 600A Merlin Gerin 669€
Q5 1 Vigicompact NS250N 750v 270A Merlin Gerin 533€
KM1 1 Contacteur LC1-D95 20A 220V Télémécanique 20€
KM2 1 Contacteur LC1-F500 700A 600V Télémécanique 1288€
KM3 1 Contacteur LC1-F330 370A 600V Télémécanique 999€
F1 1 Cartouche fusible 10×38 _AM-20A Legrand 2€
F3 a F5 3 Socle unipolaire s38 Legrand 2€
F4-F5 2 Cartouche fusible 10x38_ AM-2A Legrand 4 €
F3 1 Cartouche fusible 10x38_AM-2A Legrand 2€
F2 1 Cartouche fusible 10x38_AM-2A Legrand 2€
F6 à F8 1 Cartouche fusible 10x38_AM-2A Legrand 2€
L1 1 Inductance 65mh EATON Electric 1,75€
L2 1 Inductance 22.4mH EATON Electric 1,75€
T1 1 Transformateur 423-05 250VA 230V Legrand 31,2€
T2 1 Transformateur 380V/127V Legrand 31,2€
dissipateur 1 WR 250 ventilé à 5m/s. EATON Electric 15€
thyristors 2 2N1849A Télémécanique 46 €
diodes 2 12F40 Télémécanique 4,80€
dissipateur 1 CO 865 Legrand 12,5€
dissipateur 1 Moulage M5 Merlin Gerin 17,90 €
câble 10m câble FRN05-VVU Merlin Gerin 17,90 €
câble 10m câble H07 VR Merlin Gerin 66,89 €
câble 10m câble H07 VU Merlin Gerin 17,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.

Laisser un commentaire

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

Exit mobile version