Controlar um nível DC a distancia pode ser interessante em aplicações de controle de volume. Como fazer isto com um controle remoto comercial (chaveirinho de portão/alarme)? Veja mais…
A proposta desta montagem se resume em variar uma tensão na saída de um pic 12F675 , gerada pelo método ‘ PWM’, conforme firmware carregado no Pic. Veja o esquema abaixo:
Esta tensão será aumentada quando apertarmos o botão direito de um controle remoto comercial, previamente ‘aprendido’ pelo PIC. Para reduzir a tensão, deverá ser apertado o botão da esquerda do controle.
A frequência do PWM está por volta dos 120 Hertz. O esquema mostra duas saídas: a saída S1, na forma PWM, usada para controlar cargas via transistores e a saída S2, já com nível DC (0-5 volts), para uso em potenciômetro digital. Foi aproveitado uma saída do PIC para responder em modo on/off (retenção) quando se aperta o terceiro botão ( ou os dois botões ao mesmo tempo).
Para usar, primeiro necessitará ‘aprender’ todos os botões do controle, e de outros controles, se usar mais de um.
Para isto, basta apertar o botão ‘learn’ (acende ‘led learn’), e em seguida, apertar o botão do controle a gravar. Repita com todos os botões. Caso deseje apagar todos os controles gravados, aperte o botão ‘learn’ por mais de 5 segundos. Quando começar a piscar, solte o botão. Após 5 piscadas, terá apagado todos os controles da Eeprom.
Qual uso desta montagem?
Veja a sugestão abaixo:
Podemos usar como um controle de brilho para uma lâmpada de forma remota. A lâmpada poderia ser substituída por um motor, por exemplo, para controlar a rotação de um pequeno exaustor DC em difícil acesso. Neste modo, usamos a saída S1, com sinal PWM.
Outra possibilidade está no controle de volume a distancia, com uso de cis do tipo ‘potenciômetros digitais’. Neste modo, usamos a saída S2, com níveis contínuos, para controlar um circuito integrado TDA 8199.
Veja a figura abaixo:
Obs. Esta montagem é de caráter didática, sujeita a bugs ainda não observados. Está sendo fornecido os arquivos ASM e HEX, que poderão ser alterados segundo as necessidades dos hobistas.
Segue pasta com arquivos atualizados em 23/10/2015, 120 hz, em ASM e HEX:
Segue a mesma versão , com aprimoramentos, que salva no ultimo endereço da EEprom, o valor da última atuação do PWM, bem como o estado do interruptor on/off (no penúltimo endereço).
Com isto, ao religar a alimentação, voltará ao valor anteriormente regulado. Clique abaixo para obter pasta com esta nova versão (08-11-2015):
Em 11/12/2016, foi postada esta versão que permite escolher entre pulso ou retenção, na saída controlada pelo terceiro botão do controle remoto. A escolha é feita mediante um jumper no pino 6 ao gnd. Sem jumper será modo pulso e com jumper será modo retenção. O restante é igual a versão anterior (08/11/2015). Clique abaixo para obter pasta com esta nova versão (11-12-2016):
Manuais:
Curiosidades:
Quando as vacas saem de férias
Quando as substâncias químicas causam doenças
O que aprendemos dos projetos da natureza?
O que fazer para dormir melhor
Viver com o que se ganha — Como é possível?
A mais nova cordilheira das Montanhas Rochosas
Uma planta de crescimento lento
A Grande Fome na Irlanda — Uma epopéia de morte e emigração
Cherrapunji: um dos lugares mais úmidos da Terra
O tempero que veio do outro lado do mundo
Outros assuntos:
Fortaleça seu casamento por meio de boa comunicação
Os desafios de uma família com enteados
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Ensine seus filhos bons principios com atividades de colorir
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Entrevista com um bioquímico
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?
Até o próximo artigo!!!
boa tarde Claudio tudo bem , só faltou funcionar a memorização que não esta funcionando na versão atualizada e nas outras versões esta com aquele problema de lampada oscilando.
Olá Marcos!
Estou esperando um tempo para mexer com este outro arquivo. Fique no aguardo!
Cláudio
Bom dia Claudio tudo bem.
agora a versão com memória esta funcionado ,porem a saída on off deu um problema ,quando eu ligo o microondas ou fogão automático ,o ruido esta disparando a saída.
Olá Marcos!
Os pics são conhecidos por serem muito sensíveis a interferências. Tente colocar um capacitor de 220 nf bem junto ao pino 1 e 8 do pic. Evite fios longos ligados aos pinos do pic.
Cláudio
bacana Claudio obrigado
Olá Marcos!
Por favor, tente usar a versão 4, postada no artigo hoje. Fiz a correção para funcionar com frequência por volta de 125 hz para não tremular, e outros pequenos ajustes no software.
Cláudio
Claudio muito obrigado pela atenção ,parece que agora ficou good ,esta na bancada em teste ,qualquer coisa te falo, forte abraço.
ola Claudio boa noite resolvido a questão do apagamento dos controles só que a lâmpada fica oscilando.
outra coisa que esta acontecendo é o seguinte a saída do pino 5 retenção dispara sozinho do nada e liga a lampada
no aguardo .
Olá Marcos!
Desculpe a demora em responder. Estava em localidade desprovida de acesso a internet e longe da minha bancada. Você falou que fica oscilando? Como assim?
Cláudio
Boa tarde Claudio a versão v3 esta oscilando a lampada quando aciona o dimmer.
a lampada fica sozinha piscando rapidamente sem parar
Olá Marcos!
Você está usando uma lâmpada incandescente acionada por um transistor (12 volts)? A versão II que não apagava não tinha este problema?
Cláudio
v2 não v3 Claudio coloquei versão errada. isso 12v ao usar s1 via transistor aciona a lampada mais ela fica oscilando brilho espécie de um efeito tremulo da na lampada
Olá Marcos! Final de semana, sobrando um tempinho, vou montar e ver o que está acontecendo.
Cláudio
Boa noite Claudio, não esta apagando os controles quando aperta por mais de 5 seg.
estou usando a versão pwm0_5v_v2
Olá Marcos!
Já acertei esta falha. Obrigado por avisar, pois passou despercebido nos testes. Use a versão ‘pwm_0_5v_v3’ que está corrigida no artigo.
Cláudio
tem algum bug na rotina do programa quem se habilita a descobrir.
Olá Marcos!
Realmente, após a montagem e testes mais apurados foi constatado o bug. Analisando o programa identifiquei a falha na seguinte porção de código:
INTERRUPÇÃO
MOVWF WTEMP ;SALVA ‘W’
SWAPF STATUS,W ;SALVA ‘STATUS’
MOVWF STATUSTEMP
BANK0
MOVLW .140
MOVWF TMR0
INCFSZ TMX1,F
GOTO X4
INCFSZ TMX2,F ;<—————BUG 1 deve ser apenas INCF TMX2,F
X4
INCFSZ TMZ1,F
GOTO Z4
INCFSZ TMZ2,F ;<—————BUG 2 deve ser apenas INCF TMZ2,F
Z4
MOVLW PASSO_INCREMENTO_PWM
ADDWF PWM1,F
Quando o contador chegava a zero, carregava PWM1 com valor errático que estava em 'W', sem sofrer primeiro a carga do valor de incremento.
Acredito que tenha sido o erro clássico de 'copiar' e 'colar' porções de código, gerando este tipo de ocorrência. Já alterei o código postado para a primeira versão 'PWM0_5V_V2'. As outras duas mais novas também estão com o bug, e assim que tiver mais tempo irei corrigi-las.
Obrigado por trazer atenção este problema.
Sucesso em sua montagem!
Cláudio
Parabéns Claudio muito obrigado pela atenção, resolvido não oscila mais a lâmpada grato até próxima montagem.