Systèmes numériques, électronique et communications

Étiquette : Projet BTS

Palmes académiques

C’est le mois de juin ! Qui dit juin dit été, qui dit été dit vacances, qui dit vacances dit mer, qui dit mer dit plongée , qui dit plongée dit palmes ! C’est de palmes de plongée que nous allons parler aujourd’hui ! Cette année, le projet de nos BTS SN 2eme année était un banc de mesure de palmes de plongée. Avec mes collègues et nos étudiants, nous avons travaillé sur un projet pluridisciplinaire avec les BTS CPI du lycée Cabanis. L’entreprise partenaire est Lomacor Composites, une PME dynamique de notre région. Ils fabriquent et vendent, entre autres, des palmes de plongée sous la marque JFE-made to perform.

Il s’agit de palmes pour l’apnéiste ou le chasseur sous-marin. Attention, ce ne sont pas des palmes comme celles que vous pouvez trouver chez D*c*thl*n. Ici, c’est du travail d’artisan, voire d’artiste, du haut de gamme en fibre de carbone. Et made in France !

En vrai professionnel, Lomacor souhaite caractériser finement les palmes qu’ils produisent. Ils testent systématiquement la raideur de leur palmes et plus précisément le profil de raideur de leurs palmes. Nous avons travaillé sur la réalisation d’un prototype permettant de réaliser simplement cette mesure.

Roberto, mio palmo ! Ce mois-ci, plongeons dans le grand bleu !

La raideur des palmes

C’est un paramètre important la raideur des palmes ! Si vous êtes débutant, il vous faut des palmes souples, sinon vous allez avoir des crampes. Si vous avez un peu de bouteille (bien qu’apnéiste, ahah !), vous préférerez des palmes rigides. Elles vous propulseront plus rapidement avec vos muscles d’acier vers des profondeurs abyssales. Chez JFE, vous précisez à la commande ce paramètre et c’est indiqué sur vos palmes avec des petites barres. Les fabricants de palmes emploient le terme de dureté mais en le terme scientifique approprié est plutôt raideur.

Palmes et barre de dureté
Barre de « dureté » des palmes JFE

Principe de la mesure

Pour mesurer la raideur d’une palme, on va placer la voile de la palme entre deux rouleaux et appliquer avec un troisième rouleau une déformation, une flèche comme disent les mécaniciens. On mesure ensuite la force de réaction de la palme. Si la palme est souple, cette force est faible, si elle est raide, elle est importante.

Banc de mesure palme pricipe vu de profil
Principe de la mesure – vue de profil
Principe de la mesure – vue « 3D »

Pour obtenir le profil de raideur de la palme, on effectue cette mesure sur toute la longueur de la palme en la déplaçant. Compte tenu de la géométrie de la palme, la palme est normalement plus souple au bout, qu’au début (proche du pied).

Le banc réalisé

L’organisation de notre banc de mesure est la suivante :

Organisation du banc de mesure

Un PC avec une application Windows communique avec un boîtier électronique qui commande une partie opérative.

La partie opérative

Banc de mesure palme
La partie opérative du banc de mesure

C’est les mécanos de CPI qui ont bossé sur ce prototype. Remarquez les deux moteurs pas à pas. L’un permet de déplacer la palme horizontalement, l’autre d’appliquer une flèche (de haut en bas). Ce sont des vis sans fin de pas 1 mm qui permettent de transformer les mouvements de rotation en mouvements de translation.

Le capteur de force est intégré dans la pièce verticale, que nous appelons (entre nous) « la guillotine » ! C’est une jauge de contrainte de valeur 20 kg.

Banc de mesure – détail capteur de force

Le boîtier de commande

Boîtier de commande

Le boîtier de commande est équipé d’un écran LCD 4 lignes, de 5 boutons-poussoirs permettant de naviguer dans les différents menus. Sous le capot, un Arduino Méga ! Mais nous avons aussi développé une version PSoC. L’IHM utilise une MAE. J’ai déjà parlé de cette méthode sur ce site.

L’application PC

Banc de mesure de palme - application PC
L’application PC

Le programme a été développé sous Visual Studio C#. Ça aussi, j’en ai déjà parlé ici.

L’application permet d’ouvrir le port COM, de spécifier une longueur de mesure (correspondant à la palme mesurée), une flèche à l’angle et une flèche à la pointe. La flèche évolue linéairement le long de la mesure. Un bouton permet d’envoyer les données et de lancer les mesures, et on obtient ensuite les relevés sous forme de courbe. On peut ensuite sauver les données sous forme de fichier csv ou d’un PV de mesure au format rtf.

Et ça marche ?

Ce projet a été mené au bout ! Nos étudiants ont présenté leurs travaux au jury d’examen et les démos ont été convaincantes. Quelques améliorations sont encore possibles, aussi bien mécaniques qu’électroniques, mais ce prototype a bien montré la faisabilité de cette machine !

Et qui on est, hein ?

Si carré et pourtant… sinus !

En 2019, au Lycée Cabanis de Brive, un des projets de nos étudiants de BTS SN était un boîtier de commande d’un onduleur IGBT. Le but de ce boîtier, interfacé à un PC en USB, était de générer les signaux de commande pour réaliser un hacheur ou un onduleur. Ce projet utilisait un circuit PSoC5. Durant la phase de pré-étude de ce projet, je me suis posé une question :

Comment générer un signal sinusoïdal à f = 50 Hz, à partir d’un signal PWM avec un PSoC ?

On rappelle PWM : pulse width modulation ou MLI en français (modulation de largeur d’impulsion). On ne présente plus le PSoC, on en parle souvent sur ce site !

Conception PSoC

La structure retenue est la suivante :

Schéma PWM PSoC
Onduleur sinus PWM

On utilise un composant PWM 8 bits attaqué par une horloge Clock_1.

La configuration du PWM est la suivante :

Configuration du PWM PSOC
Configuration PWM

Le PWM est constitué d’un (dé)compteur qui compte de 255 à 0. La sortie PWM est à 1 lorsque l’état du compteur est inférieur ou égal (Less or Equal) à un entier CMP_Value_1. La fréquence du signal PWM est donc égale à la fréquence de l’horloge divisée par 256.

Pour obtenir un signal PWM à valeur moyenne sinusoïdale, nous allons alors à chaque fin de cycle du compteur PWM (détecté par la broche TC = Terminal Count) déclencher une interruption (ISR_1). Cette interruption va modifier la valeur de CMP_Value_1. La suite des valeurs de CMP_Value_1 suit une loi sinusoïdale.

La figure suivante illustre ce principe :

PWM et sinus
PWM sinusoïdale

Nous avons choisi une suite de 256 valeurs pour les valeurs de CMP_Value_1. Pour obtenir une sinusoïde de fréquence 50 Hz, il faut que la fréquence de l’horloge soit égale à 256 x 256 x 50 = 3,2768 MHz.

Le programme

Le programme est donné ci-après :

Programme en C du PWM sinus
Programme PSoC

On définit d’abord un tableau TabSinus de 256 éléments. Celui-ci va contenir les 256 points constituants la sinusoide.

La routine d’interruption Cy_ISR, appelée à chaque fois que le compteur du PWM a terminé son comptage, configure le nouveau rapport cyclique du PWM avec la valeur qu’elle va chercher dans le tableau TabSinus.

Le programme principal fait clignoter la led et, si le bouton-poussoir est appuyé, on diminue l’amplitude du signal sinusoïdal en écrivant une nouvelle suite de valeurs dans TabSinus.

Les résultats

Et ca marche ? Regardons un peu les mesures que j’ai faites avec mon vieux Tektro. C’est un scope analogique mais avec de la mémoire numérique (Tektronix 2212). Une antiquité (cet appareil a une trentaine d’années), mais qui fait très bien le job !

Signal PWM et sinus obtenu
PWM et sinus

En haut avec un calibre 5V/carreau, le signal PWM.

En bas, le même signal filtré par un passe-bas du 1°ordre (RC = 1kΩ.1µF), calibre 1V/carreau.

On remarquera que le PWM est plutôt à 1 quand le sinus est max et plutôt à 0 quand le sinus est bas.

Le détail est visible ici :

PWM et sinus : zoom
PWM et sinus – zoom échelle des temps

Sur cette deuxième figure, on observe bien que le rapport cyclique du PWM (donc la largeur des impulsions) diminue quand le signal sinusoïdal est décroissant !

Alors, pas mal, non ?

Et qui on est, hein ?

Un amplificateur de jauge avec PSoC

Psoc cypress - structure modulaire

Présentation du problème

Cette année, avec nos étudiants de BTS SN2 sur un projet, nous avons voulu lire directement une jauge de contrainte avec un circuit PSoC sans utiliser d’amplificateur d’instrumentation extérieur. Tout dans le PSoC. Oui, on a peur de rien. Et qui on est, hein ?

Notre cahier des charges 

On veut mesurer une masse d’environ 500 g avec une précision de 1 g. On utilise le capteur de force suivant :

Capteur utilisé

Le capteur est alimenté en 5V et donc délivre (5×800µV) = 4 mV pour 780 g soit environ 4 mV pour 800 g donc 2,5 mV pour 500 g. Cette tension différentielle est centrée autour de 2.5 V (c’est un pont de Wheatstone). 1 gramme correspond à 2,5mV/500 = 5 µV.

Structure retenue

La structure retenue et dessinée sous PSoC Creator est la suivante :

Le capteur de force est alimenté en 5V. Les deux sorties du capteur sont reliées à Vplus et Vmoins. On entre sur un multiplexeur analogique AMux. On utilise ensuite 4 PGA (Amplificateur à gain programmable) connectés en amplificateur différentiel à 2 étages. Enfin, un convertisseur analogique-numérique mesure cette tension amplifiée (présente entre OutPlus et OutMoins).

Principe de la mesure

La mesure se fait en deux temps avec le multiplexeur analogique . Posons G = gain total de l’amplificateur différentiel.

1° temps : AMux sur voie 0, on amplifie et mesure Vplus – V moins. On obtient V1 = G(Vp – Vm + offset)

2° temps : AMux sur voie 1, on amplifie et mesure Vmoins – Vplus. On obtient V2 =G (Vm-Vp + offset)

V1 et V2 sont stockés après numérisation. On effectue le calcul suivant dans la foulée :

V1 – V2 = G(Vp – Vm + offset) – G(Vm-Vp + offset) = 2.G.Vp – 2 .G.Vm + G.offset – G.offset

= 2 G.(Vp – Vm)

L’offset des amplificateurs s’annule par magie cette astuce !

Le gain de la structure totale est 2.G = 2 (Gain_PGA1 * Gain_PGA3)

Bien entendu, pour que cela fonctionne correctement il faut PGA1 = PGA2 et PGA3=PGA4

Tester la structure

Comment tester facilement la structure sans jauge de contrainte sous la main ?

En utilisant l’accessoire suivant :

Cette petite bidouille permet d’obtenir une tension (Vplus – Vmoins) comprise entre 0 et 6,5 mV environ centrée autour de 2,5 V. Ça simule très bien électriquement la jauge de contrainte. La tension est négative si l’on permute Vplus et Vmoins.

J’ai testé dans les conditions suivantes :

PGA1 = PGA2 = 24 et PGA3=PGA4 = 32

Tension d’entrée : environ -2,5 mV. CAN : Convertisseur Sigma-delta 20 bits. Mesure sur 16 échantillons. Kit PSoc050

Mesure obtenue PSOC 5
Manip effectuée

1 : Tension mesurée par le CAN, multiplexeur en position 1 = -2060 mV

2 : Tension mesurée par le CAN, multiplexeur en position 2 = 1756 mV

A = (V1-V2) = -3816 mV ce qui correspond à 496 grammes (avec signe <0)

2.G(Vp-Vm) = -3816 mV donc G.(Vp-Vm) = -1908 mV et l’offset ramené à la sortie est de -152 mV !

A l’entrée, le signal est de 2,484 mV et l’offset de 0,198 mV.

Attention, le système ne fonctionne correctement que si les tensions 1 et 2 sont inférieures à la tension d’alimentation !

Testé avec les étudiants et la jauge. Ça marche aussi. On a baissé un peu les gains car on saturait une des sorties.

Conclusion

Faire un amplificateur d’instrumentation avec tous les étages analogiques dans le PSoC ? Ça marche, on sait faire !

Et qui on est, hein ?

© 2024 Louis Reynier

Theme by Anders NorenUp ↑

Bannière de Consentement aux Cookies par Real Cookie Banner