Ca fait longtemps qu’un nouvel article n’a pas été posté.
Pour me faire pardonner je vais en faire un plutôt dense.
Dans cet article nous allons aborder les microcontrôleurs.
Je m’intéresse à ces joujoux surtout dans le but de faire de l’embarqué (station météo, boite noire, etc.), les utilisations possibles sont infinies, la seule limite vos besoins et/ou votre imagination.
Pendant longtemps on a dû se cantonner à des solutions 8-bit à base de AVR de chez Atmel ou de PIC de chez Microchip.
Loin de moi la guerre entre ayatollah de ces technologies, elles ont chacune leurs avantages et inconvénients.
Pour faire simple l’avantage numéro 1 des PIC c’est le prix. Celui des AVR est la communauté et la facilité d’accès par le monde Arduino.
Mais maintenant on peut se tourner vers des solutions à base de microcontrôleurs ARM, bien plus puissants.
Vous ne trouverez pas ici de tutoriels (ce sera peut-être pour plus tard) mais simplement une liste non exhaustive de solutions qui se présentent à vous.
Le tout présenté dans plusieurs catégories.
– Microcontrolleurs AVR / PIC
Arduino
– Arduino pro mini :
ATmega168; 8 ou 16 Mhz; 3.3V ou 5V; 14 entrées/sorties numériques (dont 6 PWM); 6 entrées analogiques. 16KB Flash; 1KB SRAM; 512B EEPROM.
– Arduino uno :
ATmega328; 16Mhz; 5V; 14 entrées/sorties numériques (dont 6 PWM); 6 entrées analogiques. 32KB Flash; 2KB SRAM; 1KB EEPROM.
– Arduino nano :
ATmega168 ou ATmega328; 16Mhz; 5V; 14 entrées/sorties numériques (dont 6 PWM); 6 entrées analogiques. 32KB Flash; 2KB SRAM; 1KB EEPROM pour la version ATmega328 et 16KB Flash; 1KB SRAM; 512B EEPROM pour la version ATmega168
– Arduino mega :
ATmega1280; 16Mhz; 5V; 54 entrées/sorties numériques (dont 15 PWM); 16 entrées analogiques. 128KB Flash; 8KB SRAM; 4KB EEPROM.
Ce sont des cartes à base de microcontrôleurs AVR Atmel. La communauté Arduino est tellement large que vous trouverez toujours réponse à vos questions sur le web.
On passe par l’IDE Arduino pour programmer les cartes
Certaines cartes Arduino comme le pro mini ne comporte pas de port USB et doivent se programmer via des contrôleurs que l’on nomme FTDI. En fait FTDI est une marque de puces spécialisée dans le protocole USB. Pour communiquer avec l’Arduino elle convertit l’USB vers du RS232.
Pinguino
Les cartes arduino version PIC
PIC
ICP 01 Un programmateur de puce PIC pas cher et compatible avec pratiquement toutes les puces.
MPLab est l’IDE Microchip pour PIC
– Kits de dévellopement ARM
La nouveauté de nos jours est l’accès à un prix correct aux plateformes de développement des marques de microcontrôleurs. Je vais vous en présenter quelques une qui ont comme point commun leur faible coût.
Pour les habitués de l’Arduino, il existe maintenant l’Arduino DUE à base de ARM Cortex M3.
SAM3X8E; 84Mhz; 3.3V; 54 entrées/sorties numériques (dont 12 PWM); 12 entrées analogiques; 2 sorties analogiques. 512KB Flash; 96KB SRAM.
Chez Texas Instruments
– Stellaris Launchpad (LM4F120) ARM Cortex M4. Vraiment pas cher et vendue dans une belle boîte.
LM4F120H5QR; 80Mhz; 3.3V; 4 I2C; 8 ADC 12 bit; 4 SSI/SPI; 1 CAN; 8 UART; 256KB Flash; 32KB SRAM.
Chez ST micro il y a toute une série de board:
– STM32F0Discovery ARM Cortex M0, la moins chère.
STM32F051R8T6; 48Mhz; 3.3V; 2 I2C; 2 SPI; 1 I2S; 1 HDMI CEC; 2 USART; 1 12-bit ADC, 1 12-bit DAC; 64KB Flash; 8KB SRAM.
– STM32VLDiscovery ARM Cortex M3 de la même famille on peut trouver à pas cher des kits avec écran + SD+ JTAG. Ils sont appelés stm32 mini v3 ou via le nom de leur puce stm32f103rbt6.
STM32F100RB; 24Mhz; 3.3V; 2 I2C; 2 SPI; 1 HDMI CEC; 3 USART; 1 12-bit ADC, 2 12-bit DAC; 128KB Flash; 8KB SRAM.
STM32F103RBT6; 72Mhz; 3.3V; 2 I2C; 2 SPI; 3 USART; CAN; USB; 128KB Flash; 20KB SRAM.
– STM32L-DISCOVERY ARM Cortex M3, c’est la nouvelle version elle consomme moins, est plus puissante et a un petit écran intégré et un slider capacitif.
STM32L152RBT6; 32Mhz; 3.3V; 2 I2C; 2 SPI; 3 USART; USB; 128KB Flash; 16KB SRAM.
– STM32F3Discovery certainement la plus sympa de la série, ARM Cortex M4 et surtout un accéléromètre, un gyroscope, une boussole et des LEDs
STM32F303VCT6; 72Mhz; 3.3V; 256KB Flash; 48KB SRAM.
– STM32F4Discovery ARM Cortex M4, il existe pour cette carte des cartes d’extensions facilement trouvable avec Ethernet, interface JTAG, LCD, caméra.
STM32F407VGT6;168Mhz; 3.3V; 1MB Flash; 192KB SRAM.
Chez NXP la série LPCXpresso:
– LPC1114; ARM Cortex-M0; 50Mhz; 3.3V; 32KB Flash; 8KB SRAM.
– LPC1769; ARM Cortex-M3; 120Mhz; 3.3V; Ethernet MAC; USB Device/Host/OTG; 4 UART; 2 CAN; 3 SSP/SPI, 3 I2C; 512KB Flash; 64KB SRAM.
– LPC1343; ARM Cortex-M3; 72Mhz; 3.3V; 32KB Flash; 8KB SRAM.
– LPC1347; ARM Cortex-M3; 72Mhz; 3.3V; 64KB Flash; 12KB SRAM; 4KB EEPROM.
Un outil bien utile le débuggeur JTAG/SW je conseille le Colinkex pour le prix accessible, les ULINK/JLINK etc. étant assez cher.
Il existe un tas d’IDE pour ARM, CoIDE de chez Coocox, Keil, Eclipse, Xcode. Pensez à utiliser les bonnes toolchain. Pour les utilisateurs Mac OSX je conseille un tour sur ce site :
http://www.rau-deaver.org/MacEmbeddedLinks.html
– Pour aller encore plus loin il existe aussi ce qu’on appelle les Computer Board qui sont de véritables « PC’s » sur une carte.
On va commencer avec ceux à base de processeur ARM, il ne s’agit plus là d’ARM Cortex. Dans l’esprit j’ai listé celle que l’on pourra facilement interfacer avec le reste de nos montages.
Raspberry Pi, il y a t’il vraiment besoin de la présenter?
ARM1176JZF-S (ARMv6) 700MHz Broadcom 2835; 256 ou 512 Mo RAM; Ethernet; USB; HDMI; Composite; UART; I2C; SPI; I2S.
Cubieboard, prometteur et bon marché une bonne alternative au Raspberry
AllWinner A10; 1.5Ghz; 512Mo ou 1Go RAM; Ethernet; USB; HDMI; SATA; UART; I2C; SPI; I2S; LCD.
Il en existe aussi qui ne sont pas aussi facilement interfaçable mais qui peuvent être un bon compromis si l’objectif est « informatique » plus qu’électronique.
Hackberry
Gooseberry
ODROID, pour cette dernière il est possible de l’utiliser comme le Raspberry pi ou la Cubieboard grâce à la IO Board
Si cela ne vous suffit pas il existe maintenant des configuration x86 avec un très faible encombrement et un coût moindre comme les NUC de chez Intel.
Voici une liste regroupant plein de PC sur carte, trouvée sur le net crée par un certain omgfire.
Il existe sur kickstarter un projet plus que prometteur UDOO mêlant un processeur ARM sur-puissant et un Arduino Due sur une même carte.
Une liste non exhaustive elle non plus de sites marchands où trouver tout ça :
– Octopart
– Olimex
– Ebay
– Sparkfun
– Semageek
– Adafruit
Je reviendrai pour vous faire un article sur ce qu’on peut brancher à toutes ces cartes pour les relier au monde et leur fournir des sens. RFID, Capteurs, Ecrans, Radio, …
Et si je trouve le temps je ferai des tutoriels. En attendant je vous conseille un site super :
http://skyduino.wordpress.com/