Comment reconnaître la version d’un Arduino Pro Mini ?
J’ai récemment fait l’acquisition de plusieurs cartes Arduino pour mes futurs projets. Le format compact des Arduino Pro Mini m’a énormément séduit pour mes projets embarqués. J’ai donc commandé plusieurs versions chez divers fournisseurs (GoTronic, Ebay…). A la réception, après déballage, il m’était impossible de différencier les différents types d’Arduino. Je vais vous expliquer ici […]

3_cartesJ’ai récemment fait l’acquisition de plusieurs cartes Arduino pour mes futurs projets. Le format compact des Arduino Pro Mini m’a énormément séduit pour mes projets embarqués. J’ai donc commandé plusieurs versions chez divers fournisseurs (GoTronic, Ebay…). A la réception, après déballage, il m’était impossible de différencier les différents types d’Arduino. Je vais vous expliquer ici plusieurs méthodes afin de tester et reconnaître les différentes versions d’Arduino Pro Mini.

 

 1. Quelles versions ? Et pourquoi ?

Il existe différents types d’Arduino Mini Pro. Certains sont officiels et montés en Italie, d’autres sont des copies officielles ou non officielles. On trouve sur le marché différentes variantes, selon les tension et le quartz externe :
– Tension 3.3 V avec quartz à 8 MHz (commun)
– Tension 3.3 V avec quartz à 16 MHz (rare à trouver, pas toujours stable)
– Tension 5 V avec quartz à 8 MHz (configuration très rare à trouver)
– Tension 5 V avec quartz à 16 MHz (commun)
– Tension 5V avec quartz à 20 MHz (très rare à trouver)

Il existe également 2 version de microcontrôleur sur l’Arduino Pro Mini : le ATMega 128p et le ATMega 328p. Ce dernier est le plus récent et vient remplacer le 128p. Il s’agit du même microcontrôleur présent sur l’Arduino UNO revision 3.

Alors quelle version prendre ? Sur le site officiel Arduino, il est indiqué que l’Arduino Mini Pro est disponible en 3.3 V avec quartz à 8 MHz ou en version 5V avec quartz à 16 MHz. Je vous conseillerez donc t’utiliser une de ces deux variantes commune. Après selon votre utilisation, trois critères sont à prendre en compte :
– Autonomie de votre système (Consommation, Puissance…)
– Temps de réponse requis
– Alimentation des capteurs associés

Si vous faite un bilan sur ces trois critères, vous connaîtrez votre besoin entre ces deux Arduino. Par exemple, je sais que je possède un écran OLED I2C qui est plus stable et consomme moins de courant en 3.3 V. Le taux de rafraîchissement voulu est lent. Je me tournerai donc vers un Arduino Pro Mini en 3.3 V avec quartz à 8 MHz.

Exerçons nous sur les 3 cartes que j’ai reçu par des vendeurs différents :

3_cartes

Mes 3 cartes… Selon ma commande : 2x 3,3V à 8MHz et 1x 5V à 16 MHz…

2. Les composants à reconnaître

L’Arduino Mini Pro est équipé de deux composants importants qui nous intéresse ici : le régulateur de tension et le quartz. Afin de reconnaître sa variante, nous allons voir les différentes références de ces composants. Certaines sont lisibles directement sur le quartz et le régulateur, pour d’autres, il faudra réaliser les tests en partie 3.

Position du quartz et du régulateur de tension.

Position du quartz et du régulateur de tension.

2.1. Le régulateur de tension

Souvent, on peut retrouver des composants où est écrit « KB33 » pour un régulateur 3,3 V ou « KB50 » pour un régulateur 5 V.  L’indication est alors assez simple et lisible. Malheureusement, je n’avait rien de cela sur mes 3 cartes… Voici les gravures présentes sur mes 3 composants :
– « BBNI »
– « BANJ »
– « F34V »

Et voici mes 3 régulateurs... youhou ^^

Et voici mes 3 régulateurs… youhou ^^

 

Pour le composant « F34V », le « 34 » pourrait m’indiquer un régulateur 3,3-3,4 V. Le AtMega328p pouvant être alimenté de 3,3V à 5V, cela me paraît plausible. Après quelques recherches sur internet… pas moyen de savoir…

J’ai vu sur le net plusieurs composant estampillés AMSxxx ou LD33V… ces composants sont facilement trouvables sur le net avec leur datasheet associé. Easy donc…

Mais je ne suis pas plus avancé de ce côté là…

2.2. Le quartz

Pour reconnaître la fréquence d’un quartz, le plus souvent, c’est gravé dessus. Lorsqu’on a affaire à des composants montés en surface (CMS), il faudra prévoir une loupe pour lire les écrits, car le composant est nettement plus petit.

80W* sur le quartz... un 8 MHz ??!

80W* sur le quartz… un 8 MHz ??! Peut-être…

0.08 à la loupe. C'est quasi une certitude ici, il s'agit d'un 8 MHz.

0.08 à la loupe. C’est quasi une certitude ici, il s’agit d’un 8 MHz.

Avec ou sans flash, avec ou sans loupe... il n'y a rien à voir... Composant totalement lisse sans gravure...

Avec ou sans flash, avec ou sans loupe… il n’y a rien à voir… Composant totalement lisse sans gravure…

 

Après expertise visuelle de ces cartes et connaissant mes commandes, je peux déjà en déduire mes deux cartes 3,3 V à 8 MHz et ma carte 5,0 V à 16 MHz. Mais vu qu’on est jamais sûr de rien nous allons procéder à quelques expériences…

 

3. Reconnaître facilement sa version avec une expérience

Comme dit plus haut, certaines références ne sont pas visible sur le composant. Dans ce cas, la lecture du circuit n’aide pas. Il nous faut donc tester les composants. Pour se faire plusieurs méthodes existent. Je vais vous expliquer les méthodes les plus efficaces.

3.1. Identifier le régulateur de tension

Afin d’identifier rapidement si il y a un régulateur de tension 3.3 V ou 5 V, il suffit de connecter une tension supérieure à 5 V sur la pin RAW (j’ai pris 12 V ici). Il faut ensuite mesurer la tension présente entre la pin Vcc et Gnd. La connectique RAW permet de raccorder une source de tension supérieur à 3,3 V ou 5 V selon la version du régulateur. Cette connectique permet d’utiliser le régulateur de tension présent sur la carte, ce qui n’est pas le cas lorsqu’on utilise une alimentation sur Vcc.

Le montage se présente comme ci-dessous :

Montage pour identifier le régulateur de tension.

Montage pour identifier le régulateur de tension.

La tension mesurée entre Vcc et Gnd stabilisera à 3.3 V ou 5 V selon votre type de régulateur. Et de une identification de faite !

PS : Faites attention à ne pas réaliser de court-circuits entre les pattes de l’Arduino. Cela peut griller le régulateur de tension, ainsi que le microcontrôleur. J’ai vécu cette expérience, il ne me reste plus que 2 Arduino Mini Pro sur les 3 que j’avais acheté x).

3.2. Identifier son quartz

Pour identifier son quartz de manière software, il suffirait de réaliser un sketch où l’on incrémenterait une valeur pendant un certain temps avec un oscillateur 8 MHz et un oscillateur 16 MHz. On pourra ensuite comparer ces valeurs. Une question me vient donc à l’esprit… quel option mettre dans le compilateur ? Dans l’IDE Arduino, nous précisons le type de carte Mini Pro que nous possédons. Cela corresponds à la version du bootloader avec laquelle le programmateur Arduino discute pour implémenter le programme en mémoire…

Je vais tenter l’expérience sur deux Arduino mini pro :
– 5,0V à 16 MHz
– 3,3V à 8 MHz

Pour cela, je vais appliquer le code suivant :

unsigned long debut;
unsigned int a = 0;
int compteur = 0;

void setup()
{
//Port Série
Serial.begin(9600); // Initialisation du port série pour avoir un retour sur le serial monitor
debut = millis();
}
void loop()
{

for (0 ; compteur < 1 ; compteur++)
{
while(millis()-debut < 5000)
{
a = a+1;
}

Serial.println(« Valeur de a : »);
Serial.println(a);
}

}

 

 

Code en couleurs !

Code en couleurs !

Regardons ensemble l´effet que ce code produit selon nos Arduino et les 2 profils :

Arduino 5V à 16 MHz – Profil 5V à 16 MHz (profil adapté) :

Utilisation normale. Notons la valeur de a = 18242.

Utilisation normale à 16 MHz. Notons la valeur de a = 18242.

Arduino 3,3V à 8 MHz – Profil 3,3V à 8 MHz (profil adapté) :

Utilisation normale à 16 MHz. Notons la valeur de a = 42050.

Utilisation normale à 8 MHz. Notons la valeur de a = 42050.

Arduino 5V à 16 MHz – Profil 3,3V à 8 MHz :

Donnés incompréhensibles après une attente de 5 secondes.

Donnés incompréhensibles après deux redémarrages de la carte.

Arduino 3,3V à 8 MHz – Profil 5V à 16 MHz  :

Arduino-3.3V8MHz-Profile5V16MHz-0

Donnés incompréhensibles avec ce profil.

 

Résumé :

Après avoir réalisé ces essais, on peut dresser le tableau suivant pour identifier facilement son Arduino :

Récapitulatif

Récapitulatif.

Moral de l´histoire : ne vous inquiétez pas si vous n´avez pas la bonne fréquence de quartz ou le bon voltage sur le profil de compilation, cela ne devrait pas vous causer de dommage matériel. Néanmoins, ce petit test vous permettra de comparer vos quartz. La valeur de a peut légèrement varier selon les cartes Arduino. Disons qu´on se retrouve aux alentours de 42 000 pour du 3,3V à 8MHz et 18 000 pour du 5V à 16MHz.

Je trouve ça bizarre d´ailleurs d´avoir une valeur de a plus élevée à 8MHz qu´à 16MHz. Je m´attendais à l´inverse. Surement que ces valeurs correspondent à un ratio entre la tension d´alimentation et la fréquence quartz… Je n´ai personnellement pas envie de creuser plus loin sur ce point.

On sait maintenant reconnaître nos versions d´Arduino Mini Pro ! 🙂

N´oubliez pas de noter vos versions sur vos cartes 😉

Faut y penser !

Faut y penser !

 

BenTeK.

3 Commentaires

  1. monnom

    Merci beaucoup. c’est très sympa de partager comme çà et en plus c’est très bien écrit et clair.
    Merci encore.

    Réponse
  2. pascalou95

    bonjour,
    Franchement top ce tuto !
    cela m’a rendu un grand service
    bravo, bravo
    pascal

    Réponse
  3. Edgard

    nickel

    Réponse

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Pin It on Pinterest

Shares
Share This