Ir ao conteúdo
  • Cadastre-se
Glosks3

RF 433Mhz E Pic.

Recommended Posts

Bom dia,

estou finalizando meu TCC, e quero colocar um adicional

que seria um pic16f877a controlando o trasmissor e recepetor RF 433MHz.

Algo simples, quando eu apert-se um botão no pic transmissor, ele acende-se

um led no pic receptor....se alguem puder me ajudar com a programação,

pois já tentei com varios exemplos e até mesmo criando simples funções

mas não estou tendo exito...Me ajudem POR FAVOR!!!

r_F.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

O microcontrolando passa um circuito mais complicado,

já tentei com ele...preciso de algo mais simples...e não

tenho o encoder nem deconder...tem que ser uma programação

direto pro PIC com a antena...Se puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz uma comunicação via UART assíncrona entre os dois PICs. Conecte-os com o terra e o fio do sinal. Use cristais para os dois osciladores.

Depois que estiver funcionando, retire os dois fios e coloque o transmissor no pino Tx e o receptor no pino Rx.

Comece com uma taxa bem pequena, pois esses módulos 433MHz tem boa limitação de velocidade.

MOR_AL

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Glosks3,

Poste o circuito completo do transmissor e do receptor, bem como os códigos que voce tentou, para a gente poder te ajudar.

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Receptor:

void main() {
char provisorio ;
UART1_Init(2400); // initialize UART1 module
Delay_ms(100);
ADCON1 = 0x0F;
TRISB = 0;
PORTB = 0;
trisb.rb7 = 0;
portb.rb7=0;
while (1) {


do{ }while ( UART1_Data_Ready() == 0); provisorio=UART1_Read();
if( provisorio == 112){
do{ }while ( UART1_Data_Ready() == 0); provisorio=UART1_Read();
if( provisorio == 111){
do{ }while ( UART1_Data_Ready() == 0); provisorio=UART1_Read();
if( provisorio == 108)
{ portb.rb7 =1;}}}}} }


Trasmissor:

void main() {
char provisorio ;
UART1_Init(2400); // initialize UART1 module
Delay_ms(100);
ADCON1 = 0x0F;
TRISB = 0;
PORTB = 0;
trisb.rb7 = 0;
portb.rb7=0;
while (1) {


do{ }while ( UART1_Data_Ready() == 0); provisorio=UART1_Read();
if( provisorio == 112){
do{ }while ( UART1_Data_Ready() == 0); provisorio=UART1_Read();
if( provisorio == 111){
do{ }while ( UART1_Data_Ready() == 0); provisorio=UART1_Read();
if( provisorio == 108)
{ portb.rb7 =1;}}}}} }

Faz uma comunicação via UART assíncrona entre os dois PICs. Conecte-os com o terra e o fio do sinal. Use cristais para os dois osciladores.

Depois que estiver funcionando, retire os dois fios e coloque o transmissor no pino Tx e o receptor no pino Rx.

Comece com uma taxa bem pequena, pois esses módulos 433MHz tem boa limitação de velocidade.

MOR_AL

Usei desde 1200 a 9600...e parece que nada é o ponto certo

a 1200 pegou algumas vezes mas nada preciso!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em algum local, li que a taxa máxima é por volta de 1kHz e a distância entre Tx e Rx vai até 100m com visada direta (sem paredes e pisos entre TX e RX).

Não cheguei a testar.

Haa ... Outra coisa.

O receptor é do tipo super regenerativo. Isso quer dizer que ele possui controle automático de ganho (CAG). Em outras palavras. Sem sinal no receptor, o ganho dele é muito maior, podendo gerar ruídos na saída. Com a presença de sinal o ganho reduz e o ruído também, mas o ganho não reduz imediatamente.

Então, deve-se enviar sinal para que o receptor possa se estabilizar no ganho correto.

Envie cerca de 20 ciclos de onda quadrada na frequência do sinal, imediatamente antes de enviar o sinal útil. O seu software tem que considerar a presença deste trem de pulsos e não considera-lo como sinal útil.

Fiz um receptor desse tipo e identifiquei a mudança do ponto de operação. Do repouso, sem sinal na antena, até a estabilidade, com o trem de pulsos.

Veja a subida da tensão da onda quadrada para o ponto de operação normal do receptor.

Circuito_14_02_2011ee.jpg

Apesar da amplitude do trem de pulsos possuir três e meia divisões, se um comparador de tensão fosse colocado nesse sinal, para transforma-lo em nível TTL, ele teria apenas duas divisões úteis entre o início e o fim do trem de pulsos. Caso esse trem de pulsos viesse imediatamente antes do sinal real, o comparador disporia de toda amplitude do sinal. Isso se traduz em maior distância entre TX e RX ou em maior relação sinal ruído.

No caso da figura e do meu projeto de receptor, a taxa de transmissão encontra-se um pouco acima de 1kHz e observe que a onda começa a ficar com os cantos arredondados. Não medi em nenhum fabricante de receptor comercial.

MOR_AL

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendo nada desse C.... Mas eu acho que deveriam ser pinos diferentes de Tx e de Rx.... Olhando o código parece que ligou tx com tx ou rx com rx, que nunca vai funcionar....

E também me parece que está sendo usada apenas a instrução de receber dados da Uart.... Cadê a de enviar dados ????

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

você teria um exemplo pra me dar uma base...pode ser em qualquer formato...Microc, CCS Assembler...preciso ver funcionando nem que seja um led para ter uma base esperançosa.

Somente pulsos seriam o princiio pra se conectar antes de enviar dados???

Em algum local, li que a taxa máxima é por volta de 1kHz e a distância entre Tx e Rx vai até 100m com visada direta (sem paredes e pisos entre TX e RX).

Não cheguei a testar.

Haa ... Outra coisa.

O receptor é do tipo super regenerativo. Isso quer dizer que ele possui controle automático de ganho (CAG). Em outras palavras. Sem sinal no receptor, o ganho dele é muito maior, podendo gerar ruídos na saída. Com a presença de sinal o ganho reduz e o ruído também, mas o ganho não reduz imediatamente.

Então, deve-se enviar sinal para que o receptor possa se estabilizar no ganho correto.

Envie cerca de 20 ciclos de onda quadrada na frequência do sinal, imediatamente antes de enviar o sinal útil. O seu software tem que considerar a presença deste trem de pulsos e não considera-lo como sinal útil.

Fiz um receptor desse tipo e identifiquei a mudança do ponto de operação. Do repouso, sem sinal na antena, até a estabilidade, com o trem de pulsos.

Veja a subida da tensão da onda quadrada para o ponto de operação normal do receptor.

Circuito_14_02_2011ee.jpg

Apesar da amplitude do trem de pulsos possuir três e meia divisões, se um comparador de tensão fosse colocado nesse sinal, para transforma-lo em nível TTL, ele teria apenas duas divisões úteis entre o início e o fim do trem de pulsos. Caso esse trem de pulsos viesse imediatamente antes do sinal real, o comparador disporia de toda amplitude do sinal. Isso se traduz em maior distância entre TX e RX ou em maior relação sinal ruído.

No caso da figura e do meu projeto de receptor, a taxa de transmissão encontra-se um pouco acima de 1kHz e observe que a onda começa a ficar com os cantos arredondados. Não medi em nenhum fabricante de receptor comercial.

MOR_AL

você teria um exemplo pra me dar uma base...pode ser em qualquer formato...Microc, CCS Assembler...preciso ver funcionando nem que seja um led para ter uma base esperançosa.

Somente pulsos seriam o princiio pra se conectar antes de enviar dados???

Compartilhar este post


Link para o post
Compartilhar em outros sites
Meu amigo, seu código está errado, voce não faz nenhuma transmissão nele !

Paulo

To lascado assim rsrsrs...faltam 72 horas,acho que essaprogramação vai ficar praoutro ano rsrss!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo, procure por um programa simples que faça comunicação serial assíncrona entre dois Pics !

Modifique a velocidade dessa comunicação para 300 bauds, e quando tiver isto, simplesmente interrompa a ligação e coloque os módulos, não vai precisar modificar mais nada.

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×