DIMMER AC COM CONTROLE REMOTO INFRARED (PROTOCOLO ‘NEC’) – COM PIC 12F675 (REF100)

0

Que tal usar o controle remoto de sua TV para controlar outros equipamentos, como, por ex., um dimmer? Veja mais…

Existem muitíssimos protocolos para controle remotos infravermelhos para TV, Receptor de Satelites, DVDs, etc. Mas nesta montagem, optou-se pelo padrão ‘Nec’ usado em TVs LG, Semp, Elsys, etc. A idéia é bem simples: Gravar 4 teclas de um controle remoto para acionar esta montagem, controlando uma lampada ou outro equipamento resistivo ligado a rede elétrica. Veja o esquema abaixo:

Para receber o sinal oriundo do controle remoto, foi usado um receptor infrared retirado de uma placa de TV, que trabalha com frequência de 38khz. Existem vários modelos disponíveis no mercado, apropriados para este padrão ‘Nec’. O restante do circuito, já foi usado no receptor de controle remoto via RF. Convém lembrar da necessidade de ter muito cuidado ao montar este tipo de circuito, que trabalha diretamente ligado a rede. Acidentes podem levar a eletrocução, por isto, se for monta-lo, use um transformador isolador 1:1 , durante os testes, que ajuda muito a evitar choques em relação ao terra. Não tente carregar o chip com o firmware, ligado na rede. Grave fora, com circuito de baixa tensão e depois coloque no circuito.

Como usar?
Primeiro, terá que gravar 4 teclas, que forem mais convenientes, para comandarem 4 funções: aumentar, diminuir, desligar e ligar.
Aperte o botão ‘learn’ e em seguida, aperte a primeira tecla desejada’, e solte ambos. Deverá acender brevemente o led ‘learn’, para indicar que foi gravada a tecla. Prossiga com as outras 3 teclas da mesma forma. Para trocar as teclas memorizadas, aperte o botão ‘learn’ por mais de 8 segundos. Após piscar 3 vezes o led ‘learn’, indicando o apagamento, poderá gravar os novos botões. Caso se tente gravar teclas sem apagar as anteriores, o led ‘learn’ piscará varias vezes e de forma rápida, indicando a necessidade de apagar primeiro a memória.
Obs. Esta montagem é didática, sendo realizado a montagem apenas em placa de protoboard, sujeito a bugs ainda não observados.
Por ter riscos de acidentes elétricos, ficará por conta do montador assumir este risco, usando de normas de segurança adequadas. Este circuito foi previsto para cargas resistivas. Cargas indutivas ou capacitivas poderão ter seu funcionamento alterado, não funcionando corretamente.

Segue o arquivo ASM:

NEC_DIMMER2_ASM

Segue o arquivo HEX:

NEC_DIMMER2_HEX

Segue arquivo com ‘Flow Chart’ do programa, em Excel, gentilmente cedido pelo colaborador Rui Lopes Viana:

PIC_CtlRem_NEC

manuais:
PIC12f675
PROTOCÓLOS DE CONTROLE REMOTO

Curiosidades:
Como lidar com problemas da próstata
Mapeamento do céu: no passado e no presente
Alimentos nutritivos ao seu alcance
Tomar chá à moda chinesa
Como é viver acima das nuvens
Gota — causas e fatores de risco
O projeto maravilhoso da molécula de hemoglobina
O que fazer para dormir melhor
Pressão alta: prevenção e controle
Quem criou as leis que governam o Universo?
Como o árabe tornou-se a lingua dos instruidos
Mestres medievais da astronomia
Faça bom uso de sua curiosidade

Outros assuntos:
Como disciplinar seu filho adolescente
Por que eu me corto?
Desempenhem bem o papel de pais
Como fazer seu segundo casamento dar certo
O que acontece quando morremos?
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!!!

Clique aqui para comentarios/sugestões fora deste tópico

0

29 comentários sobre “DIMMER AC COM CONTROLE REMOTO INFRARED (PROTOCOLO ‘NEC’) – COM PIC 12F675 (REF100)

  1. 0

    Boa tarde Cláudio,

    Primeiramente obrigado mais uma vez por compartilhar seu conhecimento, é de grande valor para quem está aprendendo!

    Montei esse circuito na protoboard e funcionou 100%, mas estou com algumas dúvidas. Testei com uma lâmpada incandescente de 100W e quando chego perto dela ouço um zumbido bem baixo tanto com a lâmpada totalmente apagada quanto ligada (no brilho mínimo ou máximo) vindo da própria lâmpada. Acredito ser normal por causa do Triac. A outra dúvida é que minha rede é 220V porém com a lâmpada totalmente acesa a tensão entre os terminais da lâmpada é de 180V, tmb acredito ser normal, certo?

    1. 0

      Olá Moretti!
      O zumbido eu também já constatei, o que acredito seja um fenômeno físico normal. Não saberia explicar do porque. Quanto a tensão não chegar a 220v também é normal, pois o triac somente dispara depois que tem alguma voltagem entre seus anodos.
      Cláudio

      1. 0

        Eu já tinha percebido esse zumbido naqueles dimmers com triacs, isso se deve ao corte da senoide que o triac faz para variar a tensão AC, uma mistura de onda quadrada com senoidal faz o filamento da lâmpada vibrar, já que a variação de tensão fica muito “seca”.

  2. 0

    Caro amigo montei este projeto e hoje fui fazer uns teste , usei como base primeiro uma tv com a intenção de usar apenas a função ON / OFF mas o que acontece que a fonte não zera fazendo a TV pulsar logo pensei pode ser o fato da TV ser fonte chaveada ,mas quando usei uma lampada o mesmo aconteceu em modo OFF ou seja não quero usar a parte do dimmer e como queria apenas 1 Canal ON /OFF este projeto não funcionaria ?

    tipo preciso apenas pra ligar e desligar uma TV usando o controle de outro equipamento , e seria bom se pudesse ser igual ao projeto do IR com relê que a mesma tecla que liga / desligara .

    amigo grato pelo ajuda do outro projeto ok

    1. 0

      Olá Liliano! O uso deste projeto junto a cargas indutivas (fontes chaveadas, transformadores, motores ,etc) ou capacitivas, pode ser afetado. Seu uso primário seria com cargas resistivas como lampadas e resistências. Para uso com TV , modo on/off, a melhor opção seria acionar via um rele.
      Cláudio

      1. 0

        amigo ok mas é que vi o projeto seu com 4 triac e on off , pensei que esse daria pra fazer 1 so canal pois fiz uma placa pro projeto e não tem como eu mudar pois o pino 5 neste é entrada do sensor IR ja no de 4 canais usa o pino 4 que normamente ja é entrada de dados , mesmo assim agradeço .

  3. 0

    boa noite pessoal.alguem aqui poderia fezer o layout da circuito impresso da placa agradeço desde ja.abraços a todos

  4. 0

    Caro Larios, bom dia.

    Parabéns por todo seu trabalho.
    Você é uma pessoa muito eficiente e prestativa, que além de fazer muitos trabalhos interessantes,
    os disponibiliza por completo com toda a informação para os que pretendem usá-las.

    Resolvi aprender melhor como funcionam os “Controles remotos” e encontrei no seu site bastante informações.
    Ao analisar o projeto “DIMMER AC COM CONTROLE REMOTO INFRARED (PROTOCOLO ‘NEC’) – COM PIC 12F675”, resolvi
    desenhar o “Flow Chart” do mesmo.

    Caso você não tenha feito este “FC” posso enviá-lo para você disponibilizar no seu Blog.

    Parabéns novamente. Rui

  5. 0

    ola larios.so tem que agradeser. os seus projetos otimos eu to querendo montar esse projeto so como liga e desliga.alguem puderia ajudar.agradeço desdeja
    abraços a todos…

  6. 0

    Amigo sei que vc não gosta muito de usar o pic direto na rede mas a respeito deste projeto tive um problema com ele agora que montei ele não tem um ponto de zero pois ao pressionar o botão para diminuir ele passa pelo zero e volta a ascender bem fraca uma lampada , agora o que eu preciso fazer para reparar isso ou ate mesmo para fazer aquilo que te sugerir pra muda-lo para modo retenção apenas , on / off sem o dimmer .

    1. 0

      Olá Liliano!
      Farei uma verificação do que possa ter promovido esta situação. Aguarde um retorno, por favor.
      Claudio

  7. 0

    Amigo so um pedido sei que seu tempo é curto , mas não seria possivel o uso deste sistema apenas ON OFF ao inves de fazer o dimer pois assim poderia ter o recurso de usar o controle para o modo reteção ou pulso com acionamento direto no triac , pois assim economizaria o moc e acionariamos direto no triac

  8. 0

    ola Claudio,aqui vai uma sugestão.
    esse projeto dimmer ac e ótimo?
    minha sugestão seria invés de usa alta tensão.
    poderia usa um sistema para rotaciona um motorzinho junto a um potenciômetro, sobe desse liga desliga.
    George Lima…

      1. 0

        amigo claudio , tenho um projeto que acho que ja te enviei antes de controle IR e que usa protocolo NEC ( RC5 ) , precisaria mudar para modo pulso pois ele serve para 4 canais porem somente em retenção o problema maior é que só tenho o HEX dele dai fiquei imaginando como vc ja manja do protocolo NEC seria possivel a mudança

        1. 0

          Olá Liliano!
          Se você não tem o asm, fica difícil. Teria que fazer um projeto novo, usando o mesmo esquema e obtendo informação do que original fazia.
          Claudio

  9. 0

    Olá Claudio.
    Aprendo bastante com os seu projetos. Atualmente está um pouco difícil de encontrar algo parecido e no nível dos seus na internete. Espero que sempre tenha motivação para criar coisas simples e ao mesmo tempo complexas como estas para pessoas como nós (eu e outros da NET) que não sabem e querem aprender sozinhos. Parabéns!!
    Com relação ao projeto em questão, poderia explicar como funciona a decodificação da leitura do sinal (rotina IN_1)?
    Um abraço.

    1. 0

      Olá Jalves!
      Agradeço seu gentil comentário. O sistema em questão, trabalha com interrupção do timer 0 para disparar a gate do triac e a a interrupção de mudança de estado de pino para carregar o tempo antes do disparo (quando passa por zero). Já o timer 1 é usado para obter a transmissão infravermelho do controle remoto, pegando os valores do tempo de cada pulso padrão NEC e determinando se deve carregar no buffer de recepção (res3…res0) o bit ‘0’ ou o ‘1’. Se o valor obtido na contagem no timer1 for maior que 0x0300, então temos um ‘1’. Se a contagem não chegar a 0x0100, então temos um ‘0’. É na rotina ‘in_1’ que faz esta verificação. Os flags são usados apenas para sequenciar corretamente as leituras.
      Cláudio

    1. 0

      Olá Deivid!
      Você terá o tamanho olhando no arquivo Hex compilado.
      Veja esta porção de código hex:

      ………………….
      :1002D00064000030C90000302C218B170034083036
      :1002E000C200FF30C300C30B7329C20B712952290E
      :1002F000CC00030ECB0083120B1C852905080B10C4
      :100300004A0881000B118B169229051283160512DB
      :100310008312FA30013E031D8A29831605168312C3
      :0E0320008B120B114B0E8300CC0E4C0E0900FD
      :02400E00E43F8D
      :024200000000BC
      :00000001FF
      Veja a linha:
      :0E0320008B120B114B0E8300CC0E4C0E0900FD
      Os 2 caracteres após o ponto é a quantidade de caracteres da linha +1 = 2 +1 = 3
      Segue 4 numeros que são o endereço inicial onde serão gravados = 0320 hex = 800 decimal

      800 + 3 = 803 posições de memória usadas.

      Pelo mplab também poderá olhar usando as janelas do debugador.
      Cláudio

      1. 0

        Boa tarde Cláudio.
        E pelas janelas do debugador, como seria. Teria como você fazer um tutorial com algumas imagens, mostrando a memoria ocupada por algum programa seu num pic 16F628 por exemplo?

        1. 0

          Olá Deivid! Tem muitos bons tutoriais que explicam como usar o Mplab_ide. Mas no assunto em questão, clique na aba superior do Mplab chamada ‘VIEW’ , e ao abrir a caixa, na opção ‘ PROGRAM MEMORY’. Você verá abrir um arquivo com o inteiro código compilado. O programa termina no ponto em que começa a repetir o código ‘3fff addlw 0xff’. Em ‘line’ você terá o tamanho do programa. Veja este exemplo em que temos apenas 407 bytes usadas no programa, com uma memória total de 1024 bytes.

          Cláudio

  10. 0

    Amigo Claudio vc já fez algum projeto de gera sons musicais com Pic Porexemplo piano eletrônico,,,,

    1. 0

      Olá Neto!
      Ainda não tenho , mas quem sabe , futuramente pensemos em alguma coisa bem simples.
      Claudio

  11. 0

    Perfeito projeto , sempre assim quando vc da uma sumida vem com uma grande surpresa e divulga a novidade , agora uma ideia seria possivel este porjeto em um 16f628 para ter mais canais ,não sei se seria e outra coisa o pino 2 vc usou um resistor de 10m ele é necessario , não sei se faz a mesma função de sinc seria isso ?
    pois não é um valor muito usado , amigo mesmo assim um otimo projeto estava lembrando dos primeiros ´projeto e não sei vc mais a cada dia venho aprendendo mais e uma das coisas que aprendi com vc que conhecimento não deve ser guardado .

    1. 0

      Olá Liliano! O resistor de 10 M pode ser substituído por dois de 4M7 em série ( não é crítico, de 680k a 10 M), cujo objetivo é detectar o ponto ‘zero’ da senoide da rede e sincronizar os disparos do triac. Quanto a fazer com mais canais, terei que analisar se é possível. Qual dos projetos você encontrou problema e colocando um resistor de 3K9 ficou melhor?
      Claudio

Os comentários estão fechados.