1 pontos por GN⁺ 2 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Para reduzir para o nível 1 uma luz noturna que sempre liga no nível 3 de brilho, foi criada uma PCB baseada em ATtiny85 que, ao receber energia, pressiona o botão três vezes no lugar da pessoa
  • Como a fonte com queda por capacitor fornece apenas alguns mA, em vez de um ESP8266 ou Raspberry Pi Zero foi escolhido o ATtiny85, que consome menos de 1 mA a 1 MHz e cai para a faixa de μA em modo de economia de energia
  • O circuito foi montado em torno de um HT7333 para reduzir 8,3 V para 3,3 V e de um 2N3904 para curto-circuitar o botão ao terra, e foi projetado e fabricado com EasyEDA e JLCPCB
  • O chip foi programado com os GPIOs de um Raspberry Pi 3 e avrdude; quando o Home Assistant liga a luz noturna, ele espera um pouco e então pressiona o botão três vezes para alternar automaticamente para o brilho mínimo
  • Os arquivos de projeto e o código em C foram publicados sob a licença MIT, mas só podem ser aplicados a dispositivos com tensão interna de 4 a 12 V e entrada de botão que é curto-circuitada ao terra; aparelhos comerciais sem transformador ligados à rede elétrica exigem cuidado especial

Três apertos de botão repetidos todos os dias

  • O Home Assistant está configurado para ligar a luz noturna por meio de uma tomada de parede Zigbee quando o celular entra no modo de foco de sono
  • A luz noturna barata tem uma chave que define se ela acende automaticamente e um botão que muda o nível de brilho, mas toda vez que é ligada ela começa no nível 3 de brilho
    • Ao pressionar o botão uma vez, vai para o nível 4; ao pressionar de novo, para o nível 5; na terceira vez, vai para o nível 1
    • Para obter o brilho mínimo desejado, era preciso pressionar o botão três vezes todas as noites
  • Ao abrir o aparelho, o nome do chip não estava visível e também não havia potenciômetro de ajuste
  • Um método encontrado online que dizia permitir mudar o brilho padrão na EEPROM mantendo o botão pressionado por cerca de 10 segundos também não funcionou nesse produto

Microcontrolador adequado à energia limitada

  • Um microcontrolador que automatizasse a entrada do botão era a solução mais adequada
  • Como a luz noturna reduz a tensão da rede elétrica usando um capacitor em vez de um transformador, a fonte só consegue fornecer alguns mA
    • O ESP8266 do Wemos D1 Mini precisa de centenas de mA ao inicializar e ligar a função sem fio
    • O Raspberry Pi Zero é um computador Linux completo que precisa inicializar um sistema operacional
    • Ambos os dispositivos exigiriam uma fonte separada ou um grande capacitor de armazenamento e circuitos adicionais para suportar o momento da inicialização
  • O ATtiny85 escolhido ao final é da família AVR, como os Arduinos clássicos, e o código pode ser escrito na Arduino IDE
    • Em operação a 1 MHz, consome menos de 1 mA
    • Em modo de economia de energia, cai para a faixa de μA, semelhante a um relógio de quartzo
    • Os LEDs da luz noturna usam milhares de vezes mais energia que o ATtiny85

Circuito que reproduz o aperto real do botão

  • O barramento de alimentação interno da luz noturna é de 8,3 V, e o ATtiny85 precisa de 3,3 V, então foi usado um regulador de tensão HT7333
  • Um transistor 2N3904 curto-circuita a linha de sinal do botão ao terra, reproduzindo a ação de pressionar o botão de verdade
  • Os componentes ao redor cuidam da limitação de corrente, da prevenção de entradas falsas e da estabilização da alimentação
    • O resistor de 1 kΩ entre o ATtiny85 e o transistor limita a corrente de acionamento que flui para o transistor
    • O resistor de 10 kΩ mantém o transistor desligado enquanto a energia está sendo ligada, evitando entradas de botão indesejadas
    • Três pequenos capacitores suavizam a alimentação fornecida ao regulador de tensão e ao chip
    • O header de 3 pinos se conecta à alimentação, ao terra e à linha de sinal do botão
  • O circuito foi projetado como uma placa separada para servir como um dispositivo genérico que pressiona um botão um número definido de vezes e também para aprender o processo de fabricação de PCBs

Projeto do circuito e da placa no EasyEDA

  • No EasyEDA, os componentes e suas relações de conexão foram primeiro desenhados como um esquemático
    • Pontos de conexão com o mesmo nome, como GND e 3V3, são interligados pelo roteador
    • Ao especificar os componentes reais a usar, isso pode ser aproveitado no layout da PCB e na criação da lista de materiais
  • Na etapa de edição da PCB, é possível definir diretamente a posição dos componentes, as rotas de trilha, o formato da placa e os elementos impressos
    • A placa recebeu a impressão do logotipo de hardware open source e do nome de usuário
  • Como o circuito era simples, foi feita uma placa de face única, sem necessidade de roteamento complexo nem correção de comprimento ou formato das trilhas

Fabricação pela JLCPCB e montagem dos componentes

  • A placa foi encomendada na JLCPCB, escolhendo os componentes reais e se haveria montagem
  • A quantidade mínima de pedido era de 5 placas, mas só era necessária 1, então a maior parte dos componentes foi soldada manualmente
    • Resistores e capacitores muito pequenos tinham baixo custo adicional, então foi usado o serviço de montagem da JLCPCB para eles
  • As placas chegaram 4 dias depois do pedido

Programação do ATtiny85 e validação prévia

  • Um ATtiny85 vazio não tem bootloader, portanto não pode ser conectado diretamente por USB como um Arduino e precisa de um programador separado
  • Ele foi programado usando os GPIOs de um Raspberry Pi 3 e o avrdude
    • Depois de conectar o header do Pi e o chip com 6 jumpers, basta executar um comando
  • Antes de conectá-lo diretamente à luz noturna, o funcionamento foi validado primeiro ligando um LED ao pino de saída
    • O comportamento final é piscar três vezes e depois permanecer parado
    • No vídeo de teste, o número necessário de acionamentos foi corrigido tarde demais, então ele pisca quatro vezes

Processo de instalação e segurança com rede elétrica

  • A placa finalizada foi soldada dentro da luz noturna; as peças e o espaço eram muito pequenos, o que dificultou o trabalho
  • O capacitor grande da placa original estava instalado com a polaridade invertida, e isso foi confirmado com uma verificação com multímetro
  • Como a luz noturna não tem transformador, ao instalar a PCB adicional todo o circuito fica conectado à rede elétrica
    • O ATtiny85 deve ser gravado antes de ser colocado no aparelho
    • Depois da instalação, não se deve reconectar um cabo USB nem um Raspberry Pi

Automação do sono e funcionamento final

  • Quando o relógio informa ao celular o estado de hora de dormir, o celular avisa o Home Assistant, e o Home Assistant liga a luz noturna pela tomada Zigbee
  • A PCB energizada espera um pouco para evitar mau funcionamento da luz noturna e então pressiona o botão três vezes, alternando para o nível 1 de brilho
  • As sombras da fiação interna aparecem atrás do difusor, mas não surgem na parede do quarto, então não houve problema no uso real

Materiais open source e condições de aplicação

  • Os seguintes materiais foram publicados em tymscar/button-presser sob a licença MIT
    • Arquivos Gerber para fabricar a mesma placa
    • Lista de materiais e esquemático
    • Um pequeno código em C executado no ATtiny85
  • Antes da aplicação, é necessário realizar as duas verificações com multímetro indicadas no README
  • Este circuito só funciona em dispositivos que tenham internamente um barramento de alimentação de 4 a 12 V e cujo sinal seja curto-circuitado ao terra ao pressionar o botão
  • Vários aparelhos baratos atendem a essas condições, mas isso não vale para todos os produtos; dispositivos alimentados pela rede elétrica devem ter suas instruções de segurança verificadas antes de qualquer intervenção

Ainda não há comentários.

Ainda não há comentários.