Índice:
Vídeo: Dimmer 12V LED PWM com ESP8266: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Enquanto tentava tornar minha casa mais sustentável, eu estava trocando lâmpadas halógenas por lâmpadas led. Existem muitas alternativas disponíveis, para substituir qualquer tipo de lâmpada. Enquanto fazia isso, me deparei com o seguinte problema: eu tinha uma luminária que usava 7 lâmpadas halógenas de 12 volts, cada uma de 10 watts. Esta luz foi controlada por um dimmer, que funcionou bem. Quando troquei as lâmpadas por lâmpadas led de 12 volts, cada uma de 1 Watt, o dimmer funcionou mal: a luz estava piscando, e o escurecimento um tanto irregular. Este é um problema com muitos dimmers clássicos: eles têm uma classificação de potência mínima, necessária para funcionar.
Assim, com base no meu sistema de domótica, decidi trocar este dimmer manual por um novo, que teria a vantagem de poder ser controlado remotamente. Eu já havia construído um dimmer usando um MOSFET de canal N (IRF540), que é perfeito para esse tipo de coisa: pode ser controlado por um sinal PWM, e é virtualmente indestrutível, com classificações máximas de 100 volts e 33 Amps, o suficiente para este propósito (verificação rápida: 7 x 1 Watt = 7 Watts, dividido por 12 volts dá uma corrente máxima de cerca de 0,58 Amperes). Quero usar este dimmer para outra luminária que tem 12 lâmpadas, cada 2 watts, o que dá no máximo 2 amperes, então isso também é suficiente. A única coisa a se observar é a frequência do sinal PWM, mas os valores usuais para Arduino ou ESP8266 (500 Hz ou 1kHz) não são problema.
Etapa 1: Etapa 1: os componentes
- Driver de LED (conversor de 230 volts AC para 12 volts DC) Para o meu propósito, quero usar no máximo 24 Watts, então comecei com um driver de LED de 12 volts e 2 Amps. Encontrei um no site de um distribuidor chinês. Este driver tinha potência nominal de 12 volts, 28 Watts, portanto, era suficiente para acionar o aparelho sozinho. Para sua própria situação, você pode usar uma versão mais leve ou mais pesada, dependendo do seu equipamento.
- MOSFET IRF540 de canal n
- Adafruit Huzzah ESP8266 BreakoutPorque eu queria usar WiFi e adoro os produtos da Adafruit, escolhi esta placa: ela me dá uma ESP8266 com uma pinagem de programação conveniente, um regulador de energia integrado e um formato elegante. É um pouco exagero para este projeto, mas torna o teste e a depuração muito mais fáceis.
- Conversor DC-DC baseado em LM2596. Para derivar a energia para a placa ESP dos 12 volts, eu precisava de um regulador; esses pequenos conversores são muito eficientes e muito baratos.
-
Codificador Rotativo com função de botão, com luz led embutida:
www.sparkfun.com/products/10596
Qualquer codificador giratório serve, mas gostei do bom recurso adicional de um LED integrado.
-
Botão de plástico transparente
www.sparkfun.com/products/10597
- Resistor 4k7
- Resistor 1k
Etapa 2: Etapa 2: o circuito
Este é o circuito que usei: usei os pinos 4 e 5 como entradas para o codificador rotativo e o pino 0 para o botão. O pino 0 também está conectado ao led vermelho on-board, então pude verificar a função do botão na codificação observando este led.
O pino 16 é usado para a saída PWM, e eu o conectei diretamente ao led verde no codificador Sparkfun. O ESP8266 tem 3, 3 volts e mesmo com 100%, medi apenas 2, 9 volts de saída, então o conectei diretamente sem um resistor em série. Essa mesma saída vai para o Gate do MOSFET de canal n, por meio de um resistor de 1kOhm. Este Gate é puxado para 12 volts por um resistor de 4,7 kOhm.
Eu usei o conversor DC-DC para converter 12 volts para 5,5 volts, este é conectado à entrada V + do breakout Adafruit. Eu poderia ter usado 3,3 volts e conectado diretamente, mas isso é um pouco mais seguro.
A lâmpada LED de 12 V no circuito é meu acessório.
Etapa 3: Etapa 3: o Código
Eu coloquei o código no GitHub:
Sketch para ESP8266 LED PWM dimmer
É baseado em uma ideia outra instrutível:
www.instructables.com/id/Arduino-PWM-LED-D…
Mas isso era controle puramente local, então eu adicionei minha própria solução de domótica baseada em MQTT. Ele basicamente faz a mesma coisa, mas as principais diferenças são:
- o número padrão de etapas de PWM com um Arduino é 255, com o ESP8266 é 1023 (como descobri mais tarde, tentando descobrir por que minha luminária de LED não subiu até 100% de brilho …)
- Eu não usei o circuito 'Totempole' com os 2 transistores, já que o PWM era DC de qualquer maneira, e funcionou bem com o IRF 540.
- Eu não usei os resistores pull-up de 10k para o codificador, confiei nos pullups integrados do ESP8266.
- O ESP8266 usa lógica de 3,3 volts em vez de 5 volts para o Arduino, o que não provou ser problema para o IRF540
O software possui os seguintes recursos:
- girar o codificador aumentará (CW) ou diminuirá (CCW), de 0 a 100%, em 1023 etapas, com alguma aceleração nos níveis inferiores.
- pressionar o botão acenderá a luz quando ela estiver desligada, usando o último nível de brilho salvo, ou desligará quando estiver ligada.
- pressionar o botão por mais tempo enquanto a luz estiver acesa salvará o brilho atual como o nível padrão.
- pressionar o botão por mais tempo enquanto a luz está apagada acenderá a luz com 100% de brilho, sem alterar o nível padrão.
- Ele se conectará às configurações de WiFi definidas pelas strings 'SECRET_SSID' e 'SECRET_PASS', que são salvas em um arquivo separado em meu esboço, chamado 'secrets.h'
- Ele se conectará a um servidor MQTT na rede WiFi, usando as sequências 'MQTTSERVER' e 'MQTTPORT' no mesmo arquivo.
- Você pode usar o tópico de entrada MQTT 'domus / esp / in' para emitir comandos: 'ON' ou 'OFF "para ligar ou desligar a luz, ou um valor de 0 a 1023 para alterar o brilho.
- Ele relatará o estado nos tópicos MQTT 'domus / esp / uit' (status LIGADO ou DESLIGADO) e 'domus / esp / uit / brilho' (o valor de brilho).
Recomendado:
Inversor 12V Mini Joule Thief - Lâmpada LED 220V AC com bateria 12V: 5 etapas
12V Mini Joule Thief Inverter - Power 220V AC LED Bulb com bateria 12V: Olá, este é o meu primeiro Instructables. Neste Instructables, irei compartilhar como fiz um inversor simples para alimentar uma lâmpada LED de 12 W. Este circuito inverte 12 V DC da bateria para 220 V AC em alta frequência porque usou o joule thief como o coração do c
PWM com ESP32 - Dimerização do LED com PWM no ESP 32 com Arduino IDE: 6 etapas
PWM com ESP32 | Dimming LED com PWM no ESP 32 com Arduino IDE: Nestes instructables veremos como gerar sinais PWM com ESP32 usando Arduino IDE & PWM é basicamente usado para gerar saída analógica de qualquer MCU e essa saída analógica pode ser qualquer coisa entre 0V a 3,3V (no caso de esp32) & a partir de
Interruptor de luz + Dimmer de ventilador em uma placa com ESP8266: 7 etapas (com fotos)
Interruptor de luz + Dimmer de ventilador em uma placa com ESP8266: Neste tutorial, você aprenderá como construir seu próprio interruptor de luz e dimmer de ventilador em apenas uma placa com o microcontrolador e módulo WiFi ESP8266. Este é um ótimo projeto para IoT.Cautions : Este circuito lida com tensões principais CA, então tome cuidado
PWM DC Motor Speed & Light Control - DC Dimmer: 7 etapas
PWM DC Motor Speed & Light Control | DC Dimmer: Hoje, neste vídeo, vou mostrar como diminuir as luzes, controlar a velocidade de um motor em DC ou corrente contínua, então vamos começar
Adaptador 12v para USB Transformador 12v para 5v (ótimo para carros): 6 etapas
Adaptador de 12v para USB Transformador de 12v para 5v (ótimo para carros): Isso mostrará como fazer um adaptador de 12v para USB (5v). O uso mais óbvio disso é para adaptadores de carro de 12v, mas em qualquer lugar que você tenha 12v, você pode usá-lo! Se você precisar de 5v para qualquer outra coisa que não seja USB, simplesmente pule as etapas sobre como adicionar as portas USB