« Micro-controller » : différence entre les versions

De Wiki Clubelek
Clementin.granier1 (discussion | contributions)
Aucun résumé des modifications
Clementin.granier1 (discussion | contributions)
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
{{Ameliorer|reasons=Créer la page : modèles d'esp32, pinout, composants externes}}
{{Ameliorer|reasons=Créer la page : modèles d'esp32, pinout, composants externes}}


== Conception d'une board ESP32 ==
== C'est quoi ? ==
Un micro-contrôleur va vous permettre de faire plein de belles choses, principalement de faire interagir du code avec le monde réel. Il existe de nombreuses puces différentes (MCU, microcontroller unit), mais elles sont souvent utilisés sur des cartes de développement (devboard) qui permettent de le faire fonctionner sans élément externe et d'avoir quelque chose de pratique. Les devboard ne sont pas recommandées si vous voulez faire un design où la place est comptée, mais il est recommandé de faire les tests sur devboard avant d'envoyer un PCB.
 
=== Arduino ===
Les arduino sont les plus simples des micro-contrôleurs, mais sont très lents et ont peu de fonctionnalités. Ils sont basés sur les atmega qui sont des mcus corrects. '''Recommandé pour les débutants et les projets très simples'''
 
=== ESP32 ===
Ces MCU sont un peu spéciaux, nous y reviendrons plus tard, mais ils sont plutôt performants, ont le wifi/bluetooth intégré, pas mal de stockage, beaucoup de pins et les modules sont simples à utiliser. Ils consomment sacrément par contre. '''Recommandé pour les projets complexes sans contrainte de consommation.'''
 
=== STM32 ===
Très bons MCU mais très peu pratiques à utiliser. '''Recommandés car gratuits'''
 
=== Raspberry Pi Pico ===
Basés sur le RP2040 qui est très performant, et très peu chers. '''Recommandés car pas chers et performants'''
 
=== Teensy ===
Extrêmement performants, blindés de pins I/O etc. Coûtent cher. '''Recommandés sur des projets avec du traitement en temps réel'''
 
=== nRF ===
MCU spécialisés dans le wireless basse consommation. '''Recommandé pour du wireless basse consommation'''
 
== ESP32 ==
'''Attention :''' les MCU d'ESP32 sont très galère à utiliser. Nous allons donc nous concentrer sur les modules, qui sont comme des devboard mais en bien plus compact.
 
Espressif fabrique aussi des MCU nommés ESP8266, qui sont un peu moins chers mais bien moins performants.
 
=== Les différents modèles de module ESP32 ===
Il y a trois types de modules : '''WROOM, WROVER''' et '''MINI.'''
 
Les MINI sont les plus petits, suivis par les WROOM puis les WROVER. Les WROOM sont souvent le bon compromis entre fonctionnalités et taille, mais les WROVER peuvent être nécessaire s'il faut accès à tous les pins possibles.
 
=== Les différentes séries de SoC ESP32 ===
Il existe 5 séries majeures d'ESP32 :
{| class="wikitable"
|+
!Série
!Processeur
!Wireless
!Notes et fonctionnalités supplémentaires
|-
|ESP32
|Dual/Single core Xtensa (80~240 MHz)
|WiFi + Bluetooth Classic
|Attention c'est le seul sans USB intégré
|-
|ESP32-S
|Dual core Xtensa (240MHz)
|WiFi + Bluetooth BLE
|Attention pas de bluetooth classique
|-
|ESP32-H
|Single core RISC-V (96MHz)
|BLE + Zigbee
|Très basse puissance, pas de wifi !
|-
|ESP32-C
|Single core RISC-V (160MHz)
|WiFi + BLE + Zigbee
|
|-
|ESP32-P
|Dual core RISC-V (400MHz) + Single core RISC-V (40 MHz)
|
|Dernier arrivé (je connaissais pas son existence avant il y a 5 min)
A l'air très performant (et cher), à coupler avec un ESP32-C pour avoir le wifi !
|}
 
=== Pinout d'un ESP32 classique et pins à éviter ===
Tous les pins sont capables du PWM.
{| class="wikitable"
|+Classification des pins d'un ESP32
!Label
!Fonctionnalités
!Remarques
|- style="background-color:lime"
| colspan="3" |Pins à utiliser en priorité
|-
|D4
|ADC2_0 + Touch0
|
|-
|D13
|ADC2_4 + Touch4 + '''SPI2''' (MOSI)
|
|-
|D14
|ADC2_6 + Touch6 + '''SPI2''' (CLK)
|
|-
|RX2
|'''Serial2''' (RX)
|
|-
|TX2
|'''Serial2''' (TX)
|
|-
|D18
|'''SPI1''' (CLK)
|
|-
|D19
|'''SPI1''' (MISO)
|
|-
|D21
|'''I2C''' (SDA)
|
|-
|D22
|'''I2C''' (SCL)
|
|-
|D23
|'''SPI1''' (MOSI)
|
|-
|D25
|ADC2_8 + DAC1
|
|-
|D26
|ADC2_9 + DAC2
|
|-
|D27
|ADC2_7 + Touch7
|
|-
|D32
|ADC1_4 + Touch9
|
|-
|D33
|ADC1_5 + Touch8
|
|- style="background-color:orange"
| colspan="3" |Pins à utiliser si c'est la dèche
|-
|D0
|
|HIGH au boot et LOW pour flash
|-
|D2
|ADC2_2 + Touch2 + CS
|LOW au boot
|-
|D5
|'''SPI1''' (CS)
|HIGH au boot
|-
|D12
|ADC2_5 + Touch5 + '''SPI2''' (MISO)
|LOW au boot
|-
|D15
|ADC2_3 + Touch3 + '''SPI2''' (CS)
|HIGH au boot
|-
|D34
|ADC1_6
|Input only
|-
|D35
|ADC1_7
|Input only
|-
|VP
|ADC1_0 + VP
|Input only
|-
|VN
|ADC1_3 + VN
|Input only
|- style="background-color:red"
| colspan="3" | Pas touche à ces pins
|-
| TX0
| '''Serial0''' (TX)
| Communication série
|-
| RX0
| '''Serial0''' (RX)
| Communication série
|-
| D6
|
| rowspan="6" |Mémoire
|-
|D7
|
|-
|D8
|
|-
|D9
|
|-
|D10
|
|-
|D11
|
|}
 
== nRF ==
Il existe des cartes de devs nRF52840 qui coûtent pas cher (3€) et sont très performantes et complètes, dans une footprint identique à celle d'un arduino pro micro, chercher '''Supermini nRF52840''' sur aliexpress.
[[Catégorie:Articles techniques d'électronique]]
[[Catégorie:Articles techniques d'électronique]]

Dernière version du 13 février 2025 à 15:20

C'est quoi ?

Un micro-contrôleur va vous permettre de faire plein de belles choses, principalement de faire interagir du code avec le monde réel. Il existe de nombreuses puces différentes (MCU, microcontroller unit), mais elles sont souvent utilisés sur des cartes de développement (devboard) qui permettent de le faire fonctionner sans élément externe et d'avoir quelque chose de pratique. Les devboard ne sont pas recommandées si vous voulez faire un design où la place est comptée, mais il est recommandé de faire les tests sur devboard avant d'envoyer un PCB.

Arduino

Les arduino sont les plus simples des micro-contrôleurs, mais sont très lents et ont peu de fonctionnalités. Ils sont basés sur les atmega qui sont des mcus corrects. Recommandé pour les débutants et les projets très simples

ESP32

Ces MCU sont un peu spéciaux, nous y reviendrons plus tard, mais ils sont plutôt performants, ont le wifi/bluetooth intégré, pas mal de stockage, beaucoup de pins et les modules sont simples à utiliser. Ils consomment sacrément par contre. Recommandé pour les projets complexes sans contrainte de consommation.

STM32

Très bons MCU mais très peu pratiques à utiliser. Recommandés car gratuits

Raspberry Pi Pico

Basés sur le RP2040 qui est très performant, et très peu chers. Recommandés car pas chers et performants

Teensy

Extrêmement performants, blindés de pins I/O etc. Coûtent cher. Recommandés sur des projets avec du traitement en temps réel

nRF

MCU spécialisés dans le wireless basse consommation. Recommandé pour du wireless basse consommation

ESP32

Attention : les MCU d'ESP32 sont très galère à utiliser. Nous allons donc nous concentrer sur les modules, qui sont comme des devboard mais en bien plus compact.

Espressif fabrique aussi des MCU nommés ESP8266, qui sont un peu moins chers mais bien moins performants.

Les différents modèles de module ESP32

Il y a trois types de modules : WROOM, WROVER et MINI.

Les MINI sont les plus petits, suivis par les WROOM puis les WROVER. Les WROOM sont souvent le bon compromis entre fonctionnalités et taille, mais les WROVER peuvent être nécessaire s'il faut accès à tous les pins possibles.

Les différentes séries de SoC ESP32

Il existe 5 séries majeures d'ESP32 :

Série Processeur Wireless Notes et fonctionnalités supplémentaires
ESP32 Dual/Single core Xtensa (80~240 MHz) WiFi + Bluetooth Classic Attention c'est le seul sans USB intégré
ESP32-S Dual core Xtensa (240MHz) WiFi + Bluetooth BLE Attention pas de bluetooth classique
ESP32-H Single core RISC-V (96MHz) BLE + Zigbee Très basse puissance, pas de wifi !
ESP32-C Single core RISC-V (160MHz) WiFi + BLE + Zigbee
ESP32-P Dual core RISC-V (400MHz) + Single core RISC-V (40 MHz) Dernier arrivé (je connaissais pas son existence avant il y a 5 min)

A l'air très performant (et cher), à coupler avec un ESP32-C pour avoir le wifi !

Pinout d'un ESP32 classique et pins à éviter

Tous les pins sont capables du PWM.

Classification des pins d'un ESP32
Label Fonctionnalités Remarques
Pins à utiliser en priorité
D4 ADC2_0 + Touch0
D13 ADC2_4 + Touch4 + SPI2 (MOSI)
D14 ADC2_6 + Touch6 + SPI2 (CLK)
RX2 Serial2 (RX)
TX2 Serial2 (TX)
D18 SPI1 (CLK)
D19 SPI1 (MISO)
D21 I2C (SDA)
D22 I2C (SCL)
D23 SPI1 (MOSI)
D25 ADC2_8 + DAC1
D26 ADC2_9 + DAC2
D27 ADC2_7 + Touch7
D32 ADC1_4 + Touch9
D33 ADC1_5 + Touch8
Pins à utiliser si c'est la dèche
D0 HIGH au boot et LOW pour flash
D2 ADC2_2 + Touch2 + CS LOW au boot
D5 SPI1 (CS) HIGH au boot
D12 ADC2_5 + Touch5 + SPI2 (MISO) LOW au boot
D15 ADC2_3 + Touch3 + SPI2 (CS) HIGH au boot
D34 ADC1_6 Input only
D35 ADC1_7 Input only
VP ADC1_0 + VP Input only
VN ADC1_3 + VN Input only
Pas touche à ces pins
TX0 Serial0 (TX) Communication série
RX0 Serial0 (RX) Communication série
D6 Mémoire
D7
D8
D9
D10
D11

nRF

Il existe des cartes de devs nRF52840 qui coûtent pas cher (3€) et sont très performantes et complètes, dans une footprint identique à celle d'un arduino pro micro, chercher Supermini nRF52840 sur aliexpress.