Project 009 - DakarOSD/Lynx RC Plane OSD
DISCLAIMER: This design is experimental, so if you decide to build one yourself then you are on your own, I can't be held responsible for any problems/issues/damage/injury that may occur if you decide to follow this build and make one yourself.
DakarOSD/LYNX OVERVIEW
DakarOSD PCB
GPS Module
The DakarOSD board can interface to two or three different types of GPS module, however, I favour the LS20033 module. Note: Below is the LS20033 cable I have been using as purchased from these guys here.
Please note that it's not quite pin compatible with the 4-way header on the DakarOSD V1.1 pcb (sorry, my fault!).
I have marked on the colours on the pin-out of the DakarOSD pin-out above. You will need to re-wire the 4-way on the cable below (or cut & link some of the tracks on the back of the pcb).
Current Sensor
Allegro Hall Effect Current Sensor (P/N ACS756SCA-050B). This sensor is capable of measuring up to 50amps of in-line current and with an in-line resistance is only 130uOhms.
There are a few additional components on the output side that are necessary and which I have incorporated onto the DakarOSD, thus making hook-up dead easy.
LYNX PCB
Here's the final PCB (Ver 2.1) as per Eagle PCB. Double sided Through Hole Plated (THP).
The graphic below is not to scale, the actual size of the pcb = 110mm x 88mm.
Now some photos. Here is the Pcb installed on my antenna tripod.
The next 3 photos show the 3 screens that are available by pressing the LCD button on the Lynx:
- GPS Cordinates.
- No. of Satellites & Altitude.
- Velocity (Speed) & Heading.
Finally!......here's a last minute modification. It struck me it might be a good idea to have the backlighting of the LCD flash with the VIDEO LED, thus making it much more obvious of how well the data is being received. Here's the circuit modification. The backlighting of my LCD is 5v 82mA, so very easy to hook up via an N-channel FET (ZVN3306A). Please check your own LCD datasheet.
And here's a video of the above mod in operation. Note also I have edited the HEX on the LCD Pic to English, and please ignore the audio, the beeping is my nearby RC plane, not the Lynx.
ANTENNA TRACKER TRIPOD
BASESTATION CASE
- Heading
- Height
- Direction indicator to 'home'
- Heading (deg.)
- Speed
- Plane Battery voltage
- Instantaneous current consumption
- Total mAh consumed (very handy to know the plane's battery status)
- No. of satellites
- Flight duration (minutes)
- RSSI % (main RC radio receiver strength indicator)
MY VIDEO PLANE
Lastly, here's my current 'video' plane showing the camera mounted on it's pan & tilt mechanism. Yup!, as I move my head around on the ground this is translated to identical movements of the camera on the plane. Really clever stuff allowing me to look around as I fly.......just like the real thing!
DakarOSD/LYNX CALIBRATION & SETUP
These procedures & notes offer basic instruction as to the setup & calibration of the DakarOSD & Lynx.
They are based on DakarOSD firmware version 2.7b, and Lynx firmware version 2.0.
Firmware for DakarOSD Ver2.7b located here.
Firmware for Lynx Main PIC Ver2.0b located here.
Firmware for Lynx LCD PIC 10Mhz Version located here. My own English version here.
Not got a suitable PIC programmer? This is the type of programmer I have, purchased via Ebay (search for Microchip PIC Programmer):
Note: This page is a moving target and was partly created from translated Spanish instructions & my own notes/findings.
If you find anything missing or wrong then please let me know.
DakarOSD/LYNX PRE-FLIGHT SETUP
DakarOSD OSD SCREEN SELECT
DakarOSD SWITCH/POTENTIOMETER FUNCTIONS
LYNX SWITCH/POTENTIOMETER FUNCTIONS
Have fun!
DakarOSD/LYNX PRE-FLIGHT SETUP:
These instructions are for the field setup prior to flight and assume the DakarOSD/Lynx is fully calibrate/tested.
1. Position the Plane within a couple of metres of the basestation.
2. Power up the Plane and wait a few minutes till a satellite signal is obtained.
3. Press the D.HOME button on the DakarOSD to zero the Dakar parameters.
4. Power up the basestation and observe the LED on the Lynx, it should be lit.
5. Press and hold the L.HOME button (till the LED is lit) on the Lynx to reset the basestation co'ordinates.
6. Walk out 10 to 20 metres central to the flying area you intent to fly in. Now press and release the L.HOME button on the Lynx.
7. Orientate the antenna so that it points towards your plane (still 10 to 20 metres out).
8. Optional - Walk sideways from the 10 to 20 metre position and just check the antenna tracks you.
The system is now set up, you can fly.
The DakarOSD has 5 options for display, and to change from one to another requires assigning an analogue channel of the Radio Rx and hooking it up the the DakarOSD board. From then on, adjustment of the pot on the Tx will change the OSD screen, as follows:
0.9mS - 1.16mS = Disable OSD
1.161mS - 1.42mS = Main OSD screen
1.421mS - 1.68mS = Max recorded parameters (max altitude, speed, distance)
1.681mS - 1.94mS = Waypoint screen
1.941mS - 2.2mS = GPS co'ordinates screen
On power up the OSD defaults to the Main OSD screen, so if you don't actually hook up an aux channel from your Receiver to the DakarOSD board then all you will get is the Main OSD screen.
If your RC radio does not have an analogue aux channel then you are stuck with the Main OSD screen.
Here is more explanation of the 5 screen modes:
First screen: OSD off.
Main OSD screen:
- Altitude in mtrs.
- Variometer and rate of ascent / descent rate in meters / second.
- Distance in meters.
- Distance to home.
- Direction to home.
- Speed over ground in kph.
- Number of satellites.
- Minutes of flight.
In the second line (if selected to display):
- Voltmeter 1:
- Instantaneous current consumption in mA.
- Cumulative current consumption in mA (great for knowing battery life).
- Voltmeter 2 / RSSI receiver RC.
Max recorded parameters (flight session):
- Maximum height achieved.
- Maximum distance achieved.
- Maximum speed achieved.
Waypoints:
- Waypoint or point excursion destination. The arrow back home now tells us the right path to waypoints.
GPS co'ordinates:
- Current latitude and longitude coordinates of the plane.
DakarOSD SWITCH/POTENTIOMETER FUNCTIONS
The DakarOSD has a single pushbutton switch & 3off potentiometers on the PCB.
1off pushbutton for re-setting the OSD parameters. Herein known as D.HOME pushbutton.
1off potentiometer for adjusting the OSD video contrast. Herein known as D.VIDEO pot.
1off potentiometer span control of the RSSI signal. Herein known as D.SPAN pot.
1off potentiometer zero control of the RSSI signal. Herein known as D.ZERO pot.
Calibration / Settings:-
Black or white characters:
To switch between black or white characters (on a grey background), power up whilst holding down the button until the led comes on, then release.
Establish a waypoint:
Press & hold the button at any time for 5 secs until the led comes on to set a waypoint.
Calibration mode:
To enter calibration mode, power up and wait until "GPS DakarOSD V2.7 x Hz" is displayed and then press & hold the pushbutton until the LED flashes. The number of times you let it flash before releasing the button will determine which area of calibration/settings you want to change. Once it flashes the number of times you require simply release the button. As follows:-
TWICE (about 10 secs) - The display will show '0' satellites and from here on the analogue functions such as Voltmeters, RSSI, Ammeter etc. can be calibrated. In addition the multiplier for the mAH can be set.
THREE TIMES (about 15 secs) - Activation, deactivation of the entire 2nd line of parameters on the OSD, i.e. the analogue parameters line.
FOUR TIMES (about 20 secs) - Activation, deactivation of the Ammeter on the OSD.
FIVE TIMES (about 25 secs) - Activation, deactivation of the RSSI on the OSD.
SIX TIMES (about 30 secs) - Invert / non-invert of the RSSI parameter.
LYNX SWITCH/POTENTIOMETER/LCD FUNCTIONS
There are 3off pushbuttons, 3off potentiometers & 3off LEDs.
1off pushbutton for re-setting 'home' GPS co'ordinates for the basestation. Herein known as L.SET pushbutton.
1off pushbutton for setting / testing servo travel. Herein known as L.TEST pushbutton.
1off pushbutton for alternating the screen on the LCD. Herein known as L.VID pushbutton.
1off potentiometer for optimizing the video signal. Herein known as L.VIDEO pot.
1off potentiometer span control of the servo travel. Herein known as L.SPAN pot.
1off potentiometer tilt control of the servo travel. Herein known as L.TILT pot.
Calibration / Settings:-
When the Lynx is powered up for the first time it is necessary to store which type of PAN servo you have fitted, i.e. 90deg, 180deg or 360deg type.
Note: In order to use the servo setting / testing facilities you must have a functioning video signal, i.e. valid GPS data from DakarOSD to Lynx.
On powering up the Lynx the VID LED will flash, and the number of times determining which type of servo is fitted.
1 flash = 360deg type servo.
2 flashes = 180deg type servo.
3 flash = 90deg type servo.
To change this, hold the L.TEST pushbutton down whilst powering up the Lynx. The VID LED will flash.
If you require 360deg type servo then let it flash once then release the L.TEST pushbutton immediately.
If you require 180deg type servo then let it flash twice then release the L.TEST pushbutton immediately.
If you require 90deg type servo then let it flash three times then release the L.TEST pushbutton immediately.
To calibrate the PAN servo travel, then power up the Lynx normally then press and hold the L.TEST pushbutton. The PAN servo will travel fully in one direction. If you then release the L.TEST pushbutton the press it again then the PAN servo will travel in the opposite direction. You can repeat this over and over to swing the PAN servo one way then the other.
So, whilst doing this you can adjust the L.SPAN potentiometer to fine tune the full scale deflection of the servo.
The TILT servo requires similar adjustment. When you operate the L.TEST pushbutton for the PAN servo calibration as above then in actual fact the TILT servo will operate also, swinging from fully up to fully down as you press the L.TEST pushbutton.
So, whilst doing this you can adjust the L.TILT potentiometer to fine tune the full scale deflection of the servo.
The TILT servo uses a 90deg servo. It is important that when the servo is fully down then it is completely vertical, and when fully up it is completely horizontal.
The L.VIDEO pot is necessary to optimize the reception of the data that is embedded in the video signal.
With the DakarOSD & Lynx powered up, and GPS data being received then adjust the L.VIDEO pot till the VID LED on the Lynx turns on. There will be a fine band where it's is almost on continously, and either side of that where it will be flickering or offcompletely. You are looking to have the LED as full on as can be. This maximizes the data being received.
The 2*16 LCD is controlled by a dedicated pushbutton. On power up it will display the welcome screen, and when NMEA data starts being received the VID LED will illuminate permanently and the LCD will automatically display the live GPS co'ordinates.
Pressing the L.LCD pushbutton will rotate the display around 3 different screens, as follows:
GPS co'ordinates:
No. of Satellites & Altitude:
Speed & Heading:
Please note that since these photos I have hacked the HEX file a wee bit and modified the text to English. It's available for download.
GOOGLE EARTH
One of the additional functions of the LYNX board is a serial output containing NMEA data and that can be hooked up to a laptop on-site and used display/log your flight movements live in Google Earth!
Google Earth does have built in functions to read NMEA data, but only at 4800 baud, and with some other limitations. So, the way around this is to use a separate standalone program to read the data from your laptop COM port and pass that data to Google Earth, and also letting you configure a whole lot of parameters along the way.
Note: If you are using my LYNX Pcb then you will not need an external TTL to RS232 converter as the serial signal from the Lynx board is already boosted (the standard Lynx Pcb from Cristobal has a simple TTL output and thus requires an external booster).
Here is the wiring of the cable (9-way D-type free sockets) when using my Lynx Pcb. Laptop (left) to Lynx (right):
2 -------------------------- 3
5 -------------------------- 5
4 link to 6
7 link to 8
So back to the standalone programs. There are any number of these apps, however I only found two off them to date that seemed to work with the Lynx NMEA serial output. These programs read the NMEA data and convert it to KML data files that Google Earth can read real-time. As follows,
Franson GpsGATE 2.6 (available here).
GEtrax (available here)
GETRAX
The following example setup is using GEtrax. After installing the app configure the following parameters from the pull-downs:-
COM Port Number = usually com1 if you are using a laptop.
Baud Rate (NMEA) = 57600
Program Mode = Real-time Location (NMEA)
Output to Google Earth - checked
Next, here's a screenshot of GEtrax, and with the preferences I have set up.
You can either set up GEtrax to auto load Google Earth when it starts up, or wait for user input. My preference is for 'Auto' start as below. The rest of the preferences are self explanatory.
The next thing to do is to check that valid data is actually reaching GEtrax. Pressing F12 will bring up the debug window where you should be able to see the actual NMEA messages being received. As follows:
If you get this far then you are nearly ready, however, before you actually drag your laptop etc to the field, you should complete full ground testing first. I found that even in my back garden I was able to walk around with the plane and it would record some movement in Google Earth.
The following screenshot is the system actually running. The DakarOSD & Lynx are both operational, the NMEA data is being input via the com port of my laptop, GEtrax is work and the data is being fed to Google Earth. When Google Earth starts up it should immediately direct to your current GPS position and trace your movements. I was testing from my back garden as base, so the screenshot below is my street! Sorry you can't see many 'traces' as I wasn't moving around much!
Look closely you can see a wee plane around the centre of pic.
SLOWING THE SERVO MOVEMENT
If there's one comment about the software of the Lynx is that there's no dampening on the servo drive, so the antenna can whack around something silly when you first power up and the system hasn't sync'd up etc. I think this puts undue stress on the servo's what with the weight of a patch antenna, especially if it's not balanced well.
The best way of course would be to modify the software, possibly through use of an averaging formula like this = Yn=Yn-1+(1/k*(Xn-Yn-1)) , however, I don't have access to the source code. A pity, as I've used that particular averaging formula to great effect elsewhere.
So, the only way is via a hardware solution and I have found a third party device by way of the Turnigy Servo Speed Regulator. These are designed for retracts etc, but I think they may be ideal for dampening both the pan & tilt servo's. Very easy to use, they just go in series with the servo's and are adjustable.
Here's a pic of the regulators fitted to my antenna tracker. There are 3 potentiometers on each for easy tweaking of speed and direction.
And here are a couple of video clips which show them in operation with & without the Turnigy Servo Speed Regulators fitted.
Note: An added bonus with these units is the option to reverse the direction of the servo's, something I found useful on my own tilt servo which was fitted wrongly. The Lynx Pcb has a 'link' on the board to reverse the direction, but not on tilt unfortunately.
Video: WITHOUT the Speed Regulators fitted:
Video: WITH the Speed Regulators fitted:
OTHER PEOPLE'S BUILDS
Some folks from around the globe have built up my version of the DakarOSD & Lynx pcb's (which I think is outstanding!). Here are some photos:-
DakarOSD V1.1 & Lynx V2.1 from Richard in Taiwan.