Go Down

Topic: Valeur analogique (Read 393 times) previous topic - next topic

mahegate

Bonjour!
Je chercher à lire la valeur d'une entrée analogique plus rapidement que "analogRead()" comme directement manipuler les PIN. (Je suis sur arduino UNO)
Est-ce que ça existe?
Merci de me répondre.

lesept

Tu peux lire ceci, ça te donnera peut-être une piste. D'après ce que je comprends, c'est plus facile à faire pour des données digitales qu'analogiques (voir port manipulation).
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

hbachetti

Salut

Attendu qu'en général le logiciel est obligé d'attendre que l'ADC ait fini sa conversion, le passage par l'écriture / lecture directe dans les registres ne fera que reproduire ce que fait déjà la librairie de base.

Tout dépend de ce que l'on veut obtenir.
Si c'est libérer du CPU pour faire autre chose, on peut utiliser les interruptions, mais cela ne rendra pas la mesure disponible plus rapidement.

Possible de trouver de l'inspiration ICI.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

3Sigma

Bonjour,

Rien qu'en faisant ça dans le setup, tu vas aller beaucoup plus vite dans tes mesures analogiques:

Code: [Select]

    // Modification du prescaler de l'ADC: division par 8 de la fréquence du micro-contrôleur
    // au lieu de 128 par défaut, pour diminuer le temps entre deux mesures analogiques
    bitClear(ADCSRA, ADPS2);
    bitSet(ADCSRA, ADPS1);
    bitSet(ADCSRA, ADPS0);

_pepe_

#4
May 04, 2018, 11:15 am Last Edit: Aug 19, 2018, 02:20 am by _pepe_
Supprimé

68tjs

Ce qui est certain c'est que les réglages faits par les fonctions arduino sont ultra conservateurs et n'ont absolument la performance pour objet principal mais la sécurité.

La fréquence max d'échantillonnage dépend en priorité de l'impédance de la source à mesurer.
C'est du au principe du convertisseur (charge de capacité interne).
Avec une source d'impédance nulle la fréquence max peut être utilisée, avec une source d'impédance quelquonque le mieux est de tester en comparant les résultats obtenus avec différentes fréquences.

Tous les détails sont donnés dans la datasheet et plein d'autres encore comme la première conversion qui est plus longue que les suivantes, que bien souvent il ne faut pas garder la première conversion, etc,   etc

LIRE LA DATASHEET c'est la première et la principale source d'information.

mahegate

Merci à vous. Je vais voir tous vos conseilles et après je vous dirais le résultat.
:)

Go Up