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 ---
- 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 ---
Modérateur : Jérémy
Precision dans les Timers
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
Je me pose la question suivante :
Pour faire une chrono d'une seconde,le plus précis possible, en utilisant l'oscillateur interne vaut il mieux :
- faire des INT toutes les millisecondes et donc compter jusqu’à 1000 .
-Ou faire des INT toutes les 100ms et compter jusqu’à 10 ?
Ces valeurs sont données à titres d'exemples pour comprendre le fond de la question.
Merci
Je me pose la question suivante :
Pour faire une chrono d'une seconde,le plus précis possible, en utilisant l'oscillateur interne vaut il mieux :
- faire des INT toutes les millisecondes et donc compter jusqu’à 1000 .
-Ou faire des INT toutes les 100ms et compter jusqu’à 10 ?
Ces valeurs sont données à titres d'exemples pour comprendre le fond de la question.
Merci
Precision dans les Timers
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Jérémy a écrit :Bonjour à tous,
Je me pose la question suivante :
Pour faire une chrono d'une seconde,le plus précis possible, en utilisant l'oscillateur interne vaut il mieux :
- faire des INT toutes les millisecondes et donc compter jusqu’à 1000 .
-Ou faire des INT toutes les 100ms et compter jusqu’à 10 ?
Ces valeurs sont données à titres d'exemples pour comprendre le fond de la question.
Merci
dans le 1er cas, ton programme principal disposera de 1mS (et meme un peu moins, avec la duree de restitution environnement)
pour traiter ton flag levé par ton timer ... et ton programme principale sera interrompu 1000 fois par seconde..
pouvant aussi interferer avec d'a'utres Interrup telle que RX UART Ou ...
Dans le second cas , le programme principal est "Tranquille" pendant au moins 100mS
et donc moins perturbé.
La precision de la seconde dependra surtout de la reactivité à traiter le flag seconde atteinte.
perso: je prendrai plutot l'interrupt à 100mS .. c'est le timer Hardware qui fait le plus gros boulot.
Precision dans les Timers
Precision dans les Timers
Merci pour cette petite info
@++
@++
Precision dans les Timers
-
cyril13110
Confirmé- Messages : 742
- Âge : 41
- Enregistré en : avril 2016
- Localisation : 13
Precision dans les Timers
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
C'était mon arriére pensé dans ma question, mais je pensais plus à un décalage de la milliseconde.
C'est pourquoi il est préférable d'uiliser le timer avec la grande unité de temps . 10ms ou 100ms , laisse déja une marge de manouevre pour ne pas décalé l'interruption.
Par contre, pour un décalage dans le temps genre "sur une journée", la oui tu va avoir un gros décalage quand même. de l'ordre de la dizaine de seconde voir plus. La fréquence INT d'un PIC n'est pas fait pour de grande mesure de temps.
Il faut préférè un Oscillateur externe pour cela avec une grande précision. Mais même avec ca, c'est encore TOP, suivant le programme et la temperature extérieur etc ... un décalage est inévitable.
Pour gérer correctement le temps sur de longue période je ne vois que les modules style DS1307 (tutoriel ). Certains même ajuste leur fréquence en fonction en fonction de la T°, ce qui les rends très précis !
C'est pourquoi il est préférable d'uiliser le timer avec la grande unité de temps . 10ms ou 100ms , laisse déja une marge de manouevre pour ne pas décalé l'interruption.
Par contre, pour un décalage dans le temps genre "sur une journée", la oui tu va avoir un gros décalage quand même. de l'ordre de la dizaine de seconde voir plus. La fréquence INT d'un PIC n'est pas fait pour de grande mesure de temps.
Il faut préférè un Oscillateur externe pour cela avec une grande précision. Mais même avec ca, c'est encore TOP, suivant le programme et la temperature extérieur etc ... un décalage est inévitable.
Pour gérer correctement le temps sur de longue période je ne vois que les modules style DS1307 (tutoriel ). Certains même ajuste leur fréquence en fonction en fonction de la T°, ce qui les rends très précis !
Precision dans les Timers
Precision dans les Timers
Precision dans les Timers
Ah bon. La température ambiante peux faire varier le temps du ds1307 par exemple ? Je ne savais pas sa
En effet dans ce cas là il vaux mieux partir sur un 3231 mais sa décale de combien pour 1 degré on le sais sa ?
Ou installé un dissipateur de chaleur ou un petit ventilo :p
@++
En effet dans ce cas là il vaux mieux partir sur un 3231 mais sa décale de combien pour 1 degré on le sais sa ?
Ou installé un dissipateur de chaleur ou un petit ventilo :p
@++
Precision dans les Timers
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
ce n'est pas la température qui fait varier la fréquence , mais la variation de température.
Si tu reste toujours à la même température, la fréquence ne changera pas (ou presque). Par contre à deux t° différentes il y aura changement de fréquence. C'est pourquoi il faut compenser !
Le dissipateur refroidit seulement, mais n’intervient pas dans les variations de température voir pire il les amplifie .
Imagine un circuit sous -tension à 50°C , pour une raison ou une autre tu te met a le refroidir; il va passer à 20°c et l'écart de t° provoque un changement de fréquence encore plus gros !
Si tu reste toujours à la même température, la fréquence ne changera pas (ou presque). Par contre à deux t° différentes il y aura changement de fréquence. C'est pourquoi il faut compenser !
Le dissipateur refroidit seulement, mais n’intervient pas dans les variations de température voir pire il les amplifie .
Imagine un circuit sous -tension à 50°C , pour une raison ou une autre tu te met a le refroidir; il va passer à 20°c et l'écart de t° provoque un changement de fréquence encore plus gros !
Retourner vers « Généralités sur les PICs »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 77 invités