jeudi 10 janvier 2019

Développement électronique ARDUINO



Développement électronique ARDUINO


Nous allons parler dans cet article de la mise en œuvre physique d'un projet électronique à base de carte ARDUINO.

1. Choix de la carte

Le choix de la carte est majoritairement guidé par le nombre d'entrées / sorties nécessaire au projet, la tension de fonctionnement 5V ou 3.3V, mais aussi par la quantité de code et de données à embarquer dans la mémoire.

Je ne parlerai que des cartes les plus courantes, les autres cartes peuvent être choisies ICI.

1.1 Le code ou les données occupent une place faible

  • code < 28K
  • données < 2K
Vous pouvez vous orienter sur des cartes bon marché :
  • ARDUINO UNO
    •  5V
    •  16MHz
  • ARDUINO NANO
    • 5V
    • 16MHz
  • ARDUINO MINI
    • 5V
    • 16MHz
  •  ARDUINO PRO MINI
    • 3.3V
    • 8MHz
Laquelle choisir alors que toutes ces cartes ont des caractéristiques proches et embarquent le même processeur ATMEGA328P ?

L'ARDUINO UNO est intéressante de par sa capacité à accueillir des cartes shields comme des écrans, des drivers de moteurs, etc. Elle reste le moyen parfait pour des projets simples et réalisables rapidement.
Elle possède des trous de fixation facilitant son intégration dans un boîtier.

L'ARDUINO NANO est équivalente à la UNO dans un format beaucoup plus réduit. Elle possède de plus deux ports analogiques supplémentaires.
Elle ne possède pas de trous de fixation; elle devra donc être embarquée sur un PCB accueillant d'autres composants ou modules.

L'ARDUINO MINI ou PRO MINI est une NANO sans convertisseur USB / série.
Sa vocation principale est de servir de base à des projets basse-consommation.
J'en parle ICI.

1.2 Le code ou les données occupent une place importante

  • code > 28K
  • données > 2K
Vous pouvez vous orienter sur ces cartes :
  • ARDUINO MEGA
    • 5V
    • 16MHz
    • 256K de FLASH
    • 8K de RAM
    • 54 GPIOS
  • ARDUINO DUE
    • 3.3V
    • 84 MHz
    • 512K de FLASH
    • 96K de RAM
    • 54 GPIOS
  • Si vous avez besoin d'une carte ayant un encombrement réduit, il y a également la  STM32 BLUE PILL
    • 2V à 3.6V
    • 72 MHz
    • 64K ou 128K de FLASH
    • 20K de RAM
    • 37 GPIOS
Je parle plus longuement de la BLUE PILL ICI.

1.3 Cartes alternatives

Il y a aussi un certain nombre de cartes alternatives ARDUINO, les cartes MASSDUINO par exemple, équipées d'un processeur MD-328D, proche de l'ATMEGA328P.
J'en parle ICI.

2. Choix de l'intégration

Si la réalisation d'un prototype peut être effectuée à l'aide d'une carte ARDUINO et d'un ou plusieurs modules reliés par des fils DUPONT, l'intégration finale requiert un peu plus de sérieux si l'on désire obtenir un produit fini et une certaine fiabilité.

Il existe deux manières d'intégrer une carte ARDUINO à un PCB :

La carte ARDUINO est enfichée sur le PCB au moyen de barrettes de broches :
L
La carte ARDUINO accueille le PCB qui vient s'enficher sur les barrettes de celle-ci :

Dans le premier cas on parle de carte d'accueil, dans le deuxième cas on parle plutôt de shield.
Si le premier cas concerne surtout les cartes NANO, MINI, ou BLUE PILL, le second est surtout réservé aux cartes UNO, MEGA ou DUE possédant des connecteurs femelle.
Mais il est également possible de souder des connecteurs femelles sur une NANO ou une MINI.

3. Schématique

Comme pour tout développement électronique, la première étape est la réalisation du schéma. Pour ce faire nous allons utiliser des symboles.

Si vous utilisez KICAD, vous pouvez trouver les fichiers nécessaires ici :
https://github.com/KiCad/kicad-symbols
Les fichiers MCU_Module.lib et MCU_Module.dcm contiennent les symboles nécessaires pour ESP8266, ARDUINO LEONARDO, NANO, MINI, etc.

Voici le symbole schématique pour une NANO :
Voici le symbole schématique pour une UNO R3 :
Pour la MEGA, vous trouverez le nécessaire plus bas. Voir 10. Téléchargements.

4. Empreintes


Si vous utilisez KICAD, vous pouvez trouver les fichiers nécessaires ici :
https://github.com/KiCad/kicad-footprints/tree/master/Module.pretty
Les fichiers contiennent les empreintes nécessaires pour ESP8266, ARDUINO LEONARDO, NANO, MINI, etc.

Voici l'empreinte d'une NANO :


Voici l'empreinte d'une UNO R3 :


Pour la MEGA, vous trouverez le nécessaire plus bas. Voir 10. Téléchargements.

5. La réalisation

Cet article vous aidera dans la réalisation du schéma et du routage.

5.1. Vérifier le PCB

Principe de précaution : Voici un moyen simple de voir si un shield maison va s'enficher sur la carte prévue :


Imprimer sur papier, percer les pastilles avec une pointe, placer les connecteurs et enficher le tout sur la carte. Gagné, ça tombe en face !


On peut aussi placer les composants principaux. En haut à droite on peut voir que les deux boutons sont  suffisamment espacés pour pouvoir être manipulés sans avoir des doigts de fée.

5.2. Carte d'accueil

Si le PCB est destiné à embarquer une carte NANO ou MINI, les empreintes de la librairie correspondent à ce type de connecteur :
Il vous faudra deux pin-headers femelle de 15 broches pour une NANO, 12 broches pour une MINI.
Une MINI est souvent pourvue de broches supplémentaires comme ici :
Un connecteur femelle 2 broches devra être prévu sur la carte si les broche A4 et A5 (I2C) sont utilisées. A6 et A7 peuvent également être présentes.
L'empreinte de la librairie possède ces quatre broches supplémentaires.

5.3. Carte shield

Si le PCB est destiné à chapeauter une carte UNO ou MEGA, les empreintes de la librairie correspondent à ce type de connecteur :
Vous devrez couper ces barrettes aux longueurs voulues :
Pour une UNO :
  • 1 x 6 broches
  • 2 x 8 broches
  • 1 x 10 broches
Pour une MEGA :
  • 5 x 8 broches
  • 1 x 10 broches
  • 1 x 36 broches double rangée
Le connecteur de 36 broches n'est utile que pour les gros projets nécessitant un nombre d'entrées / sorties important :
Dans tous les cas, ces connecteurs mâles devront être soudés côté composants, car vous vous en doutez bien, ils seront difficiles à souder côté cuivre à cause de leur barrette plastique. Cela vous impose de concevoir un PCB double face.

Avec un PCB simple face, on peut s'en sortir en soudant les connecteurs mâles comme ceci :
Vous pourrez ensuite poser une goutte de colle cyanoacrylate sur chaque broche côté composant pour augmenter la solidité mécanique, car dans le cas contraire vous risquez fortement d'arracher les pastilles du PCB lors du démontage.

Voici ce que cela donne concrètement :


Mais si vous voulez vous simplifier la vie, ou si vous désirez disposer de broches femelles sur le shield, choisissez plutôt ceux-ci, que vous souderez côté cuivre :

6. Soudure

La soudure de ces connecteurs sur la carte - et je dirais d'une manière générale la soudure de tous les composants et modules courants - nécessite l'emploi d'une panne à pointe fine :
L'utilisation d'une station de soudage basse tension est recommandée. 
Ici une station Weller WS51 50W:

7. Photos

J'ai réalisé ce shield pour une ARDUINO MEGA :


C'est un voltmètre / ampèremètre digital. Le projet est ICI.

Il y a également sus ce blog un certain nombre de projets basés sur des cartes accueillant des ARDUINOs NANO ou MINI, comme par exemple cette prise connectée :


8. Astuces

Ci dessous quelques astuces de câblage pour le prototypage.

8.1. Lignes d'alimentation breadboards 830 points

Sur certaines breadboards, spécialement les 830 points, les lignes d'alimentation sont discontinues. Reliez-les avec des ponts comme ceci :


Cela vous évitera de vous demander pourquoi vos circuits ne sont pas alimentés.

8.2. Plusieurs modules I2C ou SPI

Relier deux modules I2C ou SPI sur une carte ARDUINO, sans passer par une breadboard.
  • utilisez quelques fils DUPONT soudés ensemble en Y
  • ajoutez un bout de gaine thermorétractable pour rendre le tout propre et fiable

On peut aussi réunir deux fils sur le même connecteur :


Vous aurez besoin de 4 fils Y pour de l'I2C :
  • VCC
  • GND
  • SDA
  • SCL
Vous aurez besoin de 5 fils Y pour de le SPI :
  • VCC
  • GND
  • MISO
  • MOSI
  • CLK

8.3. Un peigne de liaison pour breadboard

Relier plusieurs rangées d'une breadboard à GND ou VCC sans utiliser plusieurs fils mais un seul.
  • utilisez un petit bout de barrette (pin header) mâle
  • soudez les broches ensemble avec un fil de cuivre :

8.4. Mesurer la consommation d'un ARDUINO

  • coupez un câble USB ARDUINO en deux
  • équipez chaque moitié de connecteurs DUPONT mâles 4 points
  • raccordez les pins noir, vert et blanc directement à l'aide de fils DUPONT femelles
  • branchez sur chaque pin rouge un fil DUPONT mâle-femelle
  • branchez le multimètre sur les fils rouges

8.5. Un câble DUPONT maison

Se procurer une bonne pince à sertir :
Une pince à cliquet permet de serrer légèrement le contact pendant que l'on place le fil. Si l'on relâche les poignées les mâchoires restent serrées. Il faut serrer à fond pour pouvoir les ré-ouvrir.
Une bonne pince possède également un réglage de pression de sertissage, mais généralement elle est vendue pré-réglée.

Tous les vendeurs ne mentionnent pas la présence du cliquet, mais on le reconnaît facilement :

 
Celle-ci convient très bien : GOTRONIC

Des contacts NDR-TM :
Des boîtiers NSR-01 :
Pincer légèrement le contact dans la pince :


Mettre en place le fil dénudé sur 3mm :


Serrer et extraire le contact :


Mettre en place le boîtier :


Ce qu'il ne faut pas faire : sertir l'isolant


8.6. Le câblage par wrapping

Le wrapping est une technique de câblage datant des années 1960 1970 :



Le fil de diamètre 0.25mm est dénudé sur environ 2cm et enroulé à l'aide d'un outil sur les broches des composants.
Les broches sont de section carrée comme celles-ci :


Mes outils personnels de wrapping (la dénudeuse, le fil et l'outil manuel) :


Voici un montage personnel :


Le jack d'alimentation est soudé sur de petites rallonges de fil rigide (des queues de composants).


La partie petits signaux est wrappée. La partie puissance utilise des fils de section plus importante et de la soudure.
En bas, un rail +7.5V, et en haut un rail GND sont réalisés avec du fil rigide de 0.2mm2.
Le circuit intégré est monté sur un support à wrapper. Si l'on en trouve pas, on peut le monter sur deux connecteurs tulipe femelle :

Les broches sont courtes mais il sera possible de wrapper un ou deux fils quand même.

Attention : il est déconseillé de monter un circuit intégré sur ce genre de connecteur :

Les contacts femelle ne sont pas prévus pour accueillir des pattes de petite section. Le circuit intégré ne ferait pas contact de manière optimale.

On peut facilement trouver du matériel sur AliExpress.

8.7. Le montage sur plaquette à pastilles

Avertissement : Il est déconseillé de faire circuler du 230V sur ce genre de plaquette. L'espacement entre les pastilles étant inférieure à 1mm, largement insuffisant par rapport au minimum recommandé de 1.25mm.

On peut monter les composants très basse tension sur une plaquette à pastilles :


Ce montage est tiré de ce projet : https://riton-duino.blogspot.com/2019/06/arduino-micro-irrigation-automatisee.html

De haut en bas et de gauche à droite :
  • le module DS3231 monté sur une barrette femelle 6 broches
  • le connecteur d'alimentation
  • le connecteur de l'écran
  • le connecteur du module relais
  • l'ARDUINO NANO monté sur deux barrettes femelles 15 broches
  • le connecteur du clavier
  • les résistances des LEDs
  • le connecteur du capteur de débit
  • le connecteur du capteur d'humidité
  • les LEDs
Les connecteurs beige sont des KF2510 (ou NS25) facilement trouvables sur AliExpress ou ailleurs.
Comme on peut le voir la carte est entièrement dé-connectable et les modules sont démontables.

Les soudures à l'arrière de la carte :


Cela pourrait se faire en wrapping, de manière certainement plus propre.
Deux pastilles peuvent être facilement reliées par un pont de soudure.

Le câble de l'écran I2C :


A gauche le connecteur KF2510 côté carte.
A droite le connecteur Dupont côté écran.

Bien entendu, la pince à sertir est indispensable.

Un autre exemple :



Le câblage est réalisé à l'aide de fil à wrapper, dénudé ou non.

8.8. Le montage sur planche

Il est facile de faire un montage à l'aide de modules tout faits sur un morceau de contreplaqué comme ici : https://riton-duino.blogspot.com/2019/06/arduino-micro-irrigation-automatisee.html


Une simple plaque de contreplaqué et quelques morceaux de liteau forment le boîtier.
Une face avant en plexiglas protège le montage de la poussière.

La plaquette à pastilles, l'écran et le clavier sont fixés sur des colonnettes.

L'alimentation et les modules relais sont fixés à la colle chaude.

Les borniers que l'on utilise normalement sur un PCB peuvent être remplacés par des "dominos" :
Ou mieux :

9. Téléchargements

Le composant et l'empreinte ARDUINO MEGA : https://bitbucket.org/henri_bachetti/arduino-mega-footprint.git

10. Conclusion

J'espère vous avoir apporté une certaine aide dans la réalisation finale de vos futurs projets ARDUINO.


Cordialement
Henri

10. Mises à jour

26/02/2019 : ajout 8. Astuces
22/03/2019 : déménagement fichiers sous BitBucket.org
16/06/2019 : 8.6. La câblage par wrapping
                     8.7. Le montage sur plaquette à pastilles
                     8.8. Le montage sur planche
15/08/2019 :  5.1. Vérifier le PCB
18/08/2019 :  8.6. Le câblage par wrapping (photos)

1 commentaire:

  1. Excellent ! C'est exactement les informations que je recherchais, en particulier les types de câbles à utiliser pour la soudure sur les plaquettes à pastilles.
    Merci

    RépondreSupprimer