CNC Amateurs
Vers le flux RSS
Vous êtes ici : Accueil > L'électronique des CNC
Retour vers le haut !

STM32 et IDE Arduino


Par Steph, publié le

La carte "STM32 F1" est basé sur le noyau ARM Cortex-M. Celle qui fait l’objet de cet article est la STM32F103 équipée d’un cœur ARM Cortex-M3 à une fréquence d'horloge de 72 MHz.

Cette carte est 12 fois plus rapide qu’un Arduino basé sur le contrôleur "Atmega 328" ! Elle est aussi plus rapide que les cartes type "DUO" avec MCU ARM…

Présentation

La carte "STM32 F1" est basé sur le noyau ARM Cortex-M. Celle qui fait l’objet de cet article est la STM32F103 équipée d’un cœur ARM Cortex-M3 à une fréquence d'horloge de 72 MHz.

Cette carte est 12 fois plus rapide qu’un Arduino basé sur le contrôleur "Atmega 328" ! Elle est aussi plus rapide que les cartes type "DUO" avec MCU ARM…

Nous allons voir dans cet article comment utiliser la carte STM32 avec l'IDE Arduino.

 

Matériel nécessaire

  • 1 carte STM32.
  • 1 module "USB to SERIAL", FT232RL.

 

La carte STM32

Carte ARM type STM32

 

Le module FT232RL

Interface serial - USB

 

Câblage de la carte et du module

On met en place les liaisons suivantes entre la carte STM32 et le module FT232RL :

  • Vcc du module FT232RL à la broche 5V du STM32.
  • GND du module FT232RL à la broche à G du STM32.
  • La broche RXD du module FT232RL à la broche A9 du STM32.
  • La broche TXD du module FT232RL à la broche A10 du STM32.

On place le cavalier "Boot0" en position un, puis on presse le bouton RESET, c’est parti!

 

Préparation de l’IDE Arduino

Dans "Fichiers/Préférences" de l’IDE, on colle l’adresse suivante dans le champ "URL gestionnaire de cartes supplémentaires" :

http://dan.drown.org/stm32duino/package_STM32duino_index.json

Dans "Outils/Type de cartes/Gestionnaire de cartes" on recherche la carte stm32f1, puis on la sélectionne et on clique sur "Installer".

On patiente pour l’installation…

Puis toujours dans "Outils/Type de cartes/Gestionnaire de cartes" on choisit la carte : Generic STM32F103C series.

Dans "Outils/Upload method : STM32duino bootloader", on sélectionne "Serial", puis dans "Outils/Port", on sélectionne le bon port.

On clique sur le bouton "Téléverser", la carte doit être reconnue et donc connectée.

On choisit  l’exemple suivant : "Fichiers/Exemples/01.Basics/Blink", et on remplace les 3 occurrences de "LED_BUILTIN" par "PC13" (Nom de la led verte sur la carte), puis on presse  le bouton "Téléverser". 

Le programme doit maintenant être celui-ci :

 

// The setup function runs once when you press reset or power the board
	void setup() {
		// initialize digital pin LED_BUILTIN as an output.
		pinMode(PC13, OUTPUT);
	}

// The loop function runs over and over again forever
	void loop() {
		digitalWrite(PC13, HIGH);	// turn the LED on 
		delay(1000);				// wait for a second
		digitalWrite(PC13, LOW);	// turn the LED off
		delay(1000);				// wait for a second
	}

 

On attend quelques secondes, la led de la carte STM32 doit clignoter.

Maintenant qu’il est programmé, on peut remettre le cavalier "Boot0" en position zéro et brancher l’USB directement sur la carte STM32.

 

Les caractéristiques de la carte STM32

La carte STM32 est 12 fois plus rapide qu’un Arduino basé sur le contrôleur "Atmega 328" ! Elle est aussi plus rapide que les cartes type "DUO" avec MCU ARM…

Pour visualiser la chose => https://www.youtube.com/watch?v=5mDnKBNl9sY

 

Les spécifications

  • Modèle : STM32F103C8T6
  • CPU ARM 32 Cortex-M3.
  • Fréquence de travail : 72 MHz.
  • Mémoire flash : 64 KB ou 128 KB.
  • SRAM : 20 KB.
  • Bouton Reset.
  • Led verte sur la broche PC13
  • Horloge temps réel : 32 kHz.
  • Connecteur µ USB.
  • Dimensions : 5,3 x 2 cm.

 

Aparté sur la mémoire flash

Le microcontrôleur F103C8 ST est déclaré posséder 64 Ko de mémoire flash. Mais à priori tous les contrôleurs C8 seraient en possession de 128 ko de mémoire flash… A tester tout de même.

Le noyau STM32duino a deux paramètres différents, un pour 64 Ko et un autre pour 128 Ko. A vérifier au démarrage grâce aux informations données par le "bootloader" :

  • Using Parser : Raw BINARY
  • Interface serial_w32 : 57600 8E1
  • Version : 0x22
  • Option 1 : 0x00
  • Option 2 : 0x00
  • Device ID : 0x0410 (Medium-density)
  • RAM : 20 KiB (512b reserved by bootloader)
  • Flash : 128 KiB (sector size: 4x1024)
  • Option RAM : 16 b
  • System RAM : 2 KiB

 

Le brochage de la carte STM32

Brochage de la carte STM32

 


Publié par Steph le : 27/11/2017 & mis à jour le : 05/01/2018
Mots-clefs : STM32, ARM, FT232RL, SERIAL, CORTEX

Commenter l'article


ACCUEIL - LE FORUM - NOUS CONTACTER - FLUX RSS - HAUT de PAGE
6492 visiteurs différents ont consulté CNC Amateurs
Il y a actuellement 1 visiteur(s) en ligne.
CNC Amateurs a été consulté 21173 fois au total