RF com PIC
2 participantes
picminas :: PIC 18F4550 :: PIC 18F4550 :: Firmware
Página 1 de 1
RF com PIC
Bom dia pessoal,
Tive uma ideia de fazer o projeto fim de curso, mais me surgiram algumas dúvidas e gostaria que alguém me esclarecesse se possível.
O projeto seria fazer um transmissor e receptor com PIC baseado no par de CI's da Motorola MC145026 (encoder) e MC145027 (decoder), que possuem 4 canais http://www.datasheetcatalog.com/datasheets_pdf/M/C/1/4/MC145026.shtml não sei se vocês se recordam mas levei um circuito desses funcionando durante o curso, no mês passado.
Até fiz uma boa parte da programação, no transmissor, se fosse apertado o botão 1 por exemplo, ele envia 5 pulsos, se fosse apertado o botão 2, ele envia 10 pulsos, se fosse apertado o botão 3, ele envia 15 pulsos e se fosse apertado o botão 4, ele envia 20 pulsos.
Dúvida: Assim como o MC145026 tenho que enviar alguns pulsos que nele são chamados de bits de endereçamento para que o receptor reconheça quem está comunicando com ele? Se sim como fazer para o receptor saber quais são os pulsos de endereço e quais os correspondentes aos botões apertados? E qual seria a taxa de transmissão?
No receptor usei o bino RB4 para receber os dados, já que toda vez que acionado ele gera interrupção. Conforme o número de pulsos fosse recebido, contaria, e ativaria uma saída de acordo com esse número. O programa funcionou somente simulando, apertando botões para gerar os pulsos.
Dúvida: Como fazer para que eu possa ativar somente a saída correspondente ao botão pressionado no transmissor, porque no meu programa, se apertasse o botão 2 ele ativaria antes o 1 e depois o 2? E como fazer se quiser apertar mais de um botão ao mesmo tempo?
O transmissor e receptor são de 433.92Mhz iguais a este:
http://loja.multcomercial.com.br/ecommerce_site/produto_9199_4689_Modulo-Transmissor-43392-MHZ
http://loja.multcomercial.com.br/ecommerce_site/produto_9200_4689_Modulo-Receptor-43392-MHZ
Desde já muito obrigado!
Guilherme Henrique
Tive uma ideia de fazer o projeto fim de curso, mais me surgiram algumas dúvidas e gostaria que alguém me esclarecesse se possível.
O projeto seria fazer um transmissor e receptor com PIC baseado no par de CI's da Motorola MC145026 (encoder) e MC145027 (decoder), que possuem 4 canais http://www.datasheetcatalog.com/datasheets_pdf/M/C/1/4/MC145026.shtml não sei se vocês se recordam mas levei um circuito desses funcionando durante o curso, no mês passado.
Até fiz uma boa parte da programação, no transmissor, se fosse apertado o botão 1 por exemplo, ele envia 5 pulsos, se fosse apertado o botão 2, ele envia 10 pulsos, se fosse apertado o botão 3, ele envia 15 pulsos e se fosse apertado o botão 4, ele envia 20 pulsos.
Dúvida: Assim como o MC145026 tenho que enviar alguns pulsos que nele são chamados de bits de endereçamento para que o receptor reconheça quem está comunicando com ele? Se sim como fazer para o receptor saber quais são os pulsos de endereço e quais os correspondentes aos botões apertados? E qual seria a taxa de transmissão?
No receptor usei o bino RB4 para receber os dados, já que toda vez que acionado ele gera interrupção. Conforme o número de pulsos fosse recebido, contaria, e ativaria uma saída de acordo com esse número. O programa funcionou somente simulando, apertando botões para gerar os pulsos.
Dúvida: Como fazer para que eu possa ativar somente a saída correspondente ao botão pressionado no transmissor, porque no meu programa, se apertasse o botão 2 ele ativaria antes o 1 e depois o 2? E como fazer se quiser apertar mais de um botão ao mesmo tempo?
O transmissor e receptor são de 433.92Mhz iguais a este:
http://loja.multcomercial.com.br/ecommerce_site/produto_9199_4689_Modulo-Transmissor-43392-MHZ
http://loja.multcomercial.com.br/ecommerce_site/produto_9200_4689_Modulo-Receptor-43392-MHZ
Desde já muito obrigado!
Guilherme Henrique
Guilherme- Mensagens : 2
Data de inscrição : 08/02/2011
Re: RF com PIC
Olá Guilherme,
Muito interessante estes CIs para fazerem comunicação RF através de pinos paralelos de um microcontrolador. Até hoje eu nunca trabalhei com eles. O seu projeto é criar, utilizando o PIC, o funcionamento destes CIs?
Dúvida: "Assim como o MC145026 tenho que enviar alguns pulsos que nele são chamados de bits de endereçamento para que o receptor reconheça quem está comunicando com ele? Se sim como fazer para o receptor saber quais são os pulsos de endereço e quais os correspondentes aos botões apertados? E qual seria a taxa de transmissão?"
A página 11 do datasheet que você colocou o link possui um diagrama explicando o funcionamento dele. Pelo visto os 5 primeiros bits enviados é de endereço em que o emissor identifica quem é o receptor daquela mensagem (com isto da para fazer uma pequena rede de sensores que atuariam comandados por um emissor ligado ao seu microcontrolador). Os próximos 4 bits é de mensagem indicando algo para o receptor fazer. A mensagem é transmitida 2 vezes por envio para aumentar a segurança (reduzindo risco de perda de dado).
Logo, sim. É preciso enviar bits de endereço(se não a comunicação será apenas entre 2 dispositivos). O receptor saberá quais são endereço e quais são dados pela ordem do envio. Os primeiros são endereço e os últimos são dados.
A frequencia de comunicação destes CIs é dita no datasheet. Se você ta fazendo um projeto que faça o mesmo que estes CIs você pode escolher a frequencia de comunicação. Basta implementar apara que mande um bit a cada x tempo. Isto pode ser feito com delay ou com interrupções do módulo timer.
Dúvida: Como fazer para que eu possa ativar somente a saída correspondente ao botão pressionado no transmissor, porque no meu programa, se apertasse o botão 2 ele ativaria antes o 1 e depois o 2? E como fazer se quiser apertar mais de um botão ao mesmo tempo?
Acredito que temos duas opções. Mantendo o formato de comunicação que voce propôs de numero de pulsos seriam a mensagem você pode ir contando os pulsos no decodificador e só acionar quando passar um tempo grande (tipo 1 segundo) após o ultimo pulso que aí voce teria certeza que a comunicação teve fim. Outra opção é definir que serão X bits de dados recebidos em vez de x pulsos. Sabendo a frequencia de comunicação (fixa) você consegue receber os X bits. Ai se a palavra recebida for 0000 ele faz uma coisa se for 0001 faz outra e assim por diante. Como a quantidade de bits recebidos é sempre a mesma (X) você saberá que terminou de receber quando o último bit for transmitido.
Espero ter ajudado,
Bruno S. Avelar
Muito interessante estes CIs para fazerem comunicação RF através de pinos paralelos de um microcontrolador. Até hoje eu nunca trabalhei com eles. O seu projeto é criar, utilizando o PIC, o funcionamento destes CIs?
Dúvida: "Assim como o MC145026 tenho que enviar alguns pulsos que nele são chamados de bits de endereçamento para que o receptor reconheça quem está comunicando com ele? Se sim como fazer para o receptor saber quais são os pulsos de endereço e quais os correspondentes aos botões apertados? E qual seria a taxa de transmissão?"
A página 11 do datasheet que você colocou o link possui um diagrama explicando o funcionamento dele. Pelo visto os 5 primeiros bits enviados é de endereço em que o emissor identifica quem é o receptor daquela mensagem (com isto da para fazer uma pequena rede de sensores que atuariam comandados por um emissor ligado ao seu microcontrolador). Os próximos 4 bits é de mensagem indicando algo para o receptor fazer. A mensagem é transmitida 2 vezes por envio para aumentar a segurança (reduzindo risco de perda de dado).
Logo, sim. É preciso enviar bits de endereço(se não a comunicação será apenas entre 2 dispositivos). O receptor saberá quais são endereço e quais são dados pela ordem do envio. Os primeiros são endereço e os últimos são dados.
A frequencia de comunicação destes CIs é dita no datasheet. Se você ta fazendo um projeto que faça o mesmo que estes CIs você pode escolher a frequencia de comunicação. Basta implementar apara que mande um bit a cada x tempo. Isto pode ser feito com delay ou com interrupções do módulo timer.
Dúvida: Como fazer para que eu possa ativar somente a saída correspondente ao botão pressionado no transmissor, porque no meu programa, se apertasse o botão 2 ele ativaria antes o 1 e depois o 2? E como fazer se quiser apertar mais de um botão ao mesmo tempo?
Acredito que temos duas opções. Mantendo o formato de comunicação que voce propôs de numero de pulsos seriam a mensagem você pode ir contando os pulsos no decodificador e só acionar quando passar um tempo grande (tipo 1 segundo) após o ultimo pulso que aí voce teria certeza que a comunicação teve fim. Outra opção é definir que serão X bits de dados recebidos em vez de x pulsos. Sabendo a frequencia de comunicação (fixa) você consegue receber os X bits. Ai se a palavra recebida for 0000 ele faz uma coisa se for 0001 faz outra e assim por diante. Como a quantidade de bits recebidos é sempre a mesma (X) você saberá que terminou de receber quando o último bit for transmitido.
Espero ter ajudado,
Bruno S. Avelar
picminas :: PIC 18F4550 :: PIC 18F4550 :: Firmware
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|