Lisez - Page d'accueil de ulysse - Chez
Séquence de temporisation. Soit on éponge le retard soit on ... 9. Mise au point.
10. Examen : prèsentation du projet et comparaison/CDCF ..... Pic Puce. 171,
route de Valenciennes. SIN LE NOBLE. 30 jours fin de mois. 37 000.00 F.
130000.
Part of the document
Les automates programmables industriels 2004 d'Ulysse
(à base de PIC16F873, 874, 876, 877) [pic]
Cette documentation présente tout ce qu'il faut pour comprendre, réaliser
soi même et utiliser mes automates programmables industriels. [pic][pic]
[pic][pic]
(Les photos représentent un automate 10 entrées/8sorties, un émetteur et un
récepteur pour réaliser une barrière infrarouge et un adaptateur RS232 pour
connecter l'automate au PC avec un câble série. L'automate est de la taille
d'une disquette (9cm x 9cm) )
Ulysse Delmas-Begue novembre 2004
Email : udelmas@chez.com / ulysse.delmas@laposte.net
Site web: http://www.chez.com/udelmas
[pic] Table des matières A. Introduction B. Synoptique C. Electronique D. Graphcet E. Firmware ou interpréteur F. Logiciel progapi_2004 G. Conclusion [pic]
A. Présentation
Les automates programmables industriels ou API, sont des systèmes
électroniques de commande très facile à programmer grâce a l'utilisation du
graphcet qui est une représentation graphique du comportement du système à
contrôler.
Les API sont très utilisés dans l'industrie dans de nombreux automatismes,
mais malheureusement, ils restent très peu connu du grand public. Bien que
le prix des API commerciaux baisse régulièrement, ils restent cependant
assez coûteux, surtout en ce qui concerne le logiciel de programmation
souvent hors de prix, ce qui rend difficile un amortissement pour quelques
automates. Néanmoins, les solutions commerciales sont extrêmement robustes.
Lorsqu'en 1998, je mis sur Internet, la description de mes automates à base
de PIC16f84, l'engouement fut immédiat aussi bien pour diverses
réalisations personnelles que dans l'enseignement. Grâce a l'évolution des
microcontrôleurs (UC) et a de nombreuses suggestions, je remets ça, avec
cette fois des UC 16F873, 874, 876 et 877 plus adaptés, et en conservant
toujours le même esprit d'accessibilité, de partage et de gratuité.
Les chapitres suivants décrivent mes automates 2004. Ils devraient être
compréhensibles par tout le monde. Sur ce, bonne lecture et pourquoi pas,
si cela vous plait, bonne réalisation.
[pic] B. Synoptique
Un système automatique est constitué d'une partie commande (un automate
dans notre cas) et d'une partie opérative (le système à automatiser). Des
actionneurs (moteurs, lampes, vérins ...), permettent à la partie commande
de faire évoluer l'état de la partie opérative. En retour des capteurs
l'informe de l'état du système.
Dans notre cas, l'API pilote le système avec ses sorties qui commandent les
actionneurs en fonction de l'état des capteurs et du graphcet. (Si les
sorties, ne sont pas adaptées aux actionneurs alors, il faut utiliser des
pré actionneurs. Idem pour les entrées avec des conditionneurs)
La figure suivante montre les différentes entités :
[pic] Mes automates sont également capables de gérer des capteurs analogiques,
d'utiliser l'horodateur intégré et des compteurs.
Le principe d'utilisation est le suivant : on construit le graphcet de
commande sur le PC, puis on le transfère dans l'automate qui l'exécute.
Cette réalisation peut se diviser en 3 grandes parties qui sont :
- la partie électronique
- La partie informatique au niveau du UC de l'automate encore connu sous
le nom de firmware ou d'interpréteur. - La partie informatique au niveau du PC, c'est-à-dire le logiciel
utilisateur.
B.1 La partie électronique
[pic]
Du point de vue électronique l'automate se décompose en 5 sous-ensembles :
. Le microcontrôleur coeur du montage qui grâce à un programme exécute
le graphcet qui est dans sa mémoire.
. Le programmateur ou adaptateur RS232, permet de dialoguer avec la PC
pour transférer le graphcet et observer l'API.
. L'alimentation
. Le système d'interfaçage d'entrée (ici 10 ou 15 entrées)
. Le système d'interfaçage de sortie (ici 8 ou 14 sorties)
B.2 La partie informatique au niveau du PC
[pic]
Coté PC, un programme se charge de tout : « L'éditeur, compilateur
chargeur, débogueur de graphcet ».
Ce programme du nom de progapi_2004 permet de :
. Créer un graphcet graphique et de le transformer en graphcet littéral
qui est une représentation textuelle du graphcet.
. Transférer le nouveau graphcet littéral dans la mémoire FLASH du UC.
. Observer le comportement de l'API et l'évolution du graphcet.
B.3 La partie informatique au niveau du UC
[pic] Coté UC, c'est un programme appelé « interpréteur de graphcet » ou
« firmware » qui gère l'automate en exécutant le graphcet littéral et en
mettant à jour les entrées, sorties, variables internes
(temporisations...). Il est également capable de dialoguer avec le PC grâce
au bootloader/moniteur intégré.
[pic]
C. Etude de la partie électronique
Mon but était de rendre la partie électronique simple à réaliser, elle n'en
est pas moins intéressante pour autant.
Je détaille la réalisation d'un automate avec 10 entrées et 8 sorties
(API_2004_18).
Il vous est également possible de réaliser une version avec 15 entrées et
14 sorties (API_2004_29) à l'aide des informations présentes mais je ne la
détaille pas.
C.1. Schéma électronique
Version 10 entrées et 8 sorties
[pic]
Nomenclature
IC1 : PIC16F873 ou 876 (microcontrôleur)
IC2 : ULN 2803 (amplification de puissance darlington))
IC3 : MAX232 (adaptateur RS232)
IC4 : 7805 (régulateur 5 volts)
D1 : 1N4001 (Diode de redressement)
R1,R4 : 2200 ohms
R2,R3 : 1000 ohms
SIL1 : 5x 4.7k
SIL2 : 6x 4.7k
C1 : 470 uF
C2,C3 : 100 nF
C4,C5 : 22 pF
C6-10 : 10 uF
Qz : Quartz 8 MHz
Led0-7 : diodes électroluminescentes vertes 3mm (ou ce que vous voulez)
Led8 : diode électroluminescente rouge 3mm (ou ce que vous voulez)
Led9 : diode électroluminescente jaune 3mm (ou ce que vous voulez)
T1 : transistor 2N2222
REL0-7 : relais de puissance SIL 12V, 1200Ohms, 30V 5A continue, 250V 5A
alternatif)
CN1,CN2 : borniers a vis (chacun constitué de 9 bornier à vis de 2
éléments)
CN3 : 2 éléments (d'une barrette auto sécable mâle simple rangée) +
1cavalier
CN4 : 4 éléments (d'une barrette auto sécable mâle simple rangée)
CN5 : 4 éléments (d'une barrette auto sécable femelle simple rangée)
CN6 : connecteur DB9 femelle
SUP1 : support pour IC1 (support tulipe 28 broches, 2x14 étroit)
SUP2 : support pour IC2 (support tulipe 18 broches, 2x9 )
SUP3 : support pour IC3 (support tulipe 16 broches, 2x8 )
CV1 : cavalier pour CN4 (facultatif)
C.1 Le UC
Le microcontrôleur IC1 est le c?ur du montage. Il est chargé d'interpréter
le graphcet littéral chargé dans sa mémoire.
Il est possible d'utiliser indifféremment les PIC16f873 ou 876 pour
l'automate 10E/8S. Les différences entre ces UC, concernent uniquement la
taille des différentes mémoires. L'automate 15E/14S demande quand à lui un
UC avec des E/S supplémentaires. Les PIC 16f874 et 877 sont les équivalents
des UC précédents mais avec 11 E/S supplémentaires.
J'ai choisit ces UC pour les raisons suivantes :
- Ils disposent d'une mémoire flash pour stocker le programme (donc il
est possible de les reprogrammer en cas de bug ou d'évolution). La
mémoire flash peut être programmé par le programme lui-même, ce qui
est très pratique pour transférer le graphcet.
- Il est facile de fabriquer un programmateur et de nombreux outils
sont disponibles sur Internet. (Je conseille icprog pour le programme
et JDM pour la carte de programmation)
- La mémoire RAM est de taille suffisante (tout juste)
- Ils disposent d'un port série, d'un convertisseur analogique numérique
et de timers.
- Ces UC se trouvent partout et sont peu coûteux (Microchip envoie même
des échantillons gratuitement)
- Enfin ces UC sont un vrai plaisir à programmer en assembleur et
l'environnement de développement MPLAB est gratuit et puissant.
Caractéristiques de ces UC :
mémoire programme : 4 kmots (16f873/874) / 8 kmots (16f876/877)
RAM : 192 octets / 368 octets
EEPROM données : 128 octets / 256 octets entrées/sorties : 22 (16f873/876) / 33 (16f874/877)
boîtier : DIL 28 / DIL40
temps de cycle : 0.5uS à 8MHz
architecture : RISC instructions très puissantes donc programme réduit
programmation simple grâce au mode série ISP
flash programmable au minimum 1000 fois et eeprom 1000000 fois
Pour plus d'information, télécharger les manuels chez Microchip (le
fabriquant des PICS) http://www.microchip.com (en Anglais) et lisez les
excellents cours de « BigOnOff » en Français http://abcelectronique.com .
Pour le néophyte:
UC : Un microcontrôleur est un composant qui regroupe au sein d'une puce,
un véritable petit ordinateur, il comprend:
- un microprocesseur
- différentes mémoires pour les données et les instructions
- des périphériques (dont des ports d'entrée/sortie E/S, des convertisseurs
analogique/numérique pour mesurer des tensions, des
compteurs/temporisateurs, un ports série ...) FLASH/EEPROM : mémoires qui conservent les données même lorsque
l'alimentation est coupée. Elles sont donc bien adaptées pour stocker un
programme ou des constantes. Ces mémoires ont des caractéristiques
différentes telles la densité, et l'endurance. Mes API utilisent uniquement
la FLASH pour stocker le programme et le graphcet car les PIC utilisent la
FLASH pour stocker les instructions du programme et l'EEPROM habituellement
réservée au stockage des données est trop petite pour les grahcets. Ces
mémoires sont très lentes en écriture RAM : mémoire volatile qui perd son contenu lorsque l'alimentation est
coupée mais très rapide aussi bien en lecture qu'en écriture. Cette mémoire
est tout indiquée pour stocker les variables. RISC : Architecture de UC avec un jeu réduit d'instruction par opposition
aux architectures CISC. Bit : Unité élémen