Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fr:electronics:choisir_microcontroleur [29/08/2021 23:16]
Keuronde [De quelles entrées-sorties avez vous besoin ?]
fr:electronics:choisir_microcontroleur [04/09/2021 21:22] (Version actuelle)
Keuronde [STM32F3DISCOVERY]
Ligne 28: Ligne 28:
  
 Pourquoi ? Parce qu'avec ceci, votre robot n'avancera pas droit et ne saura pas où il est sur le terrain. Ayez bien défini votre base roulante avant de choisir votre microcontrôleur. [[fr:basics:base_roulante|Nous avons un article sur les bases roulantes ici]]. Pourquoi ? Parce qu'avec ceci, votre robot n'avancera pas droit et ne saura pas où il est sur le terrain. Ayez bien défini votre base roulante avant de choisir votre microcontrôleur. [[fr:basics:base_roulante|Nous avons un article sur les bases roulantes ici]].
 +
 +===== Côté performance  =====
 +
 +Les microcontrôleurs d'entrée de gamme peuvent être limités en terme de puissance de calcul.
 +
 +Ceci se ressentira d'autant plus :
 +  * 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'erreur, ceux-ci peuvent être stockés dans la ROM. Seuls quelques caractères à la fois, seront stockés en RAM, lors de l'émission du message d'erreur. 
 +
 +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/contournement d'obstacles (pathfinding)
 +  * 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, au moins pour injecter un premier programme. Ce premier programme peut-être un bootloader qui permet au microcontrôleurs de se reprogrammer sans programmateur, avec des données reçues par une liaison série ou USB.  
 +
 +===== Quelques cartes =====
 +
 +L'intérêt des cartes est qu'elle sont livrés prêtes à l'emploi, ne nécessitant pas de programmateur.
 +
 +==== 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, magnetomè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 €
 +