Raspberry Pi - Ventilateur

Ce tutoriel vous explique comment utiliser un Raspberry Pi pour contrôler un ventilateur.

Il y a deux façons de le faire : avec un relais ou avec un module MOSFET. Un relais ne peut qu'allumer et éteindre le ventilateur. Un module MOSFET peut aussi le faire, et il peut en plus changer la vitesse de rotation du ventilateur, sans bruit de clic. Nous verrons les deux façons dans ce tutoriel.

Préparation du matériel

1×Raspberry Pi 5
1×Relais
1×Alternativement: MOSFET Module (AOD4184, LR7843 or FR120N)
1×12V DC Ventilateur de refroidissement
1×Alternativement: 5V DC Ventilateur de refroidissement
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du ventilateur CC

Configuration des broches

Brochage du ventilateur
image source: diyables.io

Un ventilateur DC a généralement deux broches :

  • Broche négative (-) (noire) : doit être connectée au fil négatif de l'alimentation électrique CC
  • Broche positive (+) (rouge) : doit être connectée au fil positif de l'alimentation électrique CC

La tension de l'alimentation DC doit être égale à la tension spécifiée par le ventilateur. Dans ce tutoriel, nous utiliserons des ventilateurs de 12VDC et 5VDC.

Comment contrôler le ventilateur

  • Si le ventilateur DC est alimenté par une alimentation de 12V/5V, il fonctionne à pleine vitesse.
  • Si le ventilateur DC est alimenté par un signal PWM de 12V/5V, la vitesse du ventilateur peut être contrôlée.

Ce tutoriel vous explique comment utiliser Raspberry Pi pour allumer ou éteindre un ventilateur 12V/5V. Pour contrôler la vitesse du ventilateur, consultez la partie sur le module MOSFET vers la fin de ce tutoriel.

Pour contrôler l'allumage et l'extinction du ventilateur, nous devons utiliser un relais entre le Raspberry Pi et le ventilateur. Ce relais peut être utilisé par le Raspberry Pi pour allumer ou éteindre le ventilateur.

Si vous n'êtes pas familier avec les relais (brochage, fonctionnement, programmation, etc.), veuillez consulter le Raspberry Pi - Relais. pour plus d'informations.

Le module MOSFET est nouveau pour vous ? Le tutoriel Raspberry Pi - Module MOSFET explique ses broches et son fonctionnement.

Relais ou module MOSFET pour un ventilateur

Relais Module MOSFET
Ce que vous pouvez faire allumer ou éteindre le ventilateur l'allumer ou l'éteindre, et régler la vitesse du ventilateur avec le PWM
Bruit un clic à chaque commutation aucun bruit
Pièces mobiles oui, un contact métallique qui s'use aucune, donc il dure longtemps
Vitesse de commutation lente (quelques millisecondes) très rapide
Type de ventilateur ventilateur CA ou CC ventilateur CC uniquement
Tension d'alimentation du ventilateur toute tension prévue pour le relais environ 6V ou plus (les ventilateurs 12V conviennent, les ventilateurs 5V non)
Isolation oui, entre la bobine et les contacts oui, par un optocoupleur PC817
Bon choix pour les ventilateurs CA, ou un ventilateur simple ON/OFF les ventilateurs CC 12V qui ont besoin d'un réglage de vitesse

Pour un ventilateur CC 12V, le module MOSFET est généralement le meilleur choix, car vous pouvez faire tourner le ventilateur lentement et sans bruit quand la pleine vitesse n'est pas nécessaire. Si votre ventilateur est en 5V ou fonctionne sur secteur (CA), gardez le relais.

Diagramme de câblage

Schéma de câblage du ventilateur Raspberry Pi

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Veuillez noter que si vous utilisez un ventilateur 5V, vous devez utiliser un adaptateur secteur 5V.

Code Raspberry Pi

Étapes rapides

  • Assurez-vous d'avoir installé Raspbian ou tout autre système d'exploitation compatible Raspberry Pi sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez un Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Créez un fichier script Python fan.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/tutorials/raspberry-pi/raspberry-pi-fan import RPi.GPIO as GPIO import time # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin controls the fan via the relay module RELAY_PIN = 12 # Set the relay pin as an output pin GPIO.setup(RELAY_PIN, GPIO.OUT) try: # Run the loop function indefinitely while True: # Turn the relay ON (HIGH) to turn on the fan GPIO.output(RELAY_PIN, GPIO.HIGH) time.sleep(5) # Wait for 5 seconds # Turn the relay OFF (LOW) to turn off the fan GPIO.output(RELAY_PIN, GPIO.LOW) time.sleep(5) # Wait for 5 seconds except KeyboardInterrupt: # If the user presses Ctrl+C, clean up the GPIO configuration GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 fan.py
  • Vérifiez l'état du ventilateur.

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Explication du code

Consultez l'explication ligne par ligne contenue dans les commentaires du code source !

Comment contrôler la vitesse du ventilateur avec le module MOSFET

Remplaçons maintenant le relais par un module MOSFET. Le Raspberry Pi envoie un signal PWM au module, et le module donne plus ou moins de puissance au ventilateur. Ainsi, le ventilateur peut tourner vite, lentement ou s'arrêter.

Diagramme de câblage

Schéma de câblage du ventilateur Raspberry Pi avec module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi
  • GPIO16 du Raspberry Pi (broche 36) à la broche PWM du module MOSFET
  • GND du Raspberry Pi (broche 34) à la broche GND du module MOSFET
  • Positif de l'adaptateur 12V à la borne +
  • Fil rouge (+) du ventilateur aussi à la borne + (il partage la borne avec le positif de l'adaptateur)
  • Fil noir (−) du ventilateur à la borne LOAD
  • Négatif de l'adaptateur 12V à la borne −
  • Une diode de roue libre (flyback) (1N4007 ou 1N5819) aux bornes du ventilateur : le côté avec la bande (cathode) va au fil rouge du ventilateur, l'autre côté va au fil noir du ventilateur

Code Raspberry Pi

Le script ci-dessous est le même que celui du tutoriel du module MOSFET. D'abord, le ventilateur tourne à pleine vitesse pendant 2 secondes et s'arrête pendant 2 secondes. Ensuite, il accélère pas à pas de 10 % à 100 %, puis ralentit de nouveau jusqu'à 0 %.

Étapes rapides

  • Préparez le Raspberry Pi, SSH et la bibliothèque RPi.GPIO comme dans les étapes rapides de la partie relais ci-dessus.
  • Câblez le ventilateur et le module MOSFET comme indiqué dans le schéma de câblage ci-dessus.
  • Créez un fichier script Python MosfetModule.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/tutorials/raspberry-pi/raspberry-pi-fan import RPi.GPIO as GPIO import time MOSFET_PIN = 16 # GPIO16 (pin 36) connected to the PWM pin of the MOSFET module GPIO.setmode(GPIO.BCM) GPIO.setup(MOSFET_PIN, GPIO.OUT) pwm = GPIO.PWM(MOSFET_PIN, 500) # 500 Hz PWM, slow enough for the module's optocoupler pwm.start(0) # start with the load OFF def set_load(percent): pwm.ChangeDutyCycle(percent) print("Load power: {}%".format(percent)) try: while True: # turn the load fully ON, then fully OFF print("Load: ON") set_load(100) time.sleep(2) print("Load: OFF") set_load(0) time.sleep(2) # increase the power step by step (PWM) for percent in range(10, 101, 10): set_load(percent) time.sleep(0.5) # decrease the power step by step (PWM) for percent in range(90, -1, -10): set_load(percent) time.sleep(0.5) time.sleep(1) except KeyboardInterrupt: pass finally: pwm.stop() GPIO.cleanup()
  • Branchez l'adaptateur 12V, puis exécutez le script :
python3 MosfetModule.py
  • Écoutez et regardez le ventilateur : il tourne à pleine vitesse, s'arrête, puis accélère et ralentit doucement.
  • Vérifiez la sortie dans le terminal :
PuTTY - Raspberry Pi
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%

Beaucoup de ventilateurs ne démarrent pas à 10 % ou 20 %. C'est normal. Ils commencent à tourner vers 30 %.

※ Note:

Le module MOSFET fonctionne uniquement en CC, et son alimentation de charge doit être d'au moins 6V environ. Pour un ventilateur CA ou un ventilateur 5V, utilisez plutôt le relais.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !