Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
fr:electronics:choisir_microcontroleur [18/08/2021 23:05] Keuronde créée |
fr:electronics:choisir_microcontroleur [04/09/2021 21:22] (Version actuelle) Keuronde [STM32F3DISCOVERY] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
Sinon, trouver une carte de développement qui dispose des entrées-sorties dont vous avez besoin. | Sinon, trouver une carte de développement qui dispose des entrées-sorties dont vous avez besoin. | ||
- | Dans la réflexion ci-après, le postulat est qu'il n'y a qu'un seul microcontrôleur. Il est possible d' | + | Dans la réflexion ci-après, le postulat est qu'il n'y a qu'un seul microcontrôleur. Il est possible d' |
===== De quelles entrées-sorties avez vous besoin ? ===== | ===== De quelles entrées-sorties avez vous besoin ? ===== | ||
Ligne 12: | Ligne 12: | ||
Vous n' | Vous n' | ||
+ | Alors, vous n'avez pas vraiment d' | ||
+ | |||
+ | Ce qui suit n'est qu'une estimation grossière, assez minimaliste. Adaptez-la à vos besoins ou vous le regretterez ! | ||
+ | 2 moteurs de propulsion à courant continu : | ||
+ | * Consigne de vitesse (2x) : PWM | ||
+ | * Consigne de sens (1 ou 2 par moteurs : 4) : IO généraliste | ||
+ | 2 servomoteurs : | ||
+ | * Consigne de position (2x) : IO généraliste (attention, il faut un peu de code derrière) | ||
+ | 2 capteurs de distance : | ||
+ | * Distance lue (2x) : Entrée analogique | ||
+ | 1 port de communication : | ||
+ | * UART (liaison série) : c'est une fonction sur 2 broches, notées RX et TX. | ||
+ | |||
+ | Gardez 2 entrée analogique en réserve, 2 ou 4 IO généraliste et vous avez tout ce qu'il faut pour **réaliser un robot qui ne marche pas !** | ||
+ | |||
+ | Pourquoi ? Parce qu' | ||
+ | |||
+ | ===== Côté performance | ||
+ | |||
+ | Les microcontrôleurs d' | ||
+ | |||
+ | Ceci se ressentira d' | ||
+ | * si vous effectuez de la trigonométrie avec les bibliothèques standard. | ||
+ | * si vous utilisez des nombres en virgule flottante | ||
+ | |||
+ | Du côté de la mémoire, il faut distinguer la ROM qui contient votre programme et certaines valeurs fixes définies dans votre code, de la RAM qui contient vos variables. | ||
+ | |||
+ | Par exemple, si vous avez une grande liste de messages d' | ||
+ | |||
+ | Côté RAM, Ce n'est pas une stratégie à états finis qui va vous créer des soucis. Par contre, méfiez vous si vous comptez utiliser de grands tableaux, notamment : | ||
+ | * si vous souhaitez implémenter des solutions de recherche de chemin/ | ||
+ | * si vous enregistrez ou traitez une image | ||
+ | * si vous utilisez des moyennes glissantes (sur de nombreuses valeurs) | ||
+ | |||
+ | ===== Les programmateurs et bootloader ===== | ||
+ | |||
+ | La programmation des microcontrôleurs se fait à l'aide de programmateurs. C'est un outil commun à une gamme de microcontrôleurs. Cet outil peut aussi servir de débogueur. | ||
+ | |||
+ | Cet outil est indispensable, | ||
+ | |||
+ | ===== Quelques cartes ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | ==== Arduino Uno ==== | ||
+ | |||
+ | * 14 entrées sorties numériques | ||
+ | * 6 entrées analogiques | ||
+ | * 6 sorties PWM | ||
+ | * basé sur un ATmega328P (8bits - RISC -Microchip) à 16 MHz | ||
+ | * ROM : 32 ko | ||
+ | * RAM : 2 ko | ||
+ | * Prix approximatif : 25 € | ||
+ | |||
+ | ==== Arduino Mega ==== | ||
+ | |||
+ | * 54 entrées sorties numériques | ||
+ | * dont 14 pouvant générer des signaux PWM | ||
+ | * 16 entrées analogiques | ||
+ | * 4 liaisons séries (UART) | ||
+ | * basé sur un ATmega1280 (8bits - RISC -Microchip) à 16 MHz | ||
+ | * ROM : 128 ko | ||
+ | * RAM : 8 ko | ||
+ | * Prix approximatif : 25 € | ||
+ | |||
+ | ==== STM32F3DISCOVERY ==== | ||
+ | |||
+ | * 47 entrées sorties diverses (voir fiche technique de la carte) | ||
+ | * Gyroscope, accéléromètre, | ||
+ | * basé sur un STM32F303VCT6 (Cortex-M4 - 32 bits - RISC - ST Microelectonics) à 75 MHz | ||
+ | * ROM : 256 ko | ||
+ | * RAM : 48 ko | ||
+ | * Prix approximatif : 20 € | ||
+ | |||
+ | ==== MSP‑EXP430G2ET ==== | ||
+ | |||
+ | * 16 entrées-sorties | ||
+ | * dont : 8 entrées analogique, un port série I2C, SPI ou UART. | ||
+ | * basé sur un MSP430G2553 (16 bits - RISC - Texas Instruments) à 16 MHz | ||
+ | * ROM : 16 ko | ||
+ | * RAM : 512 o | ||
+ | * Prix approximatif : 15 € | ||