Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[moved] RF communication through microcontroller

Status
Not open for further replies.

RenesasT

Full Member level 2
Joined
Mar 11, 2016
Messages
149
Helped
0
Reputation
0
Reaction score
0
Trophy points
16
Activity points
1,330
Dear All,

I am working on wireless communication and i wanted to send data from one micro controller to another micro controller using RF technology. I am using 433 Mhz tx and 433 Mhz rx modules.

I have done with the project like keys at tx section and led's at rx section by using encoder and decoder IC without using microcontroller. Now I want to replace those encoder and decoder with microcontrollers. I have connected data pins to respective tx and rx pins of modules. As receiver takes junk data even if transmitter is not connected so that I am sending string of particular bytes.

But still no data received at the receiver end.Please help me to resolve this.

Your help would be great for me. Thanking you in advance.
 

Re: RF communication through microcontroller

It sounds easy but it isn't!

Are you using AM or FM modules? (FM work far better)

Brian.
 

Re: RF communication through microcontroller

Dear,

I am using 433MHz ASK module. Does I am wrong anywhere?

I can not be able to receive the data. I have seen on oscilloscope that the tx data is perfect. But no data appears at receiver end. Please help me.
 

Try NRF24L01. It is package transiever with receive confirmation. Work much easier than yours.
Yours require some time to stabilize AAGC level and need manchester code to be used.
 

Thanks for the suggestion.
The problem is I have ordered my RF modules in set of 5. Now I have to utilize the same. No doubt, I would go for the module that you are suggesting but for as of now I have to utilize my 5 modules.

What I should do to resolve my issue. Your help would become god blessings to me.

Awaiting for your response.
 

The problem is in the receiver and the only way to reduce it is to change the transmitted data to make it easier to find at the receiver. The receiver is running all the time and its output depends on the amplitude of the signal it receives. Unfortunately, when there is no transmission at all, they produce random output. The problem with ASK (or OOK) transmission is it sends a signal out when a logic high is sent to it and nothing out when a logic low is sent to it. So as far as the receiver is concerned, it either sees logic high or random data, not much use when you can't tell the 0's from the 1's.

There are some tricks you can use to improve reliability, the first is to send a transmission for say 200mS before sending the data itself. You can do this by making the data input high for 200mS, forcing the transmitter to send it's signal. This gives the receiver a chance to adapt to the signal level and 'quieten down' before the real data arrives.

You can also add a low-pass filter at the data output to help remove pulses shorter than a single data bit.

After that, the only method is to pre-condition the data before transmitting it to make it more recognizable at the receiver, possibly adding error correction bits to it or an automatic resend protocol.

FM is far better in almost every way and only cost a fraction more. The NRF24L01 mentioned by Easyrider83 is cheap and easily available. It has the advantage of doing all the processing to improve reliability, using FM and also having an automatic check and resend function built in to it. The downside it it needs some preparation data to configure it before use.

Brian.
 

I believe there are dozens of Edaboard threads discussing failing UART transmission with simple ASK modules.

Intelligent answers to it are mostly emphasizing the same points:
- need a modulation method with balanced 0 and 1 bits, e.g. Manchester encoding, 8b/10b encoding, some kind of bit stuffing
- need a synchronization pattern (preamble) and a receiver algorithm that can synchronize on it (no standard UART)

It's rather easy if you use modern RF chips with packet support. But it's of course possible to do the required bit processing in a microcontroller. I believe there are some libraries supporting this job like the MikroC Manchester code library. Please don't hold us responsible for the time you'll possibly waste on programing your ASK modules.
 

Thanks both FvM and Betwixt. My issue is resolved. Appreciated your support.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top