Índice:
- Etapa 1: reunindo o hardware
- Etapa 2: Projeto do circuito
- Etapa 3: Projeto do circuito de Kovari
- Etapa 4: Projeto do circuito de Giacomo
- Etapa 5: Software
- Etapa 6: Empacotando
Vídeo: 4 Ch DMX Dimmer: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
O conceito é projetar e criar um dimmer portátil.
Requisitos:
- DMX512 controlável
- 4 canais
- Portátil
- Fácil de usar
Propus essa ideia ao meu professor na WSU porque queria combinar minhas paixões por teatro e computadores. Este projeto funcionou um pouco como meu projeto sênior no departamento de teatro. Se você tiver algum comentário ou pergunta, eu adoraria ajudar.
O desenvolvimento futuro pode incluir mais canais, conector DMX de 5 pinos, passagem DMX, 8 interruptores dip para mudar o canal, placa de circuito impresso.
Migrei este projeto de https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html porque ainda é popular, eu acho. Além disso, perdi meu arquivo seed do iWeb, então não posso mais atualizá-lo facilmente. Seria bom permitir que as pessoas compartilhassem suas perguntas sobre o projeto.
Etapa 1: reunindo o hardware
Hardware usado: a maior parte foi encomendada à Tayda Electronics. Gosto mais deles do que do DigiKey por causa da seleção menor e mais fácil de entender.
- ATMEGA328, microcontrolador
- MOC3020, TRIAC Optocoupler. Não ZeroCross.
- MAX458 ou SN75176BP, receptor DMX
- ISP814, AC optoacoplador
- Regulador 7805, 5v
- BTA24-600, 600V 25A TRIAC
- Cristal 20MHz
- Fonte de alimentação 9V
Alguns obstáculos e lições aprendidas ao longo do caminho
- Se você não é um especialista em registro, use um ATMEGA328P
- Optoacopladores errados. Você não quer Zero Cross
- Os canais altos eram instáveis. Mudar de 16 MHz para 20 MHz resolveu esse problema
- Incapaz de ter uma luz de status DMX porque a chamada de interrupção teve que ser muito rápida
- A energia DC deve ser extremamente estável, qualquer ondulação fará com que o sinal DMX se torne muito ruidoso
O design do TRIAC veio da MRedmon, obrigado.
Etapa 2: Projeto do circuito
Usei o Fritzing 7.7 no Mac para projetar meu circuito.
O MAX485 na parte superior é usado para converter o sinal DMX em algo que o Arduino possa ler.
O 4N35 à esquerda é usado para detectar o cruzamento zero do sinal AC, de modo que o Arduino saberá em que momento diminuir a saída da onda senoidal. Mais sobre como o hardware e o software interagem na seção de software.
Eu recebi a pergunta: este projeto funcionará na Europa com 230V e 50Hz? Não moro na Europa, nem viajo para lá com frequência para poder testar este projeto. Deve funcionar, você só precisa modificar a linha de tempo de brilho do código para o atraso de tempo de frequência diferente.
Etapa 3: Projeto do circuito de Kovari
Durante o processo de ativação do meu site, pude ter algumas conversas por e-mail. Um foi com Kovari Andrei, que fez um design de circuito baseado neste projeto e queria compartilhar seu design. Não sou um designer de placa de circuito, mas é um projeto do Eagle. Deixe-me saber como funciona para você, se você usá-lo.
Etapa 4: Projeto do circuito de Giacomo
De vez em quando, as pessoas me enviarão mensagens com as emocionantes adaptações que fizeram com este instrutível e achei que deveria compartilhá-las com todos vocês.
Giacomo modificou o circuito para que um transformador com derivação central não fosse necessário. O pcb é unilateral e pode ser uma solução mais acessível para quem não pode fazer dupla face em casa (um pouco difícil).
Etapa 5: Software
Sou engenheiro de software profissional, então esta parte é a mais detalhada.
Summery: Quando o Arduino inicializa pela primeira vez, o método setup () é chamado. Lá eu configurei algumas das variáveis e locais de saída para serem usados posteriormente. zeroCrossInterupt () é chamado / executado toda vez que o AC passa da tensão positiva para a negativa. Ele definirá o sinalizador zeroCross para cada canal e iniciará o cronômetro. O método loop () é chamado continuamente para sempre. Para ligar a saída, o TRIAC só precisa ser disparado por 10 microssegundos. Se for a hora de acionar o TRIAC e o zeroCross ocorrer, a saída será ligada até o final da fase AC.
Existem alguns exemplos online que usei para iniciar este projeto. A principal coisa que não consegui encontrar foi ter várias saídas TRIAC. Outros usaram a função de atraso para PWM a saída, mas isso não funcionaria no meu caso porque o ATMEGA tem que estar ouvindo DMX o tempo todo. Resolvi isso pulsando o TRIAC em tantos ms após o zero-cross. Ao pulsar o TRIAC para mais perto do cruzamento zero, mais da onda do pecado é produzida.
Aqui está a aparência da meia onda sin de 120 VCA em um osciloscópio, acima.
O ISP814 está conectado à interrupção 1. Portanto, quando ele recebe o sinal de que o AC faz a transição de positivo para negativo ou vice-versa, ele define o zeroCross para cada canal como verdadeiro e inicia o cronômetro.
No método loop (), ele verifica cada canal se zeroCross é verdadeiro e o tempo para sua ativação passou, ele pulsará o TRIAC por 10 microssegundos. Isso é o suficiente para ligar o TRIAC. Assim que o TRIAC for ligado, ele permanecerá ligado até zeroCross. A luz piscaria quando o DMX estivesse em torno de 3%, então adicionei o truncamento para evitá-lo. Isso fazia com que o Arduino ficasse muito lento e o pulso às vezes disparava a próxima onda sinuosa em vez dos últimos 4% da onda.
Também no loop () eu defino o valor PWM dos LEDs de status. Esses LEDs podem usar o PWM interno gerado pelo Arduino porque não precisamos nos preocupar com o zeroCross do AC. Assim que o PWM estiver configurado, o Arduino continuará com aquele brilho até que seja informado de outra forma.
Conforme observado nos comentários principais, a fim de usar uma interrupção DMX no pino 2 e executar a 20 MHz, você terá que editar alguns dos arquivos do aplicativo Arduino. Em HardwareSerial.cpp, um pedaço de código deve ser excluído, o que nos permite escrever nossa própria chamada de interrupção. Este método ISR está na parte inferior do código para lidar com a interrupção DMX. Se você for usar um Arduino como um programador de ISP, certifique-se de reverter suas alterações para HardwareSerial.cpp, caso contrário, o ATMEGA328 na placa do pão ficará inacessível. A segunda mudança é mais fácil. O arquivo boards.txt deve ser alterado para a nova velocidade de clock de 20 MHz.
brilho [ch] = mapa (DmxRxField [ch], 0, 265, 8000, 0);
O brilho é mapeado para 8000 porque essa é a quantidade de microssegundos de 1/2 uma onda senoidal CA a 60 Hz. Portanto, com brilho total de 256 DMX, o programa deixará 1/2 da onda senoidal AC LIGADA para 8.000us. Eu vim com 8000 por meio de adivinhar e verificar. Fazendo as contas de 1000000us / 60hz / 2 = 8333, então esse pode ser um número melhor, mas ter os 333us extras permite que o TRIAC abra e qualquer jitter no programa é provavelmente uma boa ideia.
No Arduino 1.5.3, eles moveram a localização do arquivo HardwareSerial.cpp. Agora é /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Você precisará comentar todo este bloco se começar com a linha 39: #if definido (USART_RX_vect)
Caso contrário, você terminará com este erro: core / core.a (HardwareSerial0.cpp.o): Na função `_vector_18 ':
Etapa 6: Empacotando
Peguei a caixa de projeto cinza em Menards em sua seção elétrica. Usei uma serra alternativa para cortar os orifícios dos plugues elétricos. A caixa tem uma pinça c de teatro presa à parte superior para pendurar. Luzes de status para cada entrada e saída para ajudar a diagnosticar se houver um problema. Um fabricante de etiquetas foi usado para explicar as diferentes portas do dispositivo. Os números próximos a cada plugue representam o número do canal DMX. Fixei a placa de circuito e o transformador com um pouco de cola quente. Os LEDs estão presos no lugar com suportes de led.
Recomendado:
Dimmer AC digital poderoso usando STM32: 15 etapas (com imagens)
Dimmer AC digital poderoso usando STM32: Por Hesam Moshiri, [email protected] carrega ao vivo conosco! Porque estão por toda a parte à nossa volta e, pelo menos, os electrodomésticos são alimentados com corrente. Muitos tipos de equipamentos industriais também são alimentados com 220V-CA monofásico
Fazendo seu próprio (gangorra) Dimmer LED duplo: 4 etapas
Fazendo seu próprio (gangorra) Dimmer de LED duplo: Hoje, vou mostrar como fazer o Dimmer de LED duplo com apenas 555 chips de temporizador junto com componentes comuns. Semelhante a um único MOSFET / transistor (PNP, NPN, canal P, ou N-Channel) que ajusta o brilho de um LED, este usa dois MOS
Dimmer de lâmpada LED: 3 etapas
Dimmer de lâmpada LED: Este é um dimmer de lâmpada LED simples. Você pode ver como o circuito está funcionando no vídeo. Tive essa ideia depois de ler os seguintes artigos: https: //www.instructables.com/id/LM350-Power-Supply/https: //www.instructables. com / id / Transistor
Dimmer de luz (Layout PCB): 3 etapas
Light Dimmer (Layout PCB): Olá pessoal !! Aqui estou mostrando a vocês o layout PCB do circuito Light dimmer usando o temporizador IC 555 mais popular. Este circuito também pode ser usado para controlar a velocidade do motor DC de baixa potência nominal. O temporizador IC pode ser operado em três modos: AstableM
Tudo em um · Terminador DMX e Testador DMX: 3 etapas
All in One · DMX Terminator & DMX Tester: Como técnico de iluminação, às vezes você precisa saber o quão saudáveis estão suas conexões dmx entre os aparelhos. Às vezes, devido aos fios, acessórios próprios ou flutuações de tensão, o sistema DMX está exposto a muitos problemas e erros. Então eu fiz