Table des matières:
Vidéo: Gradateur LED PWM 12V avec ESP8266 : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Tout en essayant de rendre mon ménage plus durable, j'échangeais des ampoules halogènes contre des lampes à LED. Il existe de nombreuses alternatives disponibles, pour remplacer tout type d'ampoule. En faisant cela, je suis tombé sur le problème suivant: j'avais un luminaire qui utilisait 7 ampoules halogènes de 12 volts, chacune de 10 watts. Cette lumière était contrôlée par un variateur, qui fonctionnait très bien. Lorsque j'ai remplacé les ampoules par des lampes à LED de 12 volts, chacune de 1 watt, le gradateur fonctionnait mal: la lumière vacillait et la gradation était quelque peu erratique. C'est un problème avec beaucoup de gradateurs classiques: ils ont une puissance minimale dont ils ont besoin pour fonctionner.
Ainsi, sur la base de mon système domotique, j'ai décidé d'échanger ce variateur manuel par un nouveau, qui aurait l'avantage supplémentaire de pouvoir être contrôlé à distance. J'avais déjà construit un gradateur utilisant un MOSFET canal N (IRF540), ce qui est parfait pour ce genre de chose: il peut être contrôlé par un signal PWM, et il est pratiquement indestructible, avec des valeurs nominales maximales de 100 volts et 33 ampères, suffisamment amplement à cet effet (vérification rapide: 7 x 1 Watt = 7 Watts, divisé par 12 volts donne un courant maximum d'environ 0,58 Ampères). Je veux utiliser ce gradateur pour un autre appareil qui a 12 ampoules, chacune 2 watts, ce qui donne un maximum de 2 ampères, donc c'est aussi suffisant. La seule chose à surveiller est la fréquence du signal PWM, mais les valeurs habituelles pour Arduino ou ESP8266 (500 Hz ou 1kHz) ne posent pas de problème.
Étape 1: Étape 1: les composants
- Driver LED (convertisseur 230 volts AC à 12 volts DC) Pour mon objectif, je souhaite utiliser un maximum de 24 watts, j'ai donc commencé avec un driver LED de 12 volts et 2 ampères. J'en ai trouvé un sur un site de distributeur chinois. Ce pilote a été évalué à 12 volts, 28 watts, il était donc suffisant pour piloter l'appareil par lui-même. Pour votre propre situation, vous pouvez utiliser une version plus légère ou plus lourde, selon votre luminaire.
- IRF540 MOSFET canal n
- Adafruit Huzzah ESP8266 BreakoutParce que je voulais utiliser le WiFi et que j'adore les produits Adafruit, j'ai choisi cette carte: elle me donne un ESP8266 avec un brochage de programmation pratique, un régulateur de puissance intégré et un facteur de forme élégant. C'est un peu exagéré pour ce projet, mais cela rend les tests et le débogage beaucoup plus faciles.
- Convertisseur DC-DC basé sur LM2596 Afin de dériver l'alimentation de la carte ESP à partir du 12 volts, j'avais besoin d'un régulateur; ces petits convertisseurs sont très efficaces et très bon marché.
-
Encodeur rotatif avec fonction bouton, avec lumière LED intégrée:
www.sparkfun.com/products/10596
N'importe quel encodeur rotatif ferait l'affaire, mais j'ai aimé la fonctionnalité supplémentaire intéressante d'une LED intégrée.
-
Bouton en plastique transparent
www.sparkfun.com/products/10597
- Résistance 4k7
- Résistance 1k
Étape 2: Étape 2: le Circuit
Voici le circuit que j'ai utilisé: j'ai utilisé les broches 4 et 5 comme entrées pour l'encodeur rotatif et la broche 0 pour le bouton. La broche 0 est également connectée à la led rouge embarquée, j'ai donc pu vérifier la fonction du bouton sur l'encodage en regardant cette led.
La broche 16 est utilisée pour la sortie PWM, et je l'ai connectée directement à la led verte de l'encodeur Sparkfun. L'ESP8266 est en 3, 3 volts, et même avec 100%, je n'ai mesuré que 2, 9 volts en sortie, donc je l'ai connecté directement sans résistance série. Cette même sortie va à la porte du MOSFET à canal n, au moyen d'une résistance de 1 kOhm. Cette porte est élevée à 12 volts par une résistance de 4,7 kOhm.
J'ai utilisé le convertisseur DC-DC pour convertir le 12 volts en 5,5 volts, celui-ci est connecté à l'entrée V+ du breakout Adafruit. J'aurais pu utiliser 3,3 volts et le connecter directement, mais c'est un peu plus sûr.
La lampe LED 12 V dans le circuit est mon luminaire.
Étape 3: Étape 3: le Code
J'ai mis le code sur GitHub:
Croquis pour variateur ESP8266 LED PWM
Il est basé sur une idée autre instructable:
www.instructables.com/id/Arduino-PWM-LED-D…
Mais il s'agissait d'un contrôle purement local, j'ai donc ajouté ma propre solution domotique basée sur MQTT. Il fait fondamentalement la même chose, mais les principales différences sont:
- le nombre par défaut d'étapes PWM avec un Arduino est de 255, avec l'ESP8266, il est de 1023 (comme je l'ai découvert plus tard, tout en essayant de comprendre pourquoi mon luminaire LED n'a pas atteint 100% de luminosité…)
- Je n'ai pas utilisé le circuit 'Totempole' avec les 2 transistors, car le PWM était de toute façon DC, et fonctionnait bien avec l'IRF 540.
- Je n'ai pas utilisé les résistances pull-up de 10k pour l'encodeur, j'ai fait confiance aux pullups intégrés de l'ESP8266.
- L'ESP8266 utilise une logique de 3,3 volts au lieu de 5 volts pour l'Arduino, ce qui n'a posé aucun problème pour l'IRF540
Le logiciel a les caractéristiques suivantes:
- tourner l'encodeur atténue la lumière vers le haut (CW) ou vers le bas (CCW), de 0 à 100 %, en 1023 pas, avec une certaine accélération dans les niveaux inférieurs.
- appuyer sur le bouton allumera la lumière lorsqu'elle est éteinte, en utilisant le dernier niveau de luminosité enregistré, ou l'éteindra lorsqu'elle est allumée.
- une pression prolongée sur le bouton pendant que la lumière est allumée enregistrera la luminosité actuelle comme niveau par défaut.
- appuyer plus longtemps sur le bouton alors que la lumière est éteinte allumera la lumière à 100% de luminosité, sans changer le niveau par défaut.
- Il se connectera aux paramètres WiFi définis par les chaînes 'SECRET_SSID' et 'SECRET_PASS', qui sont enregistrées dans un fichier séparé dans mon croquis, appelé 'secrets.h'
- Il se connectera à un serveur MQTT du réseau WiFi, en utilisant les chaînes 'MQTTSERVER' et 'MQTTPORT' dans le même fichier.
- Vous pouvez utiliser la rubrique entrante MQTT « domus/esp/in » pour émettre des commandes: « ON » ou « OFF » pour allumer ou éteindre la lumière, ou une valeur de 0 à 1023 pour modifier la luminosité.
- Il rapportera l'état sur les sujets MQTT 'domus/esp/uit' (état ON ou OFF) et 'domus/esp/uit/brightness' (la valeur de luminosité).
Conseillé:
Gradateur CA numérique puissant utilisant STM32 : 15 étapes (avec photos)
Gradateur CA numérique puissant utilisant STM32 : par Hesam Moshiri, [email protected] se charge en direct avec nous ! Parce qu'ils sont partout autour de nous et qu'au moins les appareils électroménagers sont alimentés par le secteur. De nombreux types d'équipements industriels sont également alimentés en 220V-AC monophasé
PWM avec ESP32 - Dimming LED avec PWM sur ESP 32 avec Arduino IDE: 6 étapes
PWM avec ESP32 | Dimming LED With PWM on ESP 32 With Arduino IDE: Dans ces instructables, nous verrons comment générer des signaux PWM avec ESP32 à l'aide d'Arduino IDE & PWM est essentiellement utilisé pour générer une sortie analogique à partir de n'importe quel MCU et cette sortie analogique peut être comprise entre 0 V et 3,3 V (dans le cas d'esp32) & de
Interrupteur d'éclairage + gradateur de ventilateur dans une carte avec ESP8266 : 7 étapes (avec photos)
Interrupteur d'éclairage + gradateur de ventilateur dans une seule carte avec ESP8266 : dans ce tutoriel, vous allez apprendre à construire votre propre interrupteur d'éclairage et gradateur de ventilateur dans une seule carte avec le microcontrôleur et le module WiFi ESP8266. C'est un excellent projet pour l'IoT. : Ce circuit gère les tensions principales AC, alors soyez prudent
Gradateur LED de base : 5 étapes (avec photos)
Gradateur LED de base : dans ce Instructable, vous apprendrez à construire un gradateur LED simple en utilisant juste un potentiomètre. Le kit Arduino que j'utilise a été aimablement fourni par Kuman (kumantech.com). Vous pouvez le trouver ici
Gradateur LED avec potentiomètre : 5 étapes (avec photos)
Variateur de LED avec potentiomètre : il s'agit d'une instructable qui vous apprend à utiliser un potentiomètre pour tamiser une LED