March 12, 2015 My first digital transmission tests with Arduino
I’m trying to make a data transmission link for my home automation system that I can receive in my city and nearby.
– For the moment tests are made with Arduino (UNO, MEGA2560 or MiniPro – Atmega328 @ 16MHz clock) and VirtualWire Library.
My first test & impresions:
– initial testing made with cheap 433MHz ASK/OOK Receiver (1 amp. stage + super regenerative stage + LM358 AF amp & data slicer) + the simple SAW oscillator type transmitter (both cost less than 3 euro) – all was ok @ 2000bps, tested only from one end to the other of the room!
– After the first step, considering that software and digital hardware side are ok, i wanted to see if this is possible also at a lower frequency… I have choosed 10,7Mhz: I made a simple crystal oscillator on-off keyed by the microcontroller by applying the data voltage to the bias resistor of the osc. transistor. As receiver I already had a MC3357 IF homebrewed years ago, so good i haven’t already moved it to the trash. But, hey, thats a NBFM receiver, while teoretically i need some kind of an AM receiver. Some success was achieved , but for limited distance and a lot of adjustments on the FM dicriminator coil and on the component values that make the conection from the FM IC to the the dataslicer. Basically i was trying to obtain the logic levels only by using the “silence” that makes an unmodulated transmitter when received by a FM receiver. Not good! I supose that much better operation will be obtained by audio modulating the frequency of the transmitter.
I’ve tried also with an TA7358 based direct conversion receiver and dataslicer, but with limited performance. I think i know what I should do now. Right now i’m restarting the ideea of using a crystal-stable , very simple RX and unmodulated transmitter because i believe this should really work with a better RX design especially in the AF+slicer area. I will also put an active filter.
Until now, AM Receiver seems to be best: if received signal is powerfull, i can decode 100BPS data imediatelly after the AM diode detector, filtered with 10k+100nF to ground. With dataslicer i get results even with almost unaudible signals, but i have to readjust the level to the slicer for almost any new level received. Maybe a comparator that compares noise vs signal and adjusts better the AGC should be a good idea.
One more thing: while doing tests, especially with the AM RX (an old 27MHz CB transceiver that i found in my shack), noise was very high if using Arduino Mega2560…? A lot of noise from the external display that i use with my laptop….