RECEPTOR DE 3 CANAIS PARA USO COM CONTROLE REMOTO (CI HT6P20B) E PULSO/RETENÇÃO INDIVIDUAL- COM PIC 12F675

Seria possível fazer com um único PIC 12F675, um receptor de 3 canais para controle remoto comercial (chaveirinho) com opção de pulso e retenção individual? Veja mais…

Já foram publicados varias versões de receptor para controle remoto usando o PIC 12F675/629, como no artigo ‘RECEPTOR DE CONTROLE REMOTO GENERICO PARA HT6P20B COM PIC 12F629‘, de forma didática. Agora, veremos um circuito prático, já incluído 3 reles com tensão de trabalho de 12 volts na bobina, e contatos para 10 amperes. Seus contatos poderão controlar cargas elétricas de aplicações das mais variadas possíveis.
Veja o esquema abaixo:

Trata-se, portanto, de um receptor de 3 canais, sendo que cada canal é controlado por um botão do controle remoto (chaveirinho).
A escolha deverá ser por controle remotos com 3 botões, que usem internamente o ci HT6P20B, pois o código ASM está preparado somente para este tipo de protocolo.
A novidade deste receptor está na flexibilidade que ele dá na questão de escolha do tipo de saída desejada. Ele permite que determinemos por meio de ‘Jumpers’ se a saída escolhida será no modo ‘Pulso’ ou no modo ‘Retenção’. Note que a escolha é individual, ou seja, podemos programar , por exemplo, a saída 1 para modo ‘Pulso’, a saída 2 para ‘Retenção’ e a saída 3 para ‘Pulso’ ou outras opções.
Com ‘Jumper’ colocado definimos ‘modo Pulso’ e sem colocar o ‘Jumper’ teremos o ‘modo Retenção’.
Toda vez que for redefinido a posição dos ‘Jumpers’ deverá ser dado um ‘Reset’ para que passe a funcionar corretamente o novo ajuste. Isto acontece por que, logo no início do programa, as ‘saídas’ são convertidas em ‘entradas’, com o objetivo de testar a condição dos ‘Jumpers’, sendo que os seus estados ficarão gravados nos flags nomeados de ‘Flagj1 a Flagj3’. Estes por sua vez, serão usados para definir o modo de operação de cada saída. Foram usados 3 resistores de pull up externos, para melhorar a polarização positiva, uma vez que os internos não foram suficientes.
Após montar o circuito, deverá ser carregado o arquivo hex no microcontrolador. Poderá usar um programa gravador (software) rodando em seu PC como por exemplo, o WINPIC800, e um gravador (hardware) como o ‘simples programador de Pic’ , deste blog.
Depois de gravado o chip com o firmware fornecido, deverá estar operacional, ao inseri-lo no circuito e ligar a fonte de alimentação.
O próximo passo é aprender o controle remoto. Para isto, basta apertar qualquer um dos botões e dar um toque no botão ‘Learn’. Em seguida, solte o botão do controle remoto, sendo que o led ‘Learn’ deverá piscar uma vez para indicar sucesso no aprendizado. Permite aprender até 42 controles diferentes antes de começar a subsescrever os primeiros controles gravados.
Para apagar todos os controles e limpar a memória, basta apertar o botão ‘Learn’ por mais de 10 segundos, após o que o led ‘Learn’ piscará algumas vezes para indicar o sucesso do apagamento.
É possível optar pelo uso do PIC12F629 ao invés do PIC12F675. Para isto, comente a linha apropriada em ‘Definições do usuário’ e recompile o arquivo ASM usando o MPLAB-IDE da MICROCHIP. Veja também o artigo ‘COMO COMPILAR OS ARQUIVOS ASM FORNECIDOS NESTE BLOG, JUNTO COM O MPLAB_IDE’.
Obs. Esta montagem foi testada apenas em protoboard (placa experimental), sujeito a bugs ainda não observados em uso prático. Esta sendo fornecido o arquivo asm que poderá ser alterado segundo as necessidades dos hobistas.

Segue o arquivo ASM (atualizado em 03/07/13):

rX_3C_HT6P_PR1_ASM

Segue o arquivo HEX ( para PIC12F675, atualizado em 03/07/13):

rX_3C_HT6P_PR1_HEX

Para os usuários de compilador “C” (CCS C), segue pasta zipada com 2 receptores alternativos de 3 canais, escrito em “C”, para Ht6p20b, com possibilidade de mudar para retenção ou pulso, modo normal ou invertido, alterando nas ‘configurações de usuário’ no arquivo ‘c’ e recompilando. A rotina de recepção é diferente, usando interrupção de mudança de estado do pino 4 (gp3) para iniciar a captação do tx para um programa e o outro, mais simples, apenas vigia o pino 4, procurando por alteração do seu estado. Cada parte do bit recebido é testada para melhorar imunidade a recepção de interferências (atualizado em 14/07/2015):

Recptores_Mudança_gp3

Caso deseje usar transmissores da família de circuito integrados Hcs 200…301 (chaveirinhos c/ HCS) poderá usar a versão abaixo, em modo Hopping Code. Lembrando, que para esta família, temos que recompilar o arquivo asm, com a chave (Key) igual a usada no Tx. Ela se encontra na rotina ‘Decrypt’ . Para gravar esta Key no ci HCS200 …301 do chaveirinho, você deverá usar um programador comercial, ou montar o programador segundo a Note Application AN217, ou um dos aqui publicado, como os artigos : ‘HCS_PROG_V628 – MAIS UMA OPÇÃO PARA PROGRAMAR HCS200…301 COM PIC 16F628A’ , ‘HCS_PROG_TINY – PROGRAMADOR DE HCS200..301 COM APENAS UM PEQUENO PIC 12F629 !!!’ e ‘HCS_PROG – PROGRAMADOR DE HCS 200/201/300/301 COM AT89S521’ .
A chave (Key) usada no arquivo hex é : ‘0123456789ABCDEF’.

Segue o arquivo ASM, Hopping Code (12f675):

rX_3C_HCS_PR_ASM

Segue o arquivo HEX, Hopping Code (12f675):

rX_3C_HCS_PR_HEX

Segue a versão ASM com opção de escolher as saidas em modo normal ou invertidas (somente HT6P20B, atualizada em 03/07/13 ):

rX_3C_HT6P_PR1_INV_ASM

Segue o arquivo HEX desta versão, compilada para modo de retenção e saída normal no pino 6 e os pinos 5 e 3 em ‘modo pulso’ e ‘invertidos’ (somente HT6P20B, atualizada 03/07/13 ):

rX_3C_HT6P_PR1_INV_HEX

Manuais:
Pic 12F675
Datasheet HT6P20B

Curiosidades:

Quem projetou primeiro?
O preço de levar uma vida muito corrida
A fábrica da morte
De onde vem a ameaça de guerra nuclear?
Comunicação — essencial nos ecossistemas da Terra
Uma das nozes mais úteis do planeta
Robert Boyle – lições do passado
Balolo – o caviar do Pacífico
A língua da selva — segredos da comunicação entre os animais
Ultimato “em nome de Deus”
Carros – no presente e no passado
O sistema de ‘spray’ do besouro
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Uma voz silenciosa que pode se ouvida
A ciência e a Bíblia são compatíveis?
Yellowstone: encontro de águas, rochas e fogo

Outros assuntos:

Como fazer seu segundo casamento dar certo
Como lidar com sogros?
Quando seu filho tem uma deficiência
O que fazer se tenho um problema de saude – Parte 1
O que fazer se tenho um problema de saúde – Parte 2
Como parar de discutir
Como enfrentar o bullying sem ter de partir para a briga (animação)
Como acabar com a tática do silêncio
Como resolver problemas em seu casamento?
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 comentários/sugestões fora deste tópico

91 comments on “RECEPTOR DE 3 CANAIS PARA USO COM CONTROLE REMOTO (CI HT6P20B) E PULSO/RETENÇÃO INDIVIDUAL- COM PIC 12F675

  1. Oi Claudio Tudo bem? Como eu posso modificar os estados dos leds que coloco em pulso ou seja inverter. Apagar os leds quando aperto o controle. Obrigado

    1. Olá José Carlos! Seria somente em modo pulso que seria invertido ? Ou também em modo retenção?

      Claudio

          1. Você não imagina como estou tentando… Já tentei trocar BCF por BSF mas acho que estou mexendo no lugar errado.

          2. Olá José Carlos! Eu não entendi bem porque você quer inverter estas saídas. Qual o uso? Também gostaria de saber se é somente no pulso que necessita inverter? Ou na retenção também?
            Claudio

          3. Então Claudio. Eu quero colocar este controle em um amplificador antigo. Queria um botão com retenção para ligar e desligar e os outros 2 para aumentar e diminuir o volume.E aí eu preciso que essas duas saídas fiquem em nível alto e quando acionar o controle vá para nivel baixo. Ok?

          4. Olá José Carlos! Muito bom! Assim que eu tiver um tempinho vou montar também no protoboard para fazer os testes para esta mudança. Aguarde…
            Claudio

          5. Obrigado Claudio!!! Por enquanto vou estudando por aqui, quem sabe eu cheguo ao seu nível um dia. Abraço

          6. Claudio muito obrigado pela atenção, ajudou muito. Mas como sou teimoso e não queria colocar os jumpers, fiz uma pequena modificação. Comentei a verificação do J1 e J3 pois vou usar somente como pulso e comentei a verificação do J1 e setei ele, ficou assim: ;BTFSS SAIDA_1 ;VERIFICA O ESTADO DOS JUMPERS EM J1,J2 E J3
            ;BCF FLAGJ1
            ;BTFSC SAIDA_1
            ;BSF FLAGJ1

            ;BTFSS SAIDA_2
            ;BCF FLAGJ2
            ;BTFSC SAIDA_2
            BSF FLAGJ2

            ;BTFSS SAIDA_3
            ;BCF FLAGJ3
            ;BTFSC SAIDA_3
            ;BSF FLAGJ3
            E funcionou. Obrigado novamente e parabéns pelo seu belo trabalho. Abraço

    1. Hi Digit99! Do you like so much Keelog, is not! Wait, please, for a future article about this!
      Claudio

  2. Olá Claudio, estava querendo postar o layout que fiz desse projeto, mas não consegui funcioná-lo. Já verfiquei e meu esquema bate com o seu. Quando aperto o botão para gravação, nada ocorre, nem quando seguro por mais de 10s, parece que não consigo programar o pic. Sendo assim acho melhor não postar a pci. Grato.

    1. Olá Barone! Vou dar uma conferida se houve alguma falha no esquema. Mas, enquanto isto, tente reconferir seu ‘layout’. Tente usar outro pic, pois já peguei vários, que após algumas programações, deixaram de funcionar corretamente, apesar de se poder carregar e ler o código hex nele.
      Cláudio

    2. :mrgreen: Olá Claudio e Barone, caso vc queira me mandar o desenho posso verificar para vc se o problema e do hardware, aqui eu montei e deu certinho o funcionamento, valeu…

      1. Olá Barone! Conferi a montagem postada e está ok. Vi o seu email e analisando o pcb, notei que o pic, no pino 8, não está recebendo gnd. Tente ligar um pedaço de fio, do pino 8 ao gnd do regulador 7805 e veja se funciona. Notei que sua fonte ‘fast’ talvez não tenha corrente suficiente para acionar os 3 reles ao mesmo tempo. Use para teste, uma fonte convencional de 12 volts, depois que funcionar, tente com a ‘fast’. obs. Pode haver mais erros, mas notei, por hora somente este.
        Claudio

        1. Olá Claudio, mais uma vez obrigado. Ele esta alimentado sim por um jumper na pci. A FAST tem que usar 4,7uF para poder ter os reles funcionando. Mas nos teste fiz somente com os leds. como o Fox falou que funcionou o erro deve ser meu mesmo. Grato. Barone.

  3. amigo novamente surpreendendo com a programação , muito agradecido pela sua colaboração . só uma questão mas sobre outro micro , ja vi vc comentando sobre um projeto com micro da motorola que agora é freescale . tenho uma boa quantidade de micros de receptores de parabolica queria usa-los para outros projetos o]um dos modelos MC908JL8CPE , vc teria alguma coisa pra estes micros e qual copilador usar e os procesos de gravação , quando te sobrar um tempo pois este micros são muito usados e pouco conhecidos , seria interessante encontrar um projeto tipo o chama garçom , o medidor de temperatura , ou até mesmo este projeto aqui anunciado porem com mais portas e gravações individuais , mesmo assim fico grato por sua paciência e dedicação

    1. Olá Liliano! Estes microcontroladores não têm, atualmente, ferramentas gratuitas. Isto dificulta a migração de hobistas para este fabricante. Mas, surgindo oportunidades, usarei em alguns artigos. Veja o site do P&E micros sobre preços destas ferramentas.
      Claudio

Comments are closed.

Back To Top