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.