Revenir en arrière   Modelisme.com > Navi modélisme > Navi / Electronique

Répondre
 
LinkBack Outils du sujet Affichage du sujet
Ancien 22/01/2012, 22h21   #1 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut Le monde des microcontrôleurs

Sous ce sujet, vous trouverez des montages simples à base de microcontrôleurs, destinés à être utilisés avec une radiocommande proportionnelle et étudiés principalement pour les modèles réduits de bateaux.

J'ai remarqué que quelques uns, sur ce forum, se lancent dans la construction de navires utilitaires, du genre bateaux de pêche, pousseurs, remorqueurs et autres engins sympathiques rentrant dans la catégorie loisirs, par opposition aux catégories donnant lieu à des compétitions effrénées.

Avec ce genre de bateaux, une radiocommande proportionnelle est utile pour la direction et la propulsion, par contre, ils nécessitent plein de commandes tout ou rien pour faire des animations ou allumer des lumières.

Je vous propose donc des montages à brancher sur une (ou plusieurs) voie(s) proportionnelle(s) et qui commandent plusieurs fonctions tout ou rien.

Des solutions commerciales existent, mais, avec des composants ne coûtant pas grand chose et aisément disponibles, il est possible de faire presque aussi bien, avec un travail minime et un effort d'imagination !
jpparisy est déconnecté   Répondre en citant
Ancien 22/01/2012, 22h37   #2 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut Les composants utilisés

Ce message évoluera en fonction des composants utilisés dans les montages.

Le PIC12F509

C'est un microcontrôleur (en abrégé "MCU" : Micro Controler Unit) fabriqué par Microchip, la fiche descriptive du produit est ici.

Il ressemble physiquement à ceci :



Cette photo est un agrandissement, lorsque le MCU est monté sur un support (ce que je recommande), il mesure environ 1 cm dans toutes les dimensions.

Sous ce format réduit, il dispose d'une broche pouvant être utilisée en entrée et de cinq broches pouvant être utilisées en entrée ou en sortie, indépendamment les unes des autres.
Il a un compteur (timer) de huit bits avec un pas de 1 à 256 us (microsecondes) permettant de mesurer le temps.
Il nécessite une alimentation comprise entre 2 V et 5.5 V (à ne pas dépasser) et consomme, à vide, environ 1 mA (milliAmpère) sous 5V.
Les broches en sortie peuvent fournir jusqu'à 25 mA chacune (de quoi alimenter une LED) et il ne faut pas dépasser 75 mA pour l'ensemble des sorties.

Il est reprogrammable, ce qui signifie qu'on peut changer le programme en mémoire autant de fois que nécessaire (jusqu'à 100 000 fois).

L'avantage d'utiliser un MCU est qu'il ne nécessite aucun composant additionnel pour fonctionner, comme nous allons le voir avec les schémas proposés.

On le trouve couramment en France à environ 1 EUR pièce.

Le BS170

C'est un transistor de technologie MOSFET, sa fiche technique est ici.

Il s'utilise lorsqu'il y a besoin de puissance sur les sorties du MCU. Il agit comme un interrupteur pour commander n'importe quelle charge consommant jusqu'à 500 mA en continu et 1200 mA en impulsion. Si cette intensité n'est pas suffisante, un MOSFET de puissance peut être utilisé, par exemple l'IRF540, qui supporte jusqu'à 28A en continu et 110 A en impulsion ou encore l'IRF3808, qui supporte jusqu'à 140A en continu et 550 A en impulsion.

L'avantage du MOSFET sur un transitor classique est qu'il est commandé par une tension et non par un courant. Pratiquement, cela signifie qu'il peut être branché directement sur une sortie du MCU sans aucun composant supplémentaire.



La broche "G" est l'entrée de commande, lorsque la tension sur cette broche est supérieure à 3 V, le transistor conduit. La broche "S" est à brancher à la masse (0 V) et la broche "D" est à brancher sur le pôle négatif du dispositif à commander, l'autre pôle du dispositif étant branché à la source positive, cette source peut éventuellement être différente de l'alimentation du MCU.
Lorsque des alimentations séparées sont utilisées, leurs masses (0 V) doivent être communes.

La tension maximum entre les broches "S" et "D" est 60 V. Celle entre les broches "G" et S est 20 V. A priori, cela ne devrait pas nous poser de problème.

On trouve généralement le BS170 pour un prix de 0.55 EUR vendu à l'unité, beaucoup moins cher quand on l'achète par quantité.
jpparisy est déconnecté   Répondre en citant
Ancien 22/01/2012, 22h48   #3 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut Programation

Pour pouvoir fonctionner, un MCU doit avoir un programme chargé en mémoire. Il existe différents langages pour écrire les programmes : l'assembleur, le BASIC, le langage C et divers langages propriétaires.
Personnellement, pour les réalisations que je décris, j'utilise le langage C (compilateur "HI-TECH C Lite") fourni gratuitement avec l'environnement de développement de Microchip sous Windows (à télécharger ici : MPLAB IDE) :



Avec cet environnement, il est possible d'écrire et modifier le programme, de le compiler et d'écrire le code généré dans la mémoire du MCU.

Programmateur

Pour transférer le code généré par la compilation (rangé dans un fichier suffixé par ".hex") depuis l'ordinateur vers la mémoire du MCU, il faut utiliser un programmateur. C'est un boîtier qui se branche sur une prise USB (ou sur un port série ou parallèle) côté ordinateur et sur le MCU de l'autre. Une fois le programme rangé en mémoire, il n'est pas nécessaire de le recharger avant 40 ans minimum (c'est peut être plus, mais on n'a pas le recul nécessaire).

Je ne préconise aucun modèle en particulier, il en existe à tous les prix, depuis les gratuits, à réaliser soi même, jusqu'aux très chers !
jpparisy est déconnecté   Répondre en citant
Ancien 22/01/2012, 23h06   #4 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut Cinq voies tout ou rien sur une voie proportionnelle

À utiliser avec un interrupteur, comme par exemple l'interrupteur noté "CH 5" sur une radio DX5e.

Au départ, toutes les voies sont à 0 V. Lorsqu'on bascule rapidement l'interrupteur un certain nombre de fois, la sortie correspondant au nombre de basculements (et seulement celle là) passe à 5 V. Pour la faire revenir à 0 V, on bascule l'interrupteur du même nombre de fois.

Exemple :

Au départ, l'interrupteur est sur la position ON (la position de départ n'a pas d'importance, c'est le nombre de changements qui importe), si on le passe à OFF (1 changement), la sortie 1 passe à 5 V.
Si on le remet sur ON après un certain temps, la sortie 1 passe à 0 V.
Pour activer ou désactiver la sortie 2, on bascule rapidement l'interrupteur deux fois (OFF-ON).
Pour la sortie 3, OFF-ON-OFF, et ainsi de suite pour les autres sorties.

Le schéma électronique est extrêmement simple, puisque tout est fait par le programme :



L'entrée "Signal" est à brancher sur la voie commandée par un interrupteur.

Télécharger les fichiers source et hex.
jpparisy est déconnecté   Répondre en citant
Ancien 22/01/2012, 23h14   #5 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut Cinq voies tout ou rien supplémentaires sur la même voie proportionnelle

Ce circuit est à utiliser en complément du schéma précédent : lorsque le nombre de basculements de l'interrupteur est supérieur à 5, il prend en compte les basculements de 6 à 10. Il est à brancher en parallèle avec le circuit précédent avec un cordon de servos en Y.

Le schéma est le même que le précédent, seul le programme change.



Télécharger les fichiers source et hex.
jpparisy est déconnecté   Répondre en citant
Ancien 23/01/2012, 06h49   #6 (permalink)
Membre actif
 
Avatar de minimaxi
 
Inscrit : November 2007
Lieu: Région Lilloise
Messages: 565
Par défaut

Le sujet est sympa et il m'intéresse. Mais il me reste à apprendre encore beaucoup, j'attend la suite (si cela est prévu) avec impatience.

Il me faudra encore trouver un schéma simple pour le cablage et apprendre le langage de programmation, mais avec le temps je ne désespère pas.
__________________
Voiliers (Yamaha-ETNZ-Shark), Maquettes navigantes (Jules-Verne, Seabex-One, Progress) Offshores électriques.
Un petit tour coté offshores électriques : http://www.dailymotion.com/minimaxi59.
Ou sur le site de notre club : http://mnfa.forumgratuit.com/forum
minimaxi est déconnecté   Répondre en citant
Ancien 23/01/2012, 09h07   #7 (permalink)
Membre Sénior
 
Avatar de Bud.fr
 
Inscrit : December 2009
Lieu: Six Fours les Plages - 83
Messages: 1 809
Par défaut

Salut et merci JP.

Je me sent visé là, je construit un pousseur Springer et je m'essaye aux MCU .

Petit chapitre sur les conneries à ne pas faire:

J'ai commandé des MCUs et j'ai fait 2 erreurs:

- J'ai pris des 12C509 , qui est une version NON ré-inscriptable (??), on a le droit qu'à 1 seul essai, par rapport au 12F509 qu'on peut flasher autant qu'on veut et changer le programme si on veut.

- Et ces 12C509, je les ai pris, sans faire gaffe, au format CMS, c'est tout petit et chiant à souder, il a fallut que j'achète des CI adapteur pour passer à un format ... plus accessible.

Comme programmateur, j'ai pris du pas cher, un K150 chinois, compatible avec beaucoup de MCU (point à vérifier avant d'acheter).
Intéressant sur le papier, mais fonctionnement ... bizarre à la maison, il m'annonce des problèmes de port (COM5 pour moi) mais il a l'air de fonctionner correctement (???) A voir.

Question pour JPParisy: Est ce que tout les programmes, en occurrence MPLAB, sont compatible avec tous les programmateurs ???
J'ai téléchargé MPLAB mais j'ai pas le K150 dedans .

A suivre
__________________
Avions: Polyclub - FunCub - PBY Catalina - Playmobil
Planeurs: Tucano PPS - Merlin et Blizzard Multiplex - Arcus Robbe - Eric
Ailes volantes: Weasel - BeEvo
Bud.fr est déconnecté   Répondre en citant
Ancien 23/01/2012, 10h49   #8 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut

Citation:
Envoyé par minimaxi Voir le message
Le sujet est sympa et il m'intéresse. Mais il me reste à apprendre encore beaucoup, j'attend la suite (si cela est prévu) avec impatience.

Il me faudra encore trouver un schéma simple pour le cablage et apprendre le langage de programmation, mais avec le temps je ne désespère pas.
Une suite est prévue, elle dépendra des questions posées.

Je prévois aussi quelque chose pour le cablage, il sera toujours extrémement simple, puisqu'il n'y a que huit connexions. Je réfléchis encore un peu, mais ça sera vraisemblablement à base de plaquettes à bandes prépercées, de barrettes mâles au pas de 2.54 et de prises pour servos.

J'ai utilisé le langage C pour la programmation, essentiellement pour montrer que ce n'était pas si compliqué que ça et pouvait être lisible. L'important est de comprendre le rôle des registres internes du MCU plus que d'assimiler le langage.

Le seul gros problème est que les notices sont toujours en anglais et cela peut conduire à des erreurs d'interprétation. Pour éviter un choc culturel, j'ai fait l'effort d'écrire tous les commentaires en anglais aussi !
jpparisy est déconnecté   Répondre en citant
Ancien 23/01/2012, 11h19   #9 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut

Citation:
Envoyé par Bud.fr Voir le message
Question pour JPParisy: Est ce que tout les programmes, en occurrence MPLAB, sont compatible avec tous les programmateurs ???
Au départ, tous les programmateurs proposés, aussi bien amateurs que commerciaux, étaient compatibles avec MPLAB.

Le projet K150 a décidé de faire cavalier seul et de développer son propre programme de gravure, malheureusement ce projet n'est plus très actif, la dernière liste officielle des circuits supportés date de 2004. Ceux qu'on trouve sur Ebay sont des copies et il n'y a aucune garantie que les listes de composants soient maintenues.

Heureusement, il existe de nombreux autres projets qui proposent des réalisations compatibles avec les produits Microchip et donc utilisables directement depuis MPLAB.

Il est aussi tout à fait possible d'acheter un produit Microchip, il en existe quelques uns pas très chers, mais les frais de port sont élevés. L'avantage est que l'on est sûr avec eux que les mises à jour pour les nouveaux circuits seront faites régulièrement.
jpparisy est déconnecté   Répondre en citant
Ancien 23/01/2012, 11h34   #10 (permalink)
Patibulaire mais presque
 
Avatar de jpparisy
 
Inscrit : August 2011
Lieu: France, Plaisir / Mortagne au Perche
Messages: 742
Par défaut Les programmateurs

Lorsque j'ai parlé des programmateurs, j'ai dit qu'ils se branchaient sur le MCU, sans préciser la nature de ce branchement.

Il existe deux possibilités :
  • soit avec un support de circuit intégré dans lequel on enfiche le MCU,
  • soit via une prise branchée directement sur le circuit définitif, ne nécessitant pas le démontage du MCU. Cette technique est appelée "ICSP" (In Circuit Serial Programming).
jpparisy est déconnecté   Répondre en citant
Répondre

Outils du sujet
Affichage du sujet

Règles des messages
Vous ne pouvez pas créer de sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas importer de fichiers joints
Vous ne pouvez pas modifier vos messages

BB codes : Activé
Smileys : Activé
BB code [IMG] : Activé
Code HTML : Désactivé
Trackbacks are Activé
Pingbacks are Activé
Refbacks are Activé


Sujets similaires
Sujet Auteur du sujet Forum Réponses Dernier message
Bonjour tout le monde ! besoin d'aide teamomega Hélico / Débutant 3 07/01/2012 01h13
mon entrée dans le monde des quadricopter Lord24 Hélico / Multi-rotors UFO 0 29/12/2011 08h01
Le monde des microcontrôleurs Bud.fr Aéro / Radio & Electronique 65 26/10/2011 20h49
Championnats du monde 1/5ème 2011 à Hanvec (29) dough29 Auto / Compétitions & Rencontres 3 05/09/2011 19h00
championnat du monde F3D tedy dmontréal Aéro / Racer et DogFight 2 15/08/2011 16h44

modelisme.com | Faites également la promotion de votre Page

Fuseau horaire : GMT +1. Il est 17h12.


Propulsé par vBulletin® version 3.8.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 PL2
Version française par vBulletin-Ressources.com
Copyright Libraltitude SAS 2010