RECEPTOR PARA CONTROLE REMOTO COMERCIAL (HT6P20B) COM SAÍDA PWM – COM PIC 12F675 (REF118)

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:

RX_PWM_0_5V_V4_FILES

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):

RX_PWM_0_5V_EEP_V4_FILES

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):

RX_PWM_0_5V_120H_EEP_PR_V5

Manuais:

Pic 12f675

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!!!

77 comments on “RECEPTOR PARA CONTROLE REMOTO COMERCIAL (HT6P20B) COM SAÍDA PWM – COM PIC 12F675 (REF118)

  1. 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.

      1. 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.

        1. 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

    1. 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

      1. Claudio muito obrigado pela atenção ,parece que agora ficou good ,esta na bancada em teste ,qualquer coisa te falo, forte abraço.

      1. 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

          1. 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

          2. 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

      1. 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

    1. 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

Comments are closed.

Back To Top