Vous êtes sur la page 1sur 25

Cration dun systme de positionnement dune camra sur un

axe linaire.
1. Introduction ....................................................................................................................3
2. Cahier des charges ..........................................................................................................3
2.1. Cahier des charges officiel ......................................................................................3
2.2. Recherches sur le sujet ............................................................................................3
2.3. Choix de conceptions ..............................................................................................4
3. Etude des choix de conceptions .......................................................................................5
3.1. Mthode de translation ............................................................................................5
3.1.1. Moyen de glissement .......................................................................................5
3.1.2. Moyen de traction ............................................................................................6
3.2. Type de moteur .......................................................................................................6
3.2.1. Contraintes ......................................................................................................6
3.2.2. Choix du type de moteur..................................................................................7
3.2.3. Fonctionnement du moteur ..............................................................................7
3.3. Carte de commande .................................................................................................7
3.3.1. Mthode la main .....................................................................................8
3.3.2. Mthode NI .....................................................................................................8
3.3.3. Mthode de la carte autonome .........................................................................8
3.4. Carte de puissance ...................................................................................................8
3.5. Programmes de contrle de la carte .........................................................................9
3.6. Codeur incrmental .................................................................................................9
4. Etude thorique et dimensionnement ...............................................................................9
4.1. Dessin technique et schma du projet ......................................................................9
4.1.1. Synoptique du schma lectrique .....................................................................9
4.1.2. Plan globale de la structure mcanique .......................................................... 10
4.1.3. Vocabulaire de chaque objet .......................................................................... 10
4.2. Mthode de dplacement et de traction et choix du moteur .................................... 10
4.2.1. Dimensionnement.......................................................................................... 10
4.2.2. Choix du moteur ............................................................................................ 10
4.2.2.1. Branchement.......................................................................................... 11
4.2.2.2. Rapport couple/vitesse ........................................................................... 11
4.2.2.3. Schma .................................................................................................. 12
4.2.3. Choix de la mcanique .................................................................................. 12
4.3. Carte de commande ............................................................................................... 12
4.3.1. Cahier de contraintes ..................................................................................... 12
4.3.2. Choix de la carte ............................................................................................ 13
4.3.3. Etude des possibilits de la carte, et programmation HardWare ...................... 14
4.3.3.1. Mthode ................................................................................................ 14
4.3.3.2. Etude ..................................................................................................... 15
4.3.3.3. Compromis ............................................................................................ 15
4.4. Carte de puissance ................................................................................................. 15
4.4.1. Simulation ..................................................................................................... 16
4.4.2. Choix des composants lectroniques .............................................................. 17
4.5. Architecture du programme ................................................................................... 17
5. Liste du matriel ........................................................................................................... 17
6. Etude et fonctionnement de la carte Flexis DEMOJM ................................................... 17
6.1. Prsentation du paquet .......................................................................................... 17
6.2. Fonctionnement globale ........................................................................................ 18
6.3. Prparation ............................................................................................................ 18
6.3.1. Installation de CodeWarrior ........................................................................... 18
6.3.1.1. Mthode avec les programmes les plus rcents....................................... 18
6.3.1.2. Mthode ancienne .................................................................................. 19
6.3.1.3. Notes sur les versions ............................................................................ 19
6.3.1.4. Liens...................................................................................................... 19
6.3.2. Prparation de la carte ................................................................................... 20
6.3.2.1. Vrifications des jumpers....................................................................... 20
6.3.2.2. Branchement des cables ......................................................................... 20
6.3.2.3. Vrification de la cible ........................................................................... 21
6.3.2.4. Test dun programme ............................................................................. 21
6.3.2.5. Placement dune sonde .......................................................................... 21
6.3.2.6. Documentations disponibles .................................................................. 21
6.4. Prise en main de lIDE .......................................................................................... 22
6.4.1. Premiers pas .................................................................................................. 22
6.4.2. Cration dun projet ....................................................................................... 22
6.4.3. Linterface de lIDE ....................................................................................... 22
6.4.4. Processor Expert et Device Initialization ....................................................... 23
6.4.5. Votre Code .................................................................................................... 23
6.4.6. Changer de cible ............................................................................................ 24
6.4.7. Test du code .................................................................................................. 24
6.4.7.1. Boutons importants ................................................................................ 24
6.4.7.2. Mthode ................................................................................................ 24
6.5. Prise en main de HiWave ...................................................................................... 24

1. Introduction
Ralisation d'un chariot command numriquement par ordinateur. Le but est de pouvoir
dplacer un objet sur un axe, partir d'un ordinateur (principalement avec LabVIEW). La
ralisation de la maquette commence par un choix du support de dplacement, puis du choix
d'un moteur. Le moteur est command par une carte microcontrleur, tandis qu'une carte de
puissance permet l'alimentation de ce dernier. Un systme de correction d'erreur est prvu, et
gr par le MCU et par un encodeur incrmental. La liaison du MCU se fera en USB ( port
COM virtuel), et la carte utilisable partir d'un programme LabVIEW quelconque.
2. Cahier des charges
2.1. Cahier des charges officiel
vitesse jusqu quelques centimtres par seconde
top de synchro tous les 1/100
me
de millimtre
course 700 mm
dplacement linaire
charge < 1 kg
faible cot < 1000 euros
lment r-utilisable ? (structure mcanique, codeur, carte compteurcodeur 6601,
bornier)
pas trop bruyant
Pilotage avec LabVIEW (info de position, commande)
2.2. Recherches sur le sujet
Aprs avoir pris connaissance sur le sujet, une phase de recherche et de renseignement sest
impos, afin de simprgner du sujet.
La CNC, signifie : commande numrique de construction. Beaucoup de sites
proposent de petits montages, des retours dexprience, et des explications sur ce sujet.
http://www.cncloisirs.com/
http://cnc25.free.fr/
Les moteurs pas pas et les moteurs courant continue.
http://fr.wikipedia.org/wiki/Moteur_pas_%C3%A0_pas
http://etronics.free.fr/dossiers/num/num50/mpap.htm
http://col2000.free.fr/pasapas/pap_indx.htm
http://fr.wikipedia.org/wiki/Machine_%C3%A0_courant_continu
Les cartes de commande et/ou de puissance pour commander un moteur pas pas.
http://www.stepgenie.com/
http://www.conrad.fr/webapps/commande_moteur-37.html
http://www.conrad.fr/kit_step_easy_p_19247_19257_208569
Etude des moyens de dplacement mcanique :
http://cncloisirs.com/Construction/Transmissions
Catalogue des fournisseurs
http://www.freescale.com
http://www.isel.fr/
2.3. Choix de conceptions
Aprs avoir tudi ce cahier des charges, jai t amen faire des choix sur la manire de
raliser le projet:
Avec un responsable, nous avons dcid dutiliser lUSB pour tablir la
communication entre notre ordinateur et le systme, pour des raisons de simplicits
dutilisation. Un port srie nest plus trs courant sur la majorit des ordinateurs.
Nous nous somme galement pos la question de la fiabilit de lappareil raliser :
faut-il mettre en place un systme de correction derreur ? Si le moteur avance trop ou
pas assez loin, est-ce important de corriger lerreur ? Avec lexprience du mtier, un
responsable ma expliqu quil valait mieux faire quelque chose de fiable, sinon
lintrt est nul. Donc le systme doit grer au mieux les erreurs. Cela implique le
choix dun moteur adapt lutilisation que lon veut en faire. Entre le moteur
courant continue et son homologue pas pas, nous choisirons certainement la
deuxime option.
Le systme doit galement pouvoir tre amlior lavenir. Le choix dune carte avec
un microcontrleur dessus ou le choix de la ralisation dune petite carte ddi ne pose
pas les mme possibilit dvolutions.
Le systme doit tre compatible avec LabVIEW. Trois solutions se prsentent :
Nous devons utiliser du matriel propos par National Instrument, au quel cas nous
sommes sr de la compatibilit entre le matriel et le logiciel
Nous utilisons les fonctions avances de LabVIEW, qui permettent notamment de
wrapper des librairies (dll). (on expliquera ce que cest plus loin).
Une autre possibilit consisterait crer un port COM virtuel associ au port USB.
Nous utiliserions une communication de type liaison srie dans ce cas.
Les notions de prix et de temps de ralisation. Certains choix dans la ralisation du
projet sont un compromis entre temps de ralisation et cot des produits acheter.
La ralisation dune carte pour commander les moteurs ne semble pas tre trs
optimis sur le point de vue temporel, au vue de mes difficults dans ce domaine.
Dun autre cot, acheter une carte National Instrument pour un si petit projet est fort
peu rentable ( les premiers prix se situent environ 900 , soit tout notre budget ). Une
solution intermdiaire devra tre trouve.
Aprs quelques recherches, il sest avr que certains constructeurs fournissaient des
carte spcialises dans la CNC ( Contrle Numrique de Commande ). Cependant, le
prix lev de ces produits nest pas compatible avec notre projet.
3. Etude des choix de conceptions
3.1. Mthode de translation
Plusieurs mthode soffrent nous pour grer mcaniquement le dplacement dun chariot.
On sparera cette tude en deux parties : le moyen de traction et le moyen de glissement. On
notera que des solutions toutes prtes existent.
Vaut-il mieux crer le systme, ou en acheter tout fait ? Question de temps et de prix ?
Je pense que ce sera mieux de faire le montage sois mme, plutt que de lacheter tout
fait. Une limite de plus est que souvent ces produits sont en triphass, je ne sais pas si
cela est problmatique, si on a un moyen de convertir la source de courant.
3.1.1. Moyen de glissement
Pour un glissement linaire, les solutions existantes se ressemblent toutes: un support
sur lequel se dplace un chariot. Apres, il existes plusieurs technologies diffrentes,
citons les roulements bille, dplacement sur galet..
Le constructeur ISEL propose beaucoup de modles diffrents, prix modr. Apres la
lecture de leur catalogue, et un appel au service commercial, je me suis arrt sur le
systme du chariot galet, appropri notre cahier des charges. Si dessous une
illustration en explique le fonctionnement :

Figure 1: Schma du chariot galet ( Source ISEL )
Ce type de chariot nous permet un dplacement fluide et adapt pour des petites
charges. Notre cahier des charges nous impose une charge moyenne utile de 1
kilogramme, mais une charge de 5 ou 6 kilogrammes ne devrait pas poser de
problme. Ce systme est donc adapt.
Faut-il mener une tude prcise, avec les donnes constructeurs ???
Le chariot serait-il horizontal ou vertical ? Ca change rien ?
Le temps de vie du chariot est-il calculer ?
La rpartition des forces est-elle importante dans notre cas ?
Quel constructeur faut-il prendre ? ISEL ? Lavantage de tout commander chez le
mme fournisseur est intressant pour la livraison des produits.
3.1.2. Moyen de traction
Il existe plusieurs type de traction possibles ; vis sans fin, cble, courroies Le site
cncloisir.com (http://cncloisirs.com/Construction/Transmissions) rpertorie les plus courants,
avec une petite description des avantages et inconvnients de chaque systme.
La solution retenue est celle de la courroie crante. En effet, plusieurs avantages :
Pas de drglement
Solide
On peut tendre la longueur que lon veut, en remplaant simplement la courroie par
une plus grande, et en tendant le rail.

Figure 2: Image d'un systme de traction roue crante (Source: CNCLoisir.com)
Ce sera donc le systme retenu.
3.2. Type de moteur
Le moteur est un lment important choisir. En effet, si ce dernier est mal dimensionn, le
projet sera un chec total.
3.2.1. Contraintes
Pour dimensionner le moteur, nous avons quelques donnes dans le cahier des charges :
Vitesse jusqu quelques centimtres par seconde ( nous fixons 10 cm / sec)
Course de 700 mm
Top de synchro tous les 1/100
me
de millimtre
Charge < 1 kg ( nous fixons une valeur maximale de 5 kg)
Pas trop bruyant
On a ici une contrainte de charge, de vitesse et de prcision. Cest ce cahier des charges qui va
nous aider trouver le bon type de moteur
3.2.2. Choix du type de moteur
La lecture de larticle des machines lectrique sur WikiPdia
1
nous renseignera
Le moteur courant continu est lun des moteurs les plus couramment utiliss.
Cependant, il prsente de nombreux dfauts, comme le fait de ne pas tre trs prcis,
ou comme le fait que l'ensemble balais/collecteur rotatif s'use rapidement. Un autre
problme limite les vitesses d'utilisation leves de ces moteurs lorsque le rotor est
bobin, c'est le phnomne de dfrettage , la force centrifuge finissant par casser les
liens assurant la tenue des ensembles de spires (le frettage). Ce type de moteur ne
convient donc pas notre projet.
Le moteur sans balais, ou moteur brushless , est un moteur synchrone, dont le rotor
est constitu d'un ou de plusieurs aimants permanents et pourvus d'origine d'un capteur
de position rotorique (capteur effet Hall, synchro-rsolver, codeur incrmental par
exemple). Vu de l'extrieur, il fonctionne en courant continu. Son appellation
Brushless vient du fait que ce type de moteur ne contient aucun balai. Sont trs
souvent utilis dans le modlisme, ou dans les robots industriels.
Le moteur linaire est essentiellement un moteur lectrique qui a t droul de
sorte qu'au lieu de produire un couple (rotation), il produise une force linaire sur sa
longueur en installant un champ lectromagntique de dplacement. Actuellement
utilise par les trains sustentation lectromagntique, cette technologie nest pas
notre porte.
Les moteurs pas pas: un rotor interne contenant des aimants permanents est dplac
par un ensemble d'lectroaimants placs dans le stator commuts par une lectronique
de puissance. L'alimentation ou non de chacun dfinit une position angulaire diffrente
(l'enchanement permet le mouvement). Les moteurs pas--pas simples ont un nombre
limit de positions, mais les moteurs pas--pas commande proportionnelle
(alimentation variable des bobines) peuvent tre extrmement prcis. On parle alors de
micro pas puisque le moteur peut s'quilibrer entre deux pas.
Cest cette qualit que nous recherchons, ce type de moteur semble tout fait adapt a
notre projet.
Notre choix sarrtera sur un moteur de type pas pas.
3.2.3. Fonctionnement du moteur
Le principe de fonctionnement est expliqu dans un article
2
de Wikipdia. Diffrents modes
existent, dans le cas dun moteur aimants permanents: pas complet, couple maximal, demi-
pas, mode unipolaire et bipolaire. Le choix de ces modes dpendra du moteur que lon
choisira, en fonction du nombre de fils disponibles, des possibilits de la carte de puissance,
du MCU, etc.
3.3. Carte de commande
La carte de commande permet de piloter le moteur, de lui donner une vitesse et un temps de
fonctionnement.

1
Lien : http://fr.wikipedia.org/wiki/Machine_%C3%A9lectrique#Machines_tournantes
2
Lien : http://fr.wikipedia.org/wiki/Moteur_pas_%C3%A0_pas#Moteur_.C3.A0_aimants_permanents
3.3.1. Mthode la main
La premire ide a t de raliser une petite carte pour contrler les commandes et la
puissance du moteur. Devant la difficult technique que cela reprsente pour moi, lide a t
vite oublie, malgr la grosse source daide disponible sur Internet.
3.3.2. Mthode NI
La seconde tape a t daller chercher du matriel chez National Instrument. Aprs quelques
difficults trouver un produit qui correspondait mes besoins, jai vite dchant. En effet,
les prix de ces produits taient trs levs, absorbant tout mon budget. De plus, linterface
propose tait une carte PCI. C'est--dire que pour utiliser la table, il faudra rajouter une carte
PCI sur le PC partir duquel on voudra commander. Pas forcment trs pratique. Lavantage
daller chez NI, cest quon a une intgration excellente entre le logiciel et le matriel. Pas
besoin de se prendre la tte avec des drivers, etc. Donc, ctait intressant en terme de temps
de dveloppement. Un autre dsavantage tait celui quil fallait tout de mme raliser la carte
de puissance pour le moteur.
3.3.3. Mthode de la carte autonome
La solution retenue consiste utiliser une carte de laboratoire avec un petit microcontrleur
dessus. Beaucoup davantages en dcoulent:
Programmation en langage C : Rapidit de dveloppement, en tout cas dans mon cas.
Pas besoin dutiliser systmatiquement un PC pour utiliser la table, grce aux boutons
prsents sur la carte.
Permets de grer la fois les signaux de commande moteur, ainsi que la liaison avec le
PC, et permets de programmer diffrents modes de fonctionnement, dans le cas dun
moteur pas pas. ( cf. modes de fonctionnement dun moteur pas pas)
Souplesse pour des volutions futures: cette solution peut-tre reprogramme pour
entre amliore, sans changer le matriel existant.
Peut grer de manire simple un systme de correction derreur.
Le prix de ce genre de carte stale entre une cinquantaine deuros jusqu' 200 pour
les modles les plus chers.
Le fabricant fournit des pilotes et garantissent une utilisation haut niveau simple, ce
qui fait conomiser du temps sur la ralisation du projet.
En revanche:
Il faudra tout de mme crer une carte de puissance, en sortie de notre carte
microcontrleur.
Il faudra crer et dvelopper une librairie sous Windows, et lutiliser sous LabVIEW,
grce des wrappers . Le systme ne fonctionnera (malheureusement) que sous
Windows.
3.4. Carte de puissance
La carte de puissance nous permettra partir des sorties de la carte de commande de fournir
lnergie ncessaire au bon fonctionnement de notre moteur.
Pour le pilotage de la bobine, nous utiliserons le principe de point en H, montage trs courant
dans ce genre dapplication.
La carte de puissance me pose beaucoup de problmes, quant sa conception.
Plusieurs schmas existent sur Internet, mais javoue galrer pas mal.
3.5. Programmes de contrle de la carte
Le programme de contrle de la carte permettra lordinateur de piloter le chariot. Le
programme qui sera excut sur le MCU devra fonctionner en parfaite symbiose avec
lordinateur, ou sans lordinateur. Dans un premier temps, nous pouvons fixer un mini cahier
des charges pour la ralisation de ce logiciel:
Dois toujours afficher la valeur exacte du positionnement, par une vrification des
indicateurs derreurs.
Le chariot doit pouvoir tre pilot partir de la carte, ou partir de lordinateur.
La vitesse et le sens de dplacement doivent tre variables.
Il faut un bouton darrt durgence.
Un bouton de mise zro ( pour fixer lorigine de laxe, sachant que notre systme de
positionnement est relatif)
3.6. Comptdeur incrmental
Le compteurcodeur incrmental permettra de vrifier que le moteur ragit correctement aux
commandes quon lui fournit. Une courroie reliera le rotor du moteur et du compteurcodeur.
Le compteurcodeur renverra des salves, en fonction de ltat de rotation du rotor du moteur.
Un compteurcodeur peut envoyer, par exemple, 1000 salves par tour, et avoir une frquence
de fonctionnement de 100 kHz maximum.
4. Etude thorique et dimensionnement
Cette tude va nous permettre de choisir les diffrents composants ainsi que leur modle afin
de raliser lassemblage final.
4.1. Dessin technique et schma du projet
4.1.1. Synoptique du schma lectrique

4.1.2. Plan global de la structure mcanique
4.1.3. Vocabulaire de chaque objet
4.2. Mthode de dplacement et de traction et choix du
moteur
Le choix du moteur se fait en fonction des diffrents lments mcaniques. En effet, le
dimensionnement du moteur va dpendre de la charge porter, de la vitesse que lon souhaite
avoir, du temps dacclration et de la taille de roue de lengrenage Expliquons un peu plus
en dtail.
4.2.1. Dimensionnement
Pour dimensionner le moteur acheter, il faut considrer plusieurs choses. En effet, le rotor
du moteur entranera une roue crante qui permettra de dplacer le chariot. Le diamtre D de
cette roue est donc important. On suppose prendre une roue dun diamtre de 4 cm.. Notons
aussi que le systme de glissement nest pas idal, et sur lequel la notion de frottement est non
ngligeable.
Pour choisir un moteur, il faut connatre la puissance et le couple du moteur acheter. Une
feuille Excel rassemble lensemble des calculs effectus, et une valeur de couple et de
puissance pour chaque cas.
Valeur des paramtres Calculs intermdiaires Rsultats
Masse Vitesse Temps Diametre roueForce Acclration Tours par secondes Energie cintique Puissance Couple
Kg m/s s m N m/s/s Tour/s J W Nm
Cas minimal 1 0,1 1 0,04 0,1 0,1 1,25663706 0,005 0,005 0,0098696
Cas large 10 0,1 1 0,04 1 0,1 1,25663706 0,05 0,05 0,09869604
Cas moyen 5 0,1 1 0,04 0,5 0,1 1,25663706 0,025 0,025 0,04934802
0 0,1 1 0,05 0 #DIV/0! 1,57079633 0 0 0
0 0,1 1 0,05 0 #DIV/0! 1,57079633 0 0 0

Tableau 1: Prsentation des valeurs de couple et de puissance en fonction de paramtres variables.
Ce tableau est-il bon? Les valeurs de couples et de puissance me semblent trs faibles,
par rapport ce que proposent les modles ddis la CNC.
4.2.2. Choix du moteur
Sur le site de lISEL, nous trouvons le modle MS 058 HT, un moteur unipolaire, qui
corresponds nos besoins. Cependant, les dates de livraisons sont trs longues. Lintrt serait
de trouver un modle similaire, chez un autre fournisseur.
4.2.2.1. Branchement

Figure 3: Mode de connexion ( Source ISEL)
Lintrt de pouvoir choisir entre 6 et 8 fil, cest que cela nous laisse une certaine libert pour
la cration de la partie commande. On pourra soit travailler sur 6 ou 8 bits, en fonction de nos
besoins/possibilits.
4.2.2.2. Rapport couple/vitesse

Figure 4: Couple en fonction de la vitesse ( Source ISEL)
Cette caractristique nous montre que le couple sera le plus important faible vitesse.
4.2.2.3. Schma

Figure 5: Schma et dimensions du moteur (Source ISEL)
Les dimensions du moteur sont raisonnables par rapport la taille du systme global. Notons
tout de mme le diamtre du rotor, dtail important pour le choix des engrenages: 6.35 mm
4.2.3. Choix de la mcanique
Le choix des pices mcanique ne relve pas tellement de mes comptences professionnelles.
Ce choix se fera de manire empirique, la seule contrainte respecter tant le diamtre de la
roue crante fixe sur le rotor du moteur.
Nous avons besoin de :
Une roue crante de diamtre D.
Deux petites roues crantes (voir figure 1).
Une courroie crante.
Un kit pour entraner le compteurcodeur ( permettant lasservissement)
Deux supports pour fixer la courroie ses extrmits.
Rotors divers et fixations mcaniques.
4.3. Carte de commande
Il existe dj des circuits intgrs pour soccuper de ce genre de chose. On peut citer les
circuits StepGenies, MC3419, SLA7026M Cependant, dans notre projet est prvu un
systme de correction derreur ( cest donc une sorte de systme asservi). A la vue de mes
comptences lectroniques, jai pens quil valait mieux utiliser une carte Microcontrleur (
C ou MCU, pour Micro Controler Unit), un domaine connu et matris. Lavantage de passer
par un MCU est que lon utilise une seule cible pour programmer le programme. De plus, si le
projet devait tre mis jour, il est plus simple de modifier un programme bien comment en
C, que de rcrer une nouvelle carte de commande.
4.3.1. Cahier de contraintes
Pour choisir mon MCU, javais un cahier de contraintes:
Un port USB: tant pour la programmation de la carte, que pour lutilisation
quotidienne.
Un port CAN: me permettra de lire ltat du compteurcodeur ( qui permettra dajuster
la commande moteur et de dtecter les erreurs). Au moins sur 4 bits, pour avoir un
petit peu de marge de manuvre.
Un port CNA: qui permettra de commander le moteur. Le port devra au minimum tre
sur 6 bits.
Un port srie: cela peut toujours servir, mais ce ne sera pas un critre dterminant dans
le choix de la carte.
Une interface homme-machine: Au moins 4 boutons, et un cran LCD. Lordinateur
deviendra alors facultatif.
Faible prix: Une carte se situant sous la barre des 200 .
Pilotes PlugAndPlay: Sous cette appellation abusive, jentends pouvoir utiliser la
communication USB sans perdre du temps crire un pilote.
Programmation en C : Certaines cartes se programment en VHDL ou en VeriLog.
4.3.2. Choix de la carte
Mon choix sest plus ou moins naturellement orient vers Freescale, tant dj habitu leur
environnement de travail grce lIUT. La plus grande difficult a t de trouver la carte qui
correspondait mes besoins, parmi leur catalogue. Aprs quelques coups de tlphone
infructueux destination de leur service commercial dlocalis en Inde, je me rsigne
contacter par mail les experts amricains , comme me la conseill le Pakistanais. En
attendant la rponse du support, je poste sur quelques forums spcialistes, qui me proposent
globalement un MCU. La rponse du support arrive le lendemain, et ils me conseillent le
mme MCU. La carte est choisie.
Il sagit du MCU Flexis JM Demonstration Board , qui propose au choix deux
Microcontrleurs:
S08JM : en 8-bits, sortie en 2001
MCF51JM: en 32-bits, ColdFire V1 sortit en 2008
Ces deux Microcontrleurs sont livrs dans le mme pack, sans surplus de prix. A ce moment,
jimagine que le programme sera crit pour le MCF51JM, bien que daprs Freescale, le
changement de microcontrleur ne ncessite pas de modification de code du programme.
Je nai malheureusement pas trouv de datasheet sur la carte de test, en revanche les
datasheets des deux microcontrleurs sont disponibles sur le site de Freescale. Cependant, une
note pour les utilisateurs explique de manire assez globale le fonctionnement de la carte.
Dispose dun acclromtre : fonction qui ne sert rien priori, mais il pourrait tre
marrant de piloter la plate-forme juste en inclinant la carte dun cot ou dun autre.
Un port USB : Mini-AB, en mode hte ou priphrique.
Port CAN : 12-bits
8 Leds
Un buzzer pizo
5 boutons
Prix de 100
Cette carte conviendra parfaitement nos besoins. Cependant, daprs le retour de certains
utilisateurs, ils ont eu quelques difficults quand lutilisation des DLL sous Windows pour
piloter la carte via un programme. Globalement, il est plus simple dutiliser la fonction de port
COM virtuel ( un stack est disponible, en version limite, sur le site du constructeur).
Est-ce un bon choix ? Je suis pas forcement convaincu, sachant que je nai pas trouv
de datasheet sur cette carte. Peut-tre quelle sera fournie avec la carte, mais je trouve
tonnant de ne pas la trouver.
4.3.3. Etude des possibilits de la carte, et programmation Hardware
La carte de dmonstration possde comme nous avons pu le voir une grande quantit de
services matriels ( LEDs, ADC, Timers, Acclromtre ). Seulement, notre
microcontrleur dispose dun certain nombre dentrs et sorties. Notre carte fournissant 2
microcontrleurs diffrents, nous ferons notre tude sur le MCF51 (64 broches) bien plus
rcente et performant que le MC9S08. Cependant, leur brochage daprs Freescale est sens
tre le mme.

Figure 6: Dtail des pattes du MC ColdFire (modle 64 pins)
4.3.3.1. Mthode
Les ports sont numrots de A J, et chaque bit est li une unit de calcul du MC ( ADC,
USB, TIMER, RGPIO ). Il faut savoir si notre carte peut supporter ce quon lui demandera.
Pour cela, il faut tudier le PCB de la carte, voir ce qui est obligatoire et ce qui ne rentre pas
dans notre cahier des charges. Toutes ces documentations sont fournies par le constructeur.
4.3.3.2. Etude
En tudiant le PCB de la carte de dmonstration, nous allons dans un premier temps faire le
tri, entre les fonctionnalits (blocs) dont lon a besoin, du C et de la carte de dmonstration.
Les ncessaires sont :
RGPIO : Nous permettra denvoyer et de recevoir des signaux logiques une vitesse
proche de la frquence de fonctionnement du C. On en aura besoin de 4, 6 ou 8 pour
contrler le moteur, et 2 ou 4 pour contrler le codeur incrmental (on verra si lon
peut se passer du ADC ( CAN en Franais) pour le codeur).
PORTA: 0-7
PORTH : 2,3,4
PORTJ : 0-4
USB : Pour la communication avec le PC, et pour lalimentation aussi.
Les boutons poussoirs : Pour contrler la machine sans ordinateur.
PORTG : 0-3
ADC : Eventuellement pour lire le codeur incrmental, si on ne peut pas le faire avec
le RGPIO. On pourra galement utiliser le potentiomtre pour rgler la vitesse.
PORTB :0-7
PORTD :0,1,3,4
On est donc sens pouvoir ne pas utiliser les autres blocs, en tout cas dans une premire
version du programme.
4.3.3.3. Compromis
Nous allons voir ce que lon devra ne pas utiliser/dbrancher sur la carte pour rpondre
notre cahier des charges.
Pour les ports associs au module RGPIO, seuls PTA4 et PTA5 sont utiliss par lUSB ( parce
quon met la carte en mode priphrique, et non pas hte). Nous disposons alors de 6 ports
RGPIO disponibles, moins les deux utiliss par lUSB.
Nous pouvons utiliser dautres ports ( pas les RGPIO) pour la lecture et lcriture des signaux
entrants et sortant. Il faut nanmoins quils soient suffisamment rapides en criture et/ou en
lecture pour lires des signaux quelques dizaines de kilohertz
4.4. Carte de puissance
La carte de puissance est la carte qui permettra de faire le lien entre le moteur et la carte de
commande Flexis JM Demonstration Board . En effet, la carte ne peut pas dlivrer la
puissance demande par le moteur, sous risque dendommager de manire dfinitive la carte.
Pour cela, nous devons crer une petite carte intermdiaire, qui soccupera de la partie
puissance.
Aprs moult recherches sur les forums et les sites, la structure en H semble la plus simple
mettre en oeuvre:
Alors, l grosse galre, je narrive rien, mme avec mes simulations sous
SwitcherCAD. Sinon, il faut que jachte une carte de puissance dj construite.
Lidal serait le fonctionnement couple maximal, en bipolaire.
http://stielec.ac-aix-marseille.fr/cours/abati/elecpas.htm
Ou alors, lalimenter en mode unipolaire directement.
4.4.1. Simulation
Simulation dun pont H pour le contrle dune des deux bobines du moteur choisi.



4.4.2. Choix des composants lectroniques
Aucune ide pour le moment
4.5. Architecture du programme
Ltude du
5. Liste du matriel
Moteur: MS 058 HT, de chez ISEL. Lien: http://www.isel-
cnc.fr/isel_fr/Electronique/Index.HTML, puis moteurs/ pas pas/Srie MS/MS 058
HT. Rfrence: 470 520. Cot: 85.62
Guidage linaire: http://www.isel-cnc.fr/isel_fr/Meca/Index.HTML, puis Guidages
linaires/Srie MLF. Cot: 102.26
Rail pour guidage linaire: 100 cm, Cot: 93.63
Petite mcanique:
Courroie crante linaire ( longueur un peu plus de 70 cm)
3 roues crantes ( Diamtre environ 4 cm et un de 3 cm)
deux mini roues crantes
Carte MCU: 100

6. Etude et fonctionnement de la carte Flexis DEMOJM
Dans ce chapitre, nous verrons tout ce qui est li la manipulation de la carte Flexis
DEMOJM.
6.1. Prsentation du paquet
Une fois le paquet ( command chez Farnell le jeudi 28 mai 2009, reu le lendemain matin)
reu, on trouve diffrentes choses dedans. Petite prsentation:
La carte DEMOJM, avec sa carte fille verte ( daughter dans les datasheets). Par dfaut,
les switchs sont configures de manire optimale. La configuration par dfaut est
indique dans les documentations DEMOJM Lab Supplment, un pour chaque C.
Une deuxime carte fille, contenant le C MCF51JM128.
Plein de documents papier ( garantie, pub, guides, trucs divers qui ne servent rien ).
Une version en PDF est disponible pour tout ce qui est documentation lie la carte.
Une clef USB contenant des exemples et des programmes supplmentaires.
Un DVD-Rom contenant toutes les applications ncessaires au dveloppement sur la
carte.
Un pack dadaptateur USB et un cble USB gris.
6.2. Fonctionnement global
Avant dinstaller quoi que ce soit, il sagit de comprendre les bases pour ne pas tre trop
perdu. Les personnes qui ont dj dvelopp des cartes C de chez Freescale ( ou Motorola)
peuvent priori passer cette partie.
Pour programmer la carte, il faut avoir un minimum de connaissances en langage C ( ou
ventuellement en assembleur), ainsi que savoir comment fonctionne de manire gnrale un
C. Les versions des logiciels que lon utilise sont des versions limites, mais tout fait
appropries ce que lon cherche faire. Par exemple, nous utiliserons Metrowerks
CodeWarrior ddie au C.
La mthode de dveloppement suit ces tapes:
1. Lecture de la documentation technique du C, ou du moins des parties intressantes (
elle fait environ 600 pages)
2. Cration du code dinitialisation des registres, puis des fonctions qui permettent
dutiliser diffrentes capacits du C ( timers, PWM, Port Srie, USB, ADC)
3. Paramtrage de la carte: vrifier la position des jumpers, que le C est le bon, que tout
est bien connect au PC.
4. Ecrire le programme dans la mmoire du C et dbugger/tester via HiWave.
Nous allons dtailler toutes ces tapes pour une prise en main facile de la carte et de
lutilisation des outils ddis.
6.3. Prparation
Il faut installer diffrents programmes et pilotes pour pouvoir utiliser la carte.
6.3.1. Installation de CodeWarrior
CodeWarrior sera notre environnement de dveloppement principal. Il est fourni par
Freescale. Nous allons installer tout ce quil faut pour dvelopper sous les 2 C. Les liens vers
les diffrents logiciels tlcharger sont disponibles ci-dessous.
Vous avez 2 possibilits ce stade.
6.3.1.1. Mthode avec les programmes les plus rcents
Cest la mthode conseille, sachant que la version 6.1 nest plus supporte par le
constructeur ( ou en tout cas plus en tlchargement sur leur site).
Utiliser cette mthode est sens fonctionner du premier coup. Vous tes sr davoir les
derniers trucs tip-top; enfin, il ny a pas de changements trs importants, mais a peut tre
intressant de lutiliser pour tester des exemples qui ont t dveloppement sous la version
6.2.
1. Installer CW 6.2 for C
2. Il ny a priori pas besoin dinstaller les Services Pack JM60 et JM128, car ils sont dj
inclus dans cette version.
A partir de ce stade, vous pouvez programmer votre carte. Le reste nest que programmes
supplmentaires, et facultatifs. Ils proposent nanmoins quelques exemples. Nous en
reparlerons plus tard. Si vous dbutez, installez-les.
1. Installer le Stack USB-Lite by CMX pour MCF51JM128 et pour MC9S08JM60.
3. Installer PEMICRO Embedded Multilink Toolkit.
A ce stade tous les logiciels sont installs pour dvelopper votre premier programme.
6.3.1.2. Mthode ancienne
Utiliser la version 6.1, fournie sur le DVD, qui est dpasse ce jour. Mais elle lavantage
de fonctionner tous les coups, et de ne pas poser de problmes de connections avec la carte.
Il faudra nanmoins mettre jour certains de ses composants. Si vous choisissez ce cas, vous
pouvez suivre la lettre le Quick Start Guide, en installant les diffrents programmes du
DVD. Dans lordre:
2. Installer CW 6.1 for C
3. Installer les JM128 Service Pack et JM60 Service Pack ( pour pouvoir utiliser les deux
cartes filles).
A partir de ce stade, vous pouvez programmer votre carte. Le reste nest que programmes
supplmentaires, et facultatifs. Ils proposent nanmoins quelques exemples. Nous en
reparlerons plus tard. Si vous dbutez, installez-les.
4. Installer le Stack USB-Lite by CMX pour MCF51JM128 et pour MC9S08JM60.
5. Installer PEMICRO Embedded Multilink Toolkit.
Pour faire bien, il faut mettre jour Processor-Expert, surtout si vous utilisez le
MCF51JM128.
6. Mettre jour Processor Expert vers une version 3.03 pour CW 6.1, disponible sur le
site de Freescale.
A ce stade tous les logiciels sont installs pour dvelopper votre premier programme.

6.3.1.3. Notes sur les versions
Freescale propose plusieurs versions de CodeWarrior, notamment des versions 7 ou 8. mais
notez que vous ne pourrez pas les utiliser avec la carte DEMOJM, car ce ne sont pas des
versions adaptes pour le dveloppement sous des C. donc, restez dans les versions 6.x.
Freescale propose une version spciale et une version valuation . Cest la premire
quil faut choisir. Elle est limite en quantit de fichiers par projet (32) et en taille de code (64
ko), mais cest amplement trs suffisant pour notre application. La version valuation permet
davoir la version complte du programme pendant 30 jours, mais que pendant 30 jours.
6.3.1.4. Liens
Page de prsentation de la carte DEMOJM, avec tout plein dinfos:
https://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=DEMOJM
Version 6.1 de CW pour C :
(nest plus disponible est ligne)
Version 6.2 de CW pour C :
http://www.freescale.com/lgfiles/devsuites/HC08/CW_MCU_V6_2_SE_11262008.ex
e
Mise jour de Processor Expert 3.03 pour CW 6.1:
http://www.freescale.com/webapp/sps/download/license.jsp?colCode=MCU_V61_PE
_3_03&location=null&fpsp=1&WT_TYPE=Updates%20&%20Patches&WT_VEND
OR=FREESCALE&WT_FILE_FORMAT=exe&WT_ASSET=Downloads&Parent_n
odeId=1195151071874718530736&Parent_pageType=product
JM60 Service Pack:
http://www.freescale.com/webapp/sps/download/license.jsp?colCode=MCU_V6-
1_JM60_SP&location=null&fpsp=1&WT_TYPE=Updates%20&%20Patches&WT_V
ENDOR=FREESCALE&WT_FILE_FORMAT=exe&WT_ASSET=Downloads&Pare
nt_nodeId=1195151071874718530736&Parent_pageType=product
JM128 Service Pack:
https://www.freescale.com/webapp/Download?colCode=MCU_V6-
1_JM128_SP&nodeId=0127260061788213CF333D&location=overview&WT_TYPE
=Updates%20&%20Patches&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=
exe&WT_ASSET=Downloads&Parent_nodeId=1195596107138714744333&Parent_
pageType=product&Parent_nodeId=1195596107138714744333&Parent_pageType=pr
oduct
Notez que les liens ne seront srement plus valide, et que les logiciels existeront dans des
versions plus rcentes. Je vous conseille quand mme dutiliser le moteur de recherche le
moteur de recherche de tlchargement avec les noms ci-dessus.
6.3.2. Prparation de la carte
Prparer la carte est un bien grand mot. Il suffit juste de vrifier les jumpers, le branchement
des cbles et la cible.
6.3.2.1. Vrifications des jumpers
La vrification du placement des jumpers est importante pour utiliser toutes les fonctions de la
carte. De base, on peut quasiment utiliser toutes les fonctions de la carte ( lacclromtre, le
buzzer, les leds, les boutons poussoirs, le potard)
Pour obtenir la configuration en sortie dusine, vous pouvez vous rfrer aux guides
DEMOJM Lab Supplement, dans la partie Default Jumpers Settings .
Pour une configuration plus fine, vous pouvez vous rfrer au
pour obtenir la configuration en sortie dusine, vous pouvez vous rfrer aux guides
DEMOJM Lab Supplement, dans la partie Default Jumpers Settings .
Pour une configuration plus fine, vous pouvez vous rfrer au User Guide de la Carte, qui
montre la disposition des diffrents jumpers, en fonction des lments que lon veut utiliser.
6.3.2.2. Branchement des cbles
Rien de bien compliqu. Le cble USB gris est le seul ncessaire dans labsolu. Il fournit
lalimentation lectrique de la carte, ainsi que linterface de dbogage de la carte ( appel
P&E Embedded MultiLink Toolkit. Cest cette interface qui va permettre de programmer la
carte.
Si vous souhaitez galement utiliser les fonctions dUSB, vous devez utiliser le second port
mini-USB. Noubliez pas dactiver le switch on/off, qui tablira ou non la connexion USB
avec le PC.
6.3.2.3. Vrification de la cible
Il sagit tout simplement de vrifier que la carte daughter est la bonne est quelle est bien
place.
Vrifiez que vous navez pas interverti le MCF51JM120 et le MC09S08JM60
Vrifiez que le dtrompeur est bien plac du bon ct ( en haut droite)
Vrifiez que les pattes sont bien toutes en contact avec les broches (enfin, juste faire
attention a)
Notes:
Pas la peine denfoncer fond la carte fille, pre, cest pnible retirer, surtout si vous
la changez souvent.
Prenez un petit tournevis pour soulever dlicatement la carte. Attention au coup de
tournevis qui drape et qui dtruit la carte ( = fin du monde, PL vous tue ! )
6.3.2.4. Test dun programme
De base, on vous fournit des programmes et des exemples. Vous pouvez tester celui fournit
par le Stack USB de CMX. Celui qui fonctionne est celui du HID, dans le dossier:
CMXUSB_LITE\usb-peripheral\projects\CodeWarrior-6.x\mcf51xx\hid-demo
Cette dmo fonctionne, et aura pour consquence de faire votre souris de gauche droite, et
de droite gauche, et de gauche droite, et de droite gauche, et de gauche droite, et de
droite gauche, et
Notez que cest la seule dmonstration que jai russi faire fonctionner. Les autres, on ne
sait pas trop quoi elles servent, sachant que leur fonctionnement et leur but ne sont mme
pas documents.
Sachez aussi que les applications fournies par le P&E Micro nont jamais fonctionn avec moi
( part Terminal Utility, et encore, il fonctionnait mal). Aprs, rien ne vous empche de les
tester.
6.3.2.5. Placement dune sonde
Si durant votre dveloppement, vous tes amen tudier un signal (du style PWM) que vous
mettez en sorties, vous pouvez lanalyser grce une sonde et un oscilloscope. La petite
difficult consiste placer la masse. Daprs le schma de la carte, diffrents pins de jumpers
sont relis la masse.
Vous branchez alors la masse de votre sonde une pin de la masse. ( ou autre bricolage
exotique avec des jumpers)
6.3.2.6. Documentations disponibles
Plusieurs documentations sont disponibles. Face leur trs grande importance, ce chapitre
montre celle quil est indispensable de connatre ou du moins de consulter :
Documentation des C MCF51JM128 et MC09S08JM60: lune ou lautre, permets de
savoir comment paramtrer tout les registres, avec une explication dtaille de chaque
paramtre. Attention, elles sont imposantes!
Documentations de la carte DEMOJM. Est disponible le User Guide ( avec la
configuration des jumpers, linstallation des ventuels drivers), ainsi que le schma
de la carte ( important, pour connatre les ports associs aux boutons, au buzzer etc.)
6.4. Prise en main de lIDE
6.4.1. Premiers pas
Pour dvelopper un programme sur la carte, on aura besoin de Freescale Metrowerks Code
Warrior. Vous pouvez le lancer via le menu dmarrer.
Un menu daccueil apparat. Soit, vous choisissez douvrir un exemple, douvrir un projet (
ceux du stack USB de CMX, par exemple), ou de crer un nouveau projet.
6.4.2. Cration dun projet
Choisissez la cible. Vous devez aller dans Flexis/JM Family/MCF51JM128 ou dans
HCS08/ HCS08JM family/ MC9S08JM60. Choisir comme connexion P&E
Multilink/Cyclone Pro. Il vaut mieux choisir le ColdFire par rapport au S08JM, car il
est plus performant et plus rcent. Mais si vous voulez dvelopper sur les deux plates-
formes, choisissez la cible MC9S08, une passerelle est possible dans ce sens vers le
MCF51.
Choisissez un rpertoire de travail, ainsi quun nom de projet. Essayez dtre le plus
claire possible, apres, a devient vite le fouillis. Comme langage, vous choisissez C,
sachant que le C++ nest pas disponible dans cette version, et que choisir lassembleur
est une tentative de suicide. Suivant.
Si vous avez des fichiers ajouter dans votre projet, cest le moment. A priori, non. De
toute faon, vous pouvez toujours le faire plus tard.
Ensuite, vous avez le choix, pour vous aider dmarrer. Notez que ce choix nest pas
dfinitif, vous pouvez passer de DI PE plus tard:
o None : aucun code ne sera gnr, vous pouvez essayer, seulement si vous tes
un puriste, et que vous tes extrmement laise avec le C ( moins que vous
ayez dj crit vos propres librairies)
o Device Initialization: La mthode la plus simple pour initialiser votre C est
bien pour une premire prise en main.
o Processor Expert: Est le nec plus ultra de la configuration des registres et de la
gnration de code. Nest pas forcement facile prendre en main, mais une
fois maitris, extrmement pratique et rapide!
Choisissez vos paramtres de compilation, et cliquez sur terminer.
Vous avez cr un nouveau projet. Sachez que tout ce que vous avez dfini peut tre chang
aprs, avec plus ou moins de casse.
6.4.3. Linterface de lIDE
Nous allons prsenter de manire extrmement rapide linterface.

Cest rapide, je vous avais prvenue.
6.4.4. Processor Expert et Device Initialization
Note de version : Pour utiliser PE ou DI avec le ColdFire, vous devez au minimum avoir la
version 3.03 de ces logiciels. Autrement, vous ne pourrez pas utiliser ce logiciel fort pratique.
Processor Expert, et Device Initialisation sont deux logiciels dUnis permettant de configurer
tous les registres du C, via une interface graphique simplifie. Ils ont la mme base, seule
leur interface graphique diverge.
Ces deux logiciels fonctionnent sur le principe de beans, c'est--dire de petits fichiers
modulables de description des registres. Il existe donc autant de beans que de C existant
chez Freescale. Il existe un bean aussi pour chaque fonction du C. Lidal est davoir tous les
beans de son C, mais ils ne sont pas tous fournis et/ou gratuits.
Vous pourrez facilement paramtrer chaque registre en chargeant ces beans. Lavantage est
que PE ou DI vous affiche les erreurs, ou les incohrences, vous gnre du code tout seul,
gre les vnements, les interruptions, les fonctions Et cest trs simple, une fois compris le
principe.
Le seul dsavantage est que du code en assembleur est gnr
6.4.5. Votre Code
Une fois aprs stre amus avec PE ou DI, il est temps dcrire votre code. Sachez que tant
que PE ou DI sera utilis, vous ne pourrez pas crire ou modifier sur le code gnr ( tout ce
que vous crirez sera perdu). Si vous souhaitez retrouver votre libert, dsactiver PE/DI.
PE/DI gnre des fichiers dinformation au format texte, qui donne notamment une
explication de chaque fonction gnre, ainsi que les en-ttes des fonctions. Bien sr, rien ne
vous interdit de crer vous mme vos fonctions, et de paramtrer la main les registres
mais cest bien plus long.
6.4.6. Changer de cible
Vous pouvez changer de cible, c'est--dire passer du MC9S08JM60 au MCF51JM128 sans
trop de casse ( du moins, cest prvu pour). Une page expliquant la mthode est disponible
dans laide de CodeWarrior. Je vous invite y jeter un coup dil.
6.4.7. Test du code
6.4.7.1. Boutons importants

1. Choix de la cible
2. Paramtres du projet
3. Mettre jour les fichiers modifis lextrieur de lIDE
4. Compile les fichiers sources, et affiche les warnings et les erreurs.
5. Compile les fichiers sources, affiche les warnings et les erreurs. Sil ny a pas
derreurs, il lance HiWave, pour placer le programme sur la cible.
6.4.7.2. Mthode
Une fois que votre portion de code a t crite, vous devez mettre jour les dernires
modifications des fichiers ( trs utile dans le cas ou vous utilisez un diteur de texte externe).
Ensuite, vous lancez la compilation, et vrifiez quil ny a pas derreur de syntaxe. Tant que
vous avez des warnings, vous pourrez dbugger. Si vous avez des erreurs, il faudra
absolument les rsoudre avant. Vous pouvez rgler la sensibilit du compilateur dans les
options du projet.
Si tout sest bien droul, vous pouvez placer votre programme sur la cible, et utiliser le
dbugger HiWave.
6.5. Prise en main de HiWave
HiWave soccupe de toute la partie mise en place du programme sur la cible, ainsi que la
partie dbogage.
6.5.1. Dmarrage
Lorsque vous cliquez sur le bouton debug de CodeWarrior, HiWave va se lancer
automatiquement. Il va vous demander des paramtres de communication avec la carte.
Choisissez les paramtres, sils ne sont pas valides. Normalement, vous avez juste besoin de
faire connect , et a marche. Il va remplacer le programme prcdemment mis sur le C. Si
vous avez des problmes, et que HiWave narrive pas se connecter, vrifiez les points
suivants:
Vrifier que la daughter card est bien en contact avec toutes les pins
Vrifier que le cble USB est bien branch (cest le plus important)
Vrifiez que vous avez bien choisi le bon C
Vrifiez que vous avez bien choisi P&E Multilink/Cyclone Pro. Sinon, a ne
marchera pas.
Vrifiez que le switch est bien sr ON
Le cble noir nest pas obligatoire pour mettre le programme sur le C.
Cliquez ensuite sur la flche verte pour lancer le programme.
6.5.2. Utilisation
HiWave est similaire tout debugger, vous pouvez avancer en mode pas pas, en suivant le
parcours dans le code source. Pour plus dinformations, vous pouvez vous reporter laide de
HiWave.
La carte est indpendante de HiWave, cest dire que si vous avez lanc le programme sur le
C, et que vous fermez HiWave, le programme continuera de tourner de manire autonome.

Vous aimerez peut-être aussi