Servers by jDrones

New SDP33 Airspeed Sensor and Ardpuplane

Hi David,

Is the value of ARSPD_TYPE / ARSPD2_TYPE set to 6 ? Correct ARSPD_BUS for PH2 ?

Sure. Type to 6, bus left at 1.

Other Airspeedsensors are working ? I2C SDA/SCL mismatched ?

Others are working. He recognizes the sensor somehow, because he is not giving fault message. When SDA/SLC would be crossed, he would give “bad airspeed health” I assume.

I think you use a preconfigured I2C cable with JST-GH 4 pin connectors on both sides, so you can not swap anything with that cable.

Just for information: I soldered a JST-GH to DF13 cable since i use a pixhawk 1:
1 (red) VCC +5V
2 (black) SCL +3.3
3 (black) SDA +3.3
4 (black) GND GND

I just checked the messages if you did not connect the sensors:
There is no error message ! (ArduPlane V3.8.5beta1 )

if it also does not work with PX4 stack, i would turn to drotek

Regards Rolf

1 Like

Hi Rolf,

I tested the sensor again. With AP3.8.5B1 I cant get it to work, but with PX4 1.7.4 it works! Same wiring. Tested on PH2.1

Even checked the logs and airspeed reading is always zero.

@tridge Must be some issue with the code !? Changed I2C address?
How can I help fixing this?

Best
David

Hi David,

perhaps it works with the other I2C-Bus of PH2.1 ?

Rolf

Just tried AP3.8.5B2 and its now working on PH1 and PH2

PH1: just set type to 6
PH2: also set BUS to 0

Benchtesting the SDP33 vs 4525

The box is for pressure distribution. Static ports are free and on the outside. tube on the left is for applying pressure.

LOG File: https://www.dropbox.com/s/14c8rv63h36g0q2/Airspeed%20test%20.BIN?dl=0

SDP33 Green
4525 Red

Q: Why the steps of the green line in the last picture? Is this because of reduction of resolution for logging or does the sensor not output higher resolution?

I’ve got the latest one of these. Electronically it works, but the following pointers might help others. The 4 wires away from the sensor on mine are separated, with pin 1 marked with a grey strip. the wiring is this way: +3.3v, s london, sda, grd, with the 3.3v (or 5v, both work) on pin 1. As the sensor is sealed in, you cannot easily refer to the pcb. the i2c must be set to 100khz to run correctly, and the implementation does not ack reads so breaking some i2c scanners. (it appears on address 0x21 on mine. writing 0x21, 0x36, 0x7c (version request command) however gets acked. the ardupilot driver (when set to correct parameter, i believe 6) should then pick it up automatically and output a message during bootup.

Hopefully this should assist anyone trouble shooting this sensor, I nearly sent it back as it appeared not to work.

Great measuring device. The low resolution of the data recording at low speed I noticed too.

It does - the telemetry-datas are ok:

Rolf

is there any good sensor for above 50m/s ??

SDP33 issue report

So what are the known issues with this sensor? Is it yet safe to fly with it?

There’s a mention of this in the Plane 3.8.5 release notes

liang-tang has found what looks to be a floating point precision problem (which will only really manifest itself at low speeds), and I’ve encountered what looks to be missing correction factors for a variety of atmospheric conditions (primarily pressure drop in the hose, which is being badly aggravated by a fairly high density altitude)

EDIT: For now until we’ve chased these things down I’d consider the driver experimental and recommend using caution for now. (I encountered conditions where the sensor was off by 50% for me, so that needs to be resolved before I can endorse it).

4.23 test log


4.25 test log
ARSP is MS4525,ASP2 is SPD33

1 Like

The thing with this sensor is that its not really a differential pressure sensor, because this sensor needs an airflow through it to be able to measure.
Basically the sensor measures the airflow trough it via the cooling of an heating element by the airflow. This is kind of the same as with an hot wire anemometer.

Here is an article from the manufacturer on how that works:

Most important:

The integrated calibration is implemented so that the flow can be
correctly measured over the entire temperature range. Consequently, no further temperature compensation is
required for the conversion of the differential pressure output signal to mass or volume flow.

Do we still compensate this sensor for altitude and temperature?

@palm369 You are correct about how the sensor works. But because we are not interested in a mass flow number, but a differential pressure number you do require an external barometer (which we of course have on the autopilot), but any errors with this will propagate to the airspeed driver. Further the sensor is designed to be used without tubing. When used with tubing you need to compensate for the pressure drop in the hose, which does scale with altitude (and temperature). https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/8_Differential_Pressure/Sensirion_Differential_Pressure_Sensors_SDP3x_Pressure_Drop_In_Hose.pdf

2 Likes
Servers by jDrones