This is the continuation of our Ranger EX QuadPlane conversion thread using APM v3.8.0 firmware. The original thread, Part 1, is in the v3.6.0 forum here.
Part 1 left off where my initial transition to forward flight was successful but the plane stalled after turning with the wind. I quickly became “schooled” in the need for an air speed sensor and have recently updated my Ranger EX to APM Plane v3.8.0 beta 5.
Here is a photo of my Ranger EX conversion:
I installed the analog air speed sensor that I had on hand after first converting the cable from the older APM 2.x board to a 3-pin Molex for my Pixhawk v2.4.8 clone. The pitot tube installed easily with just a couple wood screws into the ranger base plate.
The APM Wiki section, Using an Airspeed Sensor, was very informative and the only setup issue I ran into was that I additionally needed to set ARSPD_TYPE = 2 for analog sensors.
Thanks Greg for the progress update. I’m seeing more and more this is truly the way to go. When are you taking it out for another spin? Looking forward to seeing it in action.
Lastly, how are you liking 3.8? I’ve not ventured yet. I’m still in 3.7 waiting until kinks get ironed out. What are your thoughts so far? Any issues importing your 3.6 parameters into 3.8?
I haven’t seen any issues with the upgrade. No re-calibration or re-loading of parameters is needed. I did see the new Q_ASSIST_ANGLE parameter that aids the Q_ASSIST_SPEED parameter in keeping the plane from stalling.
My next test may be at a local park field because I need to use the normal (non-quadplane) wing set to verify that the air speed sensor is working properly. It looks good in Mission Planner when I blow into the pitot tube so I will test it out in flight and verify the log results.
My next Ranger EX QuadPlane test will likely be in 2 or 3 weeks at the sanctioned flying field about 50 minutes drive. It’s nice and open for when my experiments go wrong.
HA! Indeed always good to have a little space for “hiccups” during our R&D. Best success in your upcoming flights!
dont forget to set ARSPD_FBW_MIN, ARSPD_FBW_MAX, TRIM_ARSPD_CM and TRIM_THROTTLE according to the intended minimum, maximum and cruising speed of your airplane, also TECS_CLIMB_MAX, TECS_SINK_MIN.
Cover the pitottube during pre-flight calibration of ARSPD_OFFSET!
We specified ARSPD_TUBE_ORDER ( 0 or 1 ) according to the actual connections .
Thanks for the tips! One of my goals is to figure out the stall speed of my Ranger EX QuadPlane. It must be higher than the stock version of the plane with the added weight and drag. Below are my default param settings for airspeed with my analog sensor. I have little understanding of them. I can blow into my pitot tube and see the airspeed value go up to 20 or 30 m/s so it appears to be working. The default ARSPD_RATIO of 2 is supposed to be good for most setups. I did not calibrate my ARSPD_OFFSET yet but I did make a foam cover for the pitot tube.
I changed the default setting for Q_ASSIST_SPEED from 10 to 12m/s as a precaution against stalls. This may keep the quad rotors on excessively so I am not sure it is good or needed until I try it. We use m.p.h here in the states so it seems that 1m/s is about 2mph.
I created an image below of GPS speed and my telemetry flight path with wind direction. The stall is around line 114 where the speed drops. If we assume 16mph wind (or 8m/s) then the plane speed was (GPS speed - wind speed) or 17 - 8 or approximately 9m/s. This rough estimation seems like the default Q_ASSIST_SPEED of 10 would still work as long as you install an air speed sensor.
on the first flight I would set ARSPD_USE to 0 (sensor will be logged and displayed on a GCS but won’t be used for this flight) and fly some “airfield traffic patterns” downwind / upwind legs in FBW-A mode in stable height and throttle setting.
After landing you can adjust ARSPD_RATIO
If you are satisfied, for the next flight set ARSPD_USE to 1.
With our VTOL we have the experience that for low speeds a good preflight calibration of ARSPD_OFFSET ist impotant.
I’m curious about your experiences and guess you’ll soon install the digital sensor.
Thanks again for the information. It makes sense to verify that the air speed sensor is working properly before putting it to use. From my APM thread on RC Groups, Rollys has supplied the following information on his Ranger EX QuadPlane which is similar to mine.
Here are his parameters based on actual flights and logs using the PX4 stack. His uses the stock RTF motor, APC 1055MRP, 4S 10000 LiPo, CG 77mm, and AUW is 4117g/ 9.1 lbs. Mine uses 8000mAh Lipo with CG around 63mm.
I can use his Full Throttle Airspeed to set ARSPD_FBW_MAX to 22 instead of 24. Since ARSPD_FBW_MIN is 12 m/s, it seems that raising Q_ASSIST_SPEED from 10 to 12 is a good choice. On your Mozart tilt-rotor plane, do you have Q_ASSIST_SPEED set equal to ARSPD_FBW_MIN?
- Full Throttle Airspeed: 22.352 m/s - 50 mph
- Idle Throttle Airspeed: 12.07 m/s - 27 mph
- Mid Throttle Airspeed: 17.0 m/s - 38 mph
- Transition Airspeed: 17.0 m/s - 38 mph
- Transition Throttle Set: 100% in the beginning but have tuned it down to 85% (This is the throttle setting during the entire transition period)
- Transition Duration: 5 seconds
- Transition Timeout: 15 seconds (Max time it spends in attempting to transition from MC to FW)
- Cruise Throttle Setting: 60%
I guess that a trimotor tiltrotor VTOL do not really have an advantage from the Q_ASSIST_SPEED function, since both front motors are tilted forward and the rear prop alone will not be able to rescue if a stall occurs. So we set Q_ASSIST_SPEED to 0.
On a tiltrotor, ARSPD_FBW_MIN is the airspeed at which the tiltable motors/props immediately tilt fully forward and which must not be lower than stall speed.
A precise measurement of the airspeed is therefore in tiltrotor VTOLs ( without possibility to use Q_ASSIST) very helpful.
Yes, it makes sense that the Q_ASSIST_SPEED is only for QuadPlanes. One of my difficulties is in having so many different aircraft that require you to change your brain whenever you change transmitter models. My FireFLY6 from BEV Aerobotics uses a hover/forward flight level like my CL-84 and V-Hawk. My copters are always in hover mode and only some of my planes use APM.
I tested my Ranger EX in my backyard using QSTABILIZE with v3.8.0 beta 5 and it hovers just fine. The only change I saw was that Q_M_SPIN_ARM was set back to 0.1. Typically, I keep mine set to 0.0 but I may just use the default now.
Also, I got lucky on my Z1 Tiny 2 gimbal. Only the power wires tore out and the mounting tabs bent so it was an easy fix and works great again!
ARSPD_TUBE_ORDER: Control pitot tube order
This parameter allows you to control whether the order in which the tubes are attached to your pitot tube matters. If you set this to 0 then the top connector on the sensor needs to be the dynamic pressure. If set to 1 then the bottom connector needs to be the dynamic pressure. If set to 2 (the default) then the airspeed driver will accept either order. The reason you may wish to specify the order is it will allow your airspeed sensor to detect if the aircraft it receiving excessive pressure on the static port, which would otherwise be seen as a positive airspeed.
Currently, my ARSPD_TUBE_ORDER is set to the default of 2. I am not fully understanding the benefit of using a setting of 0 or 1. Assuming that you have the proper order identified, does this produce a more accurate airspeed?
I changed my flight modes to a more usable order on the 6-position switch. It will allow for an easier transition from hover to forward flight. I also decided to try CRUISE mode instead of FBWB so it will be a fun test!
I believe its just there so you can quickly test to make sure the static port is zero as it should be.
Ok, thanks. Mine seems to hover around 2 (as shown above) which appears to be normal according to the wiki. So for now, I’ll leave my ARSPD_TUBE_ORDER set to the default of 2.
After my initial test (or tests) using the analog sensor and graphing the airspeed against GPS speed, I will probably try my digital sensor to see if there is a significant increase in accuracy. I am open to comments from anyone that has done this already.
What would be a good logged parameter to graph when the quadrotors are being used or not being used in forward flight? I have set both Q_ASSIST_SPEED and ARSPD_FBW_MIN to 12m/s and wish to determine if the quadrotors are being used effectively or excessively.
Greg: you choose X or H configuration for your VTOLS?
After about 50 flights the airspeedsensor (I2C 4525DO) on my skyeye ( https://hobbyking.com/en_us/hobbykingr-tm-sky-eye-epo-fpv-glider-w-flaps-2000mm-pnf.html?wrh_pdp=3 ) had a failure.
Just airborne, the airpeed stayed at about 30 km / h (normally 50 km/h with 40% throttle while level-flight).
Likely as a result of partially obstruction of the pitot tube by muck or grain of sand. At home I cleaned the tubes with compressed air - of course not connected to the sensor-chip. Next flight we will see if that was the cause.
Ardupilot has 2-3 IMUs/ACCs/MAGs/GPS but only one pitot tube. The possibility to read 2 sensors would be great.
( The importance of possible in flight failures of pitot tubes airspeed measeruements is demonstrated by Air France Flight 447 tragedy.
The 4525DO sensor is very sensitive to sunlight, We have made sure that we did not make the preflight calibration in the shade while bright sunshine.
I’m curious about your experiences.
I use x configuration like this:
Q_FRAME_CLASS can be:
- 0 for quad
- 1 for hexa
- 2 for octa
- 3 for octaquad
Q_FRAME_TYPE chooses the motor layout"
- 0 for plus frame
- 1 for X frame
- 2 for V frame
- 3 for H frame
Oh my! I think you just solved my issue from today’s test flying! I will post a video soon but my Ranger went nuts when I transitioned from QSTABILIZE mode to FBWA mode. It started to fly strait up so I transitioned safely back to QSTABILIZE mode. I did it twice on video so you can see it and was able to land safely.
The changes from my previous test flight were the addition of an air speed sensor and firmware change from v3.6.0 to v3.8.0 beta 5. I never checked the frame and class settings!
Here is what I found when I looked at my new parameter file after loading Plane 3.8.0 beta 5.
Thank you very much for the information!
Thank´s Greg: I´m going to check that too, just in case, because I configure and without flying for the first time, I update the firm.