New speed sensor: SDP3x
Moderator: rainer
New speed sensor: SDP3x
Many thanks to mstrens for the integration of the sensor family SDP3x and SDP8x into the project openXsensor !
SDP3x and SDP8x are thermal-flow-sensors.
I have been using thermal-flow sensors for 5 years now for measuring airspeed, but also for angle of attack and sideslip measurements.
The measuring principle of a thermal-flow-sensors is superior to the usual membrane-sensor principle ( e.g. 4525DO (digital) or MPXV7002 (analog)) for the low pressure differences of our glider models.
Especially at low pressure differences, i.e. small flight speeds, the sensitivity of a thermal-flow-sensors is high and its best field of application. Only at high to very high flight speeds (about 100 km/h or more) are the sensors based on the membrane principle more sensitive and can resolve the flight speed better.
Information about the SDP3x in the appendix.
SDP3x and SDP8x are thermal-flow-sensors.
I have been using thermal-flow sensors for 5 years now for measuring airspeed, but also for angle of attack and sideslip measurements.
The measuring principle of a thermal-flow-sensors is superior to the usual membrane-sensor principle ( e.g. 4525DO (digital) or MPXV7002 (analog)) for the low pressure differences of our glider models.
Especially at low pressure differences, i.e. small flight speeds, the sensitivity of a thermal-flow-sensors is high and its best field of application. Only at high to very high flight speeds (about 100 km/h or more) are the sensors based on the membrane principle more sensitive and can resolve the flight speed better.
Information about the SDP3x in the appendix.
Re: New speed sensor: SDP3x
My application example with 3 thermal-flow-sensors and a 5-hole-probe. With this arrangement, flight speed, angle of attack and angle of sideslip are measured simultaneously. The long fuselage head of my F3J thermal glider serves as a probe head, which protrudes far in front of the wing
3 thermal-flow-sensors (old version SDP6x, similar to SDP8x) inside fuselage:
3thermal-flow-sensors with fuselage-nose as probe:
5-hole-probe at fuselage-nose:
3 thermal-flow-sensors (old version SDP6x, similar to SDP8x) inside fuselage:
3thermal-flow-sensors with fuselage-nose as probe:
5-hole-probe at fuselage-nose:
Re: New speed sensor: SDP3x
In my current project I am equipping my small DLG glider with sensors:
Here I use openXsensor.
Until now I use a variometer (sensor: MS5611) with a TEK-probe (type: "Braunschweiger Düse"),
a voltage measurement of the 4 single cells of the receiver battery (sensor: 4xADC with voltage divider 1.1Volt)
and a current measurement of the receiver battery (sensor: ACS712-5A with ADS1115 )
It is now supplemented by a speed measurement.
I use the small SDP3x (dimensions 8 x 5 x 4 mm), which is directly attached to the selfmade pitot tube.
So only thin data lines go to the openXsensor and hose connections are not necessary
Please be patient until I send pictures.
Here I use openXsensor.
Until now I use a variometer (sensor: MS5611) with a TEK-probe (type: "Braunschweiger Düse"),
a voltage measurement of the 4 single cells of the receiver battery (sensor: 4xADC with voltage divider 1.1Volt)
and a current measurement of the receiver battery (sensor: ACS712-5A with ADS1115 )
It is now supplemented by a speed measurement.
I use the small SDP3x (dimensions 8 x 5 x 4 mm), which is directly attached to the selfmade pitot tube.
So only thin data lines go to the openXsensor and hose connections are not necessary
Please be patient until I send pictures.
Re: New speed sensor: SDP3x
Why thermal-flow-differential-pressure-sensor SDP32-125Pa ?
You get the best resolution and accuracy for measurement of low speed while thermal circling.
This is the only way that electronic variometer compensation with openXsensor can work well.
Ready for the first beta test with the extended openXsensor software.
Many thanks to author mstrens for his untiring work on the software for openXsensor.
You get the best resolution and accuracy for measurement of low speed while thermal circling.
This is the only way that electronic variometer compensation with openXsensor can work well.
Ready for the first beta test with the extended openXsensor software.
Many thanks to author mstrens for his untiring work on the software for openXsensor.
Re: New speed sensor: SDP3x
How to built a pitot probe with integrated SDP3x
Re: New speed sensor: SDP3x
My measurement project with a 1.5m-Discus-Launched-Glider is possible with the small dimensions of the openXsensor.
It is installed with openXsensor :
(1)compensated variometer (barometric sensor MS5611) and TEK-probe (type: "Braunschweiger Düse")
(2)airspeed measurement (differential pressure sensor SDP32-125Pa) and a "Prandtl" pitot probe
(3)voltage measurement of the 4 single cells of the receiver battery (sensor: 4xADC with voltage divider 1.1Volt)
(4)current measurement of the receiver battery (hall sensor: ACS712-5A with ADS1115 )
With this device it is possible to equip the variometer with total energy compensation in two ways.
One is the classical way via a TEK-probe, for example of the type Braunschweiger Düse.
The Braunschweiger Düse is particularly suitable for the Reynolds number range in model gliders and is relatively insensitive to a sideslip angel.
On the other hand the variometer can be compensated electronically if a speed sensor and a Prandtl tube are available.
Then the compensated value for the variometer is calculated electronically, taking into account the value for the change in airspeed.
In my example I can compare the quality of the two types of compensation of the variometer.
It is installed with openXsensor :
(1)compensated variometer (barometric sensor MS5611) and TEK-probe (type: "Braunschweiger Düse")
(2)airspeed measurement (differential pressure sensor SDP32-125Pa) and a "Prandtl" pitot probe
(3)voltage measurement of the 4 single cells of the receiver battery (sensor: 4xADC with voltage divider 1.1Volt)
(4)current measurement of the receiver battery (hall sensor: ACS712-5A with ADS1115 )
With this device it is possible to equip the variometer with total energy compensation in two ways.
One is the classical way via a TEK-probe, for example of the type Braunschweiger Düse.
The Braunschweiger Düse is particularly suitable for the Reynolds number range in model gliders and is relatively insensitive to a sideslip angel.
On the other hand the variometer can be compensated electronically if a speed sensor and a Prandtl tube are available.
Then the compensated value for the variometer is calculated electronically, taking into account the value for the change in airspeed.
In my example I can compare the quality of the two types of compensation of the variometer.
Re: New speed sensor: SDP3x
Since yesterday I did airspeed measurements with sdp32 + Prandtl probe in air. It works very well.
For example my Discus-Launched-Glider is cruising with about 20 km/h. This is airspeed i simulated riding with my bycicle the day before.
Next flights I will check Minimum speed with setting flaps and landing speed with catching the glider with my hands.
Note:
sdp3x is usable as sensor for meteorological anemometer.
Therefor you have always an anemometer installed at your aircraft with resolution 1 km/h.
For example my Discus-Launched-Glider is cruising with about 20 km/h. This is airspeed i simulated riding with my bycicle the day before.
Next flights I will check Minimum speed with setting flaps and landing speed with catching the glider with my hands.
Note:
sdp3x is usable as sensor for meteorological anemometer.
Therefor you have always an anemometer installed at your aircraft with resolution 1 km/h.
Re: New speed sensor: SDP3x
Measurements with SDP32-125Pa in flight.
You can measure airspeed in range from 0 km/h up to 52 km/h.
( If you are faster this is no problem, only the value output stops at 52 km/h )
You get an airspeed resolution of 0.05 m/s = 0.18 km/h.
You can measure airspeed in range from 0 km/h up to 52 km/h.
( If you are faster this is no problem, only the value output stops at 52 km/h )
You get an airspeed resolution of 0.05 m/s = 0.18 km/h.
Re: New speed sensor: SDP3x
Notice:
The visible resolutions of the measured values are subject to different conditions.
(1)
The SDP3x has a resolution that depends on the measuring range.
The differential pressure is resolved with 16-bit signed resolution, which means about 15-bit for the positive differential pressures, which are converted into flow velocity. The calibrated scale factor is given in the data sheet.
SDP32-125Pa has the absolute resolution of 240 steps per Pascal or 0.004 Pascal per step.
SDP31-500 Pa has the absolute resolution of 60 steps per Pascal or 0.016 Pascal per step.
The resolution for the airspeed corresponding to the differential pressure is a function of the airspeed itself:
res_v = sqrt ( v² + 2 * res_p/ rho) - v
With
res_v = resolution of the flow velocity in m/s
v = flow velocity in m/s
res_p = digital resolution of the sensor ( e.g. SDP32 has 1/240 Pascal = 0.004 Pa)
rho = air density
For example, at 20km/h the digital resolution of the SDP32 leads to a resolution of about 0.0023 km/h.
For example, at 50km/h the digital resolution of the SDP32 leads to a resolution of about 0.0009 km/h.
(2)
The calculations in the code of oXs_sdp3x.cpp make smoothing and interpolation of the raw sensor data. Therefore there are also intermediate values for (1)
(3)
For the telemetry values, conversions and decimal places are also defined in openTX. These are then logged on SD card.
The evaluation diagram then shows the apparent resolution depending on (1) and (2) and (3), which are visible in the steps in the curve in the measurement diagram.
The visible resolutions of the measured values are subject to different conditions.
(1)
The SDP3x has a resolution that depends on the measuring range.
The differential pressure is resolved with 16-bit signed resolution, which means about 15-bit for the positive differential pressures, which are converted into flow velocity. The calibrated scale factor is given in the data sheet.
SDP32-125Pa has the absolute resolution of 240 steps per Pascal or 0.004 Pascal per step.
SDP31-500 Pa has the absolute resolution of 60 steps per Pascal or 0.016 Pascal per step.
The resolution for the airspeed corresponding to the differential pressure is a function of the airspeed itself:
res_v = sqrt ( v² + 2 * res_p/ rho) - v
With
res_v = resolution of the flow velocity in m/s
v = flow velocity in m/s
res_p = digital resolution of the sensor ( e.g. SDP32 has 1/240 Pascal = 0.004 Pa)
rho = air density
For example, at 20km/h the digital resolution of the SDP32 leads to a resolution of about 0.0023 km/h.
For example, at 50km/h the digital resolution of the SDP32 leads to a resolution of about 0.0009 km/h.
(2)
The calculations in the code of oXs_sdp3x.cpp make smoothing and interpolation of the raw sensor data. Therefore there are also intermediate values for (1)
(3)
For the telemetry values, conversions and decimal places are also defined in openTX. These are then logged on SD card.
The evaluation diagram then shows the apparent resolution depending on (1) and (2) and (3), which are visible in the steps in the curve in the measurement diagram.
Last edited by Tempo on Tue May 19, 2020 10:57 am, edited 3 times in total.
Re: New speed sensor: SDP3x
You want to compensate your variometer electronically ?
Then you need openXsensor, an barometric sensor, an air speed sensor and a Prandtl tube with 3 connections !
It is good to branch off the static pressure directly at a Prandtl tube.
Don't make the branch after a long hose line, this gives errors in static pressure.
My self-made solution:
Fix the sensor with shrink tube and plywood holder:
Then you need openXsensor, an barometric sensor, an air speed sensor and a Prandtl tube with 3 connections !
It is good to branch off the static pressure directly at a Prandtl tube.
Don't make the branch after a long hose line, this gives errors in static pressure.
My self-made solution:
Fix the sensor with shrink tube and plywood holder:
Re: New speed sensor: SDP3x
It seems that the branch sdp3x is OK.
So, I just merged the branch sdp3x into the branch master.
Therefore I also deleted the branch sdp3x.
The new branch master contains also some changes made by Mike in order to support Sport protocol with his own firmware for D receiver (using then another pin for Rx connection).
So, I just merged the branch sdp3x into the branch master.
Therefore I also deleted the branch sdp3x.
The new branch master contains also some changes made by Mike in order to support Sport protocol with his own firmware for D receiver (using then another pin for Rx connection).
Re: New speed sensor: SDP3x
Soldering on the SDP3x with a magnifying glass is a challenge.
That's what I did with soldering :
Soldering works best if you put the silicone tube (without talcum or rinsing out talcum) on both pressure connections and fix the sensor e.g. "relaxed in a miniature vice".
I use 0.2mm teflon insulated wire for the connections. With a stripped piece of this 0.2mm wire I bent a suitable "U" to dot all GND contacts on the chip.
Strain relief of the twisted 4 wires works very well by wrapping the sensor housing once.
First tin the small solder contacts on the SDP3x with very little solder before you put the wires on. It is best to fix the wires in position so that you can solder without wiggling and the solder solidifies without wiggling.
Start first with the U-wire bridge, which is dotted on pins 1,2,3,9,10,11 and on the center solder pad. All this is GND.
Then connect the black wire GND to pin 6 as well as to the big centric solder pad.
Finally dot the other 3 wires.
Everything clear ?
That's what I did with soldering :
Soldering works best if you put the silicone tube (without talcum or rinsing out talcum) on both pressure connections and fix the sensor e.g. "relaxed in a miniature vice".
I use 0.2mm teflon insulated wire for the connections. With a stripped piece of this 0.2mm wire I bent a suitable "U" to dot all GND contacts on the chip.
Strain relief of the twisted 4 wires works very well by wrapping the sensor housing once.
First tin the small solder contacts on the SDP3x with very little solder before you put the wires on. It is best to fix the wires in position so that you can solder without wiggling and the solder solidifies without wiggling.
Start first with the U-wire bridge, which is dotted on pins 1,2,3,9,10,11 and on the center solder pad. All this is GND.
Then connect the black wire GND to pin 6 as well as to the big centric solder pad.
Finally dot the other 3 wires.
Everything clear ?
Re: New speed sensor: SDP3x
Hi Tempo, not sure if you are still active with this project? If you are still around, do think it would be relatively straightforward to use the oXs_sdp3x.cpp code as the basis for coding a dedicated airspeed probe (using Arduino coding)?
Of course I would welcome anyone else's comments on this too
Of course I would welcome anyone else's comments on this too
Re: New speed sensor: SDP3x
Not sure if I understand your question correct. If you configure openXsensor accordingly you will get an dedicated airspeed sensor without any further coding. If this is what you want, I can assist with config files.ArgoHG wrote: ↑Wed May 26, 2021 9:10 am Hi Tempo, not sure if you are still active with this project? If you are still around, do think it would be relatively straightforward to use the oXs_sdp3x.cpp code as the basis for coding a dedicated airspeed probe (using Arduino coding)?
Of course I would welcome anyone else's comments on this too
Re: New speed sensor: SDP3x
Sorry Carbo, that was a little vague of me.
Coming to oXs 'cold' it looks like a lot of code for just one dedicated function ---> IAS (or TAS if another sensor is added).
My thinking was to use the oXs_sdp3x.cpp code as the basis of my own Arduino program, in the process learning/understanding the coding needed for airspeed.
As you say, perhaps I should learn how to configure the (awesome!) oXs for my application and go from there? That said I did try to run oXs on a TinyPico and there seemed to incompatibilities with the hardware?
Coming to oXs 'cold' it looks like a lot of code for just one dedicated function ---> IAS (or TAS if another sensor is added).
My thinking was to use the oXs_sdp3x.cpp code as the basis of my own Arduino program, in the process learning/understanding the coding needed for airspeed.
As you say, perhaps I should learn how to configure the (awesome!) oXs for my application and go from there? That said I did try to run oXs on a TinyPico and there seemed to incompatibilities with the hardware?
Re: New speed sensor: SDP3x
O' and thank you for the kind offer re: config files
Re: New speed sensor: SDP3x
Please find attached an openXsensor folder. It should run with a FrSky S-Port RX and Arduino nano or pro mini. All features are disabled besides airspeed with SDP3X. Remember to add 4.7k pullup resistors to i2c lines. I decided to make my own breakout board for a better handling.
- Attachments
-
- openXsensor.zip
- (324.2 KiB) Downloaded 166 times
-
- final.jpg
- (152.85 KiB) Not downloaded yet
Re: New speed sensor: SDP3x
Wow. nice job on the homebrewed breakout board. I've soldered similarly sized devices and its not easy.
Your oXs.zip compiled perfectly on my PC for a Nano. Great to have working code to start with! This is for hang gliding airpeed sensor that will BT across to my flight computer (XCTrack or XCSoar on my phone). Airspeed greatly assists the wind direction calcs (versus just GPS positional data).
I tried compiling oXs with various boards and its actually quite specific. For instance Arduino Mini will not compile but Uno, Mini & Nano will. Anything non-Arduino I tried (eg: Adafruit Feather) will not compile.
Thank you again for all your help so far
Your oXs.zip compiled perfectly on my PC for a Nano. Great to have working code to start with! This is for hang gliding airpeed sensor that will BT across to my flight computer (XCTrack or XCSoar on my phone). Airspeed greatly assists the wind direction calcs (versus just GPS positional data).
I tried compiling oXs with various boards and its actually quite specific. For instance Arduino Mini will not compile but Uno, Mini & Nano will. Anything non-Arduino I tried (eg: Adafruit Feather) will not compile.
Thank you again for all your help so far