Ehko

Le blog d'un ingénieur électronicien militant
Home

Aller au menu | Aller à la recherche

Ajouter une fonctionnalité de trace aux clones du ST-Link

, 23h59 - Lien permanent

Ce billet reprends une bonne part du contenu du billet anglophone suivant : Adding Trace support to ST-Link clones.

The ST-Link Clone

Pour environ 2$ vous pouvez obtenir un clone du ST-Link v2 dans un boitier aluminium et quelques fils de connexion. Cependant ces clones ne possèdent pas de pin de trace (la fameuse pin SWO).

Lujji a effectué quelques recherches sur ces dongles. Il s'avère que ceux-ci sont directement compatibles avec le logiciel ST-Link Utility. Ils utilisent donc le firmware officiel de ST pour les ST-Link v2 et supportent les fonctionnalités de trace.

Sur ces clones, la pin de trace (PA10) est donc bien présente mais n'est pas reliée au connecteur. C'est ce que nous allons changer.

st-link-v2_schematic.png

Modifications

Pour ajouter la trace à la place du 5V sur le connecteur, il faut couper la piste de 5V juste après le via et souder un fil entre le connecteur et la pin PA10 (pin 31) du microcontrôleur. Il est conseillé d'ajouter une résistance (22Ω pour l'exemple) pour filtrer le signal et éviter de griller le microcontrôleur en cas de problème.

Vous pouvez également utiliser la pin SWIM sur le connecteur si vous ne comptez pas debugger un STM8 un jour. Dans ce cas, pas besoin de couper de piste : dessoudez juste la résistance. Cependant la patte 5V est plus facile à atteindre.

clone-st-link-v2_modifications.jpg

Avec cette modification, le dongle devient bien plus pratique à utiliser.

DIABOLIGHTS rev A

, 18h37 - Lien permanent

Cela faisait un moment que je voulais me mettre à réaliser mes propres cartes électroniques. Ce ne sont pas les idées qui me manque mais juste que je n'avais jamais fait le pas, faute de temps et de motivation.

Je me suis donc lancé et j'ai créé cette première carte : DIABOLIGHTS.

Cette carte est délibérément très simple et je l'ai réalisée comme une ouverture, une découverte à la fabrication d'une carte électronique. Le but était de finaliser le projet pour une fois. Car je suppose que vous êtes comme moi : toujours à commencer des trucs à droite à gauche mais jamais à les terminer :-). Et puis en réalisant une première version simple ça laissera de la place pour une révision B voir C.

Le concept

Je possède depuis quelques années deux diabolos Finesse de Mister Babache, et je souhaitais pouvoir les utiliser dans le noir avec un kit lumineux. J'avais le choix entre :

  • le kit de Mister Babache dont les avis sur internet semblait plutôt mitigés.
  • un kit lumineux universel pour diabolo qui se monte comme une rondelle supplémentaire sur l'axe du diabolo. Ces kits n'exploitent donc pas le système de fixation des diabolos Finesse (deux écrous sont déjà montés dans les cônes intérieurs).
  • réaliser moi même mon kit lumineux (que ceux qui disent que c'est une mauvaise idée sortent).

Vous l'aurez donc devinez, cette carte est donc un kit lumineux pour diabolo Finesse.

Je n'ai pas choisi la simplicité la plus extrême, qui aurait consisté à seulement allumer quelques LEDs de chaque coté du diabolo mais j'ai décidé de faire clignoter les LEDs. Oui ce n'est pas beaucoup plus complexe mais j'ai déjà expliqué que c'était un projet simple pour débuter.

Le schéma

Pour faire clignoter des LEDs il suffit de réaliser un oscillateur. Et un exemple simple dans lequel peuvent s'insérer facilement des LEDs est le Multivibrateur. En ajoutant une LEDs sur chaque branche, on se retrouve avec deux LEDs qui clignotent inversement l'une par rapport à l'autre.

DIABOLIGHTS-A_schema.png

Pour les piles, mon choix s'est tourné vers les CR2032 car elles sont courantes et donc il est facile de s'en procurer et elles ne sont pas chères. Et comme je ne voulais pas me limiter sur le choix de la couleur des LEDs, une seule de ces piles ne suffisait pas car elles ont une tension de 3V, tension supérieur à la tension directe de bon nombre de LEDs. Par exemple, les LEDs bleues, vertes et blanches ont une tension directe d'environ 3.2V.

Nomenclature

Le schéma étant très simple et robuste, la tolérance des composants n'a que peu d'importance. J'ai donc pris les éléments que j'avais sous la main.

Pour les transistors NPN j'ai pris les premiers que j'ai trouvé. Ceux-ci m'ont été fournis par mon entreprise.

Les piles CR2032, les LEDs et les DIPSwitch ont été achetés sur Aliexpress. Et les supports de pile CR2032 sont des 712-BAT-HLD-001, achetés chez Mouser.

Le PCB

Design

La contrainte principale d'un kit pour diabolo est l'équilibre et donc la répartition du poids. J'ai donc cherché à symétriser un maximum la carte autour de son point central.

DIABOLIGHTS-A_PCB.png

Le perçage central permet d'accéder aux écrous de l'axe central du diabolo même quand le kit est monté.

Achat

Pour le PCB j'ai avant tout cherché à minimiser le coût. Après quelques recherches rapides, j'ai fini par me tourner vers le site EasyEDA. Le service fonctionne très bien et permet d'avoir les PCB en environ deux semaines.

DIABOLIGHTS_PhotoPCB.jpg

La qualité des PCB reçus est plutôt bonne mais pas excellente. Le plus gros défaut, pour moi, vient de la mauvaise qualité de la colle entre le cuivre et l'époxy. Si la durée de chauffe d'une pastille s'éternise, ou après plusieurs soudure/dessoudure, celle-ci fini par ce décoller. Enfin beaucoup plus rapidement que sur d'autres PCB avec lesquels j'ai eu l'occasion de travailler. Cependant le rapport qualité/prix reste à mon avis très intéressant.

Résultat

Rien de mieux que quelques photos pour vous montrez le résultat final.

DIABOLIGHTS_Photo1.jpg DIABOLIGHTS_Photo2.jpg

Les plus attentifs d'entre vous auront remarqués que les supports de pile sont inversés et décalés par rapport à leur empreinte. Et oui ! Comme cela devait arriver, j'ai réalisé une bonne boulette en designant cette carte (oui oui c'est possible sur une carte aussi simple !). J'ai sous-estimé l'effet de la force centrifuge qui s'exerce sur les piles. Après seulement une petite accélération, elles se retrouvent éjectées ! J'ai donc inversé le sens des connecteurs et j'ai dû les écartés au maximum pour que les piles puissent être insérées par le centre.

La seule réparation de cette erreur pourrait conduire à une nouvelle version. Mais ce serait oublier toutes les améliorations possibles. Si je réalise une seconde version, je pense mettre un microcontrôleur avec des LEDs RGB pour pouvoir réaliser des enchaînements lumineux personnalisables. Le paramétrage peut tout à fait être réalisé en flashant le microcontrôleur, par bluetooth ou par NFC. On peut également imaginer un capteur permettant de mesurer la vitesse de rotation et les à-coups tel qu'un lancé pour modifier la lumière en conséquence.