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
-
Struggling with the Dobzouls38.0 error in your software? Our comprehensive guide provides step-by-step solutions and tips to fix and preven...
-
How to Fix Dev Error 0x59e33872 in Warzone & Other Games Are you experiencing Dev Error 0x59e33872 while playing Call of Duty: Warzone...
-
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...
-
Are you encountering the "Missing Error JSON Structure" message while streaming on Hulu? This frustrating error can interrupt your...
-
How to Fix War Thunder Error 81110013 – Step-by-Step Guide War Thunder is a popular online combat game, but many players encounter Error ...
-
How to Fix "Error While Starting Zigbee Herdsman" Easily Have you stumbled upon the dreaded "Error While Starting Zigbee Her...
-
Experiencing the BIOS Error 0x00050009 in DayZ can be frustrating, especially when you're eager to jump into your favorite servers. Th...
3/29/2013
Schema electronique