Go Down

Topic: STM32 DUINO (Read 4174 times) previous topic - next topic

hbachetti

Pour ceux qui ont envie de se lancer dans l'aventure STM32 à moindre frais, voici un petit tutoriel.
La carte STM32F103C8 "blue pills" peut se trouver facilement sur AliExpress ou EBay et permet pour un prix modique de développer des applications sur un processeur bien plus performant que nos ATMEGA328P, tout en restant dans le monde ARDUINO.

Bonnes bidouilles
@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

_pepe_

#1
Apr 02, 2018, 12:22 am Last Edit: Aug 19, 2018, 02:50 am by _pepe_
Supprimé

_pepe_

#2
Apr 02, 2018, 01:04 am Last Edit: Aug 19, 2018, 02:50 am by _pepe_
Supprimé

hbachetti

#3
Apr 02, 2018, 09:53 am Last Edit: Apr 02, 2018, 09:57 am by hbachetti
Salut

Comme il est dit dans le tuto :
Large gamme de tension d'utilisation de 2V à 3.6V, pas simplement 3.3V.

Les sorties PC13 à PC15 sont effectivement limitées en courant :

Quote
The GPIOs (general-purpose inputs/outputs) can sink or source up to ±8 mA, and sink or source up to ±20 mA (with a relaxed VOL /VOH) except PC13, PC14 and PC15 which can sink or source up to +/-3mA.
La carte peut être alimentée en 5V par la broche 3 ou l'USB. Elle embarque un régulateur 3.3V pour alimenter le processeur.
Elle peut être alimentée entre 2V et 3.6V par la broche 1.

J'ai ajouté le lien sur la datasheet du processeur en bas de page.

La table 5 (Table 5. Medium-density STM32F103xx pin definitions) décrit les IOs du processeur. Les pins marquées FT sont tolérantes au 5V. Attention, ne considérer que les pins correspondant au boîtier LQFP48.
Comme il est dit dans le tuto :
La carte "Blue Pills" vous permet d'exploiter 32 ports sur les 37 disponibles.
Reportez-vous au schéma (lien en bas de page).

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

68tjs

#4
Apr 02, 2018, 10:30 am Last Edit: Apr 02, 2018, 10:33 am by 68tjs
La vérité est que
50% des entrées/sorties sont 5V tolérantes ce qu'aucun micro Atmel ne fait, ni d'autre fondeurs. C'est peut-être un brevet ST.
On trouve au moins UN accès série, un accès I2C, un accès SPI 5V tolérant ce qui est loin d'être négligeable.
Si on compare avec le modèle de micro équivalent utilisé dans la DUE (pour combien de temps encore avant que la carte soit abandonnée?) par arduino, la DUE a un max d' E/S limitées à seulement 5 mA.

De toute façon je ne changerais jamais d'avis : il faut séparer l'intelligence (le micro) de l'interface de puissance.
Le cas des avr est très particulier, et même avec ses "grosses" capacités à fournir du courant il suffit de regarder la datasheet pour voir qu'avec un courant de 20 mA on perd (de mémoire, à vérifier) 0,5 à 0,6 V dans les Rdson des transistors de sortie.

Il en est bien évidement de même avec tous les micro-controleur y compris avec les STM32 il suffit de lire leur datasheet qui indique la perte de tension pour un courant de 20 mA.
Ne pas oublier que tous les ARM sont gravés plus fin qu'un avr donc ils ont de plus petits transistors de sortie, même si on "pourrait" me rétorquer que les transistors de sortie sont "grossis" par rapport aux transistors internes.
Ce qui confirme ma conception de la séparation  intelligence/puissance.

Un avantage des STM32 qui a été oublié , dans stmduino et je pense aussi mbed, c'est que l'on peut choisir 3 bandes passantes pour les transistors de sortie.
Casser la bande passante quand on n'en a pas besoin simplifie et sécurise énormément les câblages avec des micros à 72 MHz d'horloge, et même beaucoup plus avec certains STM32.
Je pense, cela reste à vérifier, que stmduino et mbed sélectionnent la bande passante la plus faible par mesure conservatrice.
Ce qui limite "bêtement" l'utilisation de ces micros.

_pepe_

#5
Apr 02, 2018, 11:04 am Last Edit: Aug 19, 2018, 02:50 am by _pepe_
Supprimé

_pepe_

#6
Apr 02, 2018, 11:13 am Last Edit: Aug 19, 2018, 02:50 am by _pepe_
Supprimé

hbachetti

#7
Apr 02, 2018, 11:29 am Last Edit: Apr 02, 2018, 11:29 am by hbachetti
Cette carte fonctionne parfaitement bien sous 2.4V. Deux batteries NI-MH suffisent.

Pendant le développement j'utilise un convertisseur USB / série pour le chargement du code, comme indiqué dans le tuto. Le port USB n'est jamais utilisé.

Il n'y a pas de contre indication à appliquer sur la sortie d'un régulateur une tension inférieure à sa tension de sortie
théorique à partir du moment où son entrée n'est pas alimentée.

Le seul inconvénient est que cette sortie consomme qq dizaines de µA et qu'il est préférable de couper la patte de sortie du régulateur si l'on désire travailler en low-power. Dans ce cas il est évidemment conseillé de supprimer la LED D1.

Cette opération peut être pratiquée aussi sur une ARDUINO PRO MINI.


Quelqu'un a t-il déjà essayé cette carte ?

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

_pepe_

#8
Apr 02, 2018, 12:17 pm Last Edit: Aug 19, 2018, 02:50 am by _pepe_
Supprimé

68tjs

Pour ceux qui sont intéressés je joins la feuille d'affectation des broches que je me suis fait.
Concernant les sous fonctions elle n'est pas complète : c'est un compromis personnel entre la lisibilité et l'exhaustivité.
Comme d'habitude rien ne remplace la lecture de la datasheet.

Vous pourrez y trouver les sorties qui sont 5V tolérantes.

hbachetti

Quote
Pour des tensions inférieures, la consommation du régulateur reste limitée à une centaine de microampères. Il faut considérer le type d'application pour voir si cela reste acceptable.
A titre de comparaison j'avais relevé 75µA sur une ARDUINO PRO MINI dans les mêmes conditions.

Quote
À ceci près que les cartes Arduino Pro Mini officielles (conçues par Sparkfun) présentent un strap prévu à cet effet, de sorte qu'il n'est pas nécessaire de d'intervenir au niveau du régulateur et de la led ON ou de sa résistance pour réduire la consommation.
C'est exactement ce qui est indiqué sur mon blog (voir lien précédent : ARDUINO PRO MINI).

-----------------------------------------------------------------------------------------

68tjs, tu as donc déjà utilisé ces cartes ?
As-tu déjà tenté le NRF24L01 ?

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

_pepe_

#11
Apr 02, 2018, 03:51 pm Last Edit: Aug 19, 2018, 02:50 am by _pepe_
Supprimé

hbachetti

Quote
Alors j'annonce de suite : la radio et moi cela n'a jamais collé, c'est dans les gênes, désolé ce n'est pas à mon age que cela va changer.
Un petit effort, je m'y suis mis à soixante balais. Il n'est jamais trop tard.
Une petite remarque toutefois, j'arrêterai la radio quand cela créera des perturbations dans mon futur sonotone.

 :smiley-confuse:

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Je comprends parfaitement l'argumentation.
J'en connais qui ont été jusqu'à poser dans leur maison des gaines électriques anti rayonnement électrique et électromagnétique. Ils se méfient même du 50Hz.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Salut à tous

Je pense sincèrement que ces échanges hostiles devraient faire l'objet d'un topic à part, ou bien se faire par MP.
Vous m'avez complètement pourri mon tuto.

Cordialement
Henri
@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Go Up