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:15]
Keuronde [Comment choisir son microcontrôleur]
fr:electronics:choisir_microcontroleur [04/09/2021 21:22] (Version actuelle)
Keuronde [STM32F3DISCOVERY]
Ligne 12: Ligne 12:
 Vous n'aurez probablement pas fini totalement la conception de votre robot au moment de choisir votre microcontrôleur. Pire, vous souhaiterez peut-être réutiliser l'électronique d'une année sur l'autre...  Vous n'aurez probablement pas fini totalement la conception de votre robot au moment de choisir votre microcontrôleur. Pire, vous souhaiterez peut-être réutiliser l'électronique d'une année sur l'autre... 
  
-Alors, vous n'avez pas vraiment d'autres choix que de faire un pari raisonnable. Prévoyez quelques capteur actionneur supplémentaire, garder un protocole de communication en réserve, il pourra vous servir pour rajouter une seconde carte.+Alors, vous n'avez pas vraiment d'autres choix que de faire un pari raisonnable. Prévoyez quelques capteurs actionneurs supplémentaire, garder un protocole de communication en réserve, il pourra vous servir pour rajouter une seconde carte.
  
 Ce qui suit n'est qu'une estimation grossière, assez minimaliste. Adaptez-la à vos besoins ou vous le regretterez ! Ce qui suit n'est qu'une estimation grossière, assez minimaliste. Adaptez-la à vos besoins ou vous le regretterez !
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 €
 +