Components used:
HAC-LM96 radio modem - $52
Turnigy UBEC - 3A switched DC-DC converter - $8
Teensy 2.0 - Arduino compatible board - $19
To make it plug-and-play with my Futaba 9C radio I took the casing from an old defect RF transmitter module and put the UBEC and Teensy board inside. The UBEC is connected to the 9C V+ pin (9.6-12V) and supply 5V for the Teensy board and the HAC radio modem. Sadly the HAC modem is slightly to large for the transmitter module casing, so i had to use an extra box for the HAC modem.
The Teensy MCU converts 8 channel PPM from the 9C radio into serial data for the HAC modem. The Teensy board is my favorite Arduino compatible board, has more i/o in a smaller formfactor and a proper USB interface.
In the airplane the serial data is received by the HAC modem and either transmitted directly to the autopilot or converted back into servo PWM pulses using another Teensy board. This way I can use the HAC modems as a pure R/C control system if I need to, freeing up the 2.4ghz band for live video link etc.
To use the system as a two-way telemetry system you connect the Teensy board in the RF transmitter casing to a computer using a USB cable and either talk directly using the USB interface or use a virtual serial driver for normal two-way serial communication.
Edit: Here is the source code for the Teensy PPM decoder and rf433 transmission system.
Teensy_PPM_Decoder.pde rf433.h
Comments
it is a very well conceived project but (in my opinion) does lack a central project page so there is a lot of reading of the rambling RCGroups thread before you can appreciate the details.
in summary it uses embedded 2.4GHz modules that come with embedded microcontroller and access to free development environment for the microcontroller.
you essentially have all the electronics you need for either TX or RX on the one pre-made (and fairly inexpensive) module.
range is around 2km if i remember correctly.
while we are all posting alternative projects, you might want to look at mine:
http://sites.google.com/site/mrdunk/
while i accept all the XBee and radio modem solutions out there are easy to implement (and "good enough" for UAVs) none of them are ideal in terms of latency and packet control for real time applications.
my project uses CYRF6936 based RF modules.
because you have direct control of the CYRF6936 RF chip you are not tied to any timing structure and are free to implement whatever structure you like.
in my system data packets are recalculated before retransmission if they occur in a different PWM frame so latency is always less than the 20ms servo update time.
i'm currently getting 100% transmission success out to around ~1km. RF link status and battery life data is currently displayed on blinkenlights on the transmitter or display of all telemetry data can be achieved by plugging a laptop into the TX.
the next step in my project is to move away from the pre-made RF modules and start using the CYRF6936 directly so i can use fast RF switches to switch between diverse antennas.
dunk.
I have a Intuitive Circuits OSD feeding to a 7 in headrest DVD screen in the centre - i dont like small monitors. Anything about xbees that i have not noticed that i should be aware of?
I have not measured the latency, but is not human perceivable at least.
I have modified a arduino nano as a receiver - an xbee in a sparkfun shield plugs straight in.
Can post the code but i honestly have not done anything tricky.
@Greg: First of all there really wasn't all that much trouble to go trough. 1 day to get a feel for the modems and 2 days to implement the system. With the 433mhz modems I get both radio control and two-way telemetry in one system. And since the system is two-way both airplane and ground station instantly know when the connection is lost. I always do extensive ground testing with any new code, and the control loop is designed so that the proven manual control code remains unchanged and unaffected by autopilot changes. And with the kind of range we are talking about here, there is no way you can manually recover the plane if there is a glitch far out anyways. One of the uses I envision is to be able to observe and do adjustments from the ground station while the UAV is performing large area type of missions like photo mapping. 900mhz is not an option since I am operating in Europe, and as I said earlier I have had some issues with Xbee. So I wanted to try something else.
Anyhow I believe you should have regular RC control and a failsafe multiplexer system in case of a computer glitch.
@ Carlito, Yes that is very much possible and has probably been done. They make DIP chips for this. 1 in, 1 out. Look for an FSK chip (Freq Shift Keying). They send one tone for a 1 and another for 0.
That file is used by both my remote and receiver to get and send data. The remote code I'm using is called Combo Remote (also on my websvn), and it uses a adxl345 digital accelerometer and a gamecube remote for human interaction. There'll be a writeup soon, once I have my quad working again.
I'd really like to see how yours works.
-
1
-
2
-
3
of 3 Next