MKR1000 signal bruité

Bonjour,

J’ai un signal alternatif 0-3V que je mesure avec un arduino UNO avec un simple analogRead(). J’ai voulu changer le UNO par un MKR1000 pour avoir une connectivité wifi et je constate que la fonction analogRead ne renvoie pas du tout les mêmes résultats, le signal est très bruité. Voici le montage qui génère le signal à mesurer :

Le code est très simple et consiste pour le moment seulement à faire une lecture de l’input.

• Signal observé avec MKR1000

• Signal Observé avec UNO

Si quelqu'un pourrait m’expliquer s'il vous plait.

Merci.

Je ne connait pas la série MKR.

Par contre je remarque que la valeur moyenne mesurée n'est pas la même :
342 avec Uno
520 avec MKR

Compte tenu que les deux ADC n'ont peut-être pas le même nombre de bits ces valeurs moyennes sont-elle cohérentes ?

Le MKR (samD21) n’accepte pas de signaux supérieur à 3,3V, pour le Uno la limite est à 5V.
Est-ce bien respecté ?

La qualité des masses est très importante pour les mesures analogiques.
Le schéma de câblage ne peut pas être le même puisque la connectique est différente entre les deux cartes.

Dans quel état est la breadbord du MKR ? Neuve ? délabrée ?
Les fils de liaisons ne sont-il pas trop long et trop fins ?
Ne font t-il pas des boucles antenne qui captent le bruit ambiant ?

68tjs:
Je ne connait pas la série MKR.

Par contre je remarque que la valeur moyenne mesurée n'est pas la même :
342 avec Uno
520 avec MKR

Compte tenu que les deux ADC n'ont peut-être pas le même nombre de bits ces valeurs moyennes sont-elle cohérentes ?

Le MKR (samD21) n’accepte pas de signaux supérieur à 3,3V, pour le Uno la limite est à 5V.
Est-ce bien respecté ?

La qualité des masses est très importante pour les mesures analogiques.
Le schéma de câblage ne peut pas être le même puisque la connectique est différente entre les deux cartes.

Dans quel état est la breadbord du MKR ? Neuve ? délabrée ?
Les fils de liaisons ne sont-il pas trop long et trop fins ?
Ne font t-il pas des boucles antenne qui captent le bruit ambiant ?

Bonsoir
et en complement
dans la mesure où aucun code n'est dispo
Il faut aussi se poser la question de la REF de tension choisie pour "jouer" avec le CAD 8)

Bonjour Merci pour vos réponses,
La Breadbord du Arduino est toute neuve et mon conditionnement me permet d'avoir en sortie un alternatif 0-3V ce qui est convenable pour le UNO et le MKR.

Le nombre de bits par défaut est de 10 pour les deux arduinos c'est vrai que le MKR1000 peut aller jusqu'à 12bits mais sa valeur par défaut est de 10bits et je n'ai rien modifié dessus.

J'ai essayé de lire la masse de l'Arduino en connectant celle ci à une broche analogique et les résultats sont très différents pour les deux Arduinos.

  • Masse UNO
  • Masse MKR

Au niveau des fils de liaisons, les mêmes sont utilisés pour le UNO et le MKR1000; c'est vrai au niveau du MKR1000 uniquement ils ont tendances à se comporter comme des antennes (le mouvement du fil relié à la broche Analogique du Arduino MKR1000 influe sur le signal ).

Merci de m'éclairer dessus s'il vous plait, je suis disposée pour toutes questions supplémentaires.

Votre problème m'intrigue et je suis obligé de vous poser des questions:

  • avez vous vérifié que la moyenne est stable lorsque vous avez une tension constante sur le CAN?(calculer une moyenne sur , mettons, 1000 mesures; l'afficher ; reinitialiser la moyenne et recommencer....)
  • pouvez vous afficher le minimum et le maximum de cette série, tous les 1000 échantillons?
  • avez vous verifié que la variance est stable (calculer la moyenne du carré de vos valeurs; le cumul , avec 1000 échantillons, occuppera 10+10 (carré) +10 (taille echantillon) : 30 bits; un 32 bits peut le faire sans problème.
    La variance est alors -approximativement; niais < 1/1000- - à la moyenne des carrés moins le carré des moyennes....
    On peut l'identifier à une puissance. Si cette puissance est faible (à votre sens) par rapport à la puissance que vous souhaitez mesurer, vous pouvez vous accomoder du bruit...
    Sinon, pouvez vous transmettre vos données, acquises bien sûr à intervalles temporels réguliers, via la ligne série vers le PC et les mettre dans un fichier(c'est une question de connaissance: pyserial, côte PC le fait). Un PC a alors tous les logiciels permettant de faire confortablement des essais de traitement du signal)

Question sur le matériel.

Commençons par les évidences : un convertisseur analogique digital a besoin d'une référence de tension stable.
Dans le meilleur des cas (CAN idéal) la stabilité et la précision de la mesure ne pourront pas être meilleures que celles de la référence de tension.

La série MKR utilise le microcontrôleur d'architecture ARM l'Atmel SAMD21 que je n'ai jamais utilisé.
Quelle sont les références de tension pour son convertisseur ?

Sur le schéma du MKR10000 Wifi téléchargeable à partir du site arduino on trouve deux condensateurs en parallèle sur l'entrée Vref du micro (4,7µF et 100 nF)
As tu quelque chose sur la broche de bord de carte dénommée Aref (qui est reliée directement à Vref) ?
Si cette entrée est polluée la mesure sera perturbée.

C'est étonnant que la MKR1000 Wifi soit plus bruitée que la UNO car le découplage de Vref semble bien fait alors que sur la UNO c'est une véritable bouse.
C'est pourquoi je penche vers une perturbation extérieure à la carte MKR1000 Wifi ou a une mesure faussée sur la UNO car elle devrait être plus bruitée.