Académique Documents
Professionnel Documents
Culture Documents
Traceur de courbes
de transistors sur USB
La CAO gratuite Décodeur stéréo Arduino
outils de conception pour les microcontrôleurs
en ligne la mini radio FM pour les nuls
(B) 7,10 € • (CH) 12,20 FS • CAN 8,95 $CAN • DOM surface 7,50 € • DOM avion 9,45 €
Réu/A 9,40 € • Cal/S 850 CFP • Cal/A 1450 CFP • And 6,50 €
« … entre Visual Basic
à la fac et le C avec Elektor,
vous hésiteriez, vous ?
Moi pas ! »
Fabrice T., 20 ans, BAC+2
Avantages
aux abonnés
étudiants :
Prenez de l’avance,
prenez un abonnement !
www.elektor.fr/abo · Tél. 01 49 19 26 19
electronics worldwide
Êtes-vous écolo ?
« Ah oui ! » me dites vous. « Bien
sûr ! » Vous faites attention à votre
consommation d’énergie, vous
éteignez les lumières dans les piè-
Traceur de courbe
pour transistors, sur U
ces inoccupées, vous ne gaspillez
pas d’eau, vous roulez moins vite
et vous réalisez des montages à
faible consommation avec des
composants de récupération. Et pas
seulement parce que c’est la crise
et que les banques s’effondrent
autour de nous, mais aussi parce
que vous trouvez que c’est bien de
64
faire attention à l’environnement. Ce montage pratique permet de tracer les courbes I/U
Du coup, vous avez faites vos
caractéristiques de transistors NPN/PNP, N/P-JFETS
courses de noël par Internet et vous
achetez vos composants, livres et N/P-MOSFET. Au cœur du montage se trouve un
et DVD sur eBay, au lieu de vous microcontrôleur R8C/13, qui envoie les données me-
déplacer en voiture. surées par une liaison USB vers une application Win-
Mais saviez-vous que déjà en
2005 on estimait la consommation dows écrite en Visual Basic.
en électricité de tous les serveurs
Internet du monde à 180 TWh
(térawattheure), soit 1,2% de la
consommation mondiale d’électri-
cité ? Quelqu’un chez Sun a estimé
que chaque transaction eBay
produise 55 gr de CO2 et chaque
recherche sur Google en produise
6,8 gr. C’était il y a quatre ans et Les microcontrôleurs pour les nuls
Internet a continué à se dévelop- Il paraît qu’Arduino est un prénom italien, mais quand on fait une recherche sur
per ; nous pouvons donc supposer Internet on trouve surtout des dizaines de références touchant à l’électronique
que ces chiffres ont augmenté. et la programmation. En plus, ces références ont souvent un rapport avec l’art.
Alors, la prochaine fois que vous
L’électronique et de l’art, voilà un sujet intéressant et qui mérite d’être creusé. Alors,
envoyez par courriel ce fichier
hyper rigolo à tous vos contacts, c’est quoi exactement, Arduino ?
pensez à la quantité de CO2 que
cela produise. Et aussi quand vous
faites vos courses sur eBay et vous
faites venir de Chine un sachet de 28 Arduino
résistances CMS. Êtes-vous vrai-
ment écolo ?
Et que fait Elektor ? Eh bien, à part
vous en parler, pas grand-chose.
C’est vrai, il y a une astuce dans ce
numéro pour faire des oscillateurs
à quartz faible consommation,
mais c’est tout, nous brûlons les
calories comme d’habitude. Alors,
achetez donc vos composants dont
vous aurez besoin pour réaliser les
montages de ce numéro chez votre
revendeur du coin, c’est mieux
pour l’environnement. En plus, vous
faites vivre l’économie locale, ce
qui aidera à combattre la crise, et
vous pouvez raconter vos blagues
aux autres clients : vos nouveaux
ami(e)s.
Source : blogs.sun.com/rolfk/entry/
your_co2_footprint_when_using
Clemens Valens
Rédacteur en Chef
SOMMAIRE
32ième année
Février 2009
N° 368
es I/U
pratique
22 ATM18 - Triangulation optique
28 Arduino
Les microcontrôleurs pour les nuls
English
German
Dutch
French
Chinese
Portugal
Italian
Spanish
Swedish
Finnish
32ème année, n°368 février 2009 Elektor désire être une source d’inspiration pour ses lecteurs, les intéresser à Rédacteur en chef international : Wisse Hettinga
ISSN 0181-7450 Dépôt légal : janvier 2009 CPPAP n° en cours l’électronique, par la description de projets à faire soi-même, et les tenir au courant
Rédacteur en chef France : Clemens Valens (redaction@elektor.fr)
des développements en électronique et en micro-informatique.
ELEKTOR / PUBLITRONIC SARL
c/o Regus Roissy CDG - 1, rue de la Haye - BP 12910 Maquette et graphisme : Giel Dols, Mart Schroijen
95731 Roissy CDG Cedex - France Elektor paraît 11 fois, le numéro de juillet/août est un numéro double.
Tél. : (+33) 01.49.19.26.19 - Fax : (+33) 01.49.19.22.37 Il existe, sous le nom Elektor, des éditions anglaises, allemande, espagnole, Rédaction internationale : Harry Baggen, Thijs Beckers, Jan Buiting,
Internet : www.elektor.fr française et néerlandaise. Elektor est vendu dans plus de 50 pays. Ernst Krempelsauer, Jens Nickel
Numéro de compte : 002-007-97-026 Secrétariat de rédaction : Hedwig Hennekens
IBAN : FR76 1873 9000 0100 2007 9702 603 Conformément à la loi “Informatique et Liberté”, vous bénéficiez d’un droit d’accès
BIC : ABNAFRPP et de rectification des données vous concernant. Sauf refus écrit de votre part Rédaction technique : Antoine Authier (chef labo), Ton Giesberts,
Monnaie : Euro – Branche ABN AMRO : Paris, France auprès du service abonnement, ces informations pourront être utilisées par des tiers. Luc Lemmens, Daniel Rodrigues, Jan Visser, Christian Vossen
6 elektor - 2/2009
FOUR À REFUSION CMS e-CHOPPE
Spécifications :
Surface de platine effective : 28,0 × 28,0 cm
Consommation max. : 1650 W
Alimentation : 230 VAC
Dimensions : 41,8 × 37,2 × 25,0 cm
Poids net : 16,7 kg
Prix : 1429 U*
Référence : 080663-91
CHOPPE
www.elektor.fr/four_cms
Directeur/éditeur : Paul Snakkers DROITS D’AUTEUR : © 2009 Elektor International Media B.V. de la part de la Société éditrice. La Société éditrice n’est pas tenue de renvoyer des articles
Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce soit, qui lui parviennent sans demande de sa part et qu’elle n’accepte pas pour publication. Si
Responsable du marketing : Carlo van Nistelrooy des pages publiées dans la présente publication, faite sans l’autorisation de l’éditeur est la Société éditrice accepte pour publication un article qui lui est envoyé, elle est en droit de
illicite et constitue une contrefaçon. Seules sont autorisées, d’une part, les reproductions l’amender et/ou de le faire amender à ses frais; la Société éditrice est de même en droit de
Administration des ventes : (ventes@elektor.fr) traduire et/ou de faire traduire un article et de l’utiliser pour ses autres éditions et activités,
strictement réservées à l’usage privé du copiste et non destinées à une utilisation collective,
et, d’autre part, les analyses et courtes citations justifiées par le caractère scientifique ou contre la rémunération en usage chez elle.
d’information de l’oeuvre dans laquelle elles sont incorporées (Loi du 11 mars 1957 -art.
40 et 41 et Code Pénal art. 425). Elektor est édité par Elektor International Media B.V.
Certains circuits, dispositifs, composants, etc. décrits dans cette revue peuvent bénéficier Siège social : Allee 1 - 6141 AV Limbricht, Pays-Bas
Publicité : SL Régie - Sophie Lallonder de droits propres aux brevets; la Société éditrice n’accepte aucune responsabilité du fait de
12, allée des Crételles - 37300 Joué-Lès-Tours l’absence de mention à ce sujet. Conformément à l’art. 30 de la Loi sur les Brevets, les Imprimé aux Pays-Bas par Senefelder Misset – Doetinchem
Tél : 02.47.38.24.60 - Fax : 02.90.80.12.22 circuits et schémas publiés dans Elektor ne peuvent être réalisés que dans des buts privés ou
E-mail : sophie.lallonder@wanadoo.fr scientifiques et non commerciaux. L’utilisation des schémas n’implique aucune responsabilité Distribué en France par M.L.P. et en Belgique par A.M.P.
2/2009 - elektor 7
INFO & MARCHÉ COURRIER
8 elektor - 2/2009
Vou
s av
Vou ez d
s vo Vo u es q
ulez s c h er ue s t
Alle p c h ez io n s
z fa a r ta g de l ?
ire u er u
n
’aid
e
n to e so ?
ur s l u t io
3. Tapez « Set LANG=en » suivi bien prolongées. permet
u r www n o u un
e .e l e k astu
sûr par Entrée Sur Internet on trouve plusieurs de se passer com-
tor.f ce ?
4. Tapez « can_view », suivi égale- sites avec des descriptions plètement d’un outil externe r/for
ment par Entrée détaillées des commandes AT (ICD2, ICD3 ou REAL-ICE). u m!
Cette procédure a été validée sous (y compris les commandes Super boulot de la commu- Aller donc
Windows Vista. Siemens), par exemple, www. nauté des PIC ! vérifier si la lumière
nobbi.com. J’y ai trouvé PDU Jean Baptiste et RISC de la cuisine est bien éteinte
Spy, un petit outil qui rend le (vous pouvez le faire à ma
codage et le décodage des Effectivement, ça marche ! place si besoin) ou s’il gèle
Télécommande par textos très facile. Les bran- Toute la discussion se trouve ici : chez moi. Rendez-vous sur :
téléphone portable (n°365) chements des connecteurs de www.elektor.fr/forum/forum/realisa- http://81.56.186.109:59999
Depuis quelques temps Nokia et Siemens y sont aussi tions-publiees-par-elektor/explorer- nom d’utilisateur : user
déjà je pilote mon système décrits. 16-et-usb.366807.lynkx mot de passe : 1234567
d’alarme domestique à dis- Maik BUSSE Soyez indulgents si les temps
Système d’exploita- de réponse ne sont pas à la
hauteur d’un site convention-
tion temps réel pour nel, ce montage est princi-
Explorer 16 (n°343) palement prévu pour dialo-
FreeRtos est un système d’ex- guer avec un seul interlocu-
ploitation temps réel bien teur. Il est possible que vous
adapté pour les microcontrô- soyez nombreux sur la ligne
leurs. C’est un système libre et comme chaque liaison
fournit avec les codes sources. génère une interrogation cha-
Il prend en compte les PIC18, que seconde imaginez la
PIC24 et dsPIC, ainsi que charge. En outre il cohabite
d’autres familles de microcon- sur le réseau local avec quel-
trôleurs. Pour ceux qui veulent ques autres ordinateurs dont
s’aventurer : un serveur WEB (http://www.
tance avec un téléphone por- www.freertos.org ymasquelier.net) qui disposent
table (Siemens S35) et un
PIC16F84. L’alarme est activé
Les Pépites Il est fournit avec un code
exemple PIC24 et dsPIC fonc-
de priorités supérieures à mes
yeux. Je remercie déjà ceux
et désactivé par des appels du Forum tionnant avec l’Explorer 16. qui l’ont visité.
téléphoniques. Pour m’aver- Bon développement. Yves MASQUELIER
tir des événements, le système meastro2
m’envoie un texto (ce qui Programmer
coûte de l’argent) ou il laisse Et ça marche aussi !
sonner le téléphone pendant
l’Explorer 16 sans Toute la discussion se trouve ici :
15 secondes (gratuit). outil externe (n°343) www.elektor.fr/forum/forum/reali-
Au début j’utilisais un câble Ca y est, suivez le lien : sations-publiees-par-elektor/rtos-
de données de téléphone por- forum.microchip.com/tm.asp pic24-dspic.163213.lynkx
table et un MAX232, mais x?m=338210&mpage=1&k
je me disais qu’il devrait il ey=?? DigiButler en ligne
exister des solutions plus sim- ou fait un recherche sur
ples. Le téléphone Siemens rafalw dans forum.micro-
(n°358 & n°359)
fonctionne avec des signaux chip.com pour trouver le J’ai branché mon DigiButler
d’environ 3 V, suffisants pour progiciel qui transforme le sur Internet, permettant ainsi Mais Yves, comment se fait-il qu’il
être reconnu comme niveau PIC18F4550 de la carte les lecteurs d’Elektor de voir n’y ait jamais de la vaisselle chez
haut par un microcontrôleur. Explorer 16 en véritable que cela marche vraiment. La vous ?
J’utilise une diode zener pour PICKIT 2. N’oubliez pas de carte a été programmée pour Le DigiButler a son propre forum :
limiter à 3 V le signal 5 V du télécharger également le logi- lire plusieurs températures, http://www.elektor.fr/forum/forum/
contrôleur. La communication ciel PICKIT2V2 disponible celle du processeur ColdFire y realisations-publiees-par-elektor/di-
entre le mobile et le micro- dans la même discussion. compris, et pour surveiller la gibutler-(04-05-2008)-n-o-u-v-e-a-
contrôleur marche ainsi par- La version HEX à charger est : lumière de ma cuisine. u-!.689499.lynkx
faitement, sans MAX232 ou PK2_Explorer16_V0210007-
sans câble de données (qui BL.hex
contient de toute façon un Ensuite lancer Pickit2V2.exe
MAX232). et charger l’operating sys-
Règles du jeu
Je charge également la bat- tem du Pickit2. Une fois la • Publication de la correspondance de lecteurs à la discrétion du rédacteur en chef • Les points
terie du téléphone avec une mise à jour faite, il est pos- de vue et opinions exprimées par les correspondants ne sont pas nécessairement ceux du rédacteur en chef
alimentation de 7 V branchée sible de connecter la carte ou de l’éditeur. • La correspondance pourra, le cas échéant, être traduite ou éditée en lon-
sur la broche 3 du connec- Explorer 16 directement au gueur, clarté et style. • En cas de réponse à COURRIER, veuillez s.v.p. indiquer le numéro
teur du téléphone (connec- PC par le câble USB et d’utili- concerné. • Veuillez s.v.p. adresser votre correspondance : redaction@elektor.fr ou
teur Lumberg). Ainsi le sys- ser le menu Pickit2 Debugger Elektor – le rédacteur en chef c/o Regus Roissy CDG
tème fonctionne correctement, à partir de MPLAB ou l’appli- 1, rue de la Haye BP 12910 95731 Roissy CDG Cedex France
même pendant mes absences cation externe Pickit2V2. Cela
2/2009 - elektor 9
INFO & MARCHÉ INFO & ACTUALITÉS
10 elektor - 2/2009
Quartus II 8.1 disponible
Altera a dévoilé la version 8.1 nant de la même façon et prise en en charge les transceivers à nit un support initial aux ASIC
de son logiciel de développement charge par l’architecture FPGA. 8,5 Gbps, le LVDS 1,6 Gbps et HardCopy IV.
FPGA Quartus II. Cette nouvelle La version 8.1 apporte des bro- la mémoire DDR à 400 MHz. La nouvelle version de Quartus II
version permet toujours d’avoir prend désormais en charge les
des temps de compilation divisés systèmes d’exploitation Red Hat
par trois pour les FPGA haut de Enterprise Linux 5 et CentOS 4/5
gamme par rapport aux plus pro- (32 bits/64 bits). L’interface de
ches concurrents, selon des tests simulation externe a été amélio-
internes. Les fonctions de produc- rée. Un nouveau conseiller de
tivité ont été améliorées permet- broches aide pendant la création
tant aux équipes de conception de broches et d’interfaces avec
d’accélérer la clôture des délais des cartes du marché. Il y a bien
et de puissance, d’abaisser les sûr des nouveaux cœurs IP et mé-
coûts de R&D et de raccourcir le gafonctions tel que le DSP, de la
délai de mise sur le marché. mémoire et des protocoles. Le
Le planificateur de partition du moteur de synthèse physique a
projet, présenté dans la version été optimisé permettant un gain
précédente de Quartus II, four- de 20% en moyenne du timing
nit désormais un partitionnement critique par rapport à la version
automatisé, permettant à davan- précédente.
tage de concepteurs de s’appuyer La version 8.1 de Quartus II
sur les bénéfices en productivité Subscription Edition et la version
de la compilation incrémentale. web gratuite sont disponibles dès
Avec Quartus II, il n’est plus né- maintenant par téléchargement
cessaire maintenant de modifier sur www.altera.com/download.
manuellement les gated clocks, en ches et une nouvelle vitesse du Pour les concepteurs souhaitant (080855-12)
convertissant automatiquement les Stratix IV dans un boîtier éco- mettre en œuvre un ASIC Hard- www.altera.com/quartus2
gated clocks en logique fonction- nomique. Ce logiciel prend Copy, le logiciel Quartus II four-
2/2009 - elektor 11
INFO & MARCHÉ INFO & ACTUALITÉS
site à la fois une résolution de en filtres de large bande de se directement vers la sortie. Les
données sans compromis et une base et autres circuits de condi- concepteurs peuvent alors dé-
large bande passante. tionnement du signal. charger le composant des fonc-
L’AD926x utilise les principes du Les composants AD9261 et tions de traitement du signal en
sur-échantillonnage, de la mise AD9262 intègrent un multipli- les envoyant vers un FPGA ou
en forme du bruit et des carac- cateur d’horloge, des filtres de un autre processeur. La consom-
téristiques d’entrée particulières décimation et des convertisseurs mation d’énergie des nouveaux
à son architecture pour atteindre de taux d’échantillonnage. Ce convertisseurs CTSD va de
de hauts niveaux de performan- haut niveau d’intégration permet 150 mW par canal à 350 mW
ces avec une plus grande faci- d’obtenir des débits modulables par canal.
lité d’usage. La structure d’en- de sortie de données compris
trée résistive calme diminue les entre 30 MSPS et 160 MSPS. La famille de CAN CTSD
besoins de l’amplificateur pilote L’AD9267 qui propose unique- AD926x est déjà échantillonnée.
re est idéale pour les infrastructu- alors que le filtre en temps conti- ment le coeur de modulateur hau- Elle sera disponible en volumes
res sans fil, les équipements mé- nu sur-échantillonné d’ordre su- tes performances de 640 MSPS de production en avril 2009.
dicaux et tout autre équipement périeur atténue les signaux hors et le multiplicateur d’horloge, (081045-1)
hautes performances qui néces- bande. Cela réduit les besoins envoie les données haute vites- www.analog.com
12 elektor - 2/2009
sente une capacité de 1000 pF. Le LTC4444MP-5 est configuré qui peut atteindre 114 V au des- Le LTC4444MP-5 est présenté en
Une protection est intégrée pour pour deux entrées d’alimenta- sus de la masse. Bien plus, ce boîtier MSOP-8, à performances
réduire le temps mort afin d’em- tions indépendantes. Le signal composant pilote les grilles des thermiques renforcées.
pêcher les deux MOSFET, supé- logique d’entrée côté haut est deux MOSFET, supérieur et infé- (081045-4)
rieur et inférieur, d’être conduc- amené au niveau de l’alimenta- rieur, sur une gamme de tensions www.linear.com
teurs simultanément. tion de tirage de façon interne, de 4,5 V à 13,5 V.
2/2009 - elektor 13
PUBLICITE
VR
Glcd_Write_Text(“PB1 OFF”,74,4,0);
for A
}
NOTE:
Les codes source pour microcontrôleurs AVR de cet exemple écrit en C, BASIC et }
Delay_ms(100);
PASCAL ainsi que tous les programmes écrits pour les microcontrôleurs PIC® et }
dsPIC® sont disponibles sur notre site Internet www.mikroe.com/en/article/ }
Atmel®, son logo et leurs combinaisons, AVR® et autres sont des marques déposées par Atmel Corporation ou ses subsidiaires.
Toutes autres marques mentionnées appartiennent à leurs propriétaires respectifs.
TECHNIQUE CAO
La CAO gratuite
outils de conception en ligne
Clemens Valens
AVX www.avx.com
AVX propose plusieurs outils pour sélectionner ses
condensateurs. Nous avons essayé SpiCalci 3.0, un
outil pour dimensionner des condensateurs pour ali-
mentations à découpage. Malheureusement, l’outil est
dépourvu d’aide et il faut bien connaître les condensa-
teurs d’AVX. Après la sélection d’un type de conden-
sateur, sa tension de travail, le diélectrique, etc. le
programme montre la fréquence de résonance du
condensateur et la dissipation pour une température
choisie. Il est aussi possible de visualiser la courbe de
l’impédance et l’ESR.
2 elektor - 2/2009
Epcos www.epcos.com
Ce fabricant de composants passifs propose plusieurs
outils dont AlCap pour dimensionner des condensa-
teurs électrolytiques en aluminium ou encore le Ferrite
Magnetic Design Tool. Cet outil sert à évaluer les
matériaux magnétiques d’Epcos et à faire certains calculs
liés aux inductances et bobines.
Fairchild www.fairchildsemi.com
FETBench est l’outil de conception en ligne de Fairchild.
L’outil consiste en trois parties :
- Device Analysis permet l’évaluation d’un composant
avec des graphes sur mesure ;
- Application Analysis est un simulateur d’alimenta-
tions à découpage ;
- Thermal Analysis permet de spécifier une platine
et d’y placer des composants actifs de chez Fairchild.
Ensuite l’outil montre un diagramme coloré avec la distri-
bution des températures sur la surface de la platine.
Mais il y a mieux chez Fairchild : SPM Tool, un très
beau logiciel qui non seulement est capable de simuler
les pilotes de moteurs, mais qui contient aussi toute la
théorie des moteurs sous forme d’animations interacti-
ves. À ne pas manquer ! Avant de pouvoir télécharger
le logiciel, un nom d’utilisateur et un mot de passe sont
demandés. Ce sont les mêmes que ceux utilisés pendant Pareil pour le PFC Toolkit, un outil pour explorer les
l’enregistrement. techniques de correction de déphasage.
2/2009 - elektor 3
TECHNIQUE CAO
Murata www.murata.com
Chez Murata cinq outils de conception sont à téléchar-
ger, pour des condensateurs, des filtres CEM et des ther-
mistances. Nous avons essayé le simulateur de filtre
CEM, le Murata EMI Filter Selection Simulator
(version 3.6.0). Cet outil permet de dimensionner des fil-
tres CEM pour des lignes de transmission. Plusieurs confi-
gurations sont supportées et l’utilisateur peut paramétrer
le circuit en détail. Une fois les paramètres saisis, un clic
sur le bouton Start Simulation suffit pour avoir accès aux
résultats sous forme de diagrammes. Bref, un bel outil et
facile à utiliser.
4 elektor - 2/2009
Texas Instruments www.ti.com
TINA-TI est le simulateur gratuit à télécharger chez
Texas Instruments et capable d’utiliser des modèles
SPICE. TINA-TI est une partie de TINA tout court, un
outil de CAO complète avec saisie de schéma, dessin
de circuit imprimé et simulateur.
2/2009 - elektor 5
TECHNIQUE CAO
NXP www.nxp.com
SimPort regroupe les simulateurs en ligne de NXP, déve-
loppés, comme Mindi de Microchip, par SIMetrix/SIM-
PLIS. En fait, il n’y en a que deux : Active Datasheet
et Buck Designer. Avant qu’il soit possible de les uti-
liser, il faut, comme partout, s’enregistrer. Rien de spé-
cial, me disiez-vous, mais il faut avoir des bons yeux. Si
vous n’êtes pas encore enregistré, il faut suivre le lien à
droite en haut de la page qui permet de choisir entre les
deux simulateurs.
Active Datasheet permet de sélectionner un MOSFET de
NXP et de générer vous-même les courbes que l’on trouve
habituellement dans une fiche technique. La différence tension. L’outil vous propose un schéma fonctionnel et un
avec une fiche technique est que c’est à vous de spécifier schéma électrique détaillé et il génère des diagrammes
les valeurs pour lesquelles les courbes sont générées. dans lesquels il est possible d’agrandir des zones et de
Buck Designer est un outil pour simuler un abaisseur de mesurer certains paramètres.
STMicroelectronics www.st.com
Des outils à télécharger et des outils en ligne chez ST.
Pour les outils en ligne, un simulateur d’amplificateur
audio et un simulateur d’alimentations à découpage, il
faut d’abord installer l’environnement runtime de Java
(JRE). Ensuite les outils fonctionnent… plus ou moins, du
moins sur l’ordinateur de test.
Par contre, ST Lighting Designer est un outil Flash
pour dimensionner des néons qui vaut le détour. Un sty-
liste a dû passer du temps sur l’interface graphique - on
aime ou on n’aime pas – et l’outil fonctionne à merveille.
Une fois que l’on a compris qu’il est impossible d’avoir
une solution avec toutes les options activées, l’outil sort le
schéma, la liste des composants et des graphes. Ensuite
il est possible de peaufiner pleins de paramètres.
Vishay www.vishay.com
6 elektor - 2/2009
Würth Elektronik www.we-online.com
Deux outils sont disponible sur le site de Würth : WE
Inductor Selector 1.0 et WE Flex Designer 2.0.
Ce dernier sert à sélectionner un transformateur pour
alimentation à découpage de type flyback. L’outil n’est
pas joli joli, du moins sur le PC de test, puisque toutes
les cases et boutons étaient décalés, néanmoins un sim-
ple clic sur le bouton Calculate suffisait pour générer une
référence de transformateur.
Publicité
2/2009 - elektor 21
PRATIQUE MICROCONTRÔLEURS
Voir avec un
recul suffisant
Triangulation optique
avec l‘ATM18
Udo Jürß et Wolfgang Rudolph
Certains de nous ont le compas dans l’oeil et la plupart sont en mesure d’estimer, sans instruments, les
distances qui les séparent des objets, assez en tout cas, pour ne pas les heurter. Comment faire pour
qu’un robot puisse, au moins, en faire autant ? Nous allons ici envisager divers procédés et décrire un
système de télémétrie avec un capteur infrarouge et le système ATM18.
La façon dont nous pouvons appré- détour : les Chiroptères ou chauves- neux émis avec le faisceau réfléchi. Dans
cier l’éloignement d’un objet dépend souris, par exemple, utilisent diver- le domaine professionnel, lorsqu’une
de nombreux facteurs. La visibilité de ses techniques d’émission ultrasonore très grande précision est exigée, il n’est
cet objet en est un. La connaissance à fréquences fixes et variables, telles possible de prendre qu’une diode laser
de ses dimensions ou de celles d’ob- que la fréquence des ondes réfléchies comme émetteur. Si la précision impo-
jets voisins, en est un autre. Il est rare par des objets immobiles soit fixe. Les sée n’est pas extrêmement grande, une
que nous puissions donner de la dis- résultats sont calculés si rapidement diode normale suffit pour la mesure de
tance une évaluation aussi précise que que ces petits acrobates aériens peu- distances relativement courtes.
nos instruments de mesure, même les vent se déplacer avec une indescripti- Le principe de la triangulation optique
plus frustes, sans être favorisé par le ble virtuosité en pleine obscurité dans est expliqué sur la figure 1. Le capteur
hasard ou une très grande habitude. d’étroits boyaux, localiser et prendre de comporte sur son côté gauche une LED,
Nous nous déplaçons pourtant avec petits insectes en volant rapidement. l’émetteur. Grâce à son optique de pré-
une adresse stupéfiante dans notre Nos sonars à ultrasons artificiels imitent cision, elle émet un faisceau lumineux
milieu. Il suffit, pour s’en convaincre, ce procédé mais sont incomparablement très étroit. Celui-ci est réfléchi par la
de considérer les personnes qui n’en plus primitifs. Le monde animal a sur cible. Une partie du faisceau réfléchi
ont pas encore la faculté (bébés) ou nos techniques une avance que nous ne revient alors sur côté récepteur du cap-
celles qui l’ont perdue. sommes pas prêts de rattraper. teur (à droite sur la figure). L’angle que
Comment faire pour qu’un robot sélec- Tous les procédés ont leurs avantages fait le signal réfléchi varie avec la dis-
tionne au mieux son accélération et et leurs inconvénients. Les ultrasons tance entre le capteur et la cible. Der-
sa vitesse lorsqu’il est éloigné de 80 sont très sensibles aux réflexions et rière l’optique du récepteur se cache
à 150 cm de l’objet vers lequel il se aux caractéristiques physiques de l’air. un détecteur de position (« Position
dirige? Nous avons examiné d’un peu Si nous utilisons les ondes radioélectri- Sensitive Detector », PSD), un disposi-
plus près les différents procédés de ques, la détermination des temps de tif à transfert de charge (CCD) d’une
détermination des distances (télémé- propagation demande une électronique seule ligne. Le faisceau lumineux
trie) et avons retenu les trois suivants d’analyse des plus rapides. réfléchi est focalisé par l’optique du
qui nous semblent les plus répandus : Il existe d’autres procédés de télé- capteur de façon à rencontrer le plus
1. Mesures de temps de propaga- métrie utilisant la lumière, l’un d’eux, petit nombre de récepteurs photosen-
tion et de déphasage d’ondes d’utilisation assez courante, est appelé sibles possible. Cette condition per-
radioélectriques ; triangulation optique [1]. met la localisation. Si, maintenant, la
2. Mesures utilisant la lumière (égale- distance à l’objet varie, l’angle de la
ment laser) ; lumière incidente varie également et
3. Télémétrie aux ultrasons.
Goniométrie une autre région du photocapteur est
Disons un mot sur le dernier pro- Nous n’allons pas mesurer ici le temps éclairée (figure 2).
cédé, utilisé dans le monde animal, de propagation des ondes lumineuses Le principe est ainsi clair : le spot lumi-
par lequel nous allons faire un petit mais l’angle que fait le faisceau lumi- neux que le faisceau réfléchi produit
22 elektor - 2/2009
sur le PSD se décale à chaque varia-
tion de la distance. L’électronique d’ex-
ploitation intégrée peut ainsi produire
une tension de signal fonction de l’an-
gle. Cette tension est donc fonction de
la distance. La fonction de la distance
n’est, malheureusement, pas linéaire
mais trigonométrique.
Le fonctionnement du système repose
sur la connaissance de la distance qui
sépare la diode émettrice de la diode
réceptrice sur le capteur ainsi que de
l’angle α. L’électronique d’exploitation
l’obtient indirectement par l’intermé-
diaire de la position du PSD éclairée. Distance 2 Objet
L’électronique intégrée du capteur pro-
duit alors une tension que l’on peut
prélever à la sortie du capteur. Ajou-
tons que ce procédé ne convient qu’à Distance 1
la mesure de faibles distances, de
quelques mètres, puisque sa sensibi-
lité dépend de la distance entre émet-
teur et récepteur qui sont logés tous
deux dans le petit boîtier.
Émetteur
Nous disposons d’une tension à partir PSD
de laquelle nous voulons déterminer la
distance. Il nous faut la calculer. La tri-
Déplacement
gonométrie nous permet d’obtenir la
080847 - 11
distance x - x0 à partir de la distance
mesurée x’ - x0’ :
Figure 1. Télémétrie à triangulation optique.
x' − x'0 x
tan δ = → tan α = 0
f D
tan α + tan δ X O'
x = D⋅ tan(α + δ ) = D⋅ f
1− tan α ⋅ tan δ X'
x0 x'−x'0 δ
D + f D α
x = D⋅ x0 x'−x'0
1− D ⋅ f
XO X
080847 - 12
2/2009 - elektor 23
PRATIQUE MICROCONTRÔLEURS
24 elektor - 2/2009
viron 20 mV. Une ondulation résiduelle
du même ordre de grandeur se super-
pose au signal, la présence d’un filtre
passe-bas est donc tout à fait justifiée.
Le convertisseur analogique-numéri-
que de 10 bits du Mega88 atteint déjà
une résolution de l’ordre de 5 mV avec
la référence externe de 5 V. Cette résolu-
tion est, en principe, suffisante pour l’ap-
plication. Le programme en C préparé
met toutefois en service la référence
interne de 1,1 V du contrôleur. Avec elle,
la résolution descend à 1 mV. Attention !
Ne posez pas le cavalier REF JP2 !
La plage de mesure doit encore être
ajustée. Cet ajustage est confié à un
diviseur de tension de 4,7 kΩ et 6,8 kΩ.
La tension mesurée par le contrôleur
s’étend ainsi jusqu’à 2,4 V. L’ajout d’un
Figure 6. Deux résistances et un condensateur électrolytique forment un diviseur de tension avec filtre passe-bas.
condensateur de 1 µF au diviseur de
tension nous permet d’obtenir notre
filtre passe-bas.
Les frais de matériels sont très modes- S1
tes. Outre les deux résistances du divi- GP2012 / GP2Y0A02
C1
1% 080847 - 15
devons d’abord souder un condensa- R2 1µ
6k8
teur de 10 µF à 100 µF au plus près du 1%
2/2009 - elektor 25
PRATIQUE MICROCONTRÔLEURS
carte d’essai s’allument. Il est ainsi commandée par tous les bits du port B.
Listage 1 possible, par exemple, de piloter un On peut, par exemple, utiliser le circuit
robot de telle façon qu’il ne se cogne de puissance ULN 2003 de la carte pour
Calcul de distance en BASCOM
nulle part et évite les obstacles. Le pro- attaquer un relais. Le capteur de dis-
Sub Calculate_s gramme peut également adapter dyna- tance est orienté vers le poste de travail.
D = Getadc(6) miquement les paramètres de distance Dès que qu’une personne s’approche du
‘ U = D/1023 * (4.7+5.6)/4.7 à la vitesse de déplacement. bureau, la lampe s’allume automatique-
‘ U = D * 5 Fournissons encore une petite aide ment. Quand cette personne quitte son
U = D * 1.1
U = U * 10.3
pour vos propres applications. Vous poste, la lampe s’éteint après une tem-
U = U / 4.7 pouvez déterminer l’éloignement avec porisation de 100 secondes.
U = U / 1023 une précision suffisante par un calcul Le système surveille en outre les mou-
‘Print U simple : vements de la personne. Lorsqu’elle
‘ 0.008271 + 939.6 x Us 0, 008271+ 939, 6 ×U S travaille normalement, elle n’est pas
‘ S= -------------------------------- Distance = tout à fait immobile et l’amplitude de
‘ 1 - 3.398 x Us + 7.339 x Us x Us
1− 3, 398×U S +17, 339 ×U S ×Us
ses mouvements est toujours d’un peu
If U > 0.4 Then où Us est la tension de signal du cap- plus de 3 cm. Si aucun mouvement
S1 = 930.6 * U teur. Elle est comprise entre 2,5 V (pour n’est détecté, la personne s’est sans
S1 = S1 + 0.008271
une distance de 20 cm) et 0,45 V (pour doute endormie. Pour respecter son
S3 = U * U
S3 = 17.339 * S3 une distance de 150 cm). sommeil, la commande éteint la lampe.
S2 = 3.398 * U Le temps de calcul est naturellement Qu’un chef vienne à passer, et la lampe
S2 = 1 - S2 beaucoup plus court à partir de cette se rallume, mais le chef a sans doute
S2 = S2 + S3 relation qu’à partir de celle que nous déjà réveillé son subordonné…
S = S1 / S2
Else avons donnée plus haut. Elle est en outre La fonction Calculate_s (listage 1)
S = 0 tout à fait digeste pour BASCOM. effectue une mesure et convertit le
End If Si, à l’avenir, un projet demande une résultat en une distance s en centi-
Print S mesure de distance avec conversion en mètres. Il est nécessaire de décom-
End Sub
longueur, nous utiliserons la méthode poser le calcul, dans BASCOM, puis-
End la plus rapide, à savoir, des tableaux. qu’il n’est pas possible de tout écrire
Nous écrirons dans un tableau les ten- sur une seule longue ligne avec des
sions de sortie du capteur sur toute parenthèses. Les mesures de tension
la plage de distance et le programme tiennent compte du diviseur de ten-
d’essai. Les touches S1, S2 et S3 sont n’aura plus qu’à les lire. sion de 6,8 kΩ / 4,7 kΩ ainsi que de la
connectées à PB3, PB4 et PB5. Chacune Restons-en pour l’instant à la techni- référence de tension interne de 1,1 V.
des broches PC0 et PC1 est reliée à une que présentée de façon à laisser un La distance déterminée est, en outre,
entrée quelconque de l’ULN 2003. Nous objet mobile décider, comme la chauve- communiquée à 9600 bauds au PC. On
pouvons maintenant passer au souris avec son appareil de localisation voit que la mesure de distance atteint
à ultrasons, quelle action déclencher. A une précision relativement bonne de
l’approche d’un obstacle, les moteurs l’ordre de 10%. Lorsqu’aucun objet
Logiciel peuvent s’arrêter et, si l’objet conti- n’est dans le champ de vision, la sortie
Le fonctionnement du programme en C nuait à s’approcher, la marche arrière est à zéro. Les lignes correspondant à
de ce projet (ATM18_IRDMS_GP2xxx, s’enclencherait. Les chauves-souris une variante de connexion du capteur
à télécharger sur www.elektor.fr) est procèdent, bien sûr, autrement dans sans diviseur de tension, avec utilisa-
également très facile à comprendre. cette situation ! tion obligatoire de la tension de fonc-
Deux valeurs sont définies. Ces valeurs tionnement de 5 V comme référence,
sont contrôlées par le programme et sont en commentaires.
les points de commutation sont signa-
Commande d’une lampe en BASCOM (080847-I)
lés par les LED. Quand le LCD est Le programme BASCOM (à télécharger
connecté, il affiche la valeur du conver-
tisseur analogique-numérique (ADC :
sur www.elektor.fr) n’utilise pas seu-
lement le capteur pour afficher la dis-
Littérature et liens :
xxxx), le point de commutation haut tance mesurée, mais également pour [1] Télémétrie sans contacts, Elektor 10/2001
(UL : xxxx) et le point de commutation une commande simple de lampes. Il [2] www.sharpsma.com
bas (LL : xxxx, voir la figure 8). s’agit ici d’une lampe de bureau qui est
[3] Télémétrie par infrarouge, Elektor 5/2002
La touche S1 (gauche) définit la valeur
courante du capteur comme « lower_
limit », S3 (touche de droite) comme
« upper_limit ». Un appui sur S2 (touche
du milieu) redonne aux « upper_limit » et
Le projet ATM18 de Computer:club2
« lower_limit » leurs valeurs standard. ATM18 est un projet mené en commun par Elektor et le Computer:club2 (www.cczwei.de)
Une fois les valeurs limites définies, en collaboration avec Udo Jürss, le responsable du développement de www.microdrones.de.
Wolfgang Rudolph de Computer:club2 présente tous les mois les dernières évolutions et appli-
il est possible de déplacer à peu près
cations du système ATM18 lors d’une émission de la NRW-TV (Düsseldorf), CC2-tv.
n’importe quel objet dans la plage de
détection. L’afficheur indique la valeur CC2-tv est émise par NRW-TV comme programme du câble NRW et en flux direct sur Internet
de la tension délivrée par le capteur. (www.nrw.tv/home/cc2). CC2-tv est baladodiffusée par www.cczwei.de et, quelques jours
Quand les valeurs limites sont attein- plus tard, également par sevenload.de.
tes, les LED correspondantes de la
26 elektor - 2/2009
SECRETS DU CONCEPTEUR TECHNIQUE
10M
mérique CMOS des séries 74HC L’idée des résistances de drain peut
X1 IC1.A et 4000 en fonctionnement stati- se creuser encore. On peut ainsi,
1
1
2 que est pratiquement négligea- au lieu de résistances de drain,
ble. Prenez un inverseur, sur un mettre en service un étage complé-
14 C1 C2 C3 74HC04 ou un 4069, par exem- mentaire de plus. Le montage C
IC1 IC1 = 74HCx04;
7 100n 22p 22p
4069 ple, et vous n’aurez guère à vous montre comment le réaliser.
casser la tête ou la tirelire pour La consommation de tous les
080378 - 11 fabriquer un oscillateur à quartz montages, alimentés sous 5 volts,
(montage A). Sa consommation a été mesurée dans le cas d’un
monte toutefois sensiblement. Pas quartz de 4 MHz et d’un quartz
de quoi réunir une conférence sur de 16 MHz. Pour le montage à
B le réchauffement climatique, puis- 4007, nous avons essayé diffé-
VCC
qu’il ne s’agit que de quelques mil- rentes résistances de drain. Le
liampères. Ils jouent quand même tableau présente les résultats.
un rôle si l’alimentation vient d’une Remarquons que les circuits de
pile ou d’un petit accumulateur. Il la série 4000 sont déjà propre-
2 11 14
est donc légitime de se deman- ment surmenés à 16 MHz sous
4007
der d’où vient l’augmentation de 5 volts et cela peut donner lieu
C1
consommation et si les différentes à des problèmes de démarrage
100n familles logiques présentent, sur ce des oscillations.
R1
1 13 point, des différences notables. Les meilleurs résultats sont ceux
10M
X1
ce de fonctionnement joue sur pond au 4069UB), avec toutefois
3 10 12 6 l’augmentation de consommation des problèmes de démarrage à
mais son rôle n’est que partiel. 16 MHz! Les montages à 4007
R
C2 C3 L’augmentation du courant de se détachent également bien. De
22p 22p
fonctionnement tient également plus grandes résistances de drain
5 8 au fait que l’inverseur CMOS est provoquent une diminution de la
mal utilisé, comme amplificateur consommation mais l’effet n’est
linéaire, dans l’oscillateur. En en- pas aussi grand qu’on l’espérait
trée et en sortie, nous n’avons, quand même. Il n’est, en outre,
4 9 7
en moyenne que la moitié envi- pas possible d’augmenter indéfi-
ron de la tension d’alimentation. niment les résistances auxquelles
080378 - 12
Cela signifie que les deux tran- la fréquence du quartz et la ten-
sistors de l’étage complémentai- sion d’alimentation imposent des
re conduisent. De là à l’idée de limites. Le montage C conduit au
construire un étage complémen- même résultat que le montage B
C VCC taire en composants discrets et avec des résistances de 1 kΩ. L’in-
de réduire la consommation par fluence de la température est rela-
des résistances, il n’y a pas loin. tivement modeste. Pour conclure,
Le circuit CMOS 4007 contient une remarque encore : les valeurs
trois de ces étages et, sur deux relevées dans le tableau ne sont
4007
2 14 des trois, les broches de drain données qu’à titre indicatif, elles
ne sont pas interconnectées. Le dépendent des caractéristiques
montage B montre comment des exemplaires qui sont sujettes
C1
cet oscillateur est construit. Com- à dispersions !
100n
1 13
me le signal de sortie est plutôt si- (080378-I)
11
R1
Tableau
10M
Circuit /
3 10 12 6 Montage 4 MHz 16 MHz
résistance (Ω)
X1
A 74HC04 1,47mA 4,9mA
A 74HCU04 1,99mA 3,5mA
C2 C3 A 74HCT04 1,50mA 5,2mA
9
A 4069UBE 0,56mA 1,4mA
22p 22p
5 8 A MC14069UB 0,37mA 0,7mA *
B 4007 / 0 0,95mA 1,8mA
B 4007 / 100 0,93mA 1,7mA
B 4007 / 470 0,86mA 1,4mA
4 7
B 4007 / 1000 0,79mA (n’oscille pas)
080378 - 13
C 4007 0,79mA (n’oscille pas)
*) avec des problèmes de démarrage
2/2009 - elektor 27
PRATIQUE MICROCONTRÔLEURS
Les microcontrôleu
…Arduino pour les initiés
Clemens Valens
Il paraît qu’Arduino est un prénom italien, mais quand on fait une recherche sur Internet on
trouve surtout des dizaines de références touchant à l’électronique et la programmation. En
plus, ces références ont souvent un rapport avec l’art. L’électronique et de l’art, voilà un sujet
intéressant et qui mérite d’être creusé. Alors, c’est quoi exactement, Arduino ?
À première vue, Arduino [1] est une petite carte microcon- cela permet l’utilisation de l’environnement de développe-
trôleur avec un port USB (figure 1) et il en existe plusieurs ment Arduino pour écrire et compiler les applications avant
modèles. Il y a même des cartes en forme de pâquerettes, de les charger dans le contrôleur.
les Lilypad, prévues pour les applications wearable, c’est- Les applications, baptisées sketch (croquis en français), sont
à-dire, à intégrer dans les vêtements. La carte Arduino se écrites dans un langage qui ressemble beaucoup à du C.
programme dans un langage proche de C avec des outils Pas étonnant, c’est du C, mais avec des fonctions en plus.
Open Source disponibles pour Windows, MAC et Linux. L’ensemble des fonctions présentées comme le langage
Le matériel est Open aussi et tout le monde peut faire son pour Arduino forme une couche d’abstraction du matériel
propre Arduino, les schémas électriques et les typons étant qui permet de programmer le contrôleur sans avoir besoin
disponibles gratuitement sur Internet. Les Arduino sont beau- de se plonger dans les entrailles du processeur. Le langage
coup utilisés par des artistes qui ont besoin de l’électroni- possède tout ce dont l’on a besoin pour la plupart des appli-
que dans leurs créations. cations. En gros il y a des fonctions pour les entrées/sorties
numériques et analogiques, quelques fonctions mathéma-
tiques de base, des fonctions de gestion de temps (délais)
et quelques fonctions pour la communication par port série
- asynchrone (UART) et synchrone (SPI).
Les fonctions E/S numériques permettent de manipuler les
niveaux logiques des broches, de les lire et de les écrire.
Il y a aussi une fonction spéciale qui permet de mesurer la
durée d’une impulsion. Avec les fonctions E/S analogiques
il est possible de lire des tensions et de générer des signaux
PWM. Beaucoup d’applications ne demandent pas plus et
c’est exactement ça qui fait la force d’Arduino. Nul besoin
d’aller farfouiller dans les registres et la fiche technique du
Figure 1. contrôleur pour faire marcher une sortie PWM ou un comp-
Une carte Arduino teur, le « sale boulot » a déjà été fait.
Diecimila. La nouvelle carte Si ces fonctions ne suffisent pas, il est tout à fait possible
Duemilanove est quasi de programmer à un niveau plus bas et, comme dans le C
identique. Ces cartes sont standard, il est également possible de rajouter des librai-
faciles à trouver et pas ries avec ses propres fonctions. Mais attention, si on plonge
chères. dans les ténèbres du langage de programmation Arduino,
on risque de perdre la compatibilité avec la communauté
Arduino.
Quand on y regarde de plus près, un Arduino n’est pas La communauté Arduino ? Arduino est déjà un microcon-
exactement une carte microcontrôleur. En fait, un Arduino trôleur, mais aussi un environnement de développement et
est tout simplement un microcontrôleur 8 bits de chez Atmel, également un langage de programmation et maintenant c’est
un ATmega8 pour les premiers Arduino et actuellement plu- une communauté ? Oui. En fait, Arduino est plutôt une phi-
tôt un ATmega168. Ce microcontrôleur est chargé avec un losophie dont le but est de vulgariser la technique pour la
programme d’amortissage, appelé bootloader, qui permet rendre accessible aux artistes. Arduino est une suite logique
de charger une application dans le contrôleur par un port de projets Processing [2] et Wiring [3]. Processing est un
série, sans écraser le bootloader. Les ordinateurs modernes langage de programmation multimédia et Wiring est un envi-
n’ayant plus de ports série, on utilise souvent un port USB. ronnement de développement pour l’électronique artistique.
Le tout devient Arduino quand on décide de dédier certai- Mais on commence à se disperser, reportez-vous à l’encadré
nes broches du contrôleur à certaines fonctions, puisque sur les origines d’Arduino si vous voulez en savoir plus.
28 elektor - 2/2009
rs pour les nuls…
3
R7 C3
Pour finir notre Arduino il suffit de rajouter une LED, un bou- 4
1k
5
ton poussoir de reset, quelques résistances et condensateurs 6
1k
R8
100n
S1
pour pouvoir programmer notre Arduino la première fois, J3 AREF VCC AVCC
1 PIN0 2 1 RESET J5
quand le contrôleur est encore vierge. Plus tard, quand l’ap- 2 PIN1 3
PD0 PC6
28 IN5 6
PD1 PC5
plication est finie et le bootloader n’est plus nécessaire, ce 3 PIN2 4
PD2
IC1
PC4
27 IN4 5
démarrage. 1 PIN8
16
PB2 PB3
17 SCK 3 4
5 6
Voilà le schéma électrique de notre Arduino fini (figure 2). 2 PIN9
GND PB6 PB7 GND
Grâce à la simplicité du schéma, nous pouvons le réaliser 3
4
PIN10
PIN11
8 9 X1 10 22
MOSI
ISP
Figure 2.
sur une carte d’expérimentation. 5 PIN12
Le schéma électrique
R10
Malheureusement nous n’avons pas le droit d’appeler notre 6 PIN13
d’Elektorino. Pas compliqué
1k5
C1 16MHz C2
belle réalisation Arduino, seulement des cartes approuvées du tout. Les connecteurs
22p 22p
par la communauté Arduino ont le droit à cette appellation. D7 pour les pin ne sont pas
C’est pour cela qu’un deuxième mouvement s’est créé, Free- nécessaires, ils servent
duino [5], qui permet la libre utilisation de l’appellation plutôt comme référence.
Freeduino pour les cartes Arduino faites maison. Mais bon, 080931 - 11
Notez que AREF est rélié
ce n’est qu’un nom, appelons donc le notre Elektorino. au VCC
2/2009 - elektor 29
PRATIQUE MICROCONTRÔLEURS
Charger le bootloader…
… n’est pas si difficile que ça, pourvu que vous ayez toutes les informations à votre disposition. Pour vous épargner des heures de
navigation sur Internet, les voici résumées en quelques lignes.
D’abord, il vous faut un programmateur. Il y a plusieurs possibilités, par exemple celui publié dans le numéro double 2008 [7],
ou un autre programmateur « compatible SK200 », facile à faire et dont le schéma est disponible sur le site de PonyProg [8]. Sur
le site d’Arduino [1] on parle d’encore un autre programmateur pour port parallèle très simple et utilisable directement depuis
l’environnement Arduino. Je l’ai essayé et ainsi bousillé un contrôleur… je me suis donc rabattu sur un modèle SK200 que je pos-
sédais déjà.
Ensuite, choisissez votre bootloader. Je vous conseille ADABOOT [6], mais la version NG, disponible sur le site d’Arduino, marche
aussi parfaitement.
Charger le bootloader dans le contrôleur se fait par exemple avec AVRDUDE [9], fourni avec l’environnement Arduino. AVR-
DUDE est un outil UNIX typique - à la base c’est un outil de FreeBSD - avec beaucoup d’options incompréhensibles. Parce qu’il
est très facile de se tromper, voici les commandes qui vont bien (copier le bootloader dans le répertoire où se trouve l’exécutable
d’AVRDUDE) :
avrdude -p m168 -c pony-stk200 -V -e -U lock:w:0x3F:m -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m -U efuse:w:0x0:m
avrdude -p m168 -c pony-stk200 -V -D -U flash:w:ATmegaBOOT_168_ng.hex
avrdude -p m168 -c pony-stk200 -V -U lock:w:0x0F:m
Si vous utilisez un autre programmateur, remplacez pony-stk200 par la valeur adaptée. Vérifier aussi le nom de votre bootloader.
Il y a trois commandes qui, en gros, déverrouillent la mémoire, chargent le programme, positionnent les fusibles et finalement
verrouillent la mémoire. Reportez-vous à la notice d’AVRDUDE si vous voulez savoir exactement ce qui se passe (âmes sensibles
s’abstenir). Le verrouillage de la mémoire sert à éviter que le chargement d’un sketch écrase accidentellement le bootloader.
Un bon site sur l’AVR, mais en anglais, est le site de Lady Ada [10].
30 elektor - 2/2009
application ce n’est pas très intéressant. J’avais encore en
ma possession une dizaine de potentiomètres rectilignes
motorisés et il était temps de les utiliser. Pourquoi pas avec
Elektorino ? Elektorino a des entrées analogique et des sor-
ties PWM, tout ce qu’il faut pour piloter un moteur. Je vous
propose donc un pilote pour potentiomètre (rectiligne) moto-
risé. Notez que ce montage est utilisable avec toutes les
cartes Arduino basé sur le ATmega168.
Le potentiomètre en question (figure 4) consiste en un
potentiomètre rectiligne, un petit moteur et un petit assem-
blage de quelques roulettes, des ressorts et un bout de fil,
permettant au moteur de déplacer le curseur dans les deux
sens. Cet assemblage fait tourner le moteur dans le vide
quand le curseur ne peut pas bouger, aux extrémités par
exemple. Mis à part le texte 10K B imprimé sur le potentio- Figure 4.
mètre, je ne connaissais aucune caractéristique technique, Un potentiomètre rectiligne
mais quelques expériences ont montré que le moteur tour- motorisé de marque
nait à une bonne vitesse s’il était alimenté sous 12 V. Sa inconnue.
consommation dans ce cas est d’environ 200 mA.
Le B imprimé sur le potentiomètre laisse supposer qu’il s’agit
d’un modèle logarithmique, comme souvent, mais après
vérification mes potentiomètres s’avéraient être linéaires. +12V
IC2
7805 +5V +5V
Comme pilote pour le moteur j’ai choisi un double pont en
H astucieusement modifié avec seulement deux lignes de C4 C5
IN0
2k2
2k2
2k2
glissé dans le schéma pour pouvoir alimenter l’ensemble T3 T4
tous des NPN et ceux qui forment le pont doivent supporter BD139 M1 BD139
200 mA sans broncher. J’ai utilisé des BD139 dans mon D1
M
D4
Le sketch
Maintenant que nous avons connecté un pilote de moteur à
Elektorino (figure 6), il est temps de s’occuper du logiciel.
Vous allez voir, le sketch final sera étonnamment simple,
grâce à la puissance d’Arduino.
Un sketch basique se compose de deux fonctions : setup()
et loop(), qui sont appelées par la couche d’un niveau plus
bas. Dans setup, appelée une fois au démarrage, on met
tout ce qui touche à l’initialisation du système, les entrées/
sorties et la vitesse du port série par exemple.
99,9% des programmes embarqués passent probablement
leur vie dans une boucle. C’est donc pour ça que dans Figure 6.
Arduino cette boucle est déjà implémentée sous forme de Le prototype de Elektorino :
la fonction loop. La fonction loop est appelée périodique- l’ATmega168 à gauche
ment et peut être considérée comme le main d’Arduino. et le double pont en H
Il est important de comprendre que loop est exactement à droite pour piloter le
comme n’importe quelle fonction en C, même si elle à l’air moteur.
d’une fonction spéciale. Ses variables locales sont donc
réinitialisées à chaque appel et il faut déclarer globalement
les variables qui doivent garder leurs valeurs entre les dif- pins d’Arduino sont des entrées par défaut, il suffit donc
férents appels de loop (ou comme static pour ceux qui se d’initialiser les deux sorties. Nous allons utiliser le port série
connaissent un peu en C). pour piloter notre montage et pour cela il faut l’initialiser.
Le setup de notre sketch ne contient pas grand-chose. Les Grâce aux simplifications apportées par Arduino il suffit
2/2009 - elektor 31
PRATIQUE MICROCONTRÔLEURS
de saisir la vitesse de communication - 9 600 bauds dans trop tard. En cas de dépassement il faut faire revenir le cur-
notre cas. seur avec le même risque de dépassement et ainsi de suite.
Ce système peut même commencer à osciller.
Pour éviter ces problèmes nous faisons appel à un régula-
teur Proportionnel Différentiel (PD). Dans ce genre de régu-
Le programmateur compatible STK200 utilisé par l’auteur. Il existe des
lateur le système atteint sa valeur finale sans dépassement
programmateurs plus simples, une question de goût.
en ajustant en continu le signal de correction à la différence
D8
restant à corriger. Donc, au début d’un réglage, quand
20 C6
1N4148 l’erreur est maximale, le signal de correction est fort. Puis,
IC3 R12
quand l’écart commence à diminuer, le signal de correction
100k
100n
diminue aussi et le système ralentit.
10
32 elektor - 2/2009
Quand l’erreur est assez petite nous interdisons des correc-
tions supplémentaires pour libérer le curseur ; nous suppo-
sons que le système ne dépassera jamais la valeur cible.
Listing 1. Trop fastoche !
// Mélanger P & D.
spd = int(spd_p+spd_d);
2/2009 - elektor 33
TECHNIQUE MICROCONTRÔLEUR
Cours BASCOM-AVR
(5) Mémoire, interrogation de
commutateurs et gestion du temps
Burkhard Kainka
Il est toujours important de savoir à quoi le contrôleur passe pour les variables et autres piles. Que reste-t-il ? Testons
son temps de calcul. Il suffit par exemple d’une petite bou- en enregistrant des données dans un tableau. La variable
cle discrète d’interrogation de touches ou poussoirs pour A(500) est un tableau. Il s’agit donc de 500 octets A(1) à
dévorer l’intégralité du temps de calcul. Il importe donc de A(500). Attention : A(0) n’existe pas. Le petit programme
développer un concept basé sur l’utilisation optimale du de test dans Listage 1 écrit des données ascendantes
temps de calcul. Cette partie du cours BASCOM illustre en mémoire. Elles sont lues dans une seconde boucle et
quelques possibilités de programmation optimisée. envoyées au PC.
Le fichier Memory.rpt, qui indique le degré d’occupation
mémoire, permet de déterminer à quel point on s’appro-
RAM et EEPROM che dangereusement de la limite. Il s’agit d’un fichier texte
L’ATmega88 possède 1024 octets de RAM et 512 octets qui peut être ouvert avec Notepad. Il contient la taille
d’EEPROM. C’est un bon début ! BASCOM utilise la RAM mémoire, la position exacte de toutes les variables et bien
plus encore.
Test 2 illustre les possibilités de l’EEPROM qui, contraire-
ment à la RAM, conserve les données lors de la mise hors
tension. Les données sont mémorisées de façon permanente
par Writeeeprom, Variable, Adressememoire et
lues par Readeeprom, Variable, Adressememoire.
Toutes les adresses d’une EEPROM effacée ne contiennent
que FF (255). On peut donc lire un octet et déterminer si
son contenu a déjà été modifié. Dans Test 2 (Listage 2),
512 octets sont écrits et relus.
Interrogation de touches
Les appareils autonomes sont souvent équipés de touches
de commande qui doivent être interrogées et évaluées selon
des règles exactement définies. Quoi de plus simple que
d’interroger des touches ? Cette tâche, apparemment ano-
dine, recèle toutefois un certain nombre de pièges. L’un
d’entre eux résulte de l’ignorance dans laquelle on se
trouve quant à la fréquence et à la durée de la pression
sur la touche. Il faudrait donc interroger continuellement la
touche utilisée. L’introduction de fonctions par touches dans
un programme déjà opérationnel ne constitue pas exacte-
ment un jeu d’enfant. Il vaut mieux partir des touches pour
réaliser pas à pas les fonctions désirées.
Le rebondissement fréquent des touches constitue un autre
Figure 1. piège. Les rebondissements d’une touche pressée se char-
Schéma fonctionnel de gent de simuler plusieurs événements. L’interrogation des
l’ATmega88. touches sur la base d’une temporisation ne constitue donc
34 elektor - 2/2009
MIKROCONTROLLER TECHNIK
2/2009 - elektor 35
TECHNIQUE MICROCONTRÔLEUR
36 elektor - 2/2009
sur la touche pour aboutir finalement à un état aléatoire. « Ticks ». La variable Ticks varie de 1 à 10. Les touches ne
Le déroulement du Test 5 permet aussi de commander sont donc interrogées qu’à chaque dixième appel (lorsque
2 compteurs. Les pressions sur les touches S1 et S2 sont Ticks=1). Les problèmes de rebond sont donc accessoire-
comptées. Le PC est informé de chaque modification d’un ment résolus et le programme est encore assez rapide pour
compteur. Le problème de la charge à 100 % du contrôleur ne rater aucun événement.
n’est toujours pas résolu. Les événements peuvent être évalués à des instants diffé-
rents. Dans l’exemple, une valeur PWM est modifiée lors-
que le temps Ticks = 2 et le clignotement d’une DEL est
Interrogation des touches par activé ou désactivé lorsque le temps Ticks = 3. Ticks = 4
interruption du temporisateur gère le clignotement proprement dit. Ce partage du temps
Tous les exemples d’interrogation de touches présentés jus- de calcul donne une impression de simultanéité à l’utilisa-
qu’ici, s’ils en illustrent bien le principe, ne gèrent pas effica- teur, mais le contrôleur dispose encore de grandes réserves.
cement le temps de calcul. Quand il faudra gérer plusieurs Le programme principal commande la sortie 1. Il l’active
touches et d’autres fonctions, il sera grand temps de trouver pendant 5 Ticks et la désactive pendant 5 Ticks. Une DEL
une méthode de gestion du temps plus performante. Test 7 raccordée clignote si rapidement qu’on n’observe qu’une
(Listage 7) illustre une solution plus efficace. Les touches diminution de la luminosité. La luminosité de la DEL ne varie
sont interrogées à l’arrière-plan par un sous-programme pas, indiquant que le rythme de fonctionnement du pro-
d’interruption de temporisation. Le programme principal gramme est constant.
peut se consacrer accessoirement à d’autres tâches. La touche de commande de la sortie MLP possède deux
Une variable Sw1 à Sw3 est associée à chaque touche S1 modes dans cet exemple : une courte pression et une pres-
à S3. La variable associée à une touche est nulle tant que sion prolongée. Une courte pression permet de modifier la
cette touche n’est pas pressée. La valeur de la variable croît valeur d’une unité. Une pression prolongée provoque un
continuellement jusqu’à 100 quand la touche est pressée. changement continu du compteur. Il est donc plus facile
On peut donc déterminer à tout moment si une touche a d’atteindre une valeur particulière.
été pressée et, si tel est le cas, pendant combien de temps. (080853-I, trad. Softcraft)
Pour évaluer une pression particulière sur une touche on
teste si sa valeur, par exemple 3, est associée au déclen-
chement d’un événement. La valeur 100 correspond à une Téléchargements :
pression prolongée. Vous trouverez sur www.elektor.fr une page web se référant à
Le sous-programme de temporisation contient un second chaque partie de cours et permettant de télécharger le logiciel
compteur prévu pour les petites unités de temps : les nécessaire.
2/2009 - elektor 37
PROJETS PONT USB-I2C
Pont 2
USB-I C
L‘I²C par le 1-Wire
Fons Janssen (Maxim Benelux)
Les ordinateurs récents n’ont plus de ports parallèle ou série intégrés. Et bien que ces ports voient leur
usage baisser en pratique, pour les concepteurs, un PC dépourvu de ces ports pose un réel problème.
Afin de résoudre au moins une partie de ce problème, nous vous présentons une interface pour le bus
I²C sur port USB. Cela fonctionne à merveille dans l’environnement LabVIEW.
4k7
38 elektor - 2/2009
le PC. Le seul esclave 1-Wire de notre
circuit est IC3 (un DS2413 de Maxim),
qui nous fournit deux ports bidirection-
nels à collecteur ouvert (PIOA & PIOB).
R4 et R5 sont les résistances de rappel
de ces deux ports. C’est exactement le
matériel nécessaire pour un maître I²C.
Il y a un typon (voir Figure 2) téléchar-
geable gratuitement sur le site web
d’Elektor [2] pour réalisation maison.
Sinon, les lecteurs désireux peuvent
commander un circuit imprimé chez
ThePCBShop.com [3].
Le logiciel
Sur des microcontrôleurs qui ne possè-
dent pas de maître I²C matériel, l’ému-
lation d’un tel maître est une méthode
Figure 2. Le tracé est très ordonné. Le typon peut être téléchargé sur www.elektor.fr.
éprouvée. Avec cette même technique,
un maître I²C logiciel peut être créé sur
cette plateforme. pour plusieurs circuits se trouve en [4]) 0x5A est envoyée pour autoriser l’écri-
qui permet d’éviter la complexe procé- ture vers les verrous des sorties PIO
Le logiciel doit pouvoir contrôler l’état dure d’adressage. Puis la commande (le jeu de commandes et les graphes
des deux broches pour pouvoir géné-
rer les signaux I²C. Par exemple, pour
créer une condition de start (début des NOMENCLATURE Semi-conducteurs
échanges), SCL doit être à l’état haut, IC1 = MAX8881EUT33+ (Maxim)
alors que SDA passe de l’état haut à Résistances IC2 = DS2490S+ (Maxim)
l’état bas. Pour ce faire, SCL (PIOA) et (toutes en format 0805) IC3 = DS2413P+ (Maxim)
R1 = 1kΩ5
SDA (PIOB) doivent être à l’état haut, R2, R3 = 27 Ω
après quoi SDA est mise à l’état bas. Divers
R4, R5 = 4kΩ7 K1 = Connecteur USB, montage sur circuit
Donc, si le logiciel a la possibilité de imprimé, type B
contrôler PIOA et PIOB, il peut devenir Condensateurs K2 = connecteur RJ-11, montage sur circuit
C1 = 1 µF (0805)
un maître I²C. C2 = 4µF7 (0805)
imprimé
Afin de changer les sorties PIO, IC3 X1 = quartz 12 MHz
C3 = 100 nF (0805) Circuit imprimé, réf. 080655-1, sur www.
doit d’abord être adressé par le maî- C4 à C7 = 33 pF (0603) ThePCBShop.com
tre 1-Wire (fonctions ROM). Dans notre
cas, il n’y a qu’un esclave d’où l’utilisa- Inductances
L1, L2 = BLM21PG221SN1J (Murata)
tion de la commande Skip ROM (0xCC ; (220 Ω à 100 MHz)
une liste complète des commandes
2/2009 - elektor 39
PROJETS PONT USB-I2C
Figure 3. L’instrument Virtuel « I2C Initialize » initialise le DS2413, après quoi il est prêt à recevoir des données d’E/S.
Figure 4. Le VI « I2C clock » fait transiter SCL de l’état bas à l’état haut. SDA peut être forcé à l’état haut ou bas afin d’effectuer une écriture « I2C write » ou lu lors d’une lecture « I2C read ».
tée, ou le maître peut stopper la com- pement (SDK) 1-Wire pour Windows. LabVIEW « I2C Initialize » (la Figure 3
munication par un reset. Un total de Ce SDK supporte la plateforme .NET en montre le schéma bloc) initialise le
quatre octets est transféré pour chaque de Microsoft. À titre d’exemple, nous DS2490 et donne à LabVIEW l’accès
changement des sorties (si les com- exclusif au bus 1-Wire afin d’empêcher
mandes Skip ROM et 0x5A ne sont pas d’autres applications d’y accéder. Puis,
prises en compte). le maître 1-Wire procède au reset du
Pour générer la commande I²C start, la bus et envoie la commande Skip ROM
séquence du Tableau 1 doit être exé- (0xCC) suivie d’une commande d’écri-
cutée. Pour d‘autres évènements, des ture des PIO (0x5A).
séquences similaires peuvent être utli- Le DS2413 est maintenant prêt à rece-
sées (stop, envoi d‘octet, acquitement, voir des données pour les PIO. L’IV
etc.). « I2C clock » (Figure 4) change l’état de
SCL de bas vers haut ; SDA peut alors
être mise à l’état haut ou bas, l’IV ren-
Dot Net voie enfin l’état de SDA. Un octet com-
Maxim offre des pilotes pour le DS2490 plet peut être écrit en appelant cette
(DS9490) ainsi qu’un kit de dévelop- Figure 5. Exemple : comment lire un registre. fonction huit fois d’affilé (une fois par
40 elektor - 2/2009
bit). Si l’esclave doit renvoyer vitesse à laquelle ils sont géné-
des données, SDA est placée rés est très limitée (de l’ordre de
à l’état haut par le maître. L’es- 20 bits/s). Cependant, la solu-
clave peut alors imposer un tion est fonctionnelle. Les IV uti-
état bas s’il désire transmet- lisés sur les figures peuvent être
tre un ‘0’ (la sortie PIOB est de téléchargés sur le site d’Elektor.
type collecteur ouvert). Puis- Des échantillons de tous les CI
que le DS2413 renvoie auto- utilisés sont disponibles via le
matiquement l’état des sorties service échantillons de Maxim.
mises à jour, aucune action de Il est à noter que le DS2490 n’est
lecture n’est nécessaire (voir pas recommandé pour de nou-
les IV « Send I2C byte » et « Get veaux designs, mais que les
I2C byte » parmi les télécharge- échantillons resteront disponi-
ments supplémentaires [2]). bles quelques temps.
Les IV « I2C start », « I2C stop », (080655-I, trad. Kévin PETIT)
et « I2C acknowledge » — aussi
Figure 6. Lecture du registre 0 du DS1337. S=start,
en téléchargement — utilisent
A=acquittement, Sr=start répété, et P=Stop.
la même structure pour géné-
Les échanges de maître à esclave apparaissent grisés, les autres, blancs. Liens Internet
rer les signaux SDA et SCL adé-
quats. En combinant ces IV, il [1] www.maxim-ic.com/appnotes.
cfm/an_pk/3230
est possible de programmer une
séquence de lecture ou d’écriture I²C du registre comptant les secondes. Si [2] www.elektor.fr/080655
complète. l’on choisit le registre 0x00, l’adresse [3] www.thepcbshop.com
d’esclave 0xD0 et que l’on lit un octet,
[4] owfs.sourceforge.net/family.html
Sur la Figure 5 nous voyons un exem- les signaux générés par le circuit sont
ple de session de communication, semblables à ceux de la Figure 6. [5] datasheets.maxim-ic.com/en/ds/
dans laquelle le registre 0 d’un DS1337 A cause du nombre important de DS2413.pdf
(horloge temps réel I²C) est lu. Le transmissions qu’il faut sur le bus [6] pdfserv.maxim-ic.com/en/an/AN155.pdf,
DS1337 répond 0x39, c’est le contenu 1-Wire pour générer les signaux I²C, la pages 16-17.
Publicité
VEAU
U
NO
Kit d’évaluation
professionnel pour ARM Offre exclusive so it
ww w .elek to r.fr/ar
us
m-k
urs !
et nulle part aille
fa ite s des économies !
Commandez et
Faites une économie de 135 € !
Voici comment économiser 135 € par rapport à la vente
au détail. Le kit d’évaluation professionnel
• Solution idéale pour aborder, à peu de frais, comprend le matériel et le logiciel suivants :
le développement à base de processeur ARM. Flowcode Professional for ARM (CD-ROM) 179,95 €
• Idéal aussi pour réaliser rapidement des prototypes Programmateur ARM 133,95 €
de systèmes électroniques à base de noyau ARM 7, Platine LCD 28,95 €
le contrôleur extrêmement rapide d'Atmel. Platine à LED 21,95 €
• Ensemble compatible avec le reste des modules Platine à commutateurs 21,95 €
de la famille E-blocks. Alimentation 17,85 €
Câble USB 5,40 €
2/2009 - elektor 41
PRATIQUE MODÉLISME
Décodeur d’éclairag
Compatible Märklin et programmab
Graham Guthrie
Parmi les sujets du modélisme ferroviaire qui n’ont jamais satisfait totalement les amateurs figure
l’éclairage des voitures. Jusqu’à présent. La commande d’éclairage décrite dans cet article est la
combinaison d’une barrette à LED CMS et d’un PIC12F683 pour la compatibilité avec le système Märklin.
Les LED permettent l’adaptation à différentes couleurs en même temps que trois longueurs de platine
différentes permettent au projet d’équiper tous les types de voitures courants. L’adresse du contrôleur
peut lui être assignée sans démontage de la voiture.
La commande de l’éclairage des voitu- LED, couleurs et taille des platines sives qui pourraient se présenter au
res miniatures a toujours été compli- long du réseau de voies. Le condensa-
quée, parce que le décodeur était diffi- En principe, toute LED CMS (montage teur C3 de 22 µF agit comme réservoir
cile à cacher et que son adresse n’était en surface) peut convenir. Au moment pour éviter que le microcontrôleur soit
pas facile à fixer ou à changer. de les acheter, assurez-vous qu‘elles remis à zéro par des périodes courtes
sont spécifiées pour au moins 100 mcd de manque de tension. Cette configu-
L’auteur a relevé le défi de concevoir (millicandelas) avec un angle de vue ration de l’alimentation élimine aussi
une solution qui réponde à cette liste de 110° au moins. Les LED blanches en le clignotement des LED dû au désé-
de critères : boîtier 0805 avec un débit de 140 mcd quilibre du signal de voie Märklin. La
et un angle de vue de 140° fonction- tension continue brute de 16 à 19 V
• Coût intéressant par rapport aux nent très bien. Pour un éclairage jaune en sortie du pont alimente le régula-
modèles du commerce. (jaunâtre), les LED en boîtier 1206 sont teur 5 V IC1, qui alimente à son tour le
• Adaptation facile à différentes aussi un bon choix. Expérimentez avec microcontrôleur PIC et le détecteur à
couleurs. différents types jusqu’à trouver celui effet Hall TLE4917, IC3.
• Commande individuelle de l’éclai- qui donne la couleur la plus convena- Le détecteur à effet Hall présente une
rage des voitures. ble à votre goût. sortie basse quand il détecte un aimant
• Commande des feux de queue. La platine est disponible en trois lon- à proximité. Par logiciel, il est utilisé pour
• Changement d’adresse des déco- gueurs pour se loger dans différents démarrer la procédure de réglage de
deurs sans ouverture des voitures. types de voitures. La platine courte l’adresse de la platine, décrite plus loin.
• Ligne d’alimentation unique pour a une longueur de 110 mm et quatre La sortie GP2 du microcontrôleur PIC
relier les voitures. LED d’éclairage ; la moyenne mesure pilote un transistor FET monté en
• Élimination du clignotement dû 190 mm et loge huit LED ; enfin la lon- surface (T2) de type MMBF170 pour
au déséquilibre du signal de voie gue mesure 230 mm et porte dix LED. allumer et éteindre les LED d’éclai-
Märklin. Toutes les platines sont en simple face rage. Une deuxième sortie (GP4) et un
• Différentes longueurs pour équiper et tous les composants sont montés en deuxième FET (T1) commandent deux
tous les types de voitures courants. surface. LED externes qui forment les feux de
queue de la voiture. Les feux de queue
Le résultat est une barrette d’éclai- seront connectés entre les bornes « A »
rage de voiture avec son contrôleur
Schéma (anode) et « C » (cathode) et munis de
incorporé. La platine utilise un micro- Comme le montre la figure 1, la tension leur résistance de limitation d’intensité
contrôleur PIC12F683 à 8 broches pour d’alimentation du système Märklin (par exemple 2,2 kΩ). Si vous n’avez
décoder le signal Märklin et comman- arrive par les rails sur le pont de diodes pas besoin de feux de queue, T1 et R9
der l’intensité des LED. Ce microcon- D1 à D4 via PC1 (Märklin ROUGE) et ne seront pas montés sur la platine.
trôleur contient un modulateur de lar- PC5 (Märklin BRUN). La sortie du pont Il faut noter que la figure 1 montre le
geur d’impulsion (PWM) et se trouve à est shuntée par une diode zener de schéma générique du projet. Il existe
bas prix, ce qui garde à l’ensemble un 27 V, D2, destinée à protéger le régu- trois options de construction, à vous
prix abordable. lateur des pointes de tension exces- de choisir.
42 elektor - 2/2009
e de voiture
ble
le avec un aimant !
Caractéristiques en bref
• Compatible Märklin
• Microcontrôleur PIC12F683
• Logiciel gratuit
• Commande de luminosité en Modulation de largeur d’impulsion (PWM)
• Trois tailles de platines disponibles pour 4, 8 ou 10 LED
• Adaptable à différentes couleurs
• Changement d’adresse de décodeur « au vol »
La platine courte utilise seulement habitués à les manipuler (ou à les récu- modélistes, dans un club ou sur les
les LED D6, D8, D10 et D15. pérer dans l‘aspirateur) seront bien forums d‘Elektor. De même, pour les
La platine moyenne utilise seulement inspirés de demander l‘aide d‘autres achats de composants, le nombre fait
les LED D6, D8, D10, D15, D7, D9, D11
et D13.
La platine longue utilise toutes les
LED, c’est-à-dire D6, D8, D10, D15, IC1 feux arrières (facultatifs)
D7, D9, D11, D13, D12 et D14. V+ UA78L05ACLP +5V
PC1 D1
3 1
2k2
R8
D3 D4 D2 C3* C1 C2
4x
Microcontrôleur PIC
2
0R
BAS16
22u 100n 100n
D5 27V
Désolé si ce qui suit paraît un peu 35V
C A
condescendant pour les virtuoses du 500mW V+
T1
microcontrôleur, mais le PIC12F683 PC5 MMBF170
R1 R2 R3
utilisé dans ce projet est (1) un com-
2k2
1k
R9
être programmé avant de pouvoir s‘ac- +5V
10k
rer un composant vierge chez votre IC2 IC3 D10 * D11 * D12 *
1
TLE4913
8
MMBF170
chip, version 3.14. * voir texte
080689 - 11
Construction
Tous les composants sont à montage Figure 1 – Schéma de la commande d’éclairage de voiture. Il s’agit de rien de plus qu’un micro PIC et d’une série de LED
en surface et ceux qui ne sont pas commandées en modulation de largeur d’impulsion (PWM).
2/2009 - elektor 43
PRATIQUE MODÉLISME
44 elektor - 2/2009
s‘agisse d‘une motrice, d‘un séma- Figure 3 – Les trois platines prêtes à être montées dans des
phore ou d‘un aiguillage – a son voitures de chemin de fer miniature.
adresse propre et unique, on n‘est pas
surpris que la commande d‘éclairage
de voiture soit simplement un élément
supplémentaire à incorporer dans le
système. La platine est confi-
gurée comme suit,
en suppo-
sant qu‘elle fonctionne correctement, ce que l’éclairage de la voiture Le décodeur est programmé main-
qu‘elle est connectée et montée dans clignote. tenant avec l’adresse 06. Les lumiè-
une voiture. 5. Retirer l’aimant, puis attendre que res peuvent être allumées et éteintes
le clignotement cesse. avec les boutons F0. Si vous avez rac-
1. Poser la voiture sur les rails. 6. Allumer l’éclairage avec F0. cordé des feux de queue, vous pouvez
2. Remettre à zéro le module de 7. Régler l’intensité lumineuse au les actionner avec les boutons F3. F1
commande Märklin : presser et niveau désiré avec le cadran de n’a plus de fonction après le réglage
maintenir les boutons Stop et Go vitesse. de l’intensité lumineuse pendant la
jusqu’à la remise à zéro. 8. Activer F1 pour mémoriser le programmation.
3. Entrer l’adresse de machine, par niveau. Amis ferrovipathes, envoyez-nous des
exemple 06. 9. L’éclairage de la voiture clignote photos de vos voitures équipées de cet
4. Tenir un aimant au-dessus de quelques fois pour signaler que le éclairage !
l’extrémité de la voiture jusqu’à niveau est mémorisé. (080689-I, trad. Brodier)
2/2009 - elektor 45
TECHNIQUE SECRETS CONCEPTEUR
D4 D2
0V ... 12V
Dimmer
D4 D2
... 24V
D1 C3
D5 D3
100μ D1
SB140 C1A C1B C2 C4
12V
D5 D3 4x
C1 C2 SB140 470μ 470μ 100n 100μ
3x 3W SB140
...
4x
SB140 470μ L1 470μ
100n
D7 D6 3x 3W
2x
SB140 L1
9 470μH
VCC
7 10 T1 R3
5VHI VDI 9 470μH
C3
4 13
120k
0Ω47
5 6
220n 220n R1 R2
C5 C6 C7 C8
0Ω47
0Ω47
2 3 080933 - 13
46 elektor - 2/2009
mière se calcule comme suit : charge de 470 µF, la tension est dateur commandé par angle de sure de température interne, une
Rsense = 0,2 V/ILED suffisante, même pour une ten- phase en avance qu’en retard. compensation en température du
Ce qui donne, par exem- sion alternative de 12 V à l’en- Pour ce faire, l’entrée de détec- courant des LED et une fonction
ple, comme valeurs moyen- trée, pour alimenter jusqu’à trois tion de manque de tension VDI d’ouverture « en fondu » (soft
nes 0,27 Ω pour des LED LED de 3 W en série. La résis- du circuit intégré est reliée à la start). Le circuit de la demoboard
de 3 W (I LED = 750 mA) ou tance de détection de courant de tension alternative redressée par correspond, pour l’essentiel à ce-
0,56 Ω pour des LED de 1 W 0,47 Ω/2 ≈ 0,24 Ω est obtenue D6/D7, mais non lissée, ce qui lui de la figure 3 et permet de
(ILED ≈ 350 mA). par le groupement en parallèle permet de détecter le « rapport faire la démonstration d’un gra-
de R1 et R2 et le courant de LED cyclique » de la tension d’entrée dateur à commande par angle
La figure 2 présente un mon- est de l’ordre de 850 mA. à « phase découpée » et de met- de phase du côté primaire d’un
tage d’application de connexion tre le convertisseur sous et hors transformateur pour halogènes
directe à un transformateur de Le montage de la figure 3 se tension de façon synchrone. Le (230 V).
lampe halogène – qu’il s’agisse distingue de celui de la figure 2 gradateur commande alors le (080933-I)
d’un transformateur courant à par un redresseur supplémentaire flux lumineux des LED comme
noyau de fer doux ou d’un trans- (D6/D7). Il permet de faire varier il le ferait pour une lampe à
formateur électronique (voir Elek- le flux lumineux à l’aide d’un gra- incandescence.
tor n°366, p. 82). En temps nor- dateur. Vous pouvez l’utiliser aus-
mal, la tension alternative fournie si bien avec un gradateur classi- Sur la fiche technique du
est de 12 V, le montage peut tou- que à thyristor ou triac qu’avec PR4401 [3], PREMA décrit une
[1] www.prema.com
tefois fonctionner à des tensions un gradateur électronique d’un carte de démonstration qui per-
plus élevées (maxi. 24 V). Grâ- autre type ou un transformateur met d’essayer toutes les possibi- [2] www.elektor.fr/070100
ce au pont redresseur à diodes électronique. Le PR4401 fonc- lités du circuit intégré PR4101. [3] www.prema.com/pdf/
Schottky et au condensateur de tionne aussi bien avec un gra- Citons, par exemple : une me- pr4101.pdf
l’on peut considérer comme un trolytique. Ces 2,2 volts sont trop
fil à la patte. L’amplificateur n’est limités pour un amplificateur à
pas non plus indépendant, il lui Entrée audio opérateur opérationnel. Un sim-
faut, la plupart du temps, ses ple transistor suffit toutefois pour
230 V et il est relié au réseau. HF le gain dont nous avons besoin
Une guitare électrique équipée R2 env. 30 cm et le signal de la guitare est suffi-
d’un petit émetteur aurait bien samment modulé.
100k
2/2009 - elektor 47
TECHNIQUE PROGRAMMATION
Programmer en C l
Altium Designer fait la corrélation
Volker Brandstetter (Altium Allemagne)
On décrivait communément les FPGA dans des langages spéciaux, d’apprentissage difficiles,
comme le VHDL. Pourtant, ça marche aussi en C ! Comparé à un programme séquentiel d’un
microcontrôleur, une considérable accélération est possible. Nous allons montrer, à l’aide de
la suite de développement Altium Designer, comment s’opère la conception d’un FPGA en
langage C.
Un FPGA est un ensemble matériel que l’on peut façonner C offre des avantages
par un logiciel. À la manière d’un programme qui s’exé-
cute en séquence dans un microcontrôleur, l’utilisation de Il existe des solutions que la Synthèse « du C au matériel »
ce genre de puces permet de gagner beaucoup de temps. (C-to-Harware) propose. Des morceaux d’un programme
Comparé à un ASIC, un FPGA est nettement plus flexible, en C, qui tournent peut-être déjà sur un microcontrôleur, le
ce qui, lors de la conception de petits ou moyens systèmes, concepteur du logiciel peut les « fondre » dans du matériel
en termes de nombre de composants, fait réaliser de sérieu- FPGA pour accélérer le processus.
ses économies. Une des suites de développement capable d’offrir ce genre
de solutions, c’est Altium Designer du forgeur de silicium
Traditionnellement, au cours du développement d’un FPGA australien Altium [1]. Le fabricant propose également des
(mais aussi d’un ASIC) on décrit en langage spécialisé, cartes de développement qui, grâce à un très vaste assorti-
VHDL ou Verilog, la structure et les fonctions des circuits ment de périphérie et de possibilités d’extension, peut servir
internes de la puce au niveau du registre-transfert (RTL). de matériel de prototypage. Un exemple nous en est fourni
Après que le programme a été simulé et vérifié, la descrip- par la Nanoboard (cf. encadré) que nous avons utilisée et
tion en RTL est convertit en données GDSII pour la réalisa- testée pour illustrer cet exposé.
tion du masque ou en fichiers binaires pour configurer le
FPGA. La Synthèse du C au matériel permet le développement de
prototypes sur base de FPGA sans devoir connaître le VHDL
La méthodologie de développement RTL, ciblée vers l’optimi- ni le Verilog. Dans ce but, on dispose, à côté du C comme
sation de la vitesse de traitement et la réduction des pertes langage descriptif du matériel, d’une innombrable biblio-
d’énergie, permet alors de conformer le matériel instanta- thèque d’IP (des sections de circuits en FPGA prêtes à l’em-
nément sur la surface de silicium. Mais ceci ne revêt qu’une ploi), comme des cœurs de processeur logiciel (unité cen-
importance mineure, en comparaison de l’économie réali- trale de microcontrôleurs réalisable en FPGA), des contrô-
sée et du temps gagné lors du développement. leurs de mémoire et divers composants périphériques.
Voici quelques inconvénients du processus de développe- Dans le voisinage de la synthèse du C au matériel, Altium
ment selon le concept RTL : Designer convertit en C / C++ ISO des programmes écrits
en code RTL synthétisable. Le compilateur génère le circuit
• Le niveau d’abstraction est plus bas : là où un programme au départ d’une liste d’unités fonctionnelles et de leurs pro-
écrit en langage de haut niveau demande 100 lignes de priétés (différents types d’additionneurs, d’unités arithméti-
code, celui en RTL en réclame environ 1 000. ques et logiques, de MAC, de diviseurs, et ainsi de suite).
En plus, il cherche à en améliorer la performance, éventuel-
• Les possibilités de réutiliser du code sont rares : en RTL, la lement par la mise en parallèle de fonctions qui répondent
structure du système doit y être décrite explicitement. à la description.
Les facultés d’optimisation sont minces ; en RTL, l’optimi- Les avantages de la synthèse du C au matériel se révèlent
sation se déroule à un niveau inférieur du système, alors spécialement utiles quand il y a des coeurs de processeurs
qu’une optimisation au niveau du système global est plus intégrés en FPGA. Le code C peut alors être exporté du pro-
performante, en puissance comme en coût. cesseur ou bien converti en RTL. On trouve en Altium Desi-
48 elektor - 2/2009
es FPGA
entre C et matériel Figure 1.
Une fonction C est associée
au système par un symbole
en code C et convertie en
gner le compilateur pour le logiciel enfoui et la synthèse du bloc FPGA.
C au matériel étroitement associés. Une sélection des fonc-
tions qu’on attend du processeur et des circuits qui doivent
y être intégrés ne demande que quelques clics de souris.
Double accès
Il y a, en principe, deux manières de mettre en oeuvre le
compilateur du C au matériel.
1. Pour le développement de blocs fonctionnels, on utilise
le compilateur pour traduire en matériel des fonctions en
C individuelles. On y associe le code C à l’aide de sym- Figure 2.
boles. Le résultat est un bloc FPGA que l’on peut relier à Sélection du type de circuit
d’autres blocs du circuit, lesquels peuvent par exemple être (combinatoire ou à cycle
constitués de composants VHDL, Verilog ou des IP préala- multiple) pour un symbole
blement synthétisés, en définissant les entrées et les sorties en code C.
(figure 1).
Le bloc du processeur d’applications spécifiques (ASP Block) L’ASP a aussi accès à la même mémoire que le processeur,
fonctionne ici comme interface entre les opérations exécu- ce qui fait que les variables communes aux fonctions logi-
tées dans le matériel et les autres, qui tournent sur le pro- cielles et matérielles restent disponibles. Le logiciel peut
cesseur du programme en C. Si une fonction matérielle est alors fournir à l’ASP un pointeur vers l’adresse de mémoire
appelée par le programme enfoui, le processeur passe les où se trouvent les valeurs des paramètres de la fonction.
valeurs des paramètres à l’ASP qui lance alors la fonction La configuration du Block ASP est simplifiée par une boîte
et, après récolte du résultat, arrête le programme. de dialogue (figure 4). Au-dessus, à gauche, une liste
2/2009 - elektor 49
TECHNIQUE PROGRAMMATION
Figure 4.
Configuration intuitive d’un
bloc ASP pour la synthèse
du C au matériel.
50 elektor - 2/2009
d’origine, aux circuits logi-
ques en FPGA (figure 6).
Pour l’exemple du dé 3D,
à côté de l’écran TFT, l’hor-
loge, la mise à zéro, un
afficheur à LED et deux
bancs de SRAM sont ainsi
mis à disposition. Le docu-
ment descriptif du circuit à
FPGA a été produit auto-
matiquement au moyen de
symboles de blocs hiérar-
chisés dans le schéma et
rattachés aux ressources
de la NanoBoard.
La NanoBoard
En plus du logiciel de développement électronique
Altium Designer, qui prend en charge la concep-
tion du circuit, le développement du logiciel enfoui
et la réalisation des solutions FPGA, Altium pro-
pose une plateforme matérielle reconfigurable, la
NanoBoard [2].
Les platines de périphérie interchangeables de la
NanoBoard autorisent une large palette de fonctions
d’E/S et de matériel. Avec le secours des cartes filles
interchangeables (Swappable Daughter Boards), il
est aisé de tester différents FPGA et processeurs pour
le développement d’un premier prototype.
2/2009 - elektor 51
TECHNIQUE PROGRAMMATION DE PC
C plus que C
Programmes pour PC avec .NET et C#
première partie
Veikko Krypczyk
Les électroniciens sont souvent contraints d’écrire de (petits) programmes pour PC, par
exemple pour évaluer des mesures. L’infrastructure .NET (.NET Framework) pour les ordinateurs
Windows s’y prête à merveille. Elle supporte divers langages, épargne le gros du travail au
programmeur et – avec l’environnement de développement compris – ne coûte pas un centime.
Notre petite introduction est basée sur le langage C# qui offre de nombreux avantages.
L’électronicien actuel tend à se métamorphoser de plus en Un programme est toujours traduit dans le même langage
plus en un concepteur de logiciel. Il lui faut par exemple intermédiaire, quel que soit le langage source. Ce langage
programmer un microcontrôleur. Notre électronicien doit intermédiaire est exécuté ensuite par l’environnement d’exé-
aussi fréquemment écrire de (petits) programmes pour PC. cution .NET (il s’agit plus précisément d’une seconde com-
Ceux-ci transmettent des données de commande par une pilation lors du lancement du programme). L’utilisation de
interface de sortie, affichent des mesures, etc. Dans d’autres ce « Common Intermediate Language » offre une meilleure
cas, il faudrait adapter ou étendre un logiciel existant. sécurité. Il permet aussi de programmer indépendamment
Le développement de logiciel dépend bien entendu très du système d’exploitation – le remplacement de l’environne-
largement de la plate-forme choisie et du système d’ex- ment (léger) d’exécution suffit à assurer l’adaptation.
ploitation. Cette série d’articles concerne la réalisation de
programmes conçus au départ (et à l’arrivée) pour fonc-
tionner avec Windows XP et Vista de Microsoft. Ces pro- C à la sauce Microsoft
grammes reposent sur une bibliothèque d’exécution nom- Parmi les langages disponibles pour .NET Framework, on
mée « .NET Framework » (prononcer « dotnet ») contenue compte Visual Basic for .NET (de Microsoft) ou Delphi for
en standard dans Vista et disponible gratuitement pour XP. .NET (d’Embarcadero Technologies). Un aperçu des langa-
Les possesseurs d’une version de Windows plus ancienne ges compatibles avec .NET Framework est disponible par
ne repartent toutefois pas les mains vides. Les pages de exemple sous [2].
support de Microsoft constituent la case départ d’une solu- Ces deux langages ont été tout au plus adaptés à .NET
tion praticable. N’oublions pas de mentionner aussi une (VB.NET n’est en effet pas entièrement compatible avec
version source ouverte de .NET Framework. Cette infras- le VB classique. Le code source de VB6 peut toutefois être
tructure dénommée « Mono » [1] tourne même sur des ordi- adapté sans trop d’effort). Le langage C# (autrement dit :
nateurs Linux ! C Sharp) représente par contre une réalisation entièrement
nouvelle de Microsoft. La complexité des langages C et
C++ qui rebute tant de débutants n’a pas sa place dans
Classes comme modules de programmation C#. L’arithmétique des pointeurs, par exemple, haïe par de
L’introduction de .NET Framework a considérablement modi- nombreux programmeurs, a raté le coche. De nombreux
fié le développement du logiciel Windows. Simplement dit, concepts efficaces et conviviaux provenant d’autres langa-
il s’agit d’une riche bibliothèque de classes de base. Elle ges ont été introduits en contrepartie. Un autre facteur parle
offre des concepts et des solutions de base pour un grand en faveur de ce dérivé de C. Une infrastructure .NET Fra-
nombre de problèmes, ce qui simplifie d’autant la tâche du mework très compacte est disponible pour la programma-
programmeur. En outre, .NET Framework a coupé l’herbe tion des microcontrôleurs. Elle comporte même un compila-
sous les pieds des adeptes de la discussion (oiseuse) sur le teur gratuit – pour C# [3] !
« meilleur » langage de programmation. Le choix du lan- Notre série ultracourte ne comporte que deux parties. Elle
gage est devenu secondaire, car les classes de base sont ne peut pas prétendre être un cours sur C#, mais peut servir
les mêmes et il existe même un système de types commun. au lecteur à évaluer l’opportunité d’un passage à C#. Dans
52 elektor - 2/2009
Quelques concepts 4. Le type des données est un préfixe de la déclaration et de
l’initialisation des variables :
linguistiques du langage C# int Nombre = 5;
string texte = « Une chaîne de caractères »;
5. Opérations de base : +, -, *, /
Vous reconnaissez peut-être quelques éléments linguistiques
de C# déjà présents dans d’autres langages. Consultez 6. On dispose des boucles for, while, do et foreach. Cette der-
l’assistance en ligne [6] pour toute question ayant trait à la nière boucle permet d’effectuer une itération sur des objets
syntaxe. appartenant à une collection.
7. Les structures de choix sont : if, else if, else et switch (…)
case.
1. C# distingue entre majuscules et minuscules. La variable
« nombre » est différente de la variable « Nombre ». 8. Les types de données définis par l’utilisateur sont déclarés
par le mot clé struct (les classes définies par l’utilisateur sont
2. La présence de // indique que la suite est un commentaire signalées par class) :
d’une ligne ; /*…*/ marque la limite d’un commentaire de struct Enregistrement
plusieurs lignes. {
3. Les principaux types de données élémentaires sont : byte, int age;
int, float, double, decimal et string. string nom;
}
cette partie-ci, nous développerons un premier petit pro- est créé par l’IDE après la confirmation par OK. Le résul-
gramme au moyen de l’environnement de développement tat apparaît instantanément sur l’écran. Vous doutez qu’il
Visual Studio (téléchargement gratuit). La seconde partie s’agisse déjà d’une application complète ? Faites-lui faire
sera consacrée à quelques éléments de l’orientation objet un galop d’essai (menu Déboguer | Exécuter ou cliquez sur
qui forment la base de .NET Framework et de C# lui-même. la flèche verte de la barre d’outils, voir la figure 2). À vrai
Un exemple de graphique 2D issu de la pratique nous
permettra d’aborder une application qui devrait intéresser
particulièrement les électroniciens.
C’est parti !
Il faut configurer l’ordinateur avant de procéder à la réali-
sation. Il est indispensable de disposer d’un compilateur C#
pour traduire le code source. Un simple éditeur suffit déjà
pour la saisie du code. Il est toutefois préférable et plus
convivial de faire appel à un environnement de développe-
ment intégré (Integrated Development Environment = IDE).
On est confronté à deux possibilités. Microsoft offre d’une
part le téléchargement gratuit de l’édition « Express » de Figure 1.
Microsoft Visual Studio. Cette version n’offre qu’une fonc- Création simple d’une
tionnalité limitée par rapport aux versions professionnelles. application Windows
Cela se remarque à peine tant que les projets sont d’en- (squelette) avec l’assistant.
vergure réduite à moyenne. Chaque édition Express est
prévue pour un langage spécifique (C#, Visual Basic for
.NET ou C++). Un outil supplémentaire (Visual Web Deve-
loper Express) permet d’effectuer des travaux de dévelop-
pement pour le Web. Visual C# Express dans la version
2008 est le bon choix pour notre minisérie. Se référer à [4]
pour des informations sur les produits mentionnés et pour
le téléchargement.
Une alternative gratuite source ouverte, Sharp Develop [5],
est également disponible. Elle offre aussi la possibilité de
programmer en C#. Il faut que .NET Framework SDK
(Software Development Kit) soit installé.
2/2009 - elektor 53
TECHNIQUE PROGRAMMATION DE PC
Commande d’interfaces
L’électronicien peut se demander comment piloter les interfa- public class PortAccess
ces du PC le reliant au hardware. Le concept de sécurité as- {
socié à .NET (pour ordinateur de bureau) est prévu pour que [DllImport(«inpout32.dll», EntryPoint=»Out32»)]
les interfaces ne soient pas directement pilotées à partir du public static extern void Output(int adress, int value);
programme de l’utilisateur. }
Le programme d’application C# .NET ou VB .NET se fiera da- La directive Using sert à inclure les bibliothèques des classes
vantage au pilote Windows prévu à cet effet. Dans la plupart de base. L’accès au pilote est alors encapsulé dans une classe
des cas, il faut tout d’abord installer celui-ci. Le fabricant four- définie par l’utilisateur dénommée PortAccess. Une méthode
nit souvent le pilote avec le matériel acheté (c’est le cas avec « Output » y est définie. Elle comporte 2 paramètres (adresse
de nombreux appareils de mesure). du port parallèle, par exemple décimal 888 pour LPT1, ainsi
La programmation d’un pilote est proche du hardware. Cela que la valeur de sortie désirée). Les paramètres sont passés
veut dire que C++, par exemple sera plus approprié sous dans la classe au sous-programme Out32 faisant partie de
Windows. Faute de place, il nous faut renoncer à nous enga- inpout32.dll. Le sous-programme place finalement un octet
ger plus avant dans le sujet de la programmation d’un pilote. sur le port parallèle.
Nous donnerons toutefois un petit exemple d’appel d’un pi- Une fois la classe implémentée, l’application C# permet d’en-
lote pour interface parallèle. La simplicité de cette dernière voyer commodément des données sortantes, par exemple :
lui a permis de survivre jusqu’à nos jours dans de nombreux
circuits. PortAccess.Output(888, 255);
L’exemple est dû à Levent Saltuklaroglu [8] et repose sur le Encore plus simple ? L’interface sérielle. Les versions de
pilote bien connu inpout32.dll téléchargeable gratuitement .NET Framework à partir de 2.0 offrent en effet la classe Sy-
en [9] : stem.Io.Ports.Serialport qui permet d’accéder à l’interface sé-
rielle sans même devoir lier un fichier .dll. Consultez la docu-
using System; mentation en ligne [10] pour de plus amples informations.
using System.Runtime.InteropServices;
54 elektor - 2/2009
Les valeurs des zones de texte (de type chaîne de caractère)
sont tout d’abord lues et converties en un nombre. C’est
le rôle de la méthode float.Parse. Le résultat de l’addition
effectuée ensuite est attribué à la zone de texte dénommée
textBoxResult. Plus précisément, la zone de texte affiche
la valeur du résultat quand la valeur « result.ToString » est
attribuée à la propriété « Text ». Comme on le voit, les pro-
priétés des éléments de l’interface utilisateur peuvent être
modifiées lors de la conception du programme (comme
ci-dessus), mais aussi à partir du programme. C’est pour- Figure 5.
quoi le nom de l’élément de l’interface utilisateur doit être Le système d’aide constitue
suivi d’un point, puis du nom de la propriété (textBoxRe- un véritable « ouvrage de
sult.Text). référence » des classes
Il faut convertir préalablement le résultat (un nombre en de base.
format virgule flottante de type « float ») en une chaîne
de caractères pour qu’il puisse être affiché dans la zone
de texte. C’est pourquoi le nom de la variable « result »
apparaissant dans le code doit être suivi d’un point et du
nom de la méthode (ToString). Vous venez de faire appel
à la programmation orientée objet en spécifiant les pro-
priétés et en utilisant les méthodes de l’objet « textBoxRe-
sult » de la classe « Textbox ». Il pourrait difficilement en
être autrement car l’orientation objet forme la base de
C# (et VB.NET) : Les éléments de l’interface utilisateur ne
sont donc pas les seuls à être des objets. Toute variable
en est un ! Figure 6.
Soutien interactif du
programmeur par
Étapes suivantes… « IntelliSense ».
Une fois démarrée, l’application devrait être similaire à la
figure 4. Rien n’interdit de continuer à programmer : une
calculette maîtrisant les 4 opérations ne devrait pas poser la pratique : la programmation des graphiques vectoriels
un trop grand défi. en 2D.
Pour qui a pris son pied avec C#, n’importe quelle librairie Le code source des exemples se trouve sur le site Web
bien achalandée offre un vaste choix de littérature spécia- d’Elektor [7].
lisée destinée tant aux novices qu’aux utilisateurs avancés. (080668-I, trad. Softcraft)
Le nombre de livres sur C# dépasse largement celui des
livres sur VB.NET (et sur VB, toujours plus en recul). Les
solutions des problèmes .NET dans les revues techniques
destinées aux concepteurs ou sur Internet sont presque tou- Liens sur le Web
jours décrites en C#. [1] www.mono-project.com/Main_Page
Comme nous l’avons déjà fait remarquer, les programmeurs
[2] dotnetframework.de/dotnet/produkte/sprachen.aspx
.NET ne doivent pas tout programmer eux-mêmes. Ils dis-
posent en effet d’une énorme bibliothèque de classes .NET- [3] www.elektor.fr/080450
(tous les objets sont répartis dans des « classes » qui déter- [4] msdn.microsoft.com/fr-fr/express/default.aspx
minent leurs propriétés et leurs méthodes). La documenta-
[5] www.icsharpcode.net/OpenSource/SD
tion (en ligne) de l’entreprise ayant créé le langage [6]
peut servir d’ouvrage de référence. Visual Studio comporte [6] msdn.microsoft.com/fr-fr/vcsharp/default.aspx
une partie de l’assistance en version « offline » (attention : [7] www.elektor.fr/080668
très exhaustif !). Tous les éléments d’une classe (méthodes,
[8] www.codeproject.com/KB/cs/csppleds.aspx
propriétés, événements) sont décrits (figure 5). On trouve
souvent des exemples d’application classés selon le lan- [9] logix4u.net/
gage de programmation utilisé. Comme on dispose fré- [10] msdn.microsoft.com/fr-fr/library/system.io.ports.serialport.
quemment de plusieurs possibilités d’appeler les méthodes aspx
d’une classe (override, autrement dit surcharge), il devient
souvent indispensable de consulter la documentation. Par
exemple, la méthode « Show » de la classe MessageBox
(affichage d’une boîte de dialogue) dispose en tout d’un À propos de l’auteur
grand nombre (20 !) de méthodes d’appel. Celles-ci se dis-
Veikko Krypczyk a étudié l’informatique de gestion. Ce mor-
tinguent par les paramètres transmis lors de l’appel.
du de l’informatique consacre depuis plusieurs années ses
La fonctionnalité « IntelliSense » de l’environnement de efforts au langage C# et à .NET Framework. Il s’intéresse
développement (figure 6) s’avère très utile lors de la saisie particulièrement au logiciel d’application et à la conception
du code source. Il suffit par exemple de saisir le nom d’un d’applications graphiques en 2D (vous pourrez suivre son
objet d’une classe particulière pour que toutes ses proprié- projet actuel sous http://easy-grafiker.de). Il se métamorpho-
tés et méthodes s’affichent de manière interactive. se régulièrement en bricoleur électronicien, s’arme d’un fer à
La seconde partie de cette série d’articles sera consacrée souder et s’essaie à quelque projet intéressant. Vous pouvez
à un bref aperçu de la programmation orientée objet. Elle le joindre par courriel sous veikko2000@yahoo.de.
sera consacrée à un sujet touchant de près au domaine de
2/2009 - elektor 55
PRATIQUE TEST & MESURE
Hygromètre program
Mesure du taux d’humidité relative et com
Une application pratique du microcontrôleur PICBASIC PB-3B
La gamme PICBASIC du coréen Comfile Technology compte huit PIC programmables en langage BASIC.
Le PICBASIC-3B utilise un PIC16C876 et quelques composants discrets. C’est le composant idéal pour
débuter dans la programmation des microcontrôleurs sans assembleur ni langage C.
Faute de place, nous nous conten- codes hexadécimaux par seconde, ce • Relatives à un octet appelé « Bloc 1 »,
tons ici de survoler la gamme dont les qui compense la lenteur du langage les huit entrées/sorties I/O8 à I/O15
huit références se distinguent entre BASIC. Son boîtier à 28 broches dis- sont disponibles sur les broches 11
elles par le PIC utilisé, la capacité de pose de 21 ports d’entrées/sorties (fig. à 18. Les broches 12 (PWM0) et 13
mémoire de programme et de mémoire 2). La figure 3 met en évidence les par- (PWM1) produisent des signaux à
vive, le nombre d’entrées/sorties et la ticularités suivantes : largeur d’impulsion modulée (PWM :
vitesse d’exécution des instructions en • Active au niveau logique bas (0 V), la Pulse Width Modulation) afin de
fonction du quartz utilisé (fig. 1). broche 1 remet le module à zéro. commander la vitesse de moteurs
Grâce au langage BASIC, la mise en • Les ports 0 à 3 (br. 2 à 5) peuvent à courant continu (par l’instruction
œuvre et la programmation de ces modu- être utilisés en entrées (I0 à I3), en BASIC PWM).
les PICBASIC sont simples ; un PC avec sorties (O0 à O3), ou bien encore • La tension d’alimentation est appli-
le logiciel de développement gratuit PIC- en entrées analogiques (AD0 à quée aux broches 19 et 20.
BASIC Studio suffit. C’est ce logiciel qui AD3). Dans ce dernier cas, la réso- • Les broches 21 à 25 sont des entrées/
transformera le programme BASIC en lution est de 10 bits : 5 V sur une sorties ordinaires.
code hexadécimal, que l’on transfèrera entrée seront convertis en la valeur • La sortie PICBUS (br. 26) communi-
ensuite dans la mémoire du module PIC- binaire 11 1111 1111 (=1023). que avec des périphériques, par ex.
BASIC au moyen d’un cordon raccordé • L’entrée CLKIN ( br. 6) est une entrée un afficheur LCD.
au port imprimante ou USB de l’ordi- de comptage (fréquence max. 20 kHz) • Les broches 27 (PCIN) et 28 (PCOUT)
nateur. Une fois le code chargé dans le associée à un compteur de 16 bits servent à charger le code hexadéci-
module, celui-ci pourra être autonome. (comptage entre 0 et 65535). mal du programme BASIC compilé.
• La fréquence de fonctionnement du Les ports sont TTL : niveau logique
PIC16C876 interne est donnée par un HAUT au-dessus de 1,4 V et niveau
Le µC PICBASIC PB-3B quartz (20 MHz) et deux condensa- logique BAS en dessous de 1,3 V, ou à
Vendu environ 30 € il traite 56 000 teurs (22 pF). trigger de Schmitt (ST) : niveau HAUT
au-dessus de 3,4 V et niveau BAS en
PB-1B PB-1S PB-2S PB-2H PB-3B PB-3H PBM-R1 PBM-R5 dessous de 3,3 V.
Gamme PB PB PB PB PB PB PBM PBM Pour les ordinateurs sous Windows XP,
Mémoire prog. 2K 4K 8K 16 K 4K 4K 32 K 64 K il faut un câble adapté au port impri-
Mémoire RAM 96 octets 96 octets 96 octets 96 octets 79 octets 79 octets 8K 32 K mante du PC ou à la prise USB.
Ports E/S 16 16 27 27 21 29 34 34
CPU PIC16C73 PIC16C73 PIC16C74 PIC16C74 PIC16F876 PIC16F877 PIC16F877 PIC16F877
Fréq. quartz 4,19 MHz 4,19 MHz 4,19 MHz 20 MHz 20 MHz 20 MHz 20 MHz 20 MHz
Logiciel PICBASIC Studio
Vitesse* 13,1 fois 13,9 fois 13,9 fois 3,1 fois 1 fois 1 fois 1,4 fois 1,4 fois Dans le cadre de cet article nous n’en-
EEPROM
– – – – – – 8K 32 K
trerons pas dans le détail du logiciel de
pour données développement. PICBASIC Studio est
Nb de broches 21 21 34 34 28 40 40 40 téléchargeable gratuitement sur le site
Conv. A/N 5 5 8 8 5 8 8 8 du constructeur ou celui du distribu-
(résolution) (8 bit) (8 bit) (8 bit) (8 bit) (10 bit) (10 bit) (10 bit) (10 bit)
teur, de même que le manuel d’utilisa-
A/N 12 bits – – – – – – – 2 canaux
tion. Ses fonctions principales :
Sorties PWM 2 2 2 2 2 2 2 2
(résolution) (8 bit) (8 bit) (8 bit) (8 bit) (8 bit) (8 bit) (10 bit) (10 bit) • Un éditeur pour saisir les program-
Buffer RS232 – – – – – – Disponible Disponible mes en langage BASIC.
Horloge RTC – – – – – – – Disponible • Un module de téléchargement pour
le transfert (port parallèle ou USB du
Figure 1. Vue d’ ensemble de la famille PICBASIC. Cet article se contente d’ une application du PB-3B. PC) du programme compilé vers la
56 elektor - 2/2009
mable Gérard Guihéneuf & René De Misy
2/2009 - elektor 57
PRATIQUE TEST & MESURE
58 elektor - 2/2009
+5V Figure 7. Le schéma de l’hygromètre construit sur le PICBASIC
PB-3B et le capteur HIH 4000 est simple tout comme la
programmation en BASIC. Compte tenu toutefois du fait que
R2 R3 R4 C5 R6 R5
le circuit commande un humidificateur domestique alimenté
100k
100k
100k
10k
10k
100n sous 230 V, il faut impérativement respecter les règles de
20 précaution contre les chocs électriques !
VCC J1
K3 1 28
RESET PCOUT
LCD1
D3 Vers PC
7 IC3 27
AD4 PCIN
19 2
GND GND O0
R8 R9
1 D4 K4
HIH 4000 C11
390 Ω
180 Ω
8 25 230V
2 4 6 GND O7
100n
L
K2 OSCIN OSCOUT
9 10 1 IC4 6
X1 BZ1 R7
S1 S2 S3 C6 C7 C8 Vers
humidificateur
1k5
TRI1 R10
47n 47n 47n
47 Ω
C9 20MHz C10
2 4
N
1 3 5 22p 22p 230V
MOC3021 TIC225
081033 - 11
1k5
C1 C2 C4 C3
N
D2
1000 100n 10n 220
081033 - 12
Analyse du schéma
La mesure de l’humidité est assurée 100⋅VOUT
par le capteur HIH 4000 de Honeywell, Vs −1600 Le capteur HIH 4000 (IC2) est raccordé
sous forme d’un boîtier en plastique à RH = à l’entrée analogique AD4 du PICBASIC
trois broches (fig. 6) qui fournit une 62 (fig. 7). Un triple bornier à vis permet
tension entre 0 V et +5 V proportion- avec VOUT en centièmes de volt. le raccordement d’un capteur déporté
nelle à l’humidité relative mesurée. Exemple : si l’entrée AD4 du PB-3B à l’extérieur du circuit imprimé. Les
Cette plage de tension est directement voit une tension de 2,5 V issue du cap- entrées I1, I2 et I3 du PB-3B recueillent
compatible avec les entrées analogi- teur HIH 4000 alimenté sous VS = 5 V, les informations issues des trois pous-
ques du module PB-3B. l’exécution de la ligne 1230 du pro- soirs S1 (incrémentation), S2 (décré-
Contrairement à d’autres capteurs gramme (se reporter au listing) attri- mentation) et S3 (validation/initialisa-
d’humidité résistifs ou capacitifs, le buera à cette tension la valeur 250 tion). Des résistances de polarisation de
HIH 4000 mesure tous les taux entre (centièmes de volt) tandis que la ligne 100 kΩ (R2, R3 et R4) et des condensa-
0% et 100%, selon l’expression mathé- 1240 la convertira en un taux d’hygro- teurs de découplage de 47 nF (C6, C7
matique suivante : métrie de : et C8) atténuent les parasites.
VOUT = VS × ((0,00062 × RH) + 0,16) 100⋅250
La LED D4 à faible consommation (IF
avec RH : taux d’humidité relative en − 1600 = 2 mA) est directement raccordée à
% (hygrométrie).
RH = 5
= la broche O0 du PICBASIC et, en cli-
62
gnotant, témoigne du fonctionnement
Il faut encore jongler un peu pour que 5000 −1600 de l’hygromètre. Pour commander un
le PICBASIC, qui ne connaît que des = 54% humidifi cateur sous 230 V, la sortie
nombres entiers positifs, s’en accom- 62 O11 du PB-3B active un opto-triac
mode : (IC4) qui lui-même commande un triac
de puissance (TRI1).
2/2009 - elektor 59
PRATIQUE TEST & MESURE
Réalisation pratique Si la puissance de l’humidificateur com- Mettre sous tension (230 V) le circuit
L’ensemble des composants tient sur mandé demande un courant de l’ordre de imprimé en alimentant les bornes 1 et
un circuit imprimé simple face de 130 2 A, étamer les pistes du circuit imprimé 3 de K1 : la diode électroluminescente
x 100 mm (fig. 8). Le tracé est téléchar- qui aboutissent au bornier K4, à l’aide de D2 s’allume. Vérifier la tension de 5 V
geable sur notre site. Si le capteur est soudure et d’un fer à souder. entre les broches 20 (+) et 19 (−) du
monté en-dehors du circuit imprimé, on support de IC5.
le raccorde à K3. L’afficheur LCD1 est Hors tension : raccorder l’afficheur
monté sur le circuit imprimé à l’aide
Essai – Mise au point LCD au connecteur J2 avant de relier
d’entretoises de 35 mm. Le buzzer Bz1 Conditions initiales : le circuit intégré le câble de programmation à J1.
n’apparaît pas sur la figure 9 où il est IC3 (PICBASIC PB-3B) n’est pas inséré Mettre le montage sous tension : un
caché par l’afficheur, comme D3 et C5. dans son support et l’afficheur LCD curseur fixe s’affiche alors sur l’affi-
Ces composants sont sur le plan d’im- n’est pas raccordé à (J2). L’humidifica- cheur LCD.
plantation sans afficheur dans la ver- teur n’est pas raccordé au bornier K4 et Transférer le programme dans le micro-
sion téléchargeable sur notre site. celui-ci n’est pas alimenté sous 230 V. contrôleur PICBASIC pour constater
Figures 8 et 9. Implantation des composants et prototype : l’implantation du capteur HIH 4000 sur le circuit imprimé est optionnelle ; il est également possible de raccorder un capteur déporté (bornier K3).
60 elektor - 2/2009
Lecture commentée la saisie du seuil bas de fonctionnement de
la sortie statique. Ainsi, avec une valeur af-
l’incrémentation, la décrémentation et la
validation de la consigne « seuil haut » ; le
de l’extrait du programme fichée par défaut de 50%, ce seuil bas peut nouveau seuil est validé s’il est supérieur au
être incrémenté par S1 (ligne 45). À l’inverse, seuil bas saisi auparavant (instruction SH >
La version intégrale est téléchargeable sur
il est possible de décrémenter la valeur du SB). Ensuite, la gestion du fonctionnement de
le site. La vocation de cet extrait (environ la
seuil bas avec S2 (ligne 46). Une fois la l’hygromètre s’appuie sur un Grafcet à deux
moitié du programme) est de montrer la sim-
valeur du seuil bas ajustée, S3 ordonne la étapes (omis ici faute de place). De façon al-
plicité de la programmation en BASIC.
validation de la consigne saisie (ligne 47). ternée, l’hygromètre affiche le taux d’hygro-
La ligne 37 ordonne la mesure et l’affichage
De la même manière, la saisie du seuil haut, métrie ambiante (sous-programmes 1100-
du taux d’hygrométrie ambiante (effectuée
qui conditionne l’arrêt automatique de la 1120 et 1200-1250) ou les seuils hauts et
par les sous-programmes 1200-1250 et
sortie de l’hygromètre, s’effectue à partie de bas programmés (renvoi au sous-programme
1100-1120). À partir de la ligne 41 s’opère
la ligne 51. Les lignes 55, 56 et 57 gèrent 1000-1030.
l’affichage pendant 5 s du message tation 230 V sur les bornes K4-1 et K4-4 numérique, Capacimètre, Luxmètre,
«***Hygrometre *** / © ELEKTOR avant de connecter un humidificateur CO-mètre, Centrale d’alarme, Grada-
2009 » : le programme a commencé entre les bornes K4-2 et K4-3. teur à deux voies, Centrale/domotique,
son exécution. Appuyer sur S3 pour initialiser l’hygro- Disjoncteur/programmable, Variateur
Un premier affichage du taux d’hygro- mètre afin de programmer de nouveaux de vitesse/à commande PWM.
métrie ambiante intervient (5 s). seuils bas et haut proches de la valeur (081033-1)
Appuyer sur les poussoirs S1, S2 et S3 du taux d’hygrométrie ambiante. En
pour configurer puis valider le seuil fonction de ce taux et des deux seuils www.comfile.co.kr/english2/
bas de fonctionnement de la sortie sta- programmés, la sortie statique de www.lextronic.fr
tique de l’hygromètre. La même pro- l’hygromètre active ou non l’humi-
cédure permet de saisir et valider la dificateur associé pour obtenir une
consigne du seuil haut qui ordonnera pseudo-régulation du taux d’hygro-
l’arrêt de l’humidificateur. métrie : l’hygromètre programmable
L’hygromètre affiche alternativement réalisé est opérationnel !
les deux consignes (seuils bas et
haut) saisies et le taux d’hygrométrie
ambiante. Si ce taux se situe entre les
Conclusion
deux seuils programmés, la sortie sta- Par sa simplicité, cette réalisation mon-
tique de l’hygromètre est au repos. Il tre que la mise en œuvre des microcon-
est alors possible de mettre en mar- trôleurs est à la portée de tous. Vous
che la sortie statique en appuyant sur retrouverez le PICBASIC PB-3B dans le
S1, puis d’en ordonner l’arrêt avec S2. nouveau livre « 12 applications prati-
A défaut d’un arrêt ordonné par S2, le ques pour maîtriser le PICBASIC PB-
simple fait de souffler sur le capteur 3B » dont le titre est à lui seul un pro-
HIH 4000 entraînera également un gramme, qui couvre les domaines de
arrêt de la sortie statique à condition la mesure, de la domotique, de la pro-
d’avoir saisi un seuil haut d’hygromé- tection des biens, de l’automatisme ou
trie de l’ordre de 70% ! bien encore de l’électronique de puis-
Alors que la sortie statique de l’hygro- sance : Automate programmable, Ther-
mètre est à l’arrêt, raccorder l’alimen- momètre, Station météo, Alimentation/
2/2009 - elektor 61
INFO & MARCHÉ ELEKTORLIVE! 2008
62 elektor - 2/2009
BANC D’ESSAI INFO & MARCHÉ
Je n’aurai jamais envisagé l’utilisation niers couvrent les liaisons uni- ou bidi- suffit pour un transfert de données.
d’un coupleur 3 piles AA ou d’autres rectionnelles utilisant les protocoles Les possibilités offertes par ce sys-
composants volumineux jusqu’à ce que Shockburst, avec ou sans acquittement. tème vont bien au delà de celles que
j’ouvre le kit radio v2.1 de Decibit. C’est Il y a même une démo type ping-pong proposent habituellement les modules
pour sûr grâce aux minuscules modu- permettant d’évaluer la portée des E/R E/R « passifs » réagissant à des com-
les transmetteurs (25 x 10 mm) équi- en se baladant (j’ai pu atteindre jusqu’à mandes style AT - les modules Decibit
pés de CI plus petits encore (5 x 5 mm 50 m en intérieur et extérieur). On peut DCBT-24 peuvent être contrôlés depuis
et 4 x 4 mm). voir (enfin, deviner) les actions d’envoi/ (ou devrait-on dire jusqu’à ?) l’assem-
Decibit s’appuie sur des techni- renvoi de données sur les LED des TP. bleur AVR ce qui les rend très intéres-
ques éprouvées : un microcontrôleur sants pour les développeurs créant des
ATMega168 d’Atmel en duo avec une applications de télécommande radio « à
puce transceiver nRF24L01 de Nor-
Outils de développement la mode de l’embarqué ».
dic Semiconductor forment la partie Le programmateur USB du kit est un
CI d’une série de modules émetteur/ vrai joyau qui vous permettra de mettre
récepteur (E/R) intelligents opérants votre propre code dans l’ATMega des
Un large choix de modules
sur 2,4 GHz (bande ISM), programma- modules. Les ingrédients : le logiciel de En plus du module E/R DCBT-24AX se
bles in-situ et disposant de la faculté programmation Decibit ; AVRasm2 d’At- trouvant dans le kit, Decibit fournit les
remarquable de permettre l’utilisation mel, le compilateur C/C++ WinAVR modules suivants :
de vos propre micrologiciels. ainsi qu’un pilote USB. Si vous pouvez • DCBT-24N (E/R basse conso de très
faire écrire « hello world » à l’ATMega, petite taille) ;
vous êtes en mesure de dialoguer avec • DCBT-24B (E/R basse conso avec
Du Plug & Play à l’assembleur AVR l’E/R des modules Nordic de la même prise antenne externe) ;
Actuellement (déc 2008) affiché à $69, manière qu’avec un périphérique tel un • DCBT-24C-PA (80 mW E/R amplifié
ce kit possède un fort potentiel pédago- afficheur LCD. Par exemple, un CALL avec un connecteur antenne SMA) ;
gique ; il y a beaucoup à faire et à décou- • DCBT-24R6 (télécommande porte-clé
vrir pour des gens de tous niveaux. 6 touches).
Les écoles, par exemple, peuvent sui- Les modules sont disponibles en plu-
vre l’approche plug & play : installer le sieurs versions matériel/logiciel que
contenu du CD sur le PC ; brancher les les clients peuvent préciser grâce au
modules sur le programmateur USB et très complet système de numérotation
lancer la programmation d’un fichier des produits.
fourni. Puis, insérer les modules pro- Selon Decibit, les certifications FCC et
grammés dans les TP (testeurs porta- ETSI sont en cours pour les produits
bles), appuyer sur une touche d’un des de la gamme DCBT-24. Des modules
TP et observer les LED sur le deuxième avec plus de broches ou basés sur les
situé à l’autre bout de la classe. dernières technologies AVR comme
Les plus expérimentés devraient jeter XMEGA sont en route même si, pour
un œil aux exemples mettant en œuvre le moment, l’ATMega168 donne entière
différentes méthodes de transfert de satisfaction.
données et peut-être étendre ou modi- (080868-I, trad. Kévin PETIT)
fier les bouts de codes fournis. Ces der- www.decibit.com
2/2009 - elektor 63
PRATIQUE MESURE & TEST
Traceur de courbes
pour transistors bipolaires
et à effet de champ, sur port USB
Rainer Schuster
Souvent imité, jamais égalé, le traceur de courbes caractéristiques reste bien le seul moyen de tester,
mesurer et apparier des diodes et des transistors. L’ordinateur ayant envahi le labo, il est fait appel
à une petite électronique à microcontrôleur R8C/13 branché sur un port USB, le tout géré par une
application sous Windows.
64 elektor - 2/2009
caractéristiques U/I
tor via les pages qui sont consacrées car seule importe la tension. Pour ne d’impulsion comprise entre 0 et 100%
à la famille R8C de Renesas. pas subir les effets de la capacité de est énergiquement filtré en passe-bas
grille, on a préféré utiliser la plus petite Butterworth du 3ème ordre (C17, C16,
résistance série. C18) via IC5, puis amplifié par IC6.B
Circuit de mesure pour atteindre 10 V au maximum.
Nous nous référons à la figure 2b. Toute Tension d’émetteur ou de drain Le circuit IC8.B effectue l’inversion du
la partie analogique comporte sa propre Le signal TZOUT qui a une largeur signal pour obtenir une tension néga-
alimentation régulée de 12 V et de 15 V
symétriques à partir du secteur.
Les tensions de pilotage (courant de
base et tension collecteur) sont produi-
tes via MLI à 2 kHz filtrée en passe- Sortie Timer Y 10μA
(P3.1) 0...-10V
bas, éventuellement inversées pour les x -1
PWM 2kHz 100μA
bipolaires PNP et les FETS type P. 0...100% Butterworth
Les tensions recueillies (tension collec- 1mA
teur effective et courant de collecteur
0...+10V
mesuré) rentrent dans deux entrées de
conversion A/D du µC, précédés par
Sortie Timer Z
des redresseurs à double alternance. (P3.2) 0...-10V Transistor
x -1 sous
PWM 2kHz Test
Courant de base et tension de grille 0...100% Butterworth x1
Le signal TYOUT qui a une largeur d’im-
pulsion comprise entre 0 et 100% est 0...+10V
énergiquement filtré en passe-bas Butte-
rworth du 3ème ordre (C12, C11, C13) via
IC5, puis amplifié par IC5.B pour attein- Entrée A/N
dre 10 V au maximum. Voir figure 3. AD0
Le circuit IC8.A effectue l’inversion du UCE 0V...+5V
signal pour obtenir une tension néga-
tive égale en valeur absolue.
Le commutateur quadruple IC7 ali-
menté en +15 V et -15 V joue un dou-
Entrée A/N
ble rôle, en choisissant entre la tension AD1
positive de IC5.B ou négative de IC8.A, I C 0V...+5V
et en interposant un jeu de résistances 1Ω
suivant la gamme du courant de base
080068 - 13
qui est de 10 µA, 100 µA ou 1 mA.
Pour le test d’un JFET ou d’un MOS-
FET, peu importe la résistance en série Figure 1. Schéma-bloc.
2/2009 - elektor 65
PRATIQUE MESURE & TEST
VDD
VDD3V3
VDD_PLL
VDD232
1k5
On obtient de la sorte toute la gamme 100n 10μ 20
VDD1 RST
19 100n 10μ 100n
des tensions de collecteur ou de drain, 25V 100mA 1
TXD
25V
5 13
positives et négatives, qu’il ne reste 2
RXD
DTR
EE_CLK
EE_DATA
14
4k7
220k
220k
220k
la tension de base, le courant de base 12MHz
10p
10p
4k7
4k7
4k7
2 GND 12 P3.1 100n
5 21
VSS AVSS 22p
peut être connu de façon mathémati- XOUT/P47 XIN/P46
4 6
que, selon la loi d’Ohm. Il n’y a donc R8 X1 JP1
S1 C8 C3 C12
de base. La grande précision qui est 20MHz
66 elektor - 2/2009
b +5V
R11 +5V
10k R16 V+
R24
R25
R26
R27
10k
C21
C12 C25
6
10k
10k
10k
10k
R15 13
100n 2 7 2
100n R7 IC5.B 10k 100n V+ R21
1 5 1 2 3 R19
R5 R6 IC5.A 10k IC8.A D1 S1 4k7 931k
3 3 15 14 R20
10k 10k D2 S2 4k7
R12 10 IC7 11 R22
C13 D3 S3 4k7
7 6 R23
10k
K1 C11 D4 S4 88k7
19 20 TYOUT 47n DG441DJ
100n 1
17 18 IN1
16
15 16 5 IN2
GND 9
UCEMON 13 14 ICMON IN3
8
11 12 TZOUT IN4
C24
TYOUT 9 10 V–
B/G
7 8 IBPOS IC5 = TL082P 100n 4
IBNEG 5 6 IB100U IC8 = TL082P JP1
+12V
IB100U
IBNEG
IC6 = TL082P
IBPOS
IB1M 3 4 UCEPOS
IB1M
UCENEG 1 2 V-
V+ T3
R13 +5V
10k R17 V+ C29
TZOUT
T1
R28
R29
R30
R31
10k BD139
100n
C17 C27
6 D1
10k
10k
10k
10k
R18 13 R34
2 7 6
100n R10 IC6.B 10k 100n V+ R32 BC547A
1Ω5
1 5 7 2 3 IC10 1N4148
R8 R9 IC6.A 10k IC8.B D1 S1 10k
3 5 15 14 3 7
10k 10k D2 S2 10k R36 C/D
R14 10 IC9 11 6
C18 D3 S3 R33 100 Ω
7 6 2 JP2
10k
V+ C16 D4 S4 R35
47n 4
DG441DJ
1Ω5
C15 C19 C22 1 TL081P D2
100n IN1 T2
16
5 IN2
100n 100n 100n GND
8 8 8 IN3
9 C28 1N4148
IC1 8
IC5 IC6 IC8 IN4
100n BC557A T4
C26 R51
4 4 4 7812 +12V V–
C14 C20 C23
10k
100n 4
R1
UCENEG
UCEPOS
100n 100n 100n
10k
V-
C3 C7
V- V- BD140
F1
D9
K2 FT14 100n 10μ
25V -12V E/S
100mAT
230V
JP3
R40 R39
15V
115V IC2 20k 20k
05A
50Hz V+
7815
B1 R41 R38
VM18 6
R42 10k 10k
R2 UCEMON 7
15V 10k IC11.B 1N4148
10k
115V 5
05A C1 C8 R43
C4 D5
C37
R37
10k
D10 D3 2
2200μ 100n 10μ 10k
35V 25V 22n 1
IC11.A
50 71 64 3
BZX90C5V6 D4
R3
IC11 = TL082P
10k
C2 C5 C9 V+ 1N4148
C6 C10 TL081P
100n 100n 22n R44
R52 D6 2
10k
100n 10μ D12 1
C34
10k
1Ω
100n
IC12 = TL082P
7912 -12V 1N4148 1W
V-
IC4 080068 - 11
Boucle principale
On guette la réception de caractères de caractères ASCII séparés par des Séquencement d’un relevé de
sur l’UART, qui proviennent de la pas- virgules. courbe
serelle USB. Un ordre se termine par la succession On commence par initialiser la ten-
Le PC émet des ordres. La platine habituelle Carriage Return (0x13) et sion de base à 0 V. Puis on commute
répond à ces ordres. Line Feed (0x10) que nous symbolise- la gamme 10 µA pour le courant de
rons par CRLF dans le texte. base.
Un ordre se compose d’une com- Avec des MOSFETs, on préfère dimi-
mande (lettre A…Z) suivie de paramè- Le tableau 3 donne un aperçu de par- nuer la résistance série pour se rap-
tres optionnels qui prennent la forme tiel des commandes supportées. procher d’une attaque en tension, donc
2/2009 - elektor 67
PRATIQUE MESURE & TEST
a b c
Figure 3. Signal MLI en sortie de IC5B avec une modulation à 10% (a), 50% (b) et 90% (c).
en réalité c’est la gamme 1 mA qui est mente jusqu’à ce que le courant de lement élevé, le cycle se termine par
sélectionné. collecteur ou de drain maximum soit la réponse « M2 » CRLF, qui signale la
Une distinction est opérée entre les atteint. Dans le cas d’un transistor présence d’un court-circuit.
JFETS et les MOSFETS au niveau bipolaire, arrivé au bout de la première La commande « K » permet de définir le
du balayage en tension de grille. Le gamme de 10 µA, on passe éventuel- nombre de courbes figurant sur le relevé
balayage en tension de grille com- lement à la gamme suivante (100 µA) de caractéristiques. Par conséquent, les
mence à -10 V pour un N-JFET (+10 V si le courant collecteur maxi n’est valeurs du courant de base s’échelon-
pour un P-JFET). Alors que pour un toujours pas atteint. Puis éventuelle- nent alors régulièrement, avec pour
MOSFET, il commence à 0 V. ment arrivés sans encombre au bout intervalle IBmax divisé par le nombre
de la gamme de 100 µA, on passe à la de courbes. On arrive donc à un testeur
En ce qui concerne la tension collec- gamme de 1 mA. intelligent qui s’adapte au composant
teur ou la tension de drain, on pourra avant de le tester en détail.
aller de 0 à 10 V. Si le courant de collecteur ou de drain Si aucune erreur n’a été constatée
n’a pas pu atteindre la valeur limite, le durant cette phase d’apprentissage, le
Une séquence d’auto-apprentissage cycle de test se termine par la réponse relevé des caractéristiques peut enfin
commence alors, avec le courant de « M1 » CR LF. Si en revanche le courant commencer.
base ou la tension de grille qui aug- de collecteur ou de drain est anorma- Chaque mesure se passe de la façon
68 elektor - 2/2009
Tableau 3 : Aperçu partiel des commandes
Commande Paramètre Libellé Réponse attendue
A – Demande identification Curve_Tracer Vx.y
B 0...255 Tension de commande sur circuit de base, max = 10 V –
C 0...255 Tension de commande sur circuit de collecteur, max = 10 V –
0 = 10 µA
D 1 = 100 µA Gamme courant de base –
2 = 1 mA
0 = pos
E Polarité circuit de base –
1 = neg
0 = pos
F Polarité circuit de collecteur –
1 = neg
G – Demande tension de collecteur De 0 à 1024, pour 0 à 10,24 V
H – Demande courant de collecteur De 0 à 1024, pour 0 à 512 mA
I 0...1024 Courant collecteur maxi de 0 à 1024 pour 0 à 512 mA –
1 = NPN
2 = PNP
3 = N-MOSFET
J Mode –
4 = P-MOSFET
5 = N-JFET
6 = P-JFET
K 0...10 Nombre de courbes –
L – Démarrage boucle de test Voir texte
Note 1
Le paramètre x.y est le numéro de version.
A partir de cet instant les paramètres par défaut sont utilisés : ICmax 100 mA, mode NPN et 5 courbes.
suivante : alors que le courant de base message « O » CRLF à destination du Application Windows
reste fixe et déterminé par IBmax et PC qui peut alors commencer la repré-
« K », la tension de collecteur est gra- sentation des courbes. Elle a été écrite au moyen de Visual
duellement augmentée, avec le cir- Basic 6.0. Il faut donc commencer par
cuit qui mesure la tension de collec- Flashage du µC installer les DLL et autres composants
teur effective, et qui mesure le courant Dans l’environnement de développe- Active-X qui ont trait à VB6. Cela se
collecteur. ment Renesas, il faut commencer par fait via l’installateur fourni compatible
Les résultats sont communiqués en charger le fichier Hex Motorola intitulé avec Windows 2000, XP et Vista, sim-
continu au PC de la façon suivante : Curve_Tracer.mot. Connecter la pla- plement repéré Setup.exe.
« P »#Courbe, IB, Gamme CRLF tine. Insérer le cavalier sur JP1. Briè- Il faut ensuite s’occuper du pilote de la
#Courbe : n° de la courbe vement appuyer sur le bouton Reset. passerelle USB Prolific qui est intitulé
IB : courant de base (tension de Attendre la fin de la programmation. PL-2303 Driver Installer.exe.
grille) Enlever le cavalier de JP1. Brièvement On peut alors installer l’application
Gamme : 0 = 10 µA, 1 = 100 µA, appuyer une nouvelle fois sur le bou- proprement dite, intitulée Curve_Tra-
2 = 1 mA ton Reset. cer.exe.
« N » UCE, IC CRLF
UCE : tension de collecteur Utilisation et résultats
(valeur 1024 = 10,24 V) L’application sous Windows
IC : courant de collecteur commence par tester la pré-
(valeur 1024 = 512 mA) sence de la platine. En cas
Le courant de base (transis- de succès, la fenêtre de tra-
tors bipolaires) se calcule vail apparaît conformément à
comme suit, en µA : la figure 4.
Gamme 10 µA : IB x 4/100 Tout en bas nous trouvons
Gamme 100 µA : (IB - 14) la définition du mode : NPN,
/2,3 PNP, NMOS, PMOS, NFET,
Gamme 1 mA : ((IB - 16) /2,6) PFET.
x 10 En haut à gauche nous trou-
Bien évidemment, pour vons le paramètre qui définit
les JFETs et les MOS- le nombre de courbes dési-
FETs, c’est la tension de rées par réseau.
grille qui importe (valeur En haut à droite nous trou-
1024 = 10,24 V). vons le réglage du courant
Lorsque toutes les valeurs maximum qui permet de pro-
ont été transférées, le tra- téger les transistors les plus
ceur de courbes envoie le Figure 4. Voici un relevé de caractéristique. délicats.
2/2009 - elektor 69
PRATIQUE MESURE & TEST
Résistances :
R1 = 1kΩ5 CMS 0603
R2, R3 = 27 Ω, CMS 0603
R4, R10, R11, R14 à R28 = 470 Ω, CMS
0603
R5 à R7 = 220 kΩ, CMS 0603
R8, R9, R12, R29 à R31 = 4kΩ7, CMS
0603
R13 = 1 kΩ, CMS 0603
Condensateurs :
Figure 5. Platine numérique. C1, C2, C4, C8, C9, C11, C13 = 100 nF,
CMS 0603
C3, C12 = 22 pF, CMS 0603
C5, C6 = 10 pF, CMS 0603
C7, C10 =10 µF/25 V, SMD boîtier A
Semiconducteurs :
D1 = LL4148
Assemblage
On trouve des CMS et rien que des CMS
pour la platine numérique (figure 5) qui
comporte le R8C/13 et le PL2303.
Par contre, la platine analogique ne
comporte que des composants traver-
sants. On veillera à munir les régula-
teurs +12 V et -12 V de refroidisseurs,
de même pour les transistors T3 et T4
de l’étage de sortie. Il faut éviter que
les refroidisseurs ne se touchent : gare
aux courts-circuits ! Un isolant à ce
niveau n’est peut-être pas superflu.
Avec l’embase K1 qui établit la liaison
entre les deux platines, le montage
reste relativement compact, capable
de rentrer dans un boîtier de marque
Bopla ref. E450 FVL.
Pour faire joli, on peut fixer sur le boî-
tier différents supports pour transistors.
Pour faire simple et efficace, on peut se
contenter de laisser pendre les trois fils
de mesure munis d’une pince crocodile.
Pour une dépense somme toute modi-
que, l’instrument permet de se rappro-
cher de l’idéal lorsqu’il s’agit d’amplifi-
Figure 6. Platine analogique.
cateurs différentiels, d’étages de sortie
70 elektor - 2/2009
D2 = LED 3 mm, faible courant R36 = 100 Ω IC2 = 7815
IC1 = PL2303X R39, R40, R46, R47 = 20 kΩ IC3 = 7915
IC2 = R5F21134FP (R8C/13) R49 = 1 Ω/1 W IC4 = 7912
R50 = 90kΩ9 IC5, IC6, IC8, IC11, IC12 = TL082P
Divers : IC7, IC9 = DG441DJ
K2 = embase USB type B Condensateurs : IC10, IC13 = TL081P
K1 = embase 2x10 DIL (male) C1, C2 = 2200 µF/35 V radial
S1 = bouton SMD 6 mm C3 à C6, C11, C12, C14 à C17, C19 à Divers :
X1 = quartz 20 MHz (CMS) C35 = 100 nF au pas de 2,5 mm K1 = embase 2x10 DIL (femelle)
X2 = quartz 12 MHz (CMS) C7 à C10 = 10 µF/25 V radial K2 = bornier à vis, 3 points, au pas de
JP1 = barrette 2 points avec cavalier C13, C18 = 47 nF au pas de 2,5 mm 2,5 mm
F1 = Polyfuse 100 mA C36, C37 = 22 nF au pas de 2,5 mm F1 = fusible en verre 100 mAT, avec
protège-fusible
Semiconducteurs : TR1 = Transfo secteur, 2x 15 V/14 VA
Platine analogique (080068-1) D1 à D4, D6, D7 = 1N4148 (Weiss ref. 83/266)
D5, D8 = Zéner 5,6 V/500 mW 4x refroidisseurs FK218/SA32 (21 °K / W)
Résistances : D9 à D12 = LED 3 mm, faible courant
R1 à R18, R24 à R33, R37, R38, R41 à B1 = redresseurs en pont VM18 Logiciel PC et firmware µC : EPS
R45, R48, R51 à R53 = 10 kΩ (1 A/100 V) format DIP4 080068-11, voir [3].
R19, R20, R22 = 4kΩ7 T1, T2 = BC547A Les platines nues 080068-1 et -2 sont dis-
R21 = 931 kΩ T3 = BD139 ponibles sur l’e-choppe Elektor.
R23 = 88kΩ7 T4 = BD140 La platine numérique est disponible déjà
R34, R35 = 1Ω5 IC1 = 7812 montée sous la référence 080068-91.
Pour conserver les données Régulateur ruption est pour lui le signal
de tension
de fonctionnement et les pa- D1 IC1 = LM393; TLC372
de lancement de la sauve-
230V
ramètres d’un appareil, on a B1 garde des données. Le dé-
1N4001
souvent recours à l’EEPROM lai dont il dispose dépend
d’un microcontrôleur. Ces in- R1 R3 R5
de l’énergie fournie par le
82k
10k
470k
470k
2/2009 - elektor 71
PRATIQUE MINI-PROJET
Détecteur d’ultrason
À la recherche des fréquences élevées
Ton Giesberts
On peut, avec le montage décrit ici vérifier rapidement et facilement s’il y a production. où que ce soit,
de sons nocifs à fréquence élevée, en particulier dans les endroits où les boîtiers anti-jeunes à ultrason
ont été installés. Dix LED visualisent la pression sonore des signaux entre 16 et 40 kHz.
On utilise souvent, pour chasser les Pour détecter rapidement, où que ce À partir de cette valeur et de la sen-
« groupes de jeunes traînant à cer- soit, la génération de sons nocifs de sibilité du microphone à électret nous
tains endroits », un système à « ultra- fréquences élevées, nous avons conçu pouvons calculer le gain nécessaire. Le
son » (tel que le Mosquito). Ce genre un indicateur capable de les détecter microphone utilisé est un modèle dis-
de système, installé près de la zone et d’en mesurer l’intensité. Dix LED ponible chez Farnell (le KEEG1542TBL-
sensible, produit des sons de fré- montrent la pression sonore des sons A de Kingstate). Ce choix a été guidé
quence comprise entre 17 et 20 kHz. émis entre 16 et 40 kHz. Les fréquen- par le diagramme de la réponse en fré-
Pour les jeunes (oreilles) ces sons sont ces plus basses sont atténuées par un quence de la fiche technique (disponi-
si agaçants qu’ils se voient forcés de filtre passe-haut Butterworth du cin- ble en téléchargement chez Farnell).
quitter les lieux rapidement. Les per- quième ordre, évitant que l’indicateur Celui-ci montre une légère tendance
sonnes plus âgées, qui n’entendent ne réagisse aux autres sons courants. montante à 20 kHz, ce qui nous laisse
plus ces fréquences, ne sont donc pas La graduation de l’affichage est basée supposer que ce microphone est éga-
concernées. sur une pression sonore de 90 dB maxi- lement adapté aux fréquences juste
Le terme « ultrason » n’est pas cor- mum. Si l’on est exposé plus d’une au-delà de 20 kHz. Même si la réponse
rect dans ce contexte, car en général heure à 90 dB, on risque un endomma- en fréquence au-delà de 20 kHz pourra
on ne l’emploie que pour les fréquen- gement de l’ouïe de façon irréversible. avoir une forme quelque peu bizarre, il
ces dépassant les capacités auditi- Les dommages auditifs dus à des fré- ne s’agit ici que d’une mesure approxi-
ves de l’homme, au-delà de 20 kHz quences inaudibles, l’usure des ossi- mative censée donner grossièrement la
donc. Comme les sons émis contien- cules par exemple, n’a jusqu’à présent pression sonore.
nent aussi des fréquences inférieures pas encore fait l’objet d’une étude. À 90 dB le microphone fournira environ
à 20 kHz, ils sont captés non seulement 8 mV. Si nous tenons compte de la pré-
par les adolescentes visés (si leur ouïe sence dans le redresseur d’un détec-
le permet encore !), mais plus encore
Schéma teur de crêtes (cela nous fait gagner
par les nourrissons, les (très) jeunes À première vue le schéma électrique de un facteur de √2 en gain) et du fait que
enfants et les animaux (domestiques). la figure 1 aurait de quoi impressionner, la sensibilité du microphone à élec-
La pression sonore n’est pas très éle- mais en regardant de plus près, il est tret peut varier de ±3 dB, le gain total
vée, dit le fabricant, cependant si ce moins complexe qu’il n’y paraît. Le cir- minimum du montage devrait se situer
son enquiquinant gêne les jeunes, il cuit se compose d’un préamplificateur entre 80 et 160.
contrarie encore plus les nourrissons de microphone, d’un filtre passe-haut du On trouve, à l’entrée du montage, un
et les petits enfants (sans parler du cinquième ordre, d’un redresseur actif, étage amplificateur (IC1A) d’un gain
risque d’endommagement de leur ouïe d’un étage tampon et finalement d’un de 40. À ce niveau, les fréquences les
s’ils y sont exposés longuement). afficheur à dix LED. Le pilotage des LED plus basses sont déjà atténuées (C1
Les nourrissons et les animaux (hor- se fait à l’aide de l’habituel LM3915 uti- et C4). C3 et R5 compensent la légère
mis les perroquets peut-être) sont dans lisé ici en mode Point (choisi pour limi- pente au-delà de 20 kHz. Nous avons
l’incapacité de faire savoir ce qui ne ter la consommation de courant) dans choisi, comme ampli-op, un quadruple
va pas ; si donc on se promène en ville son application la plus simple, sa bro- ampli-op rail-à-rail TS924IN de ST, com-
avec son bébé, on court le risque que che REF ADJ donc reliée à la masse. posant capable de fournir pas moins
l’enfant soit exposé à ce genre de sons Dans ce cas, le signal d’entrée à pleine de 80 mA. Cet ampli-op a un GBW
sans que les parents ne le remarquent. échelle est de 1,28 VCC (typique). (Gain-BandWidth product, produit
72 elektor - 2/2009
+3V
R1 C5
P1
100R
R14
15p 2k5
R7 10k
39k R9
R2 C2 R11
R3 6
8k2
12k
2k2
1M
220u 2 C6 C7 C8 C9 C10 7
IC1B
25V 1 5
C1 IC1A
3
1n 1n 1n 1n 1n
1n R8 R10 R12 R13
R4 R5 R6
MIC1
4k7
5k6
33k
10k
1M
1k
1k
IC1=TS924IN
C3 C4 C11
R16 C12
100k
100n
R15 +3V
R17 P2
1k
D1
100k
250k
D2
9 3
D11 D12
8
IC1C V+ D3
10 9 1
BAT85 R18 7
MD SEL LED1
18
BAT85 REF OUT LED2 D4
6 17
47R
DIV HI LED3
13 IC2 LED4 16
+3V D5
14 5 15
IC1D IN LED5
12 14
LED6 D6
Term.2 L Term.1 13
LED7
LM3915N LED8 12
D7
R19 8 11
BT1 4 C14 C13 REF ADJ LED9
4 10
4k7
D10
080602 - 11
2/2009 - elektor 73
PRATIQUE MINI-PROJET
Publicité
74 elektor - 2/2009
RÉTRONIQUE RÉCRÉATION
David L. Jones (Australie) utiliser, mais il lui reste de plus le sont effectuées sur des valeurs sur le papier.
Ces dernières années ont vu le soutien d’une large communauté pré chargées, c’est la « notation Le mode algébrique supporte six
retour de montres rétros en tout d’utilisateurs de calculatrices HP. postfixe ». En mode algébrique niveaux de parenthèses, comme
genre pour polars (les montres Elle a été inventée par Hewlett par contre, x est rentré en pre- la plupart des calculatrices scien-
de tube de Nixie, montres à LED, Packard, qui l’utilisa pour cer- mier, suivi par la commande tifiques de base. La priorité des
montres PONG,…). Ce mois- tains de ses tout premiers cal- x^y, puis la routine doit atten- opérateurs est maintenue com-
ci, la page Retronics arbore un culateurs et qui continuent de dre que la valeur y soit rentrée. plètement avec chaque niveau
visage inhabituel, en présentant vendre des calculatrices NPI C’est la « notation infixe ». de parenthèses.
µWatch, qui devrait assouvir aujourd’hui. En mode algébrique, certaines Il y a dans la « pile » algébrique
votre soif nerdinesque de mon- NPI est basé sur la pile classique opérations telles que le SIN ou un lot de registres contenant
tages faits maison. HP à 4 niveaux de registres (X/Y/ LOG utilisent la notation postfixe, X, Y et Z. Le registre Z est uti-
La dernière montre calculatrice Z/T) et sa fonctionnalité de copie comme dans NPI, portant parfois lisé lorsque l’opérateur de prio-
scientifique fut la Casio CFX- du registre T, comme suit : à confusion. Ainsi, vous entrez rité est nécessaire. Par exemple,
400, sortie en 1985 ! Elle est 10 SIN, et non SIN 10, comme 1+2*3 entraînerait le déplace-
d’ailleurs tellement recherchée sur les calculatrices algébriques ment du 1 dans le registre Z.
aujourd’hui qu’elle s’arrache, RPN Stack du commerce. C’est pourquoi de Si une parenthèse est ouverte,
même cassée, à plusieurs cen- T Register nombreuses personnes appré- alors la totalité du contenu de
taines de dollars. Et une neuve Z Register cient NPI, car la notation est ces registres de travail ainsi que
en état de fonctionnement ? Inu- Y Register toujours postfixe et il n’y a donc les opérateurs sont décalés d’un
tile de demander le prix, vous ne X Register jamais de confusion. niveau dans les registres de tra-
pourriez pas vous le permettre. Si vous comparez le code source vail pour les opérations entre
Ainsi, non seulement il n’était En mode NPI, les valeurs sont des méthodes NPI et algébrique, parenthèses. De même, quand
pas possible de s’en procurer chargées dans la pile en appuy- vous remarquerez que NPI est une parenthèse est fermée, les
pendant ces 20 dernières années ant sur la touche ENTER. La beaucoup plus simple et plus registres et les opérateurs redes-
(les ingénieurs mis à part), mais fonction ENTER sera automati- facile à comprendre. Le système cendent d’un niveau. On utilise
vous n’aviez pas non plus le loi- quement exécutée par les opé- de pile NPI permet d’effectuer donc une pile de sept niveaux de
sir de fabriquer la vôtre jusqu’à rateurs et fonctions si cela n’a rapidement des calculs com- profondeur avec cinq valeurs par
aujourd’hui. Le projet µWatch pas déjà été fait. plexes en utilisant des comman- niveau. Comparez cela avec la
présenté dans ce court article est Tous les opérateurs et fonctions des très simples, sans parenthè- pile simple 4 par 1 de NPI. Pour-
une occasion unique de raviver travaillent soit sur X, soit sur X ses ni gestion de la priorité des tant, la pile NPI, utilisée correc-
les souvenirs de ces montres uti- et Y. Par conséquent, pour ajou- opérateurs. Toutefois, NPI exige tement, peut être plus puissante
lisées à l’université ou au collège ter 1+2, vous devrez rentrer 1 que vous pensiez à la façon dont que la pile algébrique.
dans les années 70 et 80. Levez ENTER 2 +. vous faites votre calcul avant de Plus de détails sur la fabrica-
la main s’il vous plaît ! Une valeur chargée dans le regi- le saisir, ne calculant pas de la tion et la programmation de
µWatch est une incarnation stre T y reste jusqu’à ce qu’elle même manière que vous voyez µWatch peuvent être trouvés
moderne de la montre calcula- soit effacée manuellement, ce dernier sur papier. sur le site de l’auteur [1]. Le
trice, désormais fabriquée avec fonction utile pour répéter les A contrario, la méthode algé- projet a été développé entiè-
des composants plus contem- calculs. brique nécessite l’emploi de rement avec le compilateur C
porains tels que des CMS et un Les options de menu sont iden- parenthèses emboîtées et une Microchip C30 sous environne-
microcontrôleur PIC. Elle sup- tiques en mode NPI et algé- gestion de la priorité des opé- ment MPLAB.
porte à la fois les modes de brique, mais elles diffèrent rateurs, ce qui peut devenir très (080816-I, trad. Nicolas FRADIN)
calcul algébrique et NPI (Nota- dans leur manière de fonction- compliqué dans une perspective
tion Polonaise Inverse). Pourquoi ner. Comme NPI opère sur les de programmation. En revanche, Lien Internet
NPI ? Pourquoi pas ! NPI est non valeurs pré chargées d’une pile, vos calculs sont au final effectués [1] www.calcwatch.com
seulement simple à coder et à des fonctions telles que x^y davantage comme vous les voyez Photograph courtesy Kris Staller.
Rétronique est une colonne mensuelle s’intéressant à l’électronique du siècle dernier y compris des montages de légende décrits dans Elektor. Nous sommes ouverts à
toutes les contributions et suggestions. N’hésitez pas à nous envoyer un Email à : rédaction@elektor.fr, sujet : Rétronique Elektor.
2/2009 - elektor 75
PRATIQUE MINI-PROJET
Le décodeur stéréo
pour la mini radio FM
Ton Giesberts
La petite radio FM décrite le mois nique et qu’un mini projet ultérieur y pour en faire un récepteur à modula-
passé ne dispose que d’une sortie serait consacré. Chose promise, chose tion de fréquence complet, une sorte
mono. Nous avions alors précisé qu’il due, voici donc le décodeur stéréo de mise à niveau, dirions-nous.
était question d’une version stéréopho- destiné à s’associer à la mini radio FM
D’un certain âge, mais
d’une valeur certaine
La puce que nous avons attelée à
la tâche de décodeur stéréophoni-
que est un TDA7040T de chez NXP
(précédemment Philips). Le mon-
tage autour de cette puce n’a pas
varié depuis 1986, déjà. L’intégré,
tout comme celui du récepteur, n’est
disponible qu’en exécution CMS. On
ne le produit plus aujourd’hui sous le
bon vieux boîtier DIP.
Tout comme pour la radio FM, nous
avons conçu une petite platine pour
vous faciliter la construction. Dans la
même veine, nous avons tâché de res-
pecter des mensurations minimalistes,
avec pour résultat l’incorporation de
nombreux CMS. Seuls quelques élec-
trolytiques y sont en exécution à fils.
C’est ainsi que le circuit imprimé ne
mesure que 2,5 sur 4 centimètres.
Traitement du signal
Le décodeur fonctionne selon le prin-
Figure 1. Dans le diagramme synoptique, nous retrouvons l’organisation interne du TDA7040. cipe de la boucle à phase asservie
76 elektor - 2/2009
3V
R6
33R
C10
C1
R8
broche 14 220u IC2
22k
TDA7021T 270p C2
16V
Vp
P1 R1
4
47k 2 C11
Vp C7 R7 100u
50k 220n 8 6 7
MPX
K1 IC1 L OUT 1
33R K4
7
TDA7040T 5
C6 220n 25V G
BLEND R OUT P3A
10n 22k TDA7050T
3V LF GND OSCA
4 C12 D
2
3
S1 R2 R9
6
4k7 33R
Mono/ R4 R5 3
100u
Stereo C9 R10
120k
25V
4k7
BT1
GND
22k
broche 9 3V
5
220n
TDA7021T R3 C3 C4 C5 P2 C8
270k 100k P3B
100n 100n 220n 10n 22k
K3 080907 - 11
Figure 2. Le schéma du décodeur ne s’écarte guère du montage d’essai décrit dans la feuille de caractéristiques.
(PLL) et ne réclame que quelques com- s’écarte peu de l’exemple trouvé dans Pour un fonctionnement efficace sur
posants supplémentaires. La figure 1 la feuille de caractéristiques, mais à haut-parleurs, la puissance de sor-
vous en donne le schéma synoptique. l’instar du circuit de réception, il y a tie du TDA7050 est trop faible, mieux
La sortie du syntoniseur se branche, à peu de place ici pour l’inconstance. vaut lui adjoindre un étage final sup-
travers un filtre, à l’entrée MPX de la On relie la prise K1 du décodeur à K1 plémentaire. Le potentiomètre stéréo
puce. Après amplification et filtrage, le du récepteur ainsi que K3 et K2 (le de volume (P3) se branche sur une
signal sera divisé en trois branches. montage fonctionne aussi sans cette embase à 6 contacts. Si les fils de rac-
Commençons par le détecteur de fré- liaison-ci). L’interrupteur mono/stéréo cord sont suffisamment courts, nul
quence pilote. Il indique s’il s’agit d’un S1 se raccorde à K2 (c’est vraiment K2, besoin de câble blindé.
signal stéréo et commande le commu- mais nous n’avons inscrit que S1 dans
tateur interne mono/stéréo en consé- le schéma). La sortie K4 sert à brancher Tous les raccordements se font sur
quence. On peut aussi forcer embases, mais il est aussi pos-
manuellement la monophonie sible de souder directement
par S1, en toute indépendance. des fils par les trous corres-
Du filtre, le signal va aussi à pondants de la platine. Comme
la PLL composée d’un détec- le recours à des embases nous
teur de phase, d’un oscillateur forçait à utiliser une carte per-
commandé en tension (VCO) forée, nous avons choisi des
et d’un diviseur. Celui-ci four- condensateurs électrolytiques
nit les fréquences nécessaires radiaux ordinaires. Ils occu-
à l’extraction des informations pent moins de place et sont
stéréophoniques. Le décodage généralement de meilleure
se passe dans le troisième bloc qualité. Vérifiez bien leur dia-
rejoint par le signal filtré. Fina- mètre maximum, il est rensei-
lement, le signal audio stéréo- gné dans la liste des compo-
phonique quitte la puce en sants. À la figure 3, vous trou-
Figure 3. La platine du décodeur n’est pas vraiment plus grande que celle du récepteur.
passant par deux tampons. verez d’ailleurs la disposition
Pour permettre au signal d’at- de ces composants et le tracé
taquer un casque d’écoute ou des pistes est disponible au
deux petits haut-parleurs, nous utili- un ou plusieurs casques d’écoute de téléchargement sur le site d’Elektor.
sons un TDA7050T. C’est une petite 32 Ω, mais pour un essai, on peut aussi
puce d’amplificateur capable de déli- y brancher de petits haut-parleurs. Les Sous 6 V d’alimentation, la consomma-
vrer deux fois 35 mW sur 32 Ω à partir résistances de sortie R7 et R9 évitent tion totale du récepteur et du décodeur
d’une tension d’alimentation de 3 V. une surcharge de IC2 tandis que R8 et est un peu plus élevée qu’avec 3 V :
R10 s’arrangent pour que les conden- 17,3 mA au lieu de 12,5 mA. Comme
sateurs C11 et C12 soient toujours vérification, nous avons branché deux
Circuit chargés, ce qui vous épargnera le toc mini haut-parleurs de 8 Ω à la sortie.
Vous trouverez le schéma complet du dans les oreilles au moment de l’intro- La consommation à la puissance de
montage à la figure 2. La réalisation duction de la fiche. pointe atteignait 70 mA, alors qu’en
2/2009 - elektor 77
PRATIQUE MINI-PROJET
78 elektor - 2/2009
HEXADOKU RÉCRÉATION
Hexadoku
La version de février demande encore beaucoup de votre cerveau, patience et endurance.
Puzzle pour les
électroniciens
Mais, vu la quantité des réponses tous les mois, un grand nombre de lecteurs est prêt à faire l’effort en
espérant de gagner peut-être un superbe E-blocks Starter Kit Professional ou l’un des 3 bons-cadeau
Elektor mis en jeu.
Les instructions pour la résolution de ce puzzle sont enfantines. soient utilisés qu’une seule et unique fois dans chaque ran-
Le Hexadoku utilise les chiffres du système hexadécimal, gée, colonne et carré de 4 x 4 cases (identifiés par une ligne
à savoir de 0 à F. Du tout cuit pour les électroniciens et plus grasse). Certains chiffres sont déjà placés dans le puzzle et
programmeurs ! en définissent ainsi sa situation de départ.
Remplissez le diagramme de 16 x 16 cases de façon à ce que La solution de ce puzzle vous permettra de gagner de jolis prix.
tous les chiffres hexadécimaux de 0 à F (0 à 9 et A à F) ne Il vous suffit de nous envoyer la série de chiffres en grisé.
2/2009 - elektor 79
e-CHOPPE LIVRES
Morceaux choisis
La bibliothèque des Software Defined Radio
472 pages • ISBN 978-2-86661-165-1 • 48,50 € 344 pages • ISBN 978-2-86661-160-6 • 45,00 €
80 elektor - 02/2009
Entièrement
en couleurs Un livre
ELEKTOR
en anglais
Informations complé-
mentaires et gamme
complète sur notre site
Initiation aux microcontrôleurs PIC
www.elektor.fr Ce livre est intégralement en anglais
50 réalisations à PIC, pour Design your own
le débutant et l’expert flambant neuf ! Embedded Linux
parmi lesquelles variable speed flashing led, Control Centre
dark activated switch, infrared object detection, on a PC
pictures of light, electric candle, recording sound,
Elektor / Publitronic SARL
Grâce à l’évolution récente des techni-
tachometer etc. Écrit à la demande d’Elektor 1, rue de la Haye ques de commande et de régulation qui
pour ses lecteurs, tourné vers la pratique, ce BP 12910 permet une grande efficacité à partir de
livre s’ouvre sur la mise en route du matériel moyens techniques bien meilleur mar-
et du logiciel, puis s’articule autour de thèmes
95731 Roissy CDG Cedex
ché qu’il y a encore quelques années, la
variés comme les moteurs, les capteurs, le Tél. : +33 (0)1.49.19.26.19 domotique est aujourd’hui un sujet en-
son ou les mémoires. Idéal pour les débutants Fax : +33 (0)1.49.19.22.37 core plus passionnant pour les électro-
et les enseignants, il fait appel à quatre mi- niciens. Ce nouveau livre en anglais ne
crocontrôleurs : 12F675, 16F628, 16F876A
E-mail : ventes@elektor.fr
traite ni de ZigBee, ni de Z-wave ni de
et 16F877, et propose une initiation au
livres
446 pages • ISBN 978-0-905705-70-5 • 37,50 € 234 pages • ISBN 978-0-905705-72-9 • 32,50 €
CHOPPE
02/2009 - elektor 81
e-CHOPPE CD & DVD-ROM, KITS & MODULES
cd & dvd-rom
NOUVEAU
Inoculez-leur le virus de l’électronique Adaptateur USB-CAN
avant qu’il soit trop tard
Toupie électronique tous usages
DVD Elex (Elektor décembre 2008) (Elektor septembre 2008)
Quad, console, manga, rat, portable, Alignez et allumez quelques LED sur un Le protocole CAN est sériel, mais il n’est
MP3... vous cherchez des idées de cadeaux plan. Mettez le tout en rotation et vous pas possible de le connecter directement
pour vos enfants ou vos petits-enfants ? In- découvrirez une série de jolis anneaux à un ordinateur. L’adaptateur USB-CAN
oculez-leur le virus de l’électronique avant concentriques. Plus excitant : ajoutez un tous usages de cet article offre une solu-
qu’il soit trop tard. microcontrôleur et moyennant un peu tion compacte et pratique. Le logiciel qui
Elex revient sur DVD avec la collection d’astuce vous pourrez afficher un motif, l’accompagne permet de suivre le trans-
complète des 58 numéros du mensuel du texte ou un nombre. Reste la question fert de données et d’effectuer des traite-
d’initiation à l’électronique publiés par du séquencement et de la synchronisa- ments tels que filtrage ou enregistrement
Elektor d’avril 1988 à sept. 1993, au for- tion. Dès lors les applications s’étendent en un tour de main, ou plutôt par un clic
mat PDF imprimable, et un livret de 16 pa- aux compte-tours et aux boussoles. de souris.
ges en couleur. Bonus : vidéo d’initiation Kit composants, platine avec composants Platine partiellement montée
avec les personnages de la bande dessinée en CMS et contrôleur programmé montés
Rési & Transi. Réf. : 071120-71 • 69,95 €
Réf. : 080678-71 • 44,95 €
ISBN 978-2-86661-156-9 • 44,50 €
82 elektor - 02/2009
€
vos favoris
références disponibles
livres
F366 décembre 2008
ISBN 978-2-86661-160-6 ................................... 45,00 €
Pilote pour DEL de puissance
071129-1 .......... Platine .................................................................................................... 7,50 Tubes audio anciens & récents
Luminaire 3D 5 ISBN 978-2-86661-155-2 ................................... 39,50 €
080355-1 .......... Platine .................................................................................................. 32,50
Casque sans fil haute fidélité Cours FPGA
080647-1 .......... Platine (émetteur) ................................................................................ 12,50 1 ISBN 978-90-5381-225-9 ................................... 19,95 €
080647-2 .......... Platine (récepteur) ................................................................................ 12,50
Toupie électronique DVD Elex
080678-71 ........ Kit composants, platine avec composants en CMS
cd & dvd-rom 2 ISBN 978-2-86661-156-9 .............................. 44,50 €
et contrôleur programmé montés.......................................................... 44,95
CD Elektor 2007
F365 novembre 2008
Commande de volume motorisé
3 ISBN 978-90-5381-218-1 ................................... 27,50 €
071135-41 ........ Contrôleur programmé ........................................................................... 7,95
Contrôleur à clé USB 4 ECD 4
071152-91 ........ Platine montée et testée, module VDIP1 ............................................... 29,95 ISBN 978-90-5381-159-7 .............................. 26,50 €
Télécommande par téléphone portable
080324-1 .......... Platine .................................................................................................. 22,50 5 USB Toolbox
080324-41 ........ Contrôleur programmé ........................................................................... 7,95 ISBN 978-90-5381-212-9 ................................... 29,50 €
080324-71 ........ Kit comportant tous les composants avec la platine et
le contrôleur programmé ...................................................................... 69,95 1 Toupie électronique
ATM18 – détecteur IR Réf. : 080678-71 ................................................. 44,95 €
080358-1 .......... Platine .................................................................................................. 12,50
2 DigiButler
kits & modules
Avertisseur de radar
080615-1 .......... Platine .................................................................................................. 19,50 Réf. : 071102-71 ............................................ 39,00 €
080615-41 ........ Contrôleur programmé ......................................................................... 14,95
3 Télécommande par téléphone portable
F364 octobre 2008 Réf. : 080324-71 ................................................. 69,95 €
Vobulateur HF et analyseur de spectre
040360-41 ........ Contrôleur programmé ......................................................................... 29,95
4 Analyseur OBD-2 compact (Module)
ATM18 – carte de relais Réf. : 070038-93 ................................................. 89,00 €
071035-72 ........ Kit Composants: platine, tous les composants et relais .......................... 49,95
071035-95 ........ Platine Port d‘Extension, montée et testée ............................................ 16,95
5 Adaptateur USB-CAN tous usages
Réf. : 071120-71 ................................................. 69,95 €
F363 septembre 2008
Récepteur GPS polyvalent
070309-41 ........ Contrôleur programmé ......................................................................... 15,50
Centrale de commande DCC
070989-71 ........ Kit comportant tous les composants, platine nue comprise + Commandez tranquillement sur
carte de développement ARMee montée prête à l’emploi ................... 119,95
Adaptateur USB-CAN tous usages
www.elektor.fr/e-choppe
071120-71 ........ Platine partiellement montée ............................................................... 69,95 ou à l’aide du bon de commande encarté à la fin de la revue.
F361/362 juillet-août 2008 Les commandes en ligne de livres ou de CD & DVD-ROM bénéficient
Apesanteur totale !
071035-71 ........ Kit composants barreau ferrite, HAL815, aimant .................................. 12,95 d’une remise spéciale de 5%.
Horloge pointeuse
070349-41 ........ Contrôleur programmé PIC12F683 ......................................................... 7,50
Affichage de consommation pour accu Elektor / Publitronic SARL
070821-41 ........ Contrôleur programmé PIC16F676-20I/P ............................................... 7,50 1, rue de la Haye • BP 12910
95731 Roissy CDG Cedex
Tél. : +33 (0)1.49.19.26.19
Fax : +33 (0)1.49.19.22.37
CHOPPE E-mail : ventes@elektor.fr
02/2009 - elektor 83
INFO & MARCHÉ AVANT-PREMIÈRE
De R8C à R32C
Il y a trois ans, Elektor, ensemble avec la société Glyn, a introduit dans une série
d’articles à succès, le R8C/13, un petit contrôleur 16 bits de Renesas. Ce petit
contrôleur a récemment eu un frère, le R32C. Ce nouveau contrôleur 32 bits
tourne à 50 MHz et possède une unité de calcul en virgule flottante. La program-
mation du R32C/111 est, comme pour le R8C/13, très facile. Le matériel consiste en une
petite carte avec le microcontrôleur et une carte d’application avec les interfaces et une surface
d’expérimentation à trous. En plus, il y a une application pour piloter un afficheur OLED…
Il arrive que la publication de certains articles soit retardée par des impératifs rédactionnels.
Attention, le numéro de mars 2009 devrait être en kiosque à partir du 16 février.
Abonnement PLUS d’un an abonner est de le faire par le biais de notre site
France 80,50 € Internet www.elektor.fr/abo, mais vous pouvez
Belgique 87,50 € également le faire à l’aide du bon de commande
Suisse 154,00 FS se trouvant en fin de magazine. Il est possible de
electronics worldwide DOM Surface 101,50 € commander d’anciens numéros dans la limite de
DOM Surface Priorité 128,50 € leur disponibilité (cf. le bon de commande, leur
prix est celui d’un numéro à l’unité).
Prix au numéro Étudiant –/– 20%
France 6,50 € Veuillez SVP nous fournir un changement
DOM Surface 7,50 € Abonnement PLUS de 2 ans d’adresse au moins 3 semaines auparavant en
DOM Avion 9,45 € France 145,00 €
mentionnant votre numéro d’abonné (cf. le label
Belgique 7,10 € Belgique 160,00 €
accompagnant votre magazine), l’ancienne et la
Suisse 12,20 FS Suisse 280,00 FS
nouvelle adresse.
Canada 8.95 $Can DOM Surface 185,00 €
DOM Surface Priorité 233,00 €
Abonnement d’un an standard Le département Clients est accessible
France 68,00 € Étudiant –/– 20% du lundi au jeudi de 8h30 à 17h00
Belgique 75,00 €
Sous réserve de modification de prix. et le vendredi de 8h30 à 12h30.
Suisse 126,00 FS
DOM Surface 89,00 €
DOM Surface Priorité 116,00 € Abonnements Si vous avez des questions concernant votre
E-mail : abonnements@elektor.fr abonnement, vous pouvez appeler ce départe-
Étudiant –/– 20% ment au numéro 01.49.19.26.19.
Commandes/Ventes
Abonnement de 2 ans standard E-mail : ventes@elektor.fr Pour le traitement de votre abonnement, Elektor
France 120,00 € vous demande des données personnelles.
Belgique 135,00 € Conformément à la loi « Informatique et Liberté»,
Suisse 228,00 FS vous bénéficiez d’un droit d’accès à ces données
DOM Surface 160,00 € Il est possible de faire démarrer un abonnement et vous pouvez en demander la rectification.
DOM Surface Priorité 208,00 € à tout moment. Nous vous rappellerons en temps Sauf refus écrit de votre part auprès du service
utile l’approche de la fin de votre abonnement. Abonnement, ces informations pourront être
Étudiant –/– 20% La méthode la rapide et la moins chère de vous utilisées par des tiers.
84 elektor - 2/2009
✁
BON DE COMMANDE
02/2009
D’EMBALLAGE
Priorité France métropolitaine & Europe ** + 10,00 e
DE PORT ET
+ 15,00 e
FRAIS
Priorité DOM/TOM et le reste du monde *
l’électronique imaginative Standard France métropolitaine & Europe ** + 8,50 e
Faites votre choix :
Standard DOM/TOM et le reste du monde * + 12,50 e
• Abonnement standard d’un an pour 68,00 y TOTAL e
(Belgique : 75,00 y) *envoi priorité conseillé **ATTENTION ! Pour les frais de port standard à 8,50 e,
Pour 11 numéros y compris le numéro d’été double nous vous rappelons que les délais d’acheminement de vos paquets sont d’environ 10 à 15 jours.
Nous vous conseillons l’envoi priorité à 10,00 e pour un délai de 5 jours environ.
• Abonnement PLUS d’un an pour 80,50 y
(Belgique : 87,50 y)
Nous vous prions
Pour 11 numéros y compris le numéro d’été double ANCIENS NUMÉROS de bien vouloir entrer
plus le DVD-ROM annuel 2008** tout chaud Prix par exemplaire 6,50 e (*11,45 e) vos coordonnées dans
(il coûte normalement 36,00 y port inclus). les cases prévues à cet
2006 331 332 333 334 335 336 337/338* 339 340 341 342
Vous économisez 31,95 y ! effet sur le dos de ce
2007 343 344 345 346 347 348 349/350* 351 352 353 354
bon de commande.
* Offre valable jusqu’à épuisement des stocks, uniquement si vous n’avez 2008 355 356 357 358 359 360 361/362* 363 364 365 366
pas été abonné à elektor au cours des 12 mois précédents.
** Le DVD-ROM annuel 2008 vous sera envoyé d’office dès sa parution
2009 367 368 369 370 371 372 373/374* 375 376 377 378
02/09
prévue en février 2009.
CERCLEZ les numéros désirés *numéros doubles
✁
POUR VOS COMMANDES (kits, modules, livres, CD & DVD-ROM etc.) je souscris un abonnement d'un an à Elektor (11 numéros).
✁
VEUILLEZ INDIQUER ICI VOS COORDONNÉES COMPLÈTES : Oui, Dès l’enregistrement de mon paiement, je recevrai automatiquement
et sans aucun engagement de ma part le baladeur MP3 (2 Go). *
Je commande les références indiquées au verso
Cochez la case correspondant à l'abonnement de votre choix :
pour un montant de i par :
Abonnement standard d'un an pour 68,00 i (Belgique : 75,00 i)
Abonnement ELEKTOR PLUS d'un an pour 80,50 i (Belgique : 87,50 i)
(le DVD-ROM annuel 2008 compris**)
Forfait de port et d’emballage :
Mode de paiement (cochez la case de votre choix) : • 8,50 e envoi standard France Mode de paiement (cochez la case de votre choix) :
métropolitaine & Europe
Chèque bancaire / CCP à l'ordre de ELEKTOR • 12,50 e envoi standard DOM/TOM Chèque bancaire / CCP à l'ordre de ELEKTOR
et le reste du monde * Si vous n’avez pas
Virement bancaire pour la France : ABN AMRO Paris Virement bancaire pour la France : ABN AMRO Paris
• 10,00 e envoi express France été abonné au cours
Compte : 18739-00001-00200797026-03 métropolitaine & Europe Compte : 18739-00001-00200797026-03 des 12 derniers mois.
• 15,00 e envoi express DOM/TOM ** Le DVD-ROM annuel
Virement bancaire pour la Belgique : et le reste du monde
Virement bancaire pour la Belgique : 2008 vous sera
CCP 000-1347214-78 à Warneton CCP 000-1347214-78 à Warneton envoyé d’office dès
sa parution prévue
Virement bancaire International : ABN AMRO Paris Virement bancaire International : ABN AMRO Paris en février 2009.
IBAN : FR76 1873 9000 0100 2007 9702 603 (BIC : ABNAFRPP) IBAN : FR76 1873 9000 0100 2007 9702 603 (BIC : ABNAFRPP)
Carte de crédit (complétez et signez ci-dessous s.v.p.) : Code de vérification Carte de crédit (complétez et signez ci-dessous s.v.p.) : Code de vérification
(les trois derniers chiffres (les trois derniers chiffres
Numéro de carte de crédit (MasterCard ou VISA) Date de validité au dos de la carte) Numéro de carte de crédit (MasterCard ou VISA) Date de validité au dos de la carte)
/ /
Signature Signature
E-mail
Localité
02/09
02/09
Pays DOM/TOM
✁
Répertoire des annonceurs
RUBRIQUE
BETA LAYOUT www.pcb-pool.com 21
PUBLI-RÉGION EUROCIRCUITS www.eurocircuits.fr 74
Liste d’annonceurs classés par pays, puis par région
(fabricants, distributeurs, revendeurs, librairies...).
IMPRELEC 87
REGION NORD FRANCHE COMTÉ (39)
BE. RECHERCHE JOUVENCE 87
Cours FPGA
Il en va un peu aujourd’hui des FPGA comme autrefois
des microcontrôleurs : apparus dans les années 70, les
μC ne se sont imposés que bien plus tard, une fois les
outils appropriés mis au point et disponibles pour le plus
grand nombre. Les Field Programmable Gate Arrays,
MikroBASIC Compilateur
serveur web avec PIC
18F25J10 + contrôleur
Développements sur PICBASIC
Basic pour PIC ou dsPICTM Ethernet ENC28J60.
Vos connaissances en microcontrôleurs sont limitées (ou nulles) ?
MikroPASCAL Compila- Vous avez un budget "sérré" et vous voulez développer des applica-
teur Pascal PIC ou dsPICTM PIC-WEB Platine serveur tions capables de piloter des afficheurs LCD alphanumériques ou gra-
web avec PIC 18F452 + phiques, des communications séries, I2CTM, SPITM, des signaux PWM,
MikroC Compilateur "C" contrôleur Ethernet mesurer des valeurs analogiques, piloter des servomoteurs, des mo-
pour PIC ou dsPICTM ENC28J60. teurs pas-à-pas, des moteurs "cc"... Alors comme des milliers
d’utilisateurs (professionnels, particuliers, centres de recherche, éco-
les d’ingénieurs, industriels, etc...) découvrez les PICBASIC !
Ces microcontrôleurs se programment en langage BASIC grâce à un logiciel (disponible en libre télé-
Modules radiofréquences chargement) qui transfèrera vos instructions dans leur mémoire par un câble raccordé à un PC. Une
fois "téléchargés", ces derniers pourront être déconnectés de l’ordinateur pour être totalement autono-
mes. Leur prise en main est immédiate grâce à leur documentation entièrement en Français.
Modem radio ZigBeeTM permettant une liaison série entre 2 microcontrôleurs (2 modules
sont nécessaires) - Dim.: 24 x 10,5 mm - Alim.: 3,3 V Prix unitaire 22,72 €
PICBASIC-3B (Mémoire 4 K flash - 79 octets de RAM - 18 entrées/sorties) .... 28 €
F2M03GLA Module BluetoothTM permettant une liaison série avec périphérique BluetoothTM PICBASIC-3H (Mémoire 4 K flash - 79 octets de RAM - 29 entrées/sorties) .... 37 €
au protocole SPP - Dim.: 28,5x 15,2 mm - Alim.: 3,3 V Prix unitaire 32,72 €
TDL2A Modem radio synthétisé 5 canaux bande 433 MHz permettant une liaison série trans-
parente entre 2 microcontrôleurs (2 modules nécessaires) Prix unitaire 40,66 € Ouvrage technique
SET150 Ensemble de 2 télécommandes porte-clef 433,92 MHz type monocanal à code
anti-scanner + 1 récepteur à sortie relais - Portée: 30 m 49,00 € Eco-participation 0,01 € inclus 12 applications pratiques pour
maîtriser le PICBASIC-3B
TM2 Module GSM/GPRS Quad Band - Compatible protocole voix, fax, SMS - Pilotage
très simple via commandes AT séries - Prévoir antenne en sus 59,00 € Référence.: 8666 ....................... 42,50 €
Cet ouvrage propose 12 applications pratiques
ET-312 Module GPS 20 canaux - Dimensions: 27,9 x 20, 2 mm - SIRF IIITM- Alim. 3,3 V - pour le microcontrôleur PICBASIC-3B dans les
Prévoir antenne externe - Prix unitaire 70,56 € Prix unitaire (par 5 pcs) 58,60 €
domaines de la domotique (gradateur à 2
EM-406 Module GPS 20 canaux avec antenne intégrée - Dimensions: 30 x 30 x 10,5 mm voies pour convecteurs, thermomètre numé-
- SIRF IIITM- Alim. 5 V - Prix unitaire 75,00 € Prix unitaire (par 5 pcs) 64,58 € rique, gestionnaire d’éclairage), de la protec-
tion des biens (centrale d’alarme, disjoncteur
UM005 Module de lecture/décodage TAG RFID 125 KHz UniqueTM - Sortie série 25,00 € programmable), de la mesure (CO-mètre, lux-
mètre, capacimètre, station météo), de l’auto-
RFID-CARD1 Carte RFID Unique 2,00 € Prix unitaire (par 20 pcs) 1,32 € matisation (automate programmable) et de
l’électronique de puissance (alimentation nu-
AJV24E Module émetteur vidéo 2,4 GHZ 4 canaux - Dim.: 31 x 29 x 4 mm ......... 12,95 € mérique, variateur de vitesse à commande
AJV24R Module récepteur vidéo 2,4 GHZ 4 canaux - Dim.: 41 x 32 x 6 mm ....... 19,95 € PWM). L’auteur décrit chaque application en
détail, avec toutes les informations propres à
AJV58E Module émetteur vidéo 5,8 GHZ 4 canaux - Dim.: 37 x 31 x 4 mm ......... 17,39 € la réalisation (circuit imprimé, liste et implan-
AJV58R Module récepteur vidéo 5,8 GHZ 4 canaux - Dim.: 51 x 31 x 13 mm ..... 24,95 € tation des composants, mise au point), puis
CAF257 Moniteur oem TFT couleur 2,36” (56 x 43,5 mm) livré sous forme d’une platine
fait une lecture commentée du programme
Alim.: 5 à 12 Vcc / 200 mA - Entrée vidéo 1 Vpp ............................. 49,94 € BASIC.
BluetoothTM is a trademark owned by BluetoothTM SIG, INC USA. ZigBeeTM is a registered trademark of the ZigBee Alliance.
Documentations complètes sur le www.lextronic.fr Toutes les autres marques, les technologies, les procédés, les références et appellations commerciales des produits citées
dans cette page appartiennent à leur Propriétaire et Fabricant respectif