Le but de ce petit programme est de mesurer la longueur d’un signal de récepteur de télécommande de modèle réduits et le traiter à la convenance pour des applications diverses tel que des sorties en tout ou rien pour commander un relais de puissance, un moteur électrique, des éclairages ou comme pour moi des inflammateurs d’artifices.
Les signaux issus des récepteurs actuels sont en principes de même forme et de même longueur pour une même position de l’organe de comme attitré à la voie sur l’émetteur.
Dans une période de 20 ms (50 Hz) ce signal varie de 650 à 2400 µs selon la position de l’organe de commande de la voie de l’émetteur et de la programmation de la largeur du signal dans l’émetteur si celui-ci est doté de cette fonction, qui fera que l’appareil branché sur cette voie du récepteur variera de position pour un servo, de vitesse pour variateur ou régulateur ou d’état tout ou rien pour un train rentrant, un éclairage etc.
Voyez aussi le programme et réalisation très intéressante de Michel LECLERC intitulé ‘Servo’ dans la rubrique ‘Vos programmes’.
C’est cette dernière fonctionnalité qui sera traitée dans cette application. Il s’agit de mettre l’une après l’autre des 4 sorties du port GP (PIC 12F675) à 1 pendant 0.25s par l’action d’un front montant sur l’entrée GP2 configurée interruption.
Le programme démarre par la mise à zéro des différentes variables et drapeau suivit de l’initialisation du port GPIO permettant de modifier le registre de ce port non seulement en sorties mais aussi en entrées. Hors du commun, le port GP du PIC 12F675 est par défaut constructeur configuré en entrée Analogique !
Merci à Michel LECLERC de m’avoir aider à éclaircir de cas particulier.
Puis la valeur analogique de la longueur du signal traiter en mode interruption, est comparée à une valeur pour décider des fonctions suivantes.
Le but est de modifier les sorties GP0-1-3-4 pendant 0.25s à chaque passage au-delà de la valeur de comparaison (25 pour ce cas, >50% su signal).
La mesure de la longueur du signal est réalisée dans les sous programme en interruption sur GP2 (GP2_INT). Lors du front montant la valeur ‘Mesuresignal’ est incrémentée toutes les 50µs ce qui donnera une valeur représentative de la longueur du signal et enfin une valeur de comparaison ‘Valeursignal’. Pas compliqué n’est ce pas!
Pour les développeurs voulant plus de précision dans cette mesure réduiront cette temporisation de 50µs au plus court par des NOP(s) pour aller à des valeurs > à 255 en optant pour un mot de plus de 8 bits.
Popular Posts
-
Learn how to fix the Reedoor2.4.6.8 data error with this easy guide. Discover effective solutions and preventive measures to keep your syst...
-
Struggling with the Dobzouls38.0 error in your software? Our comprehensive guide provides step-by-step solutions and tips to fix and preven...
-
Struggling with DirectX errors in Call of Duty: Black Ops 6? This guide walks you through the causes, fixes, and tips to prevent crashes on ...
-
Are you frustrated by the "Undefined Error" in Battlefield 2042? Discover why this issue happens on PC, Xbox, and PlayStation, and...
-
Facing the dreaded Rockstar Games Launcher Error Code 7002.1? Learn what causes this issue and how to fix it step-by-step for a seamless gam...
-
Découvrez comment remplacer facilement l'autoradio de votre voiture avec ce guide pratique. De l'achat du nouvel autoradio au câbla...
-
100 Watt Onduleur 12V DC à 220V AC des schémas de circuit Le IC1 Cd4047 câblé comme un multivibrateur astable produit deux 180 degrés hors...
3/29/2013
Schema electronique
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment