Librairie Python ALR32XX - Documentation FR
  • elc Annecy
  • Changelog
  • FAQ
  • ALR32XX sur Python
    • Installation de la librairie
    • ALR3203
    • ALR3220
    • ALR3206D
    • ALR3206T
  • Exemples
    • Modification des tensions et paramètres
    • Génération d'un sinus et affichage graphique
    • Génération F(t) et enregistrement SQL
Powered by GitBook
On this page

Was this helpful?

  1. Exemples

Génération d'un sinus et affichage graphique

Exemple 2 : https://github.com/elc-construction-electronique/Librairie-Python-ALR32XX/blob/main/Exemples/Exemple_2.py

PreviousModification des tensions et paramètresNextGénération F(t) et enregistrement SQL

Last updated 3 years ago

Was this helpful?

Le but de ce est de commander la tension d'alimentation de l'ALR3203 pour créer un sinus basse fréquence. Une fois la tension évoluant en sinus, une charge sera connectée et l'alimentation mesurera le courant générée pour l'afficher sous forme graphique.

Ajout de la bibliothèque et initialisation

Comme pour l'exemple précédent, les bibliothèques relatives au développement sont ajoutées et la variable de l'alimentation est créée.

import sys 
import math
import matplotlib.pyplot as plt   
sys.path.insert(0, "..")
from ALR32XX import*

Les librairies sys et math ne demandent pas d'installation supplémentaire. Concernant matplotlib, elle est le plus souvent incluses dans les distributions de Python, si ce n'est pas le cas elle peut être téléchargée par le pip.

Pour terminer l'initialisation de la procédure, il faut déclarer une variable pour notre alimentation :

X=ALR32XX('ALR3203')

Ici, la variable X sera liée à l'ALR3203 branchée par USB ou RS232 à l'ordinateur. X hérite donc des fonctions de la librairie, par exemple X.Mesure_tension() pour mesurer la tension sur la voie de l'alimentation.

Création du sinus et stockage des valeurs dans des listes

L'idée pour ce développement est d'envoyer à l'alimentation les valeurs calculées d'un sinus évoluant entre 0 et 32V. Pour cela, nous utilisons une boucle for avec i entre 0 et 360 (i représente le degrés) et nous envoyons à l'alimentation 16*sin(i)+16.

for i in range (0,  360):
    temp=math.sin(i*3.14/180)
    temp_=(temp*16)+16
    alim.Ecrire_tension(temp_)

L'alimentation reçoit donc une valeur de tension à chaque tour de boucle.

L'alimentation ayant ses valeurs pour dessiner le sinus, nous enregistrons les valeurs de i, du temps et du courant mesuré tout au long de la boucle pour pouvoir afficher un graphique. Nos trois listes sont précédemment déclarées. Tout se passe dans la boucle for précédente :

for i in range (0,  360):
    X.append(i)                  # Ajout de l'index dans la liste des abcisses
    
    temp=math.sin(i*3.14/180)
    temp_=(temp*16)+16
    alim.Ecrire_tension(temp_)   # Envoi de la valeur de tension à l'alimentation
    
    Y1.append(temp)              # Ajout de la valeur à la liste des ordonnées 1

    valeur=alim.Mesure_courant() # Mesure du courant de l'alimentation
    Y2.append(valeur)            # Ajout de la valeur à la liste des ordonnées 2

Du coté de l'alimentation, nous observons sur un oscilloscope notre courbe sinusoïdale :

Affichage sous forme de graphique

La dernière étape est d'afficher les valeurs de courant précédemment mesurée. La librairie matplotlib permet d'afficher une liste de valeur sous forme de graphique.

plt.plot(X, Y1,"b:o", label="tension U")
plt.plot(X, Y2, label="courant I")
plt.title("Fonction sinus")
plt.xlabel("t(s)")
plt.ylabel("f(t)")
plt.legend()
plt.show()

La figure que vous retrouvez est alors semblable à celle ci-dessous.

deuxième exemple