Programmation des Arduino Pro Mini 3.3V

Les Arduino Pro n’ont pas de port USB pour les programmer. Il faut donc utiliser du matériel additionnel. Pour ma part, j’utilise le module (FTDI) suivant:

20140613_195427

Ce module offre l’avantage de pouvoir choisir, à l’aide d’un commutateur, si on veut travailler en 5V ou en 3.3V. Mais attention, même si le module est configuré en 3.3V, il donne du 5V sur la patte d’alimentation (la troisième depuis le haut sur l’image précédente). D’ailleurs sur le PCB, c’est bien indiqué 5V.

Si on regarde la configuration de l’Arduino pro mini, ça correspond à la patte VCC (connecteur du haut, troisième patte depuis la gauche):

11114-02a

Mais sur l’Arduino Pro 3.3V, on devrait mettre 3.3V sur VCC et non 5V. L’Arduino résistera probablement à ce mauvais traitement, mais il n’en va pas de même pour les autres composants que vous pourriez avoir sur votre circuit ( j’ai testé pour vous 🙂 ).

On peut résoudre ce problème de 2 manières:

  1. On n’utilise pas du tout l’alimentation qui vient du module USB, c’est à dire que nous ne connectons pas cette troisième patte depuis le haut à l’Arduino. Il faudra cependant alimenter l’Arduino avec un autre moyen pendant la programmation (par exemple à l’aide de piles).
  2. On connecte le 5V de sortie du module USB à la patte “RAW” de l’Arduino. Ainsi, nous utilisons le circuit de régulation de tension disponible sur l’Arduino Pro et nous garantissons une tension de 3.3V sur VCC.

Arduino Pro 3.3V 8MHz

J’ai reçu mes Arduino Pro mini 3.3V 8MHz de Sparkfun et j’ai refait le montage avec les module RF24l01 de Nordic Semiconductors:

20140613_192959

Sur l’image, on voit l’Arduino pro mini à droite, les batteries et le module RF24.

Pour monter la tension des piles de 2.4V (2 fois 1.2V) à 3.3V, j’utilise un autre petit module de Sparkfun:

20140613_193011

Les 3 condensateurs que vous voyez en haut à droite de l’image suivante sont nécessaire au bon fonctionnement du circuit. Sans eux, le module radio (RF24) ne fonctionne pas de manière fiable.

20140613_193052

Dans cette configuration, le système consomme 37mA sous 2.4V (avec l’Arduino et le RF24 enclenchés). Si j’enclenche encore la LED, alors la consommation monte à 48mA.

En alimentant le système avec deux batteries de 1.2V / 1350mAh, et en arrondissant la consommation du système à 40mA, on va tenir 1350/40 =  33 heures. Avec la LED allumée, on tiendra 1350/50 = 27 heures. Ca sera donc bien assez pour une journée de compétition.

La prochaine étape consiste à réaliser une barrière lumineuse sans fil pour détecter le passage des robots au travers d’un portique. Nous testerons cette barrière lors du prochain Cybercamp de l’université de Fribourg.

 

Consommation électrique des Arduinos

Suite aux encouragements de StephaneG, j’ai fait de nouvelles mesures de la consommation électrique des Arduinos.

20140523_181322

Avec un programme qui ne fait que d’allumer la LED sur l’Arduino, j’ai mesuré les valeurs suivantes:

Modèle Tension à la pile Intensité Puissance
Arduino Nano V3 (alimenté par le port USB) 2.39V 154mA 368mW
Arduino Nano V3 (alimenté sur les pattes) 2.40V 124mA 298mW
Arduino Uno SMD (alimenté par le port USB) 2.39V 127mA 304mW
Arduino Uno SMD (alimenté sur les pattes) 2.40V 124mA 298mW
Arduino Pro (alimenté sur les pattes) 2.43V 48mA 117mW

J’ai fait les mesures sur le bloc de 2 piles 1.2V NiMH qui alimentent l’Arduino au travers d’un module qui augment la tension à 5V.

On constate que l’Arduino Pro est bien meilleur que tous les autres. Il est même plus de 2.5 fois meilleur que le deuxième! C’est probablement dû au fait qu’il a moins de composants (pas de driver USB, pas de convertisseur vers 3.3V)

L’Arduino Pro semble donc la seule solution si on veut faire un système qui tienne plusieurs jours sur des piles.

Le contrôleur de l’Arduino est assez flexible et peut être alimenté avec une tension entre 1.8 et 6.0V. Le nFR24L01 est lui aussi assez tolérant et accepte des tensions entre 1.9 et 3.6V. Ca serait alors super si on pouvait se passer de convertisseur et alimenter le tout directement depuis les 2 piles de 1.2V. En effet 2.4V se trouve dans la tolérance des deux circuits. Cependant, l’Arduino Pro ne fonctionne pas avec seulement 2.4V sur la patte VCC (j’ai essayé).

Je vois au moins les trois solutions suivantes:

  • Garder l’Arduino nano et l’alimenter avec 6 piles de 1.2V (pour atteindre les 7V recommandés) ou alors avec une pile de 9V. Une pile de 9V a une capacité d’environ 500mAh (soit 4.5Wh) et on pourrait alors alimenter un consommateur de 500mW pendant 9h. Avec 6 piles AAA de 1.2V, on arrive à 1.2 * 6 * 1200 = 8.6Wh et ça tiendra donc plus de 17h.
  • Utiliser des Arduino pro 3.3V, mais il faut encore utiliser un module pour augmenter le 2.4V des piles à 3.3V (ou peut utiliser le NCP1402 disponible également chez Sparkfun pour 6$)
  • Faire une nouvelle platine “Arduino Like” avec un micro-contrôleur qui peut être alimenté avec une tension approximative de 2.4V. Mais sans tension fixe, il faut faire attention avec tous les périphériques.

Je ne sais actuellement pas encore quelle est la meilleure solution pour l’électronique du plateau de Fribot.

 

 

 

 

nRF24L01 + Arduino + Piles 1.5V

Je viens de recevoir de Chine des modules permettant de convertir des petites tensions (1.5V) en 5V. J’ai alors fabriqué une nouvelle version du système de communication avec ce nouveau module. On peut voir le module entre les 2 piles de 1.5V et le câble USB le reliant à l’Arduino nano: 

20140522_174522

Le voici en gros plan:

20140522_174529

Sur la prochaine photo, on voit bien l’Arduino nano alimenté par ce module:

20140522_174538

et le nRF24 pour la communication sans fil (en 2.4 GHz):

20140522_174552

Et le voici en action:

Côté consommation, c’est plus difficile. Avec 2 piles de 1.5V, ce circuit consomme 200mA et si je ne mets qu’une seule pile de 1.5V, ça fonctionne quand même…

20140522_174842

mais je sens que le fil chauffe un peu et ça consomme 430mA!

20140522_175116

Avec des bonnes batteries de 1200mAh, et deux batteries par circuit, ça va seulement tenir 6 heures.

Pour résumer, tout fonctionne bien, mais si on veut utiliser ce système pour le prochain concours de Fribot, il faut encore travailler sur la question de l’alimentation… ou changer les piles au milieu de la manifestation.

 

 

 

Low Fat Virtualization

Lors du dernier Séminaire fribourgeois Linux Embarqué, j’ai présenté des alternatives plus légères à la virtualisation «hardware». Ma présentation est disponible sur github.

Ce type de virtualisation au niveau du système d’exploitation complète la virtualisation «hardware» et offre des perspectives intéressantes dans le contexte des système embarqués.