FAÇA UM CONTROLE REMOTO PWM 8 CANAIS (1MS A 2MS) – COM PIC 16F628A (REF110)

1

Seria possível contruir um controle remoto PWM de 8 canais e com 5 botões on/off (modo Pulso) com um PIC 16f628a? Veja esta proposta didática testada…

Muitos hobistas gostam de usar o conhecimento de programação de microcontroladores para controlar dispositivos a distância, como por exemplo, carrinhos de controle remoto. Logicamente, com os servos apropriados ao trabalho, muita coisa pode ser feita. Alguns usam também para controlar antenas de PX/PY (rotação da antena), ajuste de posicionamento de parabólicas para sintonizar satélites diferentes ( de forma pré-programada), acionamento de câmeras de vigilância a distância,etc.
A proposta aqui apresentada, se baseia no controle de servos pelo padrão PWM, em que um pulso de 1ms corresponde a posição inicial do servo (veja figura 3a). Se for colocado 1,5 ms de pulso, o servo se deslocará para a posição central (veja figura 3b) e com 2ms irá para o extremo oposto (veja figura 3c). Valores intermediários irão resultar em posições proporcionais.

Veja o esquema abaixo do transmissor:

Se resume em um módulo comercial de transmissão, cuja frequencia deverá ser escolhida para a aplicação desejada (27mhz, 49mhz, 72mhz, etc). Para meus testes, usei um tx de 433mhz do tipo parecido com controle remoto de portão. Foi escolhido um cristal de 20 mhz para diminuir o tempo de cada instrução a 200 nanosegundos. No portA recebe os 5 interruptores em modo on/off e o portB, os niveis de controle proporcionais.

Como obtemos os valores da posição do potenciometros, visto que o PIC16F628A não dispões de conversor Analógico/Digital? Pelo tempo que demora a descarga de um capacitor. Observe estes passos:

1) Carregar os capacitores por um tempo suficiente, tornando o portB como saída em nivel ‘1’ em todos os bits.
2) Após a carga, tornamos o portB como entrada em todos os seus bits e testamos em sequência, cada pino.
3) Depois de testar os 8 bits, incrementamos o contador ‘valor’ e voltamos a testar todos os 8 bits em loop, por 256 vezes.
4) Se na ocasião do teste, encontramos nivel ‘0’ no pino testado, carregamos o conteudo de ‘valor’ no registrador de transferência do referido pino, e setamos um flag que impede a captura deste valor novamente. Lembre que o potenciometro está em paralelo com o capacitor e quanto menor o valor regulado, mais rápido ocorrerá a descarga deste.
5) Finalizando as 256 verificações, a rotina vai transmitir os valores capturados para o receptor.

Por testes realizados, chegou-se ao valor do capacitor por volta de 22 nF e 100k para o potenciometro (linear). Outros valores de potenciometros podem ser usados, mas tem que ser acertado o valor do capacitor para corresponder a constante de tempo necessária (ex. potenciometro de 47k e capacitor de 47nF ou potenciometro de 4k7 e capacitor de 470nF).

Abaixo vemos as formas de onda no controle de servos por PWM (1ms a 2ms):

Abaixo vemos as formas de onda para obtenção do valor da posição dos potenciometros:

Que dizer do receptor?
Veja o esquema abaixo:

Também mostra ser bem simples, utilizando outro PIC16F628A, com um cristal de 4mhz, sendo as saídas para os servos no portB e as saídas de botão on/off no portA. Os resistores nas saídas foram colocados para proteção ao manusear, mas podem ser omitidos. O receptor tem que ser na mesma frequencia do transmissor. No teste, usei um receptor de 433mhz (comercial), mas, em uso, deverá ser usada as faixas legais permitidas para isto (consulte a legislação do seu país, quanto a potências e frequencias, bem como de licensas de uso).
Em uma recepção completa são recebidos 11 bytes na sequência: byte de conferência (valida a transmissão), byte dos botões, byte pwm canal 7,byte do canal 6, byte do canal 5, byte do canal 4, byte do canal 3, byte do canal 2, byte do canal 1 e byte do serial number (sempre recebe o bit LSB de cada byte primeiro). Somando-se todos os bytes de dados tem que ter o mesmo valor do byte de conferência. Isto assegura a qualidade da transmissão. Quando ocorre um interrupção de sinal, o receptor mantém os valores anteriores nas saidas (tanto proporcionais como botões).
As saídas são acionadas sequencialmente, usando o periodo de delay da rotina de recepção para fazer o ‘refresh’, chamando a rotina ‘multi_saida’.
O protocolo de transmissão é o adotado nos receptores de HT6p20B, por já estar disponivel com mais facilidade nos projetos deste blog.

Atenção: É importante separar a alimentação do PIC e também do receptor 433 mhz da alimentação dos servos controles. Estes, ao acionarem, geram picos de corrente que podem ‘resetar’ o PIC, ou mesmo, atrapalhar a recepção do sinal momentaneamente.

Obs. Esta montagem foi montada e testada em placa de protoboard apenas, sujeito a bugs ainda não identificados. Esta sendo fornecido o arquivo ASM e HEX que poderão ser alterados segundo as necessidades do hobista. A versão 1 para o receptor, apresentava vibrações e mau funcionamento. Foi substituida pela versão 2, que usa os timers 0 e 1, em modo de interrupção, para gerar os sinais de 1 a 2 mseg nas saídas, com mais precisão e estabilidade. O código para o TX continua o mesmo.

Segue o arquivo ASM do TX:

TX_PWM8C_5B_ASM

Segue o arquivo HEX do TX:

TX_PWM8C_5B_HEX

Segue o novo arquivo ASM do RX (versão 2 com uso de interrupção do timer0 e 1, mais estável e preciso):

RX_CR_8C_5B_V2_ASM

Segue o novo arquivo HEX do RX(versão 2 com uso de interrupção do timer0 e 1, mais estável e preciso):

RX_CR_8C_5B_V2_HEX

Adicionalmente, segue pasta com versão que usa infravermelho como meio de transmissão, logicamente mais limitado ao foco do feixe de luz do emissor, mas que em certas aplicações pode ser útil. O software foi mantido o mesmo tanto no TX como no RX. Apenas foi incluído um ci 555 para obter a portadora de 38khz para o TSOP1738, isto no transmissor. No receptor foi necessário inverter o sinal usando um transistor de uso geral NPN, no caso, um BC458.

RX_TX_8C_INFRA

Se você necessita de uma montagem compacta, com apenas 2 canais PWM e 3 canais on/off, veja este outro artigo ‘FAÇA UM PEQUENO CONTROLE REMOTO PWM DE 2 CANAIS (1MS A 2MS) – COM PIC 12F675’ , bem como o artigo adicional ‘FAÇA UM ‘VERSÁTIL’ CONTROLE REMOTO REMOTO – COM PIC12F675’.

Manuais:
Pic16f628a
Servo-motor
Outros esquemas curiosos

Curiosidades:
Será que toda vida tem um ancestral em comum?
Alguns mitos a respeito da morte examinados mais de perto
Quem projetou primeiro? -Asas da gaivota
O passado e o presente dos brinquedos
Como estimular o desejo de aprender
O abuso do álcool e a saúde
Projetado com a capacidade de aprender sempre
O amor de Deus expresso no amor de uma mãe
Sono: supérfluo ou necessário?
Os custos das minas terrestres
Um universo cheio de surpresas
O som da neve
O que estamos fazendo com nosso alimento?
Mestres medievais da astonomia

Outros assuntos:
Como ser feliz no casamento?
Como se sair bem na escola — seja organizado
Como conversar com seu filho sobre sexting
Aprenda a perdoar
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?
Perguntas bíblicas respondidas

Até o próximo artigo!!!

1

70 comentários sobre “FAÇA UM CONTROLE REMOTO PWM 8 CANAIS (1MS A 2MS) – COM PIC 16F628A (REF110)

  1. 0

    Olá
    Parabéns pelo seu trabalho.
    Lido com Rádio Controle, http://www.vicente-rc.com.br, caso tenha curiosidade. Sempre quis fazer um sistema de transmissão/recepção de 8 canais em 315 MHz. Seria possível incluir no encoder um sistema hopping code antes do trem de impulsos (me parece que na pausa de sincronismo) em 8 canais ( de 1 a 2 ms) e no decoder o desencriptador e daí soltar o trem de impulsos na forma serial ou, se for possível, os canais já alocados? Grato – Vince

    1. 0

      Olá Vinci!
      Não saberia dizer se isto seria possível. Mas qual seria o objetivo de encriptar seu comando, uma vez que já está enviando o sinal de 0-2 ms?
      Cláudio

      1. 0

        Olá
        Ter um sistema com bind como em 2.4Ghz que diferenciasse um sistema do outro, ou seja incluir a codificação e a decodificação no sistema, assim outro controle na mesma frequência não seria afetado, me parece, se for possível fazê-lo, que os micro pic teriam que ser rápidos.
        At.

        Vinci

        1. 0

          Olá – Continuando, ha um receptor em 72mhz que funciona com um algorítimo que detecta o ruído de fundo dos integrados do Transmissor quando ligado pela 1ª (bind) vez e vários funcionam na mesma frequência (72.150MHZ por ex.) simultaneamente s/ problemas, mesmo com rádios transmissores de uma mesma marca e modelo, é interessante.

          Vinci.

          1. 0

            Olá Vinci!
            Se você colocar 2 tx na mesma frequência, mesmo que coloque um sistema de codificação, ainda assim haverá mau funcionamento. Não sou expert no assunto mas creio que a técnica do espalhamento de frequência seria a mais indicada. Com ela, vários aparelhos poderiam compartilhar uma faixa de frequencia ao mesmo tempo. Procure por assuntos desta natureza na internet digitando CDMA ou spread spectrum.
            Claudio

  2. 0

    Boa noite. Estou precisando fazer um controlador de 8 canais por fio, distancia máxima do fio de 3 metros. Para evitar a passagem de varios fios eu gostaria de usar esse pic. Pergunto: comprando 2 microcontroladores pic 16f628a, ligando os pinos 17 de cada um entre si eu consigo controlar sem ser sem fio? Comprando esses pic´s novos no mercado, preciso carregar o arquivo ou ele já vem com essa função que preciso na memoria?

    1. 0

      Olá Huckaojuan!
      Quando você adquire um Pic em uma loja, ele vem sem programa nenhum, ou seja, é ‘virgem’. A exceção é quando um dado fornecedor vende o Pic com um dado programa já gravado, para um fim específico. Então, terá que programar o Pic antes de usa-lo. (veja tutoriais na internet). No seu caso, não existe um programa. Novamente, terá que criar um programa usando uma linguagem específica e depois usar um compilador para gerar o arquivo .hex (o firmware) que será gravado no Pic.
      Quando você diz “preciso fazer um controlador de 8 canais por fio” exatamente o que você quer dizer? Quantos fios são? É PWM? ON/OFF apenas? Talvez, se não for segredo, possa compartilhar conosco o que deseja fazer e então ficará mais fácil analisar se é possível ou não?

      Cláudio

      1. 0

        Obrigado pela atenção. A ideia é comandar um sistema de som por fio, ou seja, play/pause, avançar, volume, mudo etc. mas considerando um fio comum, eu teria que passar nove fios do comando até o aparelho. A ideia era usar uma Pic e passar apenas um fio, já que tenho a fonte de 5v em ambos os lados.

        Mais uma pergunta, tirando como base a rede Canbus de alguns carros, sabendo que quando eu aciono a seta por exemplo, é enviado para uma central um código hexadecimal. Se eu souber esse código, posso programar o Pic para ler esse código e acionar uma outra porta de saída(por exemplo uma luz piloto da seta), alem da original do carro?

        1. 0

          Olá Huckaojuan!
          Na verdade, você precisará interligar os dois gnds, portanto, terá que usar 2 fios e não apenas 1. Talvez possa usar o ‘CONTROLE REMOTO 8 CANAIS ON/OFF – PIC 16F628A’ onde se enviar apenas os estados dos bits (0 ou 1) e usar determinado bit para pause, outro para volume, etc. Quanto a rede Canbus, você pode realmente programar um Pic para ler o barramento e acionar uma ou mais saídas de acordo com o recebido. Mas terá que conhecer bem o protocolo Canbus para realizar a programação.
          Claudio

          1. 0

            Obrigado pela atenção. Vou fazer os dois e se quiser, depois te mando o que fiz.
            Referente a rede Canbus, eu jé tenho uma tabela com os códigos Hexadecimais, seria “só” instruir a Pic sobre o que fazer com cada código.

          2. 0

            Olá huckaojuan!
            Você terá que fazer a rotina de comunicação Canbus seguindo o protocolo . A tabela lhe dá os comandos apenas. Leia mais sobre o assunto para poder desenvolver a rotina ou usar uma biblioteca .
            Claudio

  3. 0

    boa tarde. adimiro demais seu trabalho.
    sou aluno do curso técnico de eletrônica, ainda nao sei nada de programação, mais precisava de: um controle remoto, para controle de um ESC speed controle, e de quatro servos: gostaria de saber se poderia me ajudar com esse projeto,
    tenho que fazer um projetinho de apresentção e gostaria de fazer um aeromodelo, porico preciso do radio controle.

    1. 0

      Olá Zélio!
      Fico feliz que em breve estará recebendo seu certificado de técnico de eletrônica. Eu não tenho condições de ser seu orientador-tutor deste seu projeto, pois tenho tempo muito limitado (apenas hobby), mas poderá ter algumas ideias baseadas nos seguintes artigos :
      CONTROLE REMOTO PARA USO EM TELECOMANDO C/ SAÍDA P/ 4 SERVOS MAIS 4 BOTÕES – COM PIC 16F628A (REF 153)
      FAÇA SEU AUTOMODELO RÁDIO CONTROLADO – COM PIC 12F675
      FAÇA UM ‘VERSÁTIL’ CONTROLE REMOTO REMOTO – COM PIC12F675
      FAÇA UM PEQUENO CONTROLE REMOTO PWM DE 2 CANAIS (1MS A 2MS) – COM PIC 12F675
      FAÇA UM CONTROLE REMOTO PWM 8 CANAIS (1MS A 2MS) – COM PIC 16F628A
      CONTROLE REMOTO 8 CANAIS ON/OFF – PIC 16F628A

      Quanto a programar, creio que você tem uma parte do seu curso que foca os microcontroladores. Converse com seu professor orientador quanto a como poderia realizar seu projeto. Poderá também ver videos que ensinam no youtube e também muitos tutoriais.
      Sucesso!

      Cláudio

  4. 0

    Hola Sr. Claudio he probado lo que me dijo, pero no me funciona
    usted podría hacer el circuito solo la parte del infrarrojo del emisor y receptor yo soy novato en esto y no se hacerlo muchas gracias por su atención: SALUDOS

    Olá Sr. Claudio’ve tentou o que você disse, mas eu não trabalho
    você poderia fazer o circuito infravermelho apenas parte do transmissor e receptor Eu sou novo para isso e não faça muito obrigado pela sua atenção : SAUDAÇÕES

    1. 0

      Olá fj7495sa!
      Fazer o que me pede envolve montar o circuito e testar as possíveis soluções para transmissão em infrared. No momento, estou impossibilitado de realizar isto. Mas quem sabe, poderei postar futuramente uma versão com este meio de transmissão.
      Claudio

      Hola fj7495sa!
      ¿ Lo que usted desea implica en assemblar y probar las posibles soluciones para la transmisión en el infrarrojo. Por el momento, no estoy en condiciones de hacer esto. Pero quién sabe, puedo publicar una versión futura con este medio de transmisión.
      Claudio

  5. 0

    Hola Sr. Larios. he probado con infrarrojo y no funciona es posible que yo no he sabido hacerlo lo probé con TSOP 1738 usted seria tan amable de ponerme el circuito solo la parte del EMISOR-RECEPTOR..GRACIAS por su atención.

    Olá Sr. Larios. Eu testei com infravermelho e trabalha não é possível que eu não ter conhecido não tente fazer isso com TSOP 1738 você seria a gentileza de colocar o circuito apenas a parte da EMISSORA-RECEPTOR..GRACIAS por sua atenção.

    1. 0

      Olá fj7495sa!
      O Tsop1738 funciona apenas com sinais modulados a 38khz. Isto significa que terá que colocar um oscilador nesta frequência para modular o led infravermelho na saída, que antes era ligada ao tx rf. Poderá optar por faze-lo usando um circuito integrado LM 555 ou de outra forma mais favorável para você. No receptor, apenas ligue o Tsop ao +vcc ,gnd e use o pino de saída para entrada de sinal no lugar do receptor rf.

      Hola fj7495sa!
      El TSOP1738 sólo funciona con señales moduladas 38khz. Esto significa que usted tiene que poner un oscilador en esta frecuencia para modular el infrarrojo LED en la salida, que estaba conectado a la tx rf. Usted puede optar por hacerlo utilizando un circuito integrado LM 555 u otro más favorable para usted. En el receptor, sólo tiene que enchufar el TSOP a + VCC, GND y el uso pin 3 (salida) que conecta el pic, en lugar de rx rf.

      Claudio

  6. 0

    Hola,Gracias por su pronta contestación, lo probare y le dire el resultado ..Saludos

    Olá, Obrigado por sua pronta resposta, prova-lo e dizer-lhe o resultado ..Saludos

  7. 0

    Hola, como soy de Barcelona España mi Portugues será traducido con google: Sr. Claudio seria posible este programa poderlo hacer en infrarrojo,
    mi hobby es hacer camiones a escala 1:16 y me seria muy útil para camión con remorques gracias..
    (este funciona de maravillas)

    Oi, como eu sou de Barcelona Espanha meus Portugues será traduzido com google: Sr. Claudio seria capaz de fazer este programa em infravermelho,
    Meu hobby é fazer com que um caminhão escala 1:16 e eu seria muito útil para remorques caminhão Obrigado..
    (Isso faz maravilhas)

    1. 0

      Olá fj7495sa!
      Creio que o caso seria apenas de substituir o meio transmissor/receptor de rf para infravermelho, mantendo-se o resto do circuito. Mas poderia dizer como funcionaria o sistema em seu caso?
      Cláudio

      Hola fj7495sa!
      Creo que es suficiente cambiar el medio receptor / transmisor de RF para infrarrojos, manteniendo el resto del circuito. Pero podría decir cómo el sistema funcionaría en tu caso?
      Cláudio

  8. 0

    Lário, na simulação o maior tempo alcançado é de 1,5ms. já no hardware acontece um erro, apenas o P0 funciona, será que você possui alguma idéia de onde pode ser alterado no firmware para estender esse tempo para 2ms?

  9. 0

    Olá Larios, como faço para alterar o código original para o pwm ir de 0 à 100%? Obrigado desde já pela atenção.

    1. 0

      Olá Samir! Quanto a ir de 0 a 100 %, uma possibilidade seria você ‘sintonizar’ melhor cada canal no tx, por colocar capacitor de pequeno valor em paralelo com o atual do circuito. Este valor será por tentativa e erro, pois tem a questão da tolerância do potenciômetro e do capacitor .
      Cláudio

  10. 0

    Bom Dia claudio! andei analizando esse projeto e me veio a necessidade de ligar um motor dc, vi aki que vc fez esse projeto com o pic 12f675 onde, um pot de 4k7 controla um servo e outro faz funcionar um motor atraves de transistores, a pergunta é teria como fazer com esse pic a mesma coisa, onde teria as chaves on/off, alguns servos e o pwm para o motor dc?

    1. 0

      Olá Niiniis! Teoricamente daria. O problema que esta montagem gasta muito tempo para alterar e testar. Quem sabe em um futuro artigo.
      Cláudio

  11. 0

    Diga mestre! Poderiamos utilizar em centrais de alarmes, onde os 8 canais independentes seriam as zonas (setores). Cada zona teria uma quantidade de sensores, nos quais seriam reed switch’s sem fio e de presença, no padrão rf 433mhz. Isso tornaria possível criar um alarme sem fio e saberiamos exatamente qual zona foi violada. Um abraço e fica com Deus.

    1. 0

      Olá Xuguinho! Este circuito em questão não comporta modificações para o que você deseja. Seria necessário criar um projeto totalmente novo.
      Claudio

  12. 0

    Bom dia Lário. Seu projeto é muito interessante. Parabéns pela sua competência. Gostaria de saber se, ao invés de utilizar um único controle remoto de 8 botões, utilizando o PIC16F628A, poderia utilizar controles padrões de portões de garagem compatível com o módulo receptor para cada canal? Um abraço e fica com Deus.

    1. 0

      Olá Xuguinho!
      Agradeço seu comentário e seus elogios. Para fazer o que deseja não será possível com esta montagem. Ela usa um valor fixo de serial number. Para poder usar vários controles comerciais teria que ‘aprender’ oito diferentes ‘seriais number’ para depois poder usar suas transmissões para controlar cada canal PWM. Não é impossível fazer, mas seria um novo projeto. Deste projeto ficaria somente o conceito da saída em PWM ao invés de on/off dos receptores tradicionais. Poderia compartilhar qual seria o uso fazendo desta forma?
      Cláudio

  13. 0

    Bom dia Lário. Seu projeto é muito interessante. Parabéns pela sua competência. Gostaria de saber ao invés de utilizar um único controle remoto com o PIC16F628Ase esse projeto funciona com controles padrões de portões de garagem compatível

  14. 0

    Olá Lário, Primeiramente gostaria de agradecer a sua dedicação em manter o website e o respeito pelos hobistas. Gostaria de saber Lário se é possível com este esquema que disponibilizou aqui transmitir dados para serem apresentados em um LCD 16×2.
    Tenho a seguinte situação. Possuo um medidor de temperatura que fica a distância. Mas gostaria que essa informação fosse me apresentada a uma distancia de 50m. Sabendo a sua temperatura gostaria de tomar uma ação, como abrir e fechar um registro, ou seja ter a função de emissor e recepitor a distância mas apresentar os dados em um display LCD.
    Estive pensando precisarei de 4 pic´s, dois para receber e dois para transmitir, não? Essas transferencias não causarão interferência uma a outra? A solução seria utilizar um em 433 e outro 315 ou você possui outra solução?
    Desde já agradeço. Caso possa entrar em contato comigo meu face é SAMIR EL HALABI de Umauarama, Curitiba. Email: sa.mir.xd@hotmail.com.

    Atenciosamente,

    Samir.

    1. 0

      Olá Samir!
      Obrigado por seu comentário apreciativo. Antes de dar algum ‘palpite’ ( pois é apenas o que posso dar com ‘hobista’ em microcontroladores ), que tipo de válvulas irá fechar/abrir? São operadas com simples on/off (tipo eletrovávulas)? Ou são válvulas proporcionais que realmente necessitam de sinal PWM para controle?
      Dependendo de quantos itens você precisa controlar, acredito que seria melhor criar um protocolo baseado em uma transmissão serial ( 8 bits, 4800 bauds , por ex.) onde você poderia transmitir um byte de endereço ( ou 2 , se for muitíssimos comandos) que corresponde ao atuador/dispositivo, e enviar em seguida, mais um byte com o valor de atuação(0 a 255 se for PWM ou 0/1 se for on/off). Também, um outro byte para comando e mais um de detenção de erro de transmissão. A ideia de usar canais com frequências diferentes é muito boa, evitando problemas, no caso de usar 4 pic’s. Mas poderia usar apenas 2 pic’s, e a mesma frequência, desde que bole no protocolo um comando do tipo ‘cambio’ autorizando o outro a transmitir. O pic que transmite inibiria a sua recepção. O que autoriza a transmissão apenas aguarda receber os dados e o comando de ‘cambio’ para enviar. Terá que fazer um estudo do que possa ser melhor, levando em conta a segurança de operação, e em caso de falha na comunicação, como será a atuação em ‘modo de segurança’.
      Quanto a distancia de 50 metros, poderá ou não funcionar. Locais com muita interferência de maquinas industriais tendem a reduzir a distancia de funcionamento destes pequenos transmissores de 433mhz.
      Seria bom testar primeiro se eles irão dar conta do recado antes de começar a desenvolver o projeto.
      A outros fatores a serem estudados, como por exemplo, a aquisição de dados tanto para comandar ( interruptores/teclados/PC) como para retornar a informação da atuação (microchaves/sensores de pressão/etc).
      Creio que terá muitíssima ‘diversão’ neste seu projeto.
      Cláudio

  15. 0

    lario boa tarde? gostaria de lhe pedir uma informação
    visto que voce está sempre disponivel,como eu ja comentei a rspeito deste projeto e que por sinal funciona muito bem tanto as chaves on/off como todos os servos. agora é o seguinte eu gostaria de obter uma saida pwm de 0 a 5 volts,ao invés de 8 servos usarei apenas 7 a pergunta é preciso alterar apenas o codigo fonte do rx ou tx também?se possivel aguado resposta.

    1. 0

      Olá José! Você terá que alterar tanto o TX, como também o RX. Eles devem trabalhar de forma ‘casada’ para dar certo.
      Cláudio

  16. 0

    boa noite Claudio, montei o circuito poren nao funcionou com os servos, e as chaves on/off só funcionam quando esta precionado quando solta ela se apaga. nao estou conseguindo copilar o arquivo asm. estou gravando direto do arquivo hex, será que vc poderia me dar uma luz? 😥 😥

    1. 0

      Olá Ninis! Os botões são on/off em modo pulso, ou seja, apertou liga, soltou desliga. Quanto a compilar, verifique os erros gerados pelo compilador e tente corrigir as causas. Quanto a não funcionar, o que exatamente está acontecendo?
      Claudio

    2. 0

      Olá Ninis! Um detalhe importante: Os arquivos “ASM” estão em formato ‘.txt’. Abra eles no Mplab_Ide e salve eles com terminação ‘.asm’. Depois, deverá compilar normalmente.
      Ex. RX_CR_8C_5B_V2_ASM depois de salvo será RX_CR_8C_5B_V2.ASM (troque o ultimo ‘underline’ por um ‘ponto’). Se desejar, poderá também fazer esta mudança na hora que você baixa do site e o sistema pede aonde salvar e com que nome. Nesta ocasião, poderá fazer esta alteração citada (trocar o ‘underline’ pelo ‘ponto’). O site tem um sistema de proteção que não permite ‘subir’ arquivos com ‘.asm’ de forma direta, exceto em pasta zipada. Colocando em forma de texto permite uma rápida visualização do código, diferente de colocar em pasta zipada.
      Cláudio

      1. 0

        Bom amigo claudio, fiz como descrito e funcionou 100%, me respanda se é possiver mudar o modo das chaves on/off no arquivo asm? pra um toc ligar , um toc desliga..

        1. 0

          Olá Niiniis! O modo que você se refere é chamado de ‘retenção’. Sim, é possível mudar para este modo no ASM. Já foram publicados vários exemplos com o uso desta opção. Como foi fornecido o arquivo ASM desta montagem, você poderá estudar estes exemplos e mudar de acordo. Depois, é só recompilar no Mplab_ide e carregar no PIC o hex.
          Claudio

  17. 0

    Boa dia Claudio, gostaria de saber se você conseguiria postar aqui os códigos em C no padrão do CCS. eu sou iniciante na área e só estudei (por conta própria) o padrão CCS, não estou conseguindo entender o codigo em ASM. Ajudaria muito no meu aprendizado entender um código como este. obrigado desde já e parabéns pelo blog…é muito bom…

    1. 0

      Olá Lucius! Obrigado por seu comentário. Verei o que posso fazer nas minhas ‘limitações’ em ‘C’. Se conseguir algo neste sentido postarei…
      Claudio

      1. 0

        blz Claudio!!! já agradeço por responder e fico aguardando se conseguir algo seria realmente ótimo. até mais.

  18. 0

    estimado lario bom dia,obrigado por ter me fornecido sua atençao, e quanto a este projeto é que ele aguça tanta a minha curiosidade,que nao consigo enumerar tantas aplicações que ele me fornece e fico curioso perguntando exageradamente rsrsr este é o meu defeito. mais fico tão satisfeito com suas ideias,pois algo que ficaram este tempo todo oculto de muita gente e agora sao exclarescido de uma forma tao amororosa.então por favor me entenda se fiz alguma pergunta indesejada me desculpa rsrr.

    1. 0

      Olá José! Você não tem que se desculpar de nada. Eu que peço desculpa por não conseguir dar resposta a todas as perguntas, nem dispor de tempo para ajudar mais.
      Claudio

  19. 0

    lario lembrando que estou usando 2 modelos de servos são eles:o (as100) e o (sg50) os angulos sao mesmos.abraço

  20. 0

    lario boa noite,comprei os servos motores novos,chegou instalei neste controle de 8 canais e responde todos os canais muito bem,mais notei que qualquer um deles so vai ate a metade do percuso. fiz os arranjos com os potenciometro de 100k e capacitores ceramicos de 22 nf. tem como alargar este percuso no programa? aumentando mais 90″ grato

    1. 0

      Olá José Luiz! Alguns servos respondem diferente de outros. O projeto é para 1ms a 2ms. Com respeito ao curso, na haste que vem junto ao servo, podemos compensar o curso mudando o furo que ficará o acionamento. Para mudar o programa, teria que saber quanto ele exige de pulso em milisegundos para a posição inferior e quanto para a posição máxima.
      Cláudio

  21. 0

    Lários deu certo separei a fonte e acrescentei um capacitor de 100nf proximo da alimentaçao do pic. e a impressao que fica é, levando em consideraçao as engrenagem do servo que nao é totalmente linear.e outra o meu carro robotico será alimentado por bateria obrigado.depois vou gravar um video e lhe enviar certo.

  22. 0

    se for usar em aplicaçoes tipo deslocamento de posiçoes, ou seja com 3 posiçoes nao precisará alterar nada.enteressante e notavel deste projeto é a precisao que ele tem..

  23. 0

    lario bom dia; quero informar que montei a placa deste monumento estorico, pwm de 8 canais e 5 canais on/off usei um par de radio 315 mhz, obedece todos os canais,porem… quanto ao pwm veja bem se voce aterrar a entrada o servo obedece 100% direita esquerda.agora quando voce gira o potenciometro ele tambem obedece porem voce percebe que ele dar uma leve trepidada,tem como suavisar mais no proprio asm?

    1. 0

      Olá José! Acho que você está exagerando um pouco com a expressão ‘monumento estórico’! Não é nada mais que um simples protótipo para ser aperfeiçoado por quem desejar! Gostaria que você confirmasse se está usando alimentação do pic e receptor separada da alimentação dos servos. Tem que ser assim, para os picos de corrente dos motores não atrapalhar o funcionamento. Me retorna…
      Claudio

  24. 0

    Claudio bom dia sou eu novamente Edmilson tira uma duvida minha este controle remoto seu funciona muito bem e mais uma vez vc esta de parabens Para utilisa lo em automodelismo no caso do tx existe espaço suficiente na carcaça do radio porem para o rx no modelo o espaço é reduzido seria possivel adaptar o fonte do rx para um pic 12f629/75 usando apenas dois ou tres canais proporcionais que é mais que suficiente para os carros rc profissionais. outra coisa no codigo fonte do receptor vc diz para o caso de ter mais de um tx/rx trabalhando junto usar frequencia diferente para um nw interferir no outro .A pergunta é se eu usar dois modulos de 433 mhz porem um numero serial diferente um do outro ainda vai haver interferencia .Eu montei o prototipo em protoboard e nw fiz uso de modulos de radio somente interliguei os pics para ver funcionando .Desde ja obrigado e que Deus continue te dando inteligencia saude e paciencia para publicar seus projetos que contribuem para o aprendizado de pessoas como eu .um abraço Edmilson

    1. 0

      Olá Edmilson! Muito obrigado por seu comentário apreciativo. Por favor, veja o novo artigo ‘Faça um pequeno controle remoto pwm….’. Quanto a mudar apenas o serial number, visto que a transmissão é continua, um tx afetará o outro, se estiver próximo. O serial apenas garante que outro tx senão o seu, comande o seu rx. Mas não impede mau funcionamentos, por interferencias de um com outro. O ideal sempre é usar canais diferentes, como acontece na faixa de 27 mhz, onde pode-se obter cristais para os tx com várias frequências diferentes (dentro dos 27mhz).
      Cláudio

  25. 0

    bom dia lario; primeiramente muito obrigado pela gentileza, e quanto a nova versao do controle pwm de 8 canais deu certo, parou de trepidar e aceitou todos comando, testei o mesmo servomotor em todas as portas
    funciona beleza tando para a direita como para a esquerda. srsr eu ja tenho uma plicaçao para este circuito,pois gosto muito de telemetria.abraço

    1. 0

      Olá José! Obrigado por retornar sobre o controle remoto Pwm. Estava ansioso para saber se funcionaria. Agora o artigo passará do ‘status’ de simples teoria para ‘funcional’.
      Muito obrigado, pela ajuda.
      Claudio

  26. 0

    lario acrescentei o resistor de pullup conforme mecionado e o resultado foi surpreendente ok agora funciona os 5 canais on/off.
    lario ha possibilidade de simular os servos com led ou outros meio, pois desconfio do meu servo, quando comprei ja tinha sido usado em um aeromodelo se existir essa possibilidade me retorne.

    1. 1

      Olá José! Acabei de postar a versão 2 para o receptor do controle remoto de 8 canais pwm + 5 botões. O transmissor continua o mesmo. Ainda não chegou os servos que necessito para testes. Poderia verificar se funciona na pratica, visto que você já iniciou a montagem? Se parou aquela ‘vibração’ no servo?
      Desde já agradeço a ajuda.
      Cláudio

  27. 0

    boom dia lario: no caso de acrescentar o resistor de 47o como pullup seria no tx ou rx? o projeto vai continuar tendo 5 chaves onoff? pois todas as entrandas onoff estao em pullup para terra.e quanto as saidas dos servos no rx fica trepidando e nao obedece os comandos.ficarei no aguardo qualquer mudança a ser feita me fale que modificarei.grato

    1. 0

      Olá Luiz! Desculpe. Esqueci de mencionar que é no receptor que você terá de colocar o pull up de 470 ohms, no pino 3. Quanto a parte do pwm, terei que montar o circuito e iniciar testes para conferir a situação. Assim que tiver um resultado positivo, você será comunicado.
      Obrigado

      Cláudio

  28. 0

    lario montei este tambem, das 5 chaves onoff 4 funciona normalmente a chave da porta 3 nao funcionou
    gravei 4 pic o resultado sempre o mesmo, e quanto as saidas dos servos nao funcionou,fica trepidando o servo o tempo todo,alguma sugestao?

    1. 0

      Olá Luiz!
      Agradeço o retorno. Quanto a saída do pino 3, você deverá colocar um resistor de pull up de 470 ohms (ou seja, coloque um resistor de 470 ohms do +5v ao pino 3). Esta saída é ‘open colector’ e não fornece corrente, necessitando de um resistor ao VCC. Foi esquecido de colocar no esquema. Você disse que fica ‘trepidando’, mas consegue realizar algum movimento no servo?
      Claudio

  29. 0

    Claudio olá novamente ainda nw montei este projeto mas sem duvida vai funcionar agora fika ai uma dica eu montei este controle remoto proporcional deste site http://optotech.net.br/fzanoto/controle_remoto.htm e funciona muito bem mesmo tanto que tenho ele em um automodelo meu a mais de um ano porem no caso do outro site se eu montar dois pares um vai interferir no outro afinal de contas o codigo enviado é o mesmo nw tendo nenhum meio de escrever codigo para cada par casar somente com um modelo como no caso do seu outro modelo de controle remoto com pic 16f628 onde mudando o fonte posso ter centenas deles funcionando com um codigo diferente .Vou montar o seu ainda hoje agora uma duvida pode ser usado potenciometros de 5k que por padrao costuma ser o modelo usado nos controles remoto profissionais (Futaba)e o seu receptor é compativel com servos futaba desde ja um abraço e vc esta de parabens por mais este projeto .obrigado Edmilson

    1. 0

      Olá Edilson! Obrigado por seu comentário. A vantagem de ter um ‘serial number’ é que outro transmissor operando com o mesmo protocolo não vai acionar o seu controle remoto. No entanto, se vários estiverem próximos e sendo na mesma frequência, inevitavelmente irá gerar mau funcionamento. Sempre é de boa regra, usar frequências em canais diferentes, quando usar mais de um e próximos, para evitar este inconveniente. Quanto aos potenciometros, você poderá usar de 5k, mas terá que mudar o capacitor agregado de 22 nF para 2 X 220nF = 440nf (use a regra de ‘três’ da matemática), para manter a constante de tempo igual. Poderá, depois , fazer um ajuste fino por colocar em paralelo valores como 10 nF ou superior , e se necessário , fazer o contrário, por reduzir de 440 para 380 nF.

      Claudio

  30. 0

    lario obrigado por ter colocado disponivel este fantastico projeto cuntrile pwm.
    posso testar pic a pic sem os radio? ate eu adquirir os radios. lhe agradeço muito se me responder.

    1. 0

      Olá José! Obrigado por seu comentário. Sim, você poderá testar pic a pic, ligando o pino de saída do tx para o pino de entrado do rx. Não tive a oportunidade de testar com um servo real. Portanto, poderia me dar um retorno?
      Cláudio

  31. 0

    boa tarde claudio . primeiramente obrigado pelo circuito . montarei com pelo menos 2 servos que tenho em casa e retornarei para dar resposta amanhã ou no máximo segunda . um abraço .

      1. 0

        olá claudio , montei os circuitos mas infelizmente não consegui terminar pois não encontrei o cristal de 20 MHz , procurei em sucadas aqui e nada . vou ver se acho na loja hoje perto de casa . segunda de retorno .

Os comentários estão fechados.