Les projets basés sur les microcontrôleurs PIC
I. PRESENTATION
Les PIC sont des petits microcontrôleurs fabriqués par Microchip.
Ceux-ci se déclinent en plusieurs gammes.
Je me limiterai aux PIC12F629, PIC12F675 et 12F683 qui, bien que ne comportant que 8 pattes, permettent déjà de faire des petites merveilles.
Les programmes sont développés en langage "C".
En effet, je connais déjà le langage assembleur pour les micros 51 INTEL et l'assembleur pour les micros 32 bits MOTOROLA (dérivés du 68000) et je ne voulais pas m'encombrer l'esprit avec l'assembleur PIC, même si je sais qu'il est parfois nécessaire de jeter un oeil sur l'assembleur généré par le compilateur "C".
Les projets PIC ne sont pas dans la rubrique électronique car l'intégration de ces microcontrôleurs est telle que la partie électronique en est grandement simplifiée.
Toute utilisation commerciale des montages et programmes HEX présentés sur ce site est strictement interdite.
Note à l'attention des petits malins qui outrepasseraient cette restriction:
Tous mes programmes intègrent un espion. Il s'agit d'une signature générée sur une patte du PIC quand le stimuli qui va bien est appliqué sur une autre patte à l'instant qui va bien. Inutile de désassembler le code à partir du fichier HEX: je ne place pas cet espion dans la phase d'initialisation. Et si quelqu'un est capable de casser ma méthode de signature, c'est qu'il est assez compétent pour s'écrire le programme lui-même ! Cet espion ne perturbe absolument pas le fonctionnement des montages (discrétion...).
II. LES PROJETS A BASE DE PIC
II.1 UNISERCOM
UNISERCOM signifie UNIversal SERvo COMmand pour les anglo-saxons ou COMmande UNIverselle de SERvo pour les francophones.
Ce petit montage, construit autour d'un PIC12F675, permet de commander un servo standard de plusieurs manières et présente les caractéristiques suivantes:
Exemples d'utilisations:
Bref, il s'agit bien d'une COMmande UNIverselle de SERvo standard commandé en PPM.
Pour ceux qui n'auraient pas trouvé, l'accès à la page consacrée à UNISERCOM, c'est ici.
II.2 POLYTOR
Possédant un ensemble RC 4 voies proportionnelles Skysport 4 de Robbe-Futaba et n'utilisant que 2 voies sur les 4 pour faire naviguer mon modèle (Avant/Arrière et Gauche/Droite), il me restait 2 voies proportionnelles pour commander toutes les animations.
L'idée consiste donc à remplacer un des potentiomètres disponibles (ou les 2) par des résistances qui sont commutées par une série d'interrupteurs. Chaque interrupteur active ou désactive une animation.
Côté récepteur, est connecté un petit boîtier électronique qui décode les commandes envoyées par l'émetteur et pilote les animations.
Ce système est disponible chez la plupart des fabriquants d'ensembles RC :
Malheureusement, ces systèmes ne sont disponibles que sur les radios "haut de gamme" et coûtent la bagatelle de plusieurs centaines d'€uros.
Etant très satisfait du fonctionnement de mon
ensemble RC Skysport 4, je me suis décidé à concevoir un
système équivalent et d'un coût beaucoup plus abordable: le projet POLYTOR.
Depuis la version 2.0 du logiciel embarqué, POLYTOR est en mesure de s'adapter à d'autres ensembles RC.
Pour ceux qui n'auraient pas trouvé, l'accès à la page consacrée à POLYTOR, c'est ici.
II.2 P&B(Phares & Balises)
Le montage P&B (Phares & Balises) construit autour d'un PIC12F675 ou PIC12F629 permet de commander la séquence d'allumage/extinction du feu d'un phare ou d'une balise. Il est idéal pour cadencer le feu de vos phares et balises préférés.
La séquence étant spécifique à chaque phare ou balise, celle-ci est programmée par la liaison série d'un PC (port COM) en utilisant un simple terminal (programme HyperTerminal de Window$ ou Minicom de Linux). La séquence est alors mémorisée dans la mémoire EEPROM du PIC. Ainsi, le PIC conserve les paramètres de la séquence après une coupure d'alimentation.
Pour ceux qui n'auraient pas trouvé, l'accès à la
page consacrée à P&B, c'est ici.
II.3 SIMSERCOM
SIMSERCOM signifie SIMple SERvo COMmand pour les anglo-saxons ou COMmande de SERvo SIMple pour les francophones.
SIMSERCOM, construit autour d'un PIC12F629 ou 12F675, est une version ultra-simplifiée (5 composants : IC1, C1, R1, D1 et D2) du montage UNISERCOM tout en conservant 2 des 3 modes de fonctionnement de ce dernier.
UNISERCOM est assez encombrant à cause des 3 résistances ajustables qui permettent de faire les différents réglages.
SIMSERCOM se paramètre à l'aide d'un PC et d'une liaison série RS232 ultra-simpliste, ce qui permet d'obtenir un circuit imprimé de 15 x 25 mm.
UTILITAIRE DE PARAMETRAGE DE SIMSERCOM
Le programme PC (95, 98, XP, VISTA) permettant d'effectuer très facilement les réglages de SIMSERCOM.
Pour ceux qui n'auraient pas trouvé, l'accès à la page consacrée à SIMSERCOM, c'est ici.
II.4 TRISERCOM
TRISERCOM signifie TRIple SERvo COMmand pour les anglo-saxons ou COMmande de SERvo TRIple pour les francophones.
TRISERCOM, construit autour d'un PIC12F683, est une version améliorée du montage SIMSERCOM : il permet de séquencer non pas 1, mais 3 servos.
TRISERCOM se paramètre à l'aide d'un PC et d'une liaison série RS232 ultra-simpliste, ce qui permet d'obtenir un circuit imprimé de 20 x 30 mm.CARACTERISTIQUES:
- Tout comme SIMSERCOM, la
commande de TRISERCOM peut
être soit un simple interrupteur, soit une sortie TOR ou encore une
sortie "voie" d'un récepteur RC,
- Les positions extrêmes et la vitesse des 3 servos se paramètrent de
manière indépendante,
- Le 1er servo démarre dès que l'ordre de commande est reçu,
- Le 2e servo démarre immédiatement ou dès que le 1er
servo a atteint une certaine course,
- Le 3e servo démarre immédiatement ou dès que le 1er
ou le 2e servo a atteint une certaine
course,
- Le seuil de démarrage des servos dans l'autre direction est
paramétrable de manière indépendante (les seuils peuvent être
différents),
- En résumé, chaque servo peut démarrer immédiatement ou dès qu'un des
autres servos a atteint une certaine course, et cela, dans les 2
directions.
Sur la droite, la configuration correspondante de TRISERCOM affichée à l'aide de "TeraTerm", un terminal sous Window$. La commande de l'émetteur a 2 positions A et B et peut être: . Un interrupteur à 2 positions sur une voie Tout-Ou-Rien (Ex: Gear), . Un manche sur une voie Proportionnelle: position A=sous le neutre, position B=au-dessus du neutre. On y voit pour chaque servo: (Servo N°1, N°2 et N°3) - La position extrême associée à la commande "A" en µs, - La position extrême associée à la commande "B" en µs, - Le critère de démarrage "T" pour le sens A->B: . 0=départ immédiat, . sinon, N° d'un des autres servos, - Le seuil "C" de démarrage que doit atteindre le servo qui sert de critère, - Le critère de démarrage "H" pour le sens B->A: . 0=départ immédiat, . sinon, N° d'un des autres servos, - Le seuil "D" de démarrage que doit atteindre le servo qui sert de critère. Les vitesses pour le sens A->B ("S") et pour le sens B->A ("V") de chaque servo n'apparaissent pas sur cette copie d'écran. Notez à la fin, la commande "R" qui permet d'enRengistrer la configuration dans la mémoire de TRISERCOM. |
2) TRISERCOM
commandé par une sortie multi-switch (TOR) gérant la sortie des
bittards d'un supply:
UTILITAIRE DE PARAMETRAGE DE TRISERCOM
Le programme PC (XP, VISTA, SEVEN) permettant d'effectuer très facilement les réglages de TRISERCOM.
Pour ceux qui n'auraient pas trouvé, l'accès à la
page consacrée à TRISERCOM, c'est ici.