Etude électronique de la carte Arduino

 

Lien vers le PDF : lienhttp://www.framboiseetcompagnie.fr/wp-content/uploads/2021/02/Etude-de-la-carte-Arduino.pdf


I. Matériel
1. Description de la carte

a.Alimentation secteur

Il est possible d’alimenter l’Arduino soit par le port USB ou par le connecteur externe. Dans ce cas, un régulateur de tension 5 V est utilisé.

 

Il sert à stabiliser et à réguler la tension à 5 volts la tension d’entrée qui peut varier entre 7 et 12 volts. Il est volumineux par rapport aux autres composants, notamment CMS (composant monté en surface), ce qui lui permet de jouer le rôle de dissipateur de chaleur.

b.Entrée analogiques (A0 à A6)

Ces broches permettent de mesurer une tension utilisable par la suite dans les programmes. L’impédance d’entrée est très grande ainsi le courant d’entrée est très faible.

c.Entrées/Sorties numériques (D0 à D13)

Si vous les utilisez en sortie, il est possible d’envoyer un ‘1’ dans ce cas, la tension est de 5V, dans le cas d’un ‘0’, la tension sera 0V

Toutes les broches numériques peuvent supporter 40 mA sur 5 V : ce qui est suffisant pour alimenter une diode mais pas pour un moteur électrique.

À noter que les deux premières D0 et D1 sont réservées à la communication avec l’USB RX/TX.

d.Le terminal serie : partie matérielle (hardware) :

Arduino, comme la plupart des microcontrôleurs actuels, possède un UART (Universally Asynchronous Receiver/Rransmitter) qui est utilisé pour émettre et recevoir des données à travers une liaison série aux niveaux TTL (Transistor-Transistor Logic)  du nom de l’une des premières familles de circuits logiques

Électriquement et pour faire simple, en TTL un zéro est représenté par une tension de 0 volt (ou plutôt <0,5 volt) et un 1 par 5 volts (compris entre 2,4 et 5 V).

Par contre, à la sortie du PC, c’est le protocole série RS232 qui est utilisé. Un « 1 » est à niveau de tension négatif (-12 V) et un « 0 », +12V.  Il est donc nécessaire de convertir le TTL en RS232 et vice-versa.

Un autre problème est que les ordinateurs actuels ne possèdent plus de connecteur RS232 mais un USB.

Donc, les cartes arduino possèdent un composant qui permet la conversion micro-contrôleur <-> usb : le FDTI pour les anciennes cartes ou atmega8u2 pour les nouvelles.

La liaison est de type série et plus précisément RS232. Les toutes premières versions proposaient un connecteur série et non pas un USB.

 

e.Alimentation et régulateurs

Il existe deux types de régulateurs sur la carte : un avec une sortie à 5 volts (MC33269) et une autre à 3.3 volts (LP2985-33DBVR).

Le régulateur 5 V (MC33269) pour fournir 5 volts doit être alimenté à au moins 7 volts.

La carte peut être alimentée :

 
soit par le port USB (N°8 sur la carte réelle – X1 sur le schéma électrique)
soit directement en amenant 5 volts sur une des broches 5V,
soit par Vin
soit par le connecteur jack (femelle 2.1 mm)

Dans les deux derniers cas (VIN et connecteur jack) la tension est régulée à 5 volts par MC33269.

Quant au composant LP2985-33DBVR est un régulateur 3.3 volts et comme son nom l’indique délivre une tension de sortie de 3.3 volts à partir des entrées USB, Vin et connecteur jack.

Connecteurs sur le jack

Horloge, quartz

Un quartz est une horloge permettant de cadencer le microcontrôleur.

Il en existe deux :

Celui du microcontrôleur Celui du convertisseur USB/TTL (un autre microcontrôleur)

Le microcontrôleur est cadencé par un résonateur externe.

Un résonateur est moins précis qu’un quartz (100 à 200 fois moins) mais c’est moins cher et la précision reste suffisante pour l’usage des cartes Arduino.

Par contre pour l’UART, il faut absolument de la précision à cause de la gestion de l’USB, c’est la raison pour laquelle un quartz est utilisé.

Structure interne

Schéma simplifié

N’y figure pas : le composant « RS232/USB » ATMEGA8U2-MU, le régulateur de tension « 12 volts »(MC33269), régulateur « 3.3 volts » (LP2985-33DBVR),

Quelques observations à propos du schéma :

 

A noter que la valeur de la résistance sur la led (CMS) verte ainsi que celle sur la sortie 13 est de 500 Ω

Brochage

On trouve souvent cette représentation :

  1. représente les broches du microcontrôleur
  2. correspond aux entrées/sorties numériques de l’Arduino
  3. les broches analogiques
  4. l’alimentation au sens large
  5. Rx/Tx, transmission série déportée sur le port usb, mais utilisable
    également directement
  6. les protocoles SPI et I2C
  7. signal périodique et carré dont on fera varier le rapport cyclique (temps durant laquel le signal reste à l’état haut)
  8. les signaux des interruptions

La carte complète

Cliquez pour agrandir

 

Le BOM (bill of material) – nomenclature-

Voici la liste complète des composants de la carte Arduino rev 3 :

Value Description Pos. schéma Valeur Description
AD Les entrées/sorties analogiques 5 6x1F-H8.5 PIN HEADER
C1 100n CAPACITOR,
C2 100n CAPACITOR,
C3 1u CAPACITOR,
C4 100n CAPACITOR,
C5 100n CAPACITOR,
C6 100n CAPACITOR,
C7 100n CAPACITOR,
C8 1u CAPACITOR,
C9 22p CAPACITOR,
C11 22p CAPACITOR,
D1 M7 DIODE
D2 CD1206-S01575 DIODE
D3 CD1206-S01575 DIODE
F1 Fusible 500 mA maxi sur l’entrée USB 9 MF-MSMF050-2 500mA INDUCTOR,
FD1 FIDUCIALMOUNT
FD2 FIDUCIALMOUNT
FD3 FIDUCIALMOUNT
GROUND SMD solder JUMPER
ICSP Connecteur de programmation série ICSP 12 3×2 M PIN HEADER
ICSP1 12 3×2 M PIN HEADER
IOH Les entrées/sorties numériques de 8 à 13 + GND +AREF + SCL et SDA 7 10x1F-H8.5 PIN HEADER
IOL Les entrées/sorties numériques de 0 à 7 6 8x1F-H8.5 PIN HEADER
JP2 2×2 M – NM PIN HEADER
L La led sur la sortie N°13 (celle du blink 2 YELLOW LED
L1 BLM21 SMD EMI Suppression Ferrite Beads
ON La led verte témoin d’alimentation 1 GREEN LED
PC1 « Gros »condensateur de droite 15a 47u POLARIZED CAPACITOR,
PC2 « Gros » condensateur de gauche 15b 47u POLARIZED CAPACITOR,
POWER 8x1F-H8.5 PIN HEADER
R1 1M RESISTOR,
R2 1M RESISTOR,
RESET Le bouton Reset 3 TS42031-160R-TR-7260 TS42
RESET-EN SMD solder JUMPER
RN1 10K Array Chip Resistor
RN2 1K Array Chip Resistor
RN3 22R Array Chip Resistor
RN4 1K Array Chip Resistor
RX YELLOW LED
T1 FDN340P MOS FET
TX YELLOW LED
U$1 DISCLAIMER
U1 Régulateur 5 Volt MC33269 10 NCP1117ST50T3G Adjustable Output Low Dropout Voltage Regulator 800 mA
U2 régulateur « 3.3 volts » 15 LP2985-33DBVR ULTRALOW-POWER 50-mA LOW-DROPOUT LINEAR REGULATORS
U3 Le quartz d’horloge de l’UART 13 ATMEGA16U2-MU(R)
U5 LMV358IDGKR Dual General Purpose, Low Voltage, Rail-to-Rail Output Operational Amplifiers
X1 Alimentation externe 11 POWERSUPPLY_DC21MMX
X2 Le connecteur USB 8 USB-B_TH BERG USB connector
Y1 Le quartz (horloge) du convertisseur USB/TTL 4 16MHz CRYSTAL
Y2 (n’est pas identifié, entre XTAL2 et XTAL1) Le quartz (horloge) du microcontrôleur 16 CSTCE16M0V53-R0 16MHZ
Z1 CG0603MLC-05E VARISTOR
Z2 CG0603MLC-05E VARISTOR
ZU4 Le microcontrôleur >14 ATMEGA328P-PU MICROCONTROLLER

Microcontrôleur ATMEL ATMega328
Datasheet

Caractéristiques

Le microcontrôleur utilisé sur la carte Arduino UNO est un microcontrôleur ATMega328. C’est un microcontrôleur ATMEL de la famille AVR 8 bits au format DIP 28. Le format DIP (Dual Inline Package), est un boîtier de circuit intégré, 28 signifie 28 broches.

Les principales caractéristiques sont :

  • FLASH = mémoire programme de 32Ko, sert à stocker le programme même après avoir débranché l’Arduino
  • SRAM = données (volatiles) 2Ko, sert à stocker les variables utilisées par le programme
  • EEPROM = données (non volatiles) 1Ko, sert à enregistrer des informations qui ne doivent pas être perdues lorsque la carte n’est plus alimentée.
  • Digital I/O (entrées-sorties Tout Ou Rien) =3 ports PortB, PortC, PortD (soit 23 broches en tout I/O)
  • Timers/Counters : Timer0 et Timer2 (comptage 8 bits), Timer1 (comptage 16bits), Chaque timer peut être utilisé pour générer deux signaux PWM. (6 broches OCxA/OCxB)
  • Plusieurs broches multi-fonctions : certaines broches peuvent avoir plusieurs fonctions différentes choisies par programmation
  • PWM = 6 broches OC0A(PD6), OC0B(PD5), 0C1A(PB1), OC1B(PB3), OC2A(PB3), OC2B(PD3)
  • Analog to Digital Converter (résolution 10bits) = 6 entrées multiplexées ADC0(PC0) à ADC5(PC5)
  • Gestion bus I2C (TWI Two Wire Interface) = le bus est exploité via les broches SDA(PC5)/SCL(PC4).
  • Port série (USART) = émission/réception série via les broches TXD(PD1)/RXD(PD0)
  • Comparateur Analogique = broches AIN0(PD6) et AIN1 (PD7) peut déclencher interruption
  • Watchdog Timer programmable.
  • Gestion d’interruptions (24 sources possibles (cf interrupt vectors)) : en résumé

– Interruptions liées aux entrées INT0 (PD2) et INT1 (PD3)
– Interruptions sur changement d’état des broches PCINT0 à PCINT23
– Interruptions liées aux Timers 0, 1 et 2 (plusieurs causes configurables)
– Interruption liée au comparateur analogique
– Interruption de fin de conversion ADC
– Interruptions du port série USART
– Interruption du bus TWI (I2C)

 

Le format est DIP 28 (Dual Inline Package) qui signifie qu’il a 28 broches. Il existe une version CMS (Composant Monté en Surface) TQFP de 32 broches.

 

 

Brochage du microcontrôleur

Schématiquement la correspondance entre les broches de l’ATMEL et les fonctions de l’Arduino est :

Structure interne du microprocesseur

Le microcontrôleur est constitué principalement d’un microprocesseur (CPU) de la marque AVR.

Le bus birectionnel, est de largueur 8 bits (puisque c’est un processeur 8 bits).

Ouvre l’AVR on trouve :

  • une EEPROM
  • une flash qui se trouve plus proche (rapidité)
  • des timers
  • les ports A, B, D et D

La diagramme de block du processeur

On descend encore d’un niveau, le dernier :

Qui est composé de :

  • un compteur de pile (PC)
  • de registres
  • d’un ALU
  • de mémoire flash et ram
  • d’un chien de garde

Synthèse

 

Leave a Reply

Your email address will not be published. Required fields are marked *