Documente Academic
Documente Profesional
Documente Cultură
2018-2019
2
I. Introduction
II. Problématique
3
Dans la partie commande des interactions on pourra régler les paramètres
d’entrées du moteur : tel que le flux, le nombre de tour par seconde et la
force électromotrice ;
Dans la partie visualisation des interactions on pourra observer une vue de
face de la section du rotor qui tournera à une vitesse lié au réglage des
paramètres d’entrées
Une fois le nombre de tour par seconde ainsi que la puissance en sortie du moteur
étant ceux désiré on pourra cliquez sur un bouton qui affichera une fiche des
caractéristiques techniques du moteur ; fiche qui sera utile pour la fabrication du
moteur.
IV. Algorithme
Dans le cas d’un programme qui utilise une interface graphique, l’organisation
interne est différente de celle de l’algorithme ordinaire. On dit d’un tel programme
qu’il est piloté par les événements. Après sa phase d’initialisation, un programme
de ce type se met en quelque sorte « en attente », et passe la main à un autre
logiciel, lequel est plus ou moins intimement intégré au système d’exploitation de
l’ordinateur et « tourne » en permanence.
Initialisation du
paramètre (flux, nombre
de tour et f-e-m)
Réglage de
Ordinateur Réceptionnaires paramètre
d’évènements Marche
Arrêt
Fiche
technique
Terminaison
4
Commentaire : une fois la phase d’initialisation terminé le réceptionnaire
d’évènement se met en marche et attend de détecter une action externe de
ordinateur (dans notre cas un clic sur un bouton) pour mettre en marche des
instructions préprogrammées à savoir :
Réglage des paramètres
Marche rotor
Arrêt rotor
Fiche Technique
V. Implémentation du programme
Bibliothèques utilisées :
from tkinter import *
import math
import time
1. Classe moteurCc
class MoteurCc(object):
def __init__(self):
self.flux = 1.2
self.fem = 50
self.nbre_tour_par_seconde = 1200
def parametrage(self,flux,fem,n):
self.flux=flux
self.fem=fem
self.nbre_tour_par_seconde=n
def vitesse_angulaire(self,n,flux):
Vang=(2*n*(math.pi))
return Vang
def nombre_de_conducteur(self,flux,fem,n):
global N
N=((2*int(math.pi))*int((fem))/n)
return N
5
def fiche_technique(self,fcem,N,n):
fenetre = Tk()
global longueur
x = longueur * math.cos(angle)
y = longueur * math.sin(angle)
can1.coords(line, x0, y0, x0 + x, y0 + y)
def ajuster_angle(delta_angle):
def arret():
global flag
6
flag=0
return
def fiche_technique():
fenetre = Toplevel(fen1)
global N
fenetre.title('FICHE TECHNIQUE DU MOTEUR')
fenetre['bg']='white'
titre = Label(fenetre, text="FICHE TECHNIQUE DU MOTEUR:", relief=RAISED, font=('arial', 15,
'bold'))
titre.grid(row=0,columnspan=5)
def aquisition():
def recupere_donnees():
global v1,v2,v3
v1=entr1.get()
v2=entr2.get()
v3=entr3.get()
txt4 = Label(fen1, text=v1 )
txt5 = Label(fen1, text=v2)
txt6 = Label(fen1, text=v3)
txt4.grid(row =0, column= 1, sticky =E)
txt5.grid(row =1, column= 1, sticky =E)
txt6.grid(row =2, column= 1, sticky =E)
print(v1)
fen2 = Toplevel(fen1)
fen2.title('réglage de parametre')
txt1 = Label(fen2, text ='flux de l''inducteeur(Wb) :')
txt2 = Label(fen2, text ='Vitesse de rotation du rotor (tr/s):')
txt3 = Label(fen2, text ='force contre électromotrice (E):')
bou = Button(fen2, text='valider',command=recupere_donnees )
7
entr1 = Entry(fen2)
entr2 = Entry(fen2)
entr3 = Entry(fen2)
txt1.grid(row =1, sticky =E)
txt2.grid(row =2, sticky =E)
txt3.grid(row =3, sticky =E)
entr1.grid(row =1, column =2)
entr2.grid(row =2, column =2)
entr3.grid(row =3, column =2)
bou.grid(row=4,column=1)
global vang
vang=moteur.vitesse_angulaire
5. Programme principal
global v1,v2,v3
moteur=MoteurCc()
fen1=Tk()
fen1.title("simulation_moteur")
8
can1.create_line(150, 0, 150, 300, fill ='blue')
can1.create_line(0, 150, 300, 150, fill ='blue')
can1.create_oval(50, 50, 250, 250, outline='black')
Une fois le programme exécuté nous obtenons une interface qui se présente comme
suit :
Nous remarquons que nous avons quatre possibilités d’action sur le système :
une fois les paramètres initialisés nous cliquons sur le bouton simuler .notre
rotor ici est représenter par trois ligne rouge représentant les trois phases ces
trois ligne se mettent à tourner à la vitesse calculer par la méthode
moteur.vitesse_angulaire()
10
Figure 3 début de la rotation après un clic sur simuler
Une fois la simulation lancée nous disposons de la touche arrêt pour arrêter
la simulation
à chaque fois que nous initialisons les paramètres les méthodes de la classe
moteur s’exécutent et met à notre disposition les valeurs des paramètres
utiles pour ordonnancer la fabrication. Ainsi fait nous avons implémenter la
méthode fiche technique qui regroupe toute les caractéristiques du moteur
relativement à nos paramètres d’entrées :
11
Figure 5 illustration de la fiche technique
VII. Conclusion
12