AEROMODELISMO – ADAPTANDO FUNÇÕES ON/OFF EM RECEPTORES PROPORCIONAIS – C/ PIC 12F675 (REF197)

Adaptando mais funcionalidades ao seu modelo controlado…

Como aproveitar canais proporcionais de seu controle remoto para acionar por. ex. Luzes de navegação? Ou mesmo acionar algum outro dispositivo?
Basicamente, teremos que converter o sinal proporcional de 1000 a 2000 useg para um sinal apenas on/off. Fazemos uso de um pequeno microcontrolador de 8 pinos como o PIC 12F675. Para facilitar o entendimento, vamos analisar 3 circuitos possíveis que talvez possam ser úteis em seu projeto. Veja a primeira opção abaixo:

O que este circuito faz? Ao receber um sinal proporcional abaixo de 1500 uSeg o led fica apagado e acima, acende.
Desta forma, podemos controlar através de um transistor, vários outros componentes, como leds, rele, micromotor, buzzer , etc.
A entrada no pino 4 (GP3) está programada para perceber mudança de estado e gerar uma interrupção. Desta forma, podemos identificar o inicio do pulso positivo e usar o timer 0 para medir a largura deste pulso. Depois, o programa compara o valor obtido com um valor que corresponda a 1500 uSeg. O resultado será usado para ligar ou desligar a saída no pino 2.

A próxima opção:

Nesta segunda opção, temos 3 possibilidades no led:
1 ) Led apagado quando sinal for menor que 1300 uSeg.
2 ) Led piscando quando sinal for maior que 1300 uSeg e menor que 1700 uSeg.
3 ) Led aceso quando sinal for maior que 1700 uSeg.

Outros valores e comparações podem ser acrescentadas ao programa conforme a necessidade do hobista, lembrando de recompilar depois usando o MplabX (compilador XC8).

Veja agora esta terceira opção:

Neste circuito usamos 3 saídas que controlam cada uma um led. Podem ser ligados mais leds ou usar leds RGB, por exemplo.
O programa para esta versão permite controlar sequencialmente as saídas a medida que aumentamos e diminuímos o sinal de entrada na sua largura. Foi usado o valor de 1500 uSeg como patamar de basculamento.
Assim, a cada acionamento para um lado e para outro no ‘joy stick’ do transmissor, será equivalente a um pulso nesta montagem. E a cada pulso ocorre eventos diferentes que podem ser programados. Neste caso, usamos apenas leds com o seguinte resultado:

1º pulso – liga led1
2º pulso – desliga led1
5º pulso – pisca led1
4º pulso – desliga led1
5º pulso – liga led2
6º pulso – desliga led2
7º pulso – pisca led2
8º pulso – desliga led2
9º pulso – liga led3
10º pulso – desliga led3
11º pulso – pisca led3
12º tudo desligado

Logicamente podemos aumentar ou diminuir esta lista de eventos decorrentes conforme a sua necessidade, alterando os ‘case x’ do comando ‘switch (vez)’ no programa “C” .
Vemos abaixo esta porção do código:

switch (vez){//seleciona a operação desejada nas rotinas

case 0:{led1=0; led2=0; led3=0; f_led1=0; f_led2=0; f_led3=0; break;}//desliga tudo
case 1:{led1=1; f_led1=0; break;}//liga led 1
case 2:{led1=0; f_led1=0; break;}//desliga led1
case 3:{ f_led1=1; break;}//pisca led1
case 4:{led1=0; f_led1=0; break;}//desliga pisca led1
case 5:{ led2=1; f_led2=0; break;}//liga led2
case 6:{led2=0; f_led2=0; break;}//desliga led2
case 7:{ f_led2=1; break;}//pisca led2
case 8:{led2=0; f_led2=0; break;}//desliga pisca led2
case 9:{ led3=1; f_led3=0; break;}//liga led3
case 10:{led3=0; f_led3=0; break;}//desliga led3
case 11:{ f_led3=1; break;}//pisca led3

Percebe-se que não existe muita dificuldade em se fazer esta adaptação.
Para aquele que tem facilidade com componentes SMD, esta montagem fica realmente pequena, podendo ser feitas várias em uma pequena placa de circuito impresso, abrangendo vários canais se isto for desejado.
Obs. Esta montagem é de natureza didática, sendo realizada apenas em placa de montagem experimentais (do tipo Protoboard), sujeito a bugs ainda não observados. Esta sendo fornecido os arquivos desta montagem, podendo ser alterados conforme a necessidade dos hobistas.
Atenção: Antes de fazer placa de circuito impresso, teste em placa de montagem experimental e veja se o circuito atende as suas necessidades.

Segue pasta zipada com os arquivos desta montagem, compilados com MplabX (XC8 Compiler):

adaptador_prop_onoff_files

Segue zipada pasta com versão em CCS C Compiler, de 02/04/2017:

ADPX_CCS

Manuais:

PIC12F675

Curiosidades:

Sorria: isso faz bem!
Tomate — “hortaliça” muito versátil
Insetos comestíveis — uma refeição inesquecível
Bancos de sementes: uma corrida contra o tempo
O que é cistite intersticial?
Como lidar com problemas da próstata
Recife — cidade que surgiu do açúcar
Será que a lua influencia sua vida?

Outros assuntos:

Existem contradições na Bíblia?
O que é preciso para entender a Bíblia?
Será que a Bíblia está de acordo com a ciência?
O que a Bíblia diz sobre livre-arbítrio? Nossa vida é predestinada por Deus?
O que é o espírito santo?
O nome de Deus é Jesus?
Os desastres naturais são castigo de Deus?
Deus é o culpado pelo nosso sofrimento?
O que é o Reino de Deus?
Por que a paz mundial parece apenas um sonho?

Vídeos Educativos para assistir com seus filhos pequenos

Até o próximo artigo!!!

16 comments on “AEROMODELISMO – ADAPTANDO FUNÇÕES ON/OFF EM RECEPTORES PROPORCIONAIS – C/ PIC 12F675 (REF197)

  1. Olá
    O Sr. demonstra muito interesse em modelismo, poderia fazer um software para amplificador de servo? o que vai dentro do servo obviamente, não ha CIs para isto no nosso mercado, penso que o 12f675 não dará conta, me parece melhor o 12f615 que roda a 8mhz para a função.

    Vinci

  2. Boa noite Lários!

    Quero novamente te agradecer por ter postados estes três projetos, atendendo a meu pedido! Na ocasião pedi para que fizesse a programação na linguagem C pois não sei Assembly! Só me esqueci de mencionar que uso o compilador CCS C 🙁 (Quem me dera vc ter feito o projeto com esse compilador!) Não estou reclamando, sou estou lamentando eu não ter especificado o compilador!

    Poderia me dizer se existem outros compiladores para linguagem “C” além do CCS C, MikroC, XC8?

    Por ser linguagem “C” todos estes compiladores deveriam ter os mesmos comandos, no entanto, eles mudam de um para o outro, por que isso acontece?

    Existe algum programa ou forma de converter a programação do XC8 para o CCS?

    Novamente obrigado pelo projeto!

    Vou dar meu último choro e pedir uma versão 🙄 :mrgreen: (em CCS C) pelo menos do primeiro projeto!

    1. Olá Pauleiras!
      De acordo com o fabricante podemos ter comandos que fazem a mesma coisa, mas com sintaxe diferente:
      Ex. delay_us(); em CCS C
      __delay_us(); em Xc8.
      O mesmo acontece com Assembly de outros fabricantes como Freescale.
      Parece que isto tem a ver com registro junto aos orgãos governamentais.
      Não conheço nenhum programa para converter de XC8 para CCS C.
      Mas felizmente, as mudanças são mínimas sendo facilmente portável deu para outro.
      Também, poderá aprender a usar o MplabX com o XC8.
      Aumentará o seu horizonte na programação de pics.
      Cláudio

Comments are closed.

Back To Top