Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général en BASIC et PASCAL !

Modérateur : Gérard

calculer la durée du niveau haut d'un signal
Philippe 84
Membre
Membre
Messages : 7
Enregistré en : juillet 2018

#1 Message par Philippe 84 » mar. 17 juil. 2018 19:08

Bonjour.
Je suis nouveau sur ce forum et je cherche à savoir comment mesurer la durée du niveau haut d'un signal.
Je dois faire fonctionner deux variateurs moteur avec une télécommande de radio modélisme qui émet un signal variant de 1 à 2 miliseconde. La fréquence étant de 50 Hz.
Je travaille avec Mikropascal.
Merci d'avance.

calculer la durée du niveau haut d'un signal
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » mer. 18 juil. 2018 01:31

Bonsoir Philippe 84,

Bienvenue sur le forum de Fantas-PiC,

Philippe 84 a écrit :Source du message je cherche à savoir comment mesurer la durée du niveau haut d'un signal


Peux tu préciser avec quelle Pic tu travailles, en mettant un lien sur le datasheet de celui-ci.

Plusieurs méthode existe pour mesurer la durée d'un niveau haut d'un signal.

La plus simple, et sans interruption :

1) Tu mets ton Timer1 à zéro, sans le mettre en fonction.
2) Tu attends un front montant, et au moment ou le front montant apparait tu mets en fonction le timer1.
3) Après tu attends que le front descend, et au moment ou le front descendant apparait tu mets hors fonction le timer1.

Tu as pu cas lire la valeur qui se trouve dans le timer1, avec un quartz à 4Mhz ça te fait 65535 microsecondes

J'ai pas compris toute la question, car tu nous parle de mesure d'une alternance, après de faire fonctionner deux variateur
avec 50 hz.

Normalement avec 50 HZ tu as un maximal de 10ms sur une demie alternance, en supposant que tu travail à 50% de
l'alternance.

Ton problème c'est pas le code, c'est que tu sais pas comment t'y prendre, il faudrait que tu fasses un organigramme.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

calculer la durée du niveau haut d'un signal
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#3 Message par paulfjujo » mer. 18 juil. 2018 18:35

bonjour à tous,

Temps-x a écrit : ... j'ai pas compris toute la question, car tu nous parle de mesure d'une alternance, après de faire fonctionner deux variateur
avec 50 hz.
Normalement avec 50 HZ tu as un maximal de 10ms sur une demie alternance, en supposant que tu travail à 50% de
l'alternance.



je pense qu'il veut dire
repetition de la commande de 1 à 2mS toutes les 20 ms .. (T=20mS F=50Hz)
classique en radicommande
Aide toi, le ciel ou FantasPic t'aidera

calculer la durée du niveau haut d'un signal
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » mer. 18 juil. 2018 18:35

bonjour à tous,

Temps-x a écrit : ... j'ai pas compris toute la question, car tu nous parle de mesure d'une alternance, après de faire fonctionner deux variateur
avec 50 hz.
Normalement avec 50 HZ tu as un maximal de 10ms sur une demie alternance, en supposant que tu travail à 50% de
l'alternance.



je pense qu'il veut dire
repetition de la commande de 1 à 2mS toutes les 20 ms .. (T=20mS F=50Hz)
classique en radicommande
Aide toi, le ciel ou FantasPic t'aidera

calculer la durée du niveau haut d'un signal
Philippe 84
Membre
Membre
Messages : 7
Enregistré en : juillet 2018

#5 Message par Philippe 84 » jeu. 19 juil. 2018 10:20

Re bonjour et merci pour vos réponses.
Je viens préciser la question. Le signal de sortie du récepteur de la radiocommande à une fréquence de 50 Hz et la durée du front haut varie de 1 à 2ms. (Soit 1ms de front haut et 19 ms de signal à 0V.)
C'est la longueur de ce front haut qui determine la position de la sortie des variateurs. Soit pour une durée de 1,5 ms les variateurs sont à zéro. Pour une durée inférieure, les variateurs vont dans un sens ( marche arrière, par exemple), et pour une durée supérieure, les variateurs vont dans l'autre sens ( marche avant).
Je comptais travailler avec un 16F628A et, étant débutant avec les Pic, je ne maîtrise par très bien les timers. Merci d'avance.

calculer la durée du niveau haut d'un signal
Claudius
Avatar de l’utilisateur
Passioné
Passioné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#6 Message par Claudius » sam. 21 juil. 2018 14:05

Bonjour,

Pour ce genre de détermination, un oscilloscope est requis et qui peut d'ailleurs servir à bien d'autres usages comme vérifier un niveau de tension (logique ou analogique), l’absence de bruit sur un signal, le temps d'occupation du µC en dédiant un pin pour cela (ce que je fais systématiquement car ai adopté une programmation sous et avec interruptions), etc.

Maintenant, l'investissement est vite amorti au vu du temps que l'on peut passer à résoudre un problème

Bonne journée, A+
--
Claudius

calculer la durée du niveau haut d'un signal
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#7 Message par Temps-x » dim. 22 juil. 2018 00:35

Bonsoir Philippe 84,

Ce que tu veux c'est cela :

Commande de servo.jpg


Personnellement je programme mes microcontrôleurs en ASM, dans la rubrique réalisation il y a un exemple en ASM, regarde la source,
tu peux voir l'utilisation du timer1.

Il y a aussi la réalisation de paulfjujo en mikroC :langue: qui est très bien expliqué.

Sinon mets le début de ta source ici, et on t’expliquera au fur à mesure.

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

calculer la durée du niveau haut d'un signal
Philippe 84
Membre
Membre
Messages : 7
Enregistré en : juillet 2018

#8 Message par Philippe 84 » dim. 22 juil. 2018 17:20

Merci pour vos réponses.
Claudius, je possède déjà un oscillo.
Temps-x, c'est exactement ça.
Je vais commencer à écrire le code et le copier ici au fur et à mesure.
Je cherchais les renseignements avant de commencer. Maintenant je me suis fait une idée et je vais pouvoir me lancer dans l'écriture.
Je vous remercie pour l'aide apportée et continuerai à vous solliciter pour l'élaboration de ce programme.


Retourner vers « Langage BASIC & PASCAL »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 38 invités