Low cost RF for simple data link and remote control using ATtiny12 microcontroller
Wireless data links don’t have to be difficult to build or adjust They can be built quickly using inexpensive and readily available parts.
This is a simple, low cost RF data link that can send data reliably over a distance of one to two meters, enough for bench top or desktop use. The data protocol supported by the encoder and decoder provides 16 device addresses, three message types, and a toggle bit. Pulse frequency modulation is employed to make the receiver design less demanding and to reduce the susceptibility to noise. The encoder and decoder are based on Atmel microcontrollers, though the protocol can be easily implemented on most micro controllers. The transmitter is an oscillator that is biased on and off by the encoder chip. The receiver is a tuned radio frequency (TRF) detector without preamp followed by an 40 db AF amplifier that drives a comparator, which provides pulses suitable for driving the digital input pin on the decoder. Most of the gain is provided by the op amp, where gain is easy and cheap, and the RF section is minimized and simplified.
The only things that really need any tweaking to get the demonstration circuits to work is one hand wound inductor in the transmitter and one hand wound inductor in the receiver. The trick is to get the transmitter and the receiver on the same frequency. Having them “almost” on the same frequency will result in poor performance – very short range and unreliable decoding. Use a small wooden or plastic tool to deform the coils. Expect to spend some time at it, and don’t be disappointed if you have to scrap a coil or two before you feel you have it right (more on this in the receiver section). Make and adjust the transmitter first. This way, you know what frequency you are using. Adjust the receiver for peak sensitivity to the transmitter.
A pulse frequency modulated pulse train is used to amplitude modulate an RF carrier (in on-off fashion) and
detected and made digital in a simple receiver and this pulse train is decoded by a microcontroller.
The assembly code for the encoder and decoder were written with the AT90S1200 and ATtiny12 in mind in that they make minimal use of the return stack. The code was initially tested on AT90S2313’s.
Leave a Comment
You must be logged in to post a comment.