Difference between revisions of "Modems"
Line 148: | Line 148: | ||
FTDI Utility Board 1.0 (no FTDI cable required) | FTDI Utility Board 1.0 (no FTDI cable required) | ||
<br style="clear:both"> | |||
=== Digi XBee Pro 2.4GHz (802.15.4, "Series 1") === | === Digi XBee Pro 2.4GHz (802.15.4, "Series 1") === |
Revision as of 09:36, 17 August 2010
The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the Airframe Configuration page.
Digi XBee modules
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.
- XBee (PRO) ZB (the current series)
- XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.
These two also share the same hardware and can be converted from one to another by flashing a different firmware:
- XBee-PRO 802.15.4 (formerly Series 1)
- XBee-PRO DigiMesh 2.4
Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules are not compatible with earlier XBee 802.15.4 (Series 1) modules.
Module Comparison
Module | Point-to-Multipoint | ZigBee/Mesh | Hardware | Software stack | Frequency | TX Power normal/PRO | Notes |
XBee ZB | yes | Ember | EmberZNet PRO 3.1 (ZigBee 2007) | 2.4 GHz | 2mW/50mW | coordinator needed | |
XBee ZNet 2.5 | yes | Ember | EmberZNet 2.5 ZigBee | 2.4 GHz | 2mW/50mW | (only legacy -> use XBee-PRO ZB) coordinator needed | |
XBee DigiMesh 2.4 | yes | ? | 2.4 GHz | all nodes equal (no special coordinators/routers/end-devices) | |||
XBee 802.15.4 | yes | ? | 2.4 GHz | ||||
XBee-PRO 868 | yes | ? | 868 MHz | 500mW | Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW |
Comparison Conclusion
(Copied from DIGI manual)
If the application strictly needs to communicate in a point-to-point or a point-to-multipoint fashion, 802.15.4 will be able handle all the communications between your devices and will be simpler to implement than trying to use a module with ZigBee firmware to accomplish the same goal. ZigBee is necessary if you need to use repeating or the mesh networking functionality.
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules.
Pinout
Xbee 20-pin Header | Name | Notes | Suggested Color | |
1 | +3.3v | Power | Red | |
2 | DOUT | Tx output - connect to Autopilot Rx | Green | |
3 | DIN | Rx input - connect to Autopilot Tx | Blue | |
10 | GND | Ground | Black |
The image view is from above, top, thus NOT at the side where the connector pins come out
Note : DTR and RTS need to be wired for upgrading firmware
GCS Adaptation
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.
Adafruit
Adafruit (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.
Droids
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR
For direct connection to USB (no FTDI cable required)
PPZUAV
FTDI Utility Board 1.0 (no FTDI cable required)
Digi XBee Pro 2.4GHz (802.15.4, "Series 1")
- Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee 802.15.4 (formerly Series 1) modules.
These relatively cheap and light modules implement the ZigBee/IEEE 802.15.4 norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.
|
Mouser: 888-XBP24-PKC-001-UA
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.
Documentation
- product page
- datasheet
- user manual
- To program your Xbee you need X-CTU you can download it here. (only windows)
- explanation on X-CTU here.
- Drivers for XB24 and XBP24 modules
Reviving a non-responding Xbee Pro
To bring an apparently dead XBee Pro Series 2 back to life, do the following:
- Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).
- Open X-CTU.
- In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).
- Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.
- With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.
- Before you click OK to the dialog box, plug in the XBee module (carefully).
- Click OK to clear the message and it should start programming automatically.
Digi XBee Pro ZB
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.
|
These are available from Mouser:
888-XBP24-Z7WIT-004 XBee-PRO ZB with whip antenna
888-XBP24-Z7SIT-004 XBee-PRO ZB with RPSMA
Setup
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.
- Flash one module (ground station) with the coordinator AT firmware
- Flash aircraft module with router or end-device AT firmware
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:
- Set PAN ID to some unique (but same) ID on both modules
- Set a Node Identifier for each module (e.g. ground, aircraft)
Documentation
Digi XBee Pro 868
WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI
868MHz is a limited band. Please read the 868MHz Issues
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.
|
Getting Them Working
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.
- Attach Xbee and start serial comm program (I use
screen /dev/ttyUSB0 <baud rate, just a number, no angled brackets>
, you can also use pico- or microcom) - Type AT and enter. You should get an OK back.
- ATMT and enter. You should get a number—this represents the number of extra times each packet will be broadcast. We now need to change this to zero.
- ATMT0 and enter => OK
- ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.
- ATRR0 and enter => OK
- Type ATWR to store the new stuff in the firmware. You should get an OK.
- Set the datalink to transparent mode both in your airframe file and on the datalink.
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though.
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. Thanks to CheBuzz for this info, and for helping me work all this out at 11pm the night before EMAV09.
Documentation
Digi XBee Pro XSC 900MHz
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!
|
Documentation
Trials
Tested one today and it worked great. Going to try a multiUAV test with it soon
--Danstah
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.
--Danstah
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR
Maxstream 9XTend
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable power settings from 100mW to 1W. Testing has shown range up to 3.2km (2 miles) with 100mW.
|
Pinout
9XTend 20-pin Header | Name | Tiny Serial-1 Header | Notes |
1 | GND | 1 (GND) | Ground |
2 | VCC | 2 (5V) | 5V power (150mA - 730mA Supplied from servo bus or other 5V source) |
5 | RX | 8 (TX) | 3-5V TTL data input - connect to Tiny TX |
6 | TX | 7 (RX) | 5V TTL data output - connect to Tiny RX |
7 | Shutdown | 2 | This pin must be connected to the 5V bus for normal operation |
Notes:
- 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.
Documentation
Aerocomm
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.
How to use this modem on ground station side? [1]
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.
AC4868-250
|
||
AC4790-200
|
||
AC4790-1000
|
Pinout
AC4868 20-pin Header | Name | Color | Tiny v1.1 Serial-1 | Tiny v2.11 Serial | Notes |
2 | Tx | green | 7 | 7 | (Note 1) |
3 | Rx | blue | 8 | 8 | (Note 1) |
5 | GND | black | 1 | 1 | - |
10+11 | VCC | red | 2 | 3 | +3.3v |
17 | C/D | white | 3 | ? | Low = Command High = Data |
Note 1 : names are specified with respect to the AEROCOMM module
Documentation
- AC4790 product page
- AC4790 Datasheet
- AC4790 Manual
- AC4848 product page
- AC4868 Datasheet
- AC4868 user manual
Radiotronix
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from Roundsolutions was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.
WI232EUR
|
|||||||||||||||||||||||||||||
Pinout
Note 1 : names are specified with respect to the Radiotronix module Note 2 : connect to RTS to program device with Evaluation software Note 3 : connect to CTS to program device with Evaluation software |
|||||||||||||||||||||||||||||
Documentation
Bluetooth
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.
"Sparkfun" Roving Networks (WRL-08497)
|
|
To connect to it, get the MAC address of the bluetooth modem me@mybox:~$ hcitool scan Scanning ... 00:06:66:00:53:AD FireFly-53AD either make a virtual connection to a Bluetooth serial port each time you connect sudo rfcomm bind 0 00:06:66:00:53:AD or configure it once in /etc/bluetooth/rfcomm.conf rfcomm0 { bind yes; device 00:06:66:00:53:AD; } now you can use Bluetooth as /dev/rfcomm0 with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that. |
Coronis WaveCard
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.
Suport for these modems has been removed from the airborne code on Dec 10th, 2007.
|
Documentation
Telemetry via Video Transmitter
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different.
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.
Antennas
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna