Hello again! I'm not so good making intros, so imagine you just read a long and well redacted introduction of why uBlox (the best GPS ever) is so difficult to find and interface with (Specially the SparkFun version). So let's go to the point. ;-)If you are beginner please don't try to make this.Fallow this pictures in order to make the wiring (hurry!):
And this is an example of how to connect it to ArduShield, but you must configure the unit first! So continue reading for instructions.
You will need to configure uBlox module using U-center, only have to do it once, the settings will remain in the EEPROM forever. Download U-center from here and install it:http://www.ublox.com/en/evaluation-kits/u-center/u-center.htmlMake sure you supply the unit with 3.3V and interface it using the FTDI cable. When you are able to see real time data with U-center, you are ready to proceed. Click here for a u-Center user guide.Now UBX has 8 Message Class, we only use "Class 0x01" called "NAV":
Each class has "Messages ID's", we only need 3 ID's of "Class 0x01", the ones marked with blue:
If you need more information about uBlox protocols please download this uBlox_Protocol_Specification.pdf.Everything else must be disabled. Now that you know what we are trying to do, lets go with a more detailed instructions:Go to Message View by pressing F9 (menu View->messages view):
(I'm using Paparazzi instructions but modified).1. Right Click on the NMEA Text on top of the tree and choose disable child messages2. Choose UBX->CFG->NAV5(Navigation 5) - set it to use Airborne 8 <4G. This tells the Kalman filter to expect significant changes in direction.Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better3. UBX->CFG->PRT - set USART1 to 57600bps4. Change the baudrate of U-Center to 57600bps if the connection is lost at this point5. UBX->CFG->RATE(Rates) - change the Measurement Period to 250ms This gives a 4 Hz position update since 4 x 250ms is one second.6. UBX->CFG->SBAS : Disable (SBAS appears to cause occasional severe altitude calcuation errors)7. UBX->NAV (not UBX->CFG->NAV): double click on POSLLH, STATUS, VELNED. They should change from grey to black.8. UBX->CFG->CFG : save current config, click "send" in the lower left corner to permanently save these settings to the receiver.You are done!! Now plug the GPS to your ArduPilot and fly like a PRO ;-)[UPDATE:]Another great way to do it:
So far I fly with EM406, and results are bad. I can't even make plane follow fixed course.
Maybe that's because I want to use short distances (to see the plane and keep it in manual controll range), so distance from me is max 100 meters.
The problem with EM406 seem to be low update frequency 1Hz, which means ~8 meters of fly distance per second at 30Km/h. At this frequency, it looks like impossible to tune any PID algorithm. And another possible problem is mentioned by Howard, delay in GPS computation.
So now I'm hoping that using 5Hz GPS could solve the problem and my plane starts to behave better on short distances. Maybe I'll try this uBlox, Jordi where can one buy these?
I checked it, luckily the throttle servo is not using that variables. So the real definition is 80 and is used in the maximum throttle allowed in percent (80%). Thanks for that, the next revision i will change the names (2.2).
At least in 2.2beta the Sirf and UBX is working fine. I just need to test NMEA, volunteers?
Let me first say that I am a novice programmer and am learning C as I try to understand the Aurdupilot 2.1 code. I am still waiting for my FMA ir's. I am experienced RC pilot and plane builder/designer. To my point, in the #defines I see "throttle_max" defined twice. The first one as 1800 and then a few lines down as 80. How can a constant be defined twice ?
I just ordered a Venus GPS from Sparkfun, but I will need help with configuration software. Is anyone else using this GPS unit? Jordi, can you point me in the right direction, any code bits would be helpful. I have tested 2 Ardupilots with expansion boards. This GPS is for #2.
Personally i never recommend EM-406 and Locosys (to be honest) (i have a Venus but i never try it, but the software is not designed for aircraft too, so..). But uBlox as you already noted is very difficult to find and adapt. So that the reason why EM-406 was elected (at least has binary protocol). I think Locosys is very good but the only bad point is that uses NMEA, again NMEA is no intended for aircraft's, there's no climb rate. That's why is called "National Marine Electronic Association" and not "National Aeronautics Electronics Association". But the point of ardupilot 2.2 is to give the flexibility of use any GPS you want. So you can figure out by yourself what is better for you and your goals. ;-)
Many reasons, the best one i guess is because the software was really designed to be used in aircraft's also, not just in cars or boats. The software is very flexible, has build-in eeprom and is very accurate compared with others.
Comments
Maybe that's because I want to use short distances (to see the plane and keep it in manual controll range), so distance from me is max 100 meters.
The problem with EM406 seem to be low update frequency 1Hz, which means ~8 meters of fly distance per second at 30Km/h. At this frequency, it looks like impossible to tune any PID algorithm. And another possible problem is mentioned by Howard, delay in GPS computation.
So now I'm hoping that using 5Hz GPS could solve the problem and my plane starts to behave better on short distances. Maybe I'll try this uBlox, Jordi where can one buy these?
I checked it, luckily the throttle servo is not using that variables. So the real definition is 80 and is used in the maximum throttle allowed in percent (80%). Thanks for that, the next revision i will change the names (2.2).
At least in 2.2beta the Sirf and UBX is working fine. I just need to test NMEA, volunteers?
Great!!! thank you! That's a software error! :S For some reason is working....
Also, could someone explain the swiss made and "crummy asian module", i.e. uBlox 5?
-
1
-
2
-
3
-
4
-
5
of 5 Next