Moteur – Thermostat

Allumage d’un moteur

Le programme suivant permet de contrôler l’allumage d’un moteur.

La fonction marche permet de mettre le moteur en marche, tandis que la fonction arret permet de l’arrêter.

while True: # boucle infinie
   if boutonM:
      marche()
   if boutonA:
      arret()
Que se passe-t-il si l’utilisateur appuie sur les deux boutons simultanément ?

 

Modifier la ligne 4 afin que cela ne se produise pas.

 

Compléter le chronogramme ci dessous.

 

Modifier le programme ci dessus afin qu’il fonctionne en mode « priorité au déclenchement » : si l’utilisateur appuie sur les deux boutons à la fois, le moteur doit être arrêté.

 

 

 


Thermostat

On souhaite allumer ou étendre un système de chauffage en fonction d’une température mesurée et d’une consigne.

La température est mesurée chaque minute. Si elle est inférieure à la température de consigne -10%, le chauffage est mis en route. Lorsqu’elle devient supérieure ou égale à la température de consigne +10%, alors le chauffage s’éteint.

Compléter le programme ci dessous (pour l’utilisation de la fonction time.sleep, consulter la documentation).
import time

while True:
    T = mesurerTemperature()
    if T > consigne * ..A.. :
        allumer()
    elif T < consigne * ..B.. :
        eteindre()
    time.sleep(..C..)
×
×
×

 

 

 

 


Contrôle d’un moteur à courant continu

Pour contrôler le sens de rotation d’un moteur à courant continu, on utilise un montage électronique appelé pont en H, composé de 4 transistors (des composants à semi-conducteur se comportant comme des interrupteurs). Ce circuit fournit 4 commandes possibles pour un moteur :

Arrêt (libre) Sens + Sens – Arrêt (freiné)

On désire écrire une fonction en Python pour chacun de ces 4 états :

  • stopper
  • avancer
  • reculer
  • freiner

Les 4 transistors sont commandés via les ports GPIO d’un nano-ordinateur de type Rasberry Pi, dont les numéros sont enregistrés dans 4 variables T1, T2, T3 et T4, dont la correspondance dans le pont en H est décrite ci-contre.

 

Depuis le Raspberry Pi, les ports GPIO peuvent être contrôlés en langage Python grâce à la commande suivante :

GPIO.output(numero_port, etat)
  • numero_port est un nombre entier désignant la broche physique du GPIO (ici permettant la commande d’un transistor : ouverture ou fermeture)
  • etat est un booléen correspondant à l’état logique (haut : True ou bas : False) du port (ici, l’état haut signifie que le transistor est saturé, c’est à dire équivalent à un interrupteur fermé)
Compléter chacune des 4 fonctions Python ci-dessous :
def stopper():
    GPIO.output(....)
    ....

def avancer():
    ....

def reculer():
    ....

def freiner():
    ....

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *