OXSENS openXsensor: Hochpräziser Geschwindigkeitsensor SDP3x

Tempo

Erfahrener Benutzer
#61
Hallo Rolf,

wenn du den Code im DEBUG mode laufen lässt, werden wechselnde positive und negative Differenzdrücke des SDP3x direkt am seriellen Monitor der Arduino-IDE angezeigt.

DEBUG-mode wird im file oXs_config_macros.h aktiviert. Ganz oben wird // entfernt vor #define DEBUG.

Code:
#ifndef OXS_CONFIG_MACROS_h
#define OXS_CONFIG_MACROS_h

// --------- xx - Reserved for developer. DEBUG must be activated here when we want to debug one or several functions in some other files. ---------
//#define DEBUG
///#define DEBUG_BLINK   // use by developper in order to blink the led without using uart for debugging
 

Tempo

Erfahrener Benutzer
#62
Kann an der Perspektive liegen, aber für den linken (eingekreisten) Lötpunkt würde ich keinen Finger ins Feuer legen wollen...

Anhang anzeigen 181649
Hallo Klaus,

Bussard hat genau hingeschaut und ich sehe es wie er.

Das Lot perlt gerne an den Lötpads des SDP3x ab. Daher verzinne ich diese einzeln bevor ich die Drähte anpunkte. Dann nimmt das Lötpad schnell das Lot vom Draht an. Separates Flussmittel benutzen erleichtert auch die schnelle und gleichmäßige Erwärmung zum Anlöten.
 

Rolf_

Erfahrener Benutzer
#63
Hallo Rolf,

wenn du den Code im DEBUG mode laufen lässt, werden wechselnde positive und negative Differenzdrücke des SDP3x direkt am seriellen Monitor der Arduino-IDE angezeigt
Hallo Tempo,

ich hatte den SDP gleich direkt an einen Flightcontroler mit Arduplane Firmware angeschlossen, weil diese Software bereits Treiber für die SDPx Sensoren hat und umfangreiche Logfunktionen (Attitude, GPS-Daten, Airspeed von weiteren Airspeedsensoren etc.) hat.

Die Kompilierung einer Arduplane-Variante ohne Absolutsetzung der Differenzdrücke hatte ich jetzt gemacht, aber leider habe ich den Sensor wahrscheinlich beim "Nachlöten" geschrottet. Beim Test mit bisheriger Firmware lief der Sensor auf einmal nicht mehr. Bei genauem Hinschauen stellte sich heraus, dass ein Kabel abgegangen war ... kalte Lötstelle also . Nach dem erneuten Anlöten habe ich ihn nicht mehr zum Leben erwecken können. Leider. Ärgere mich, dass ich den Sensor nicht gleich nach dem ersten erfolgreichen Funktionstest mit Heisskleber "eingeschweisst" hatte, dann wäre das nicht passiert.

Einen vorsorglich mitbestellten zweiten Sensor habe ich dann gleich auch vermurkst, weil ich die Anschlüsse auf der falschen längsseite im Eifer des Gefechts angelötet hatte :cry::cry::cry:

Diese Feinlötsachen an SMD Anschlüssem sind doch leider jenseits meiner Alltagslötroutinen.
Muss da erst mal was in das Löten so kleiner Anschlüsse üben. Auf jeden Fall ein spannendes Projekt - und nach Überwindung der Lötprobleme werde ich bestimmt weiter machen.

LG Rolf
 
#64
Ich will schon länger mal die Flugleistungen eines großen FPV Wing messen. Eine gute Gelegenheit die SDP Sensoren zu testen. Der SDP810 ist mir eine Nummer zu groß, besonders bei den Schlauchanschlüssen, also habe ich mir den Kleinen bestellt. Die Schläuche vom Hacker-Duplex Pitotrohr sollten perfekt passen.

In der verschweißten Versandtüte habe ich das Ding fast nicht gefunden, so klein ist das :oops: In der Realität ist es nochmal kleiner, als es auf den Bildern rüberkommt. Drei Stück nebeneinander sind etwa so groß wie ein JR-Servostecker. Und es soll ja am Ende auch noch handhabbar im Modell werden .....

Frei verdrahten möchte ich diese Größe nicht mehr, deswegen habe ich mich entschieden, den SDP in eine ausgesägte Lochstreifenplatine zu kleben. Oberkante mit den Luftanschlüssen bündig mit der Platinenoberseite. So kann ich "vernünftige" Kabel adaptieren und auch den 100nF Kondensator unterbringen, der die Betriebsspannung entkoppeln soll. Sieht erstmal nach Grobschlosser aus, könnte aber klappen. In der Mitte auf dem GND-Feld ist übrigens ein kleines Loch, das freibleiben muss.

Wer das Standard-China-Pitotrohr unterbringen kann, sollte wirklich besser den SDP810 verwenden, das spart Zeit und Nerven ;) Die Leistung ist identisch.
Traeger.jpg
 
#66
Ein FX-79. Wenn der Sensor funktioniert, wird er sofort eingeharzt ;)
Draht.jpg
 
#67
Ich krieg den Sensor nicht an's Laufen. Debug bringt mir die Fehlermeldung:
"Read SDP3x done. I2C Error code= 1"
Aber ein i2c Scanner bestätigt mir die korrekte i2c Adresse. Ich hab mal mstrens angeschrieben, ich hoffe, er entdeckt den Fehler. Und ich hoffe nicht, dass ich das Teil geschrottet habe, ich war extrem vorsichtig. 3,3V liegen an (sonst hätte der i2c Scan nicht geklappt) und der Block in der Mitte hat auch GND Potential.
 

Anhänge

Bussard

Erfahrener Benutzer
#68
Mach mal versuchsweise einen anderen Abblockkondensator ran, solche Folien-Cs gibt es mit gestapelten Folien, jede Lage mit beiden Polen verbunden, als auch als reinen Wickel, wo nur Anfang und Ende des Wickels kontaktiert sind. Letztere eignen sich nicht als HF-Blocker.

edit-Folien
 
Zuletzt bearbeitet:
#69
Der Fehler tritt schon am seriellen Monitor im Debug-Modus auf. @fa223 beschreibt exakt das gleiche Verhalten. Aber der Meister hat mich natürlich auf die richtige Spur gebracht: es fehlen die Pullup-Widerstände. Das Problem entsteht nicht, wenn man einen GY-63 parallel am i2c betreibt, der hat die nämlich intern drin. Aber bei einem standalone SDP Sensor muss das in die Hose gehen. Also 2 mal 4.7k von SDA und SCL an 3,3V gelötet und das Ding tutet.

Allerdings ist die Geschwindigkeit nicht korrekt, da muss der Meister nochmal ran. Ich hatte vorher den Faktor 10 in den Sketch geschrieben und bin zweimal mit normaler und zweimal mit niedriger Geschwindigkeit 15m im Haus gelaufen. Die Anzeige hätte rund 50 und 30km/h ergeben müssen. Vielleicht hängt das mit meinem 500pa Sensor zusammen, mal sehen. Auf jeden Fall ist es sehr beeindruckend, jetzt Airspeed in der Fußgängerzone messen zu können.
 

Anhänge

#70
Ach ja, die Schläuche vom Hacker Duplex passen, wie wenn sie genau für den Kleinen gemacht wären, das entschädigt ein bisschen für den Aufwand.
 

Anhänge

Tempo

Erfahrener Benutzer
#71
...
Allerdings ist die Geschwindigkeit nicht korrekt, da muss der Meister nochmal ran. Ich hatte vorher den Faktor 10 in den Sketch geschrieben und bin zweimal mit normaler und zweimal mit niedriger Geschwindigkeit 15m im Haus gelaufen. Die Anzeige hätte rund 50 und 30km/h ergeben müssen. Vielleicht hängt das mit meinem 500pa Sensor zusammen, mal sehen. Auf jeden Fall ist es sehr beeindruckend, jetzt Airspeed in der Fußgängerzone messen zu können.
Hallo Carbo,

die Geschwindigkeit wird korrekt angezeigt, wenn du in config_advanced.h unter "Nummer 5. Airspeed settings" die Einstellung "//#define AIRSPEED _IN_KMH" nicht aktivierst, d.h. mit // auskommentiert lässt.
Da ist ein Fehler im Code von oXS_sdp3x.cpp, wenn du die Art und Reihenfolge der Berechnungen anschaust.

Also diese Einstellung wählen und du erhältst im Taranis-Sender echte km/h Werte übertragen:

Code:
// --------- 5 - Airspeed settings ---------
#define AIRSPEED_AT_SEA_LEVEL_AND_15C // if this line is commented, airspeed is calculated using baro pressure and temperature (so being "true" airspeed instead of normalised airspeed) 
//#define AIRSPEED_IN_KMH  // uncomment this line if airspeed has to be in km/h instead of knot/h ( except some old versions, openTx expects knot/h)
Der Code liest den Skalierungswert des SDP3x automatisch aus, also erkennt automatisch den jeweils angeschlossenen SDP3x. Das sollte funktionieren und nicht die Ursache deiner falschen Geschwindigkeitswerte sein.

Ich bin einfach mit meinem Fahrrad, dem Sensor am Prandtlrohr und mit dem "sprechenden" Taranis-Sender losgefahren, um die Sensorwerte mit den Fahrradtachowerten zu vergleichen.

Viel Spass !
 
Zuletzt bearbeitet:
#72
Hallo Tempo,

Airspeed in km/h habe ich nicht aktiviert, das passt. Die Umrechnung in oXS_sdp3x.cpp sieht eigentlich auch gut aus, dort habe ich den Faktor 10 eingebaut:
airSpeedData.airSpeed.value = airSpeedData.smoothAirSpeed * 1.943844492 ; // from cm/sec to 1/10 knot/h

Das Hacker Pitot Rohr hat eine sehr dünne Bohrung, eventuell bekomme ich damit nicht den erforderlichen Volumenstrom hin. Hast du Infos über den Minimalquerschnitt?

Edit: Laut den Herstellerhinweisen zu "Pressure drop in a hose" macht es kaum Sinn, den Sensor mit dem Hacker Duplex zu betreiben, weil die Querschnitte viel zu gering sind. Ich muss den Staudruck anders aufnehmen ...

Edit2: Ich hab mal passenden Silikonschlauch bestellt um das China-Pitot-Rohr zu adaptieren. Damit werde ich dann nächste Woche weitermachen.
 
Zuletzt bearbeitet:

Tempo

Erfahrener Benutzer
#73
Ich benutze folgende Strömungsquerschnitte, mit denen der Strömungssensor SDP32-125Pa einwandfrei funktioniert.
Der kleinste Strömungsquerschnitt ist die Öffnung direkt am Sensor.

Gesamtdruck:
Messingrohr-Innendurchmesser = 1,2mm, also Querschnittsfläche 1,131 mmm²
Messingrohrlänge etwa 95mm

Statischer Druck:
Alurohr-Innendurchmesser 4mm, also Querschnittfläche 12,56 mm²
Innenliegendes Messingrohr mit 2mm Aussendurchmesser, also Querschnitt 3,14 mm²
Freie Querschnittsfläche ist somit 9,42 mmm²
Statikbohrungen 8x0,5mm Durchmesser liefert 1,571 mm² freier Öffnungsquerschnitt.
Alurohrlänge etwa 95mm

SDP3x direkt angekoppelt (kein langer Schlauch)
SDP3x hat 2mm Aussendurchmessser für Schlauchanschluß. Innendurchmesser ist kleiner1,2mm.
 
Zuletzt bearbeitet:
#74
Sensirion weist auch explizit darauf hin, hätte ich vorher lesen sollen. Aber als Mann der Praxis .... ;)
20 Pa entspricht übrigens rund 20km/h, 50Pa etwa 30km/h, ungefähr dort wird es für Flugmodelle interessant.
 

Anhänge

#75
Nächster Versuch mit dem China Pitot und 1,5er (innen) Silikonschlauch. Schon besser, aber immer noch 40% zu wenig. Ich habe noch 2er Silikonschlauch, den ich gerne im Vergleich sehen würde, aber ich suche noch nach einem Weg, den am SDP dicht zu bekommen, reversibel natürlich. Gibt's dazu Geistesblitze? Schrumpfschlauch auf dem SDP und als "Schelle" auf dem Schlauch funktioniert nicht. Ein Ring aus dem Silikonschlauch würde wahrscheinlich als "Schelle" funktionieren, aber den krieg ich nicht drübergezogen ...

Gefühlt scheint aktuell der Einlass am Pitot der "Engpass" zu sein.
 

Anhänge

Leo1962

Erfahrener Benutzer
#76
Kleines Stück Draht Drumlegen und zusammen wierbeln
 

fa223

Erfahrener Benutzer
#78
Von mir auch mal wieder ein kurzes Update:
Der Sensor war ohne Fehler gelötet. So wie es Tempo in #62 beschrieben hat, hatte ich es auch gemacht, wobei vorab das Reinigen der Lötpunkte den Vorgang noch erleichtert.
Die "Fehlersuche" hat einige Zeit in Anspruch genommen und erst mit der Anmerkung eines Hobbykollegen, dass bei I2C SDA/SCL auf "High" sein müssen und manchmal Pullups benötigt werden, kam der Durchbruch.
Nachdem das erledigt war, konnte ich auch über den seriellen Monitor Werte auslesen.
Als ich das berichten wollte, hatte auch Bernd das Problem gelöst.

Mit dem Staurohr von FrSky ergaben sich bei ersten Test durchaus realistische Werte, obwohl dieses Rohr deutlich von den Prandtl-Vorgaben abweicht. Mag aber ja sein, dass der Airspeed-Sensor von FrSky entsprechend kalibriert wurde. Auf jeden Fall sind die "Statik"-Bohrungen sehr weit hinten. Glaubt man den diversen Druckverlaufskurven am Prandtl-Rohr, sollte das nicht optimal sein.

Ich habe jetzt mit unterschiedlichen Rohrquerschnitten zwei Staurohre vorbereitet.
Nächster Schritt ist dann ein Test, aber der bestellte Fahrradtacho hat deutlichen Lieferverzug. ;)

Prandtl_.jpg

Grüße,
Klaus

Ergänzung:
Die Fehler durch die Rohrlängen halten sich in Grenzen. Nach den Vorgaben von Sensirion berechnet, ergeben sich bei meinen Rohrquerschnitten Druckänderungen von ca. 4,9 %. Bei 50 km/h wären das 1,3 km/h Unterschied, bei 10 km/h Realgeschwindigkeit macht das 0,5 km/h Differenz aus.
 
Zuletzt bearbeitet:
#79
Mit dem Draht ist es leider nicht so einfach. Ich habe es jetzt geschafft, den Silikonschlauch "umzukrempeln" und abzuschneiden. Mit einem passenden Stift im Schlauch geht das einigermaßen.
Dann habe ich den Test mit dem 2er Schlauch wiederholt, ohne Änderung. Durch Hineinblasen in das Pitotrohr wurde klar, dass der verbliebene Engpass die Einlassbohrung ist. Also von vielleicht 0,6mm auf 1mm aufgebohrt und Test wiederholt - wieder keine Änderung. Ich könnte jetzt noch auf 1,5mm aufbohren, aber ich vermute eher, dass es doch einen Fehler in der Berechnung gibt.

Hat denn mal jemand versucht, den Messwert zu verifizieren?

@fa223 Gerade gesehen, sehr gut! Im Freien wird es schwierig, das weiß ich von meinen früheren Versuchen. Kannst du mal im Haus laufen und loggen? Mit der Zeit und der Strecke kannst du die Geschwindigkeit rückrechnen. Klingt schlimm, ist aber wesentlich genauer wie jede Messung im Freien.
 

Anhänge

fa223

Erfahrener Benutzer
#80
@Carbonator
Der FrSky-Sensor hat auch dickere Rohre. Ich habe einen 2mm Silkonschlauch genommen und über 1,5mm Silikonschlach am SDP geschoben.
Qualitativ habe ich schon ein paar "Messgänge" gemacht, aber das gefällt mir nicht so recht. Ich hatte auch schon an "Windkanal" im Haus (= Ventilator) gedacht. Realistischer denke ich, ist es aber, wenn man mit Fahrradtacho, GPS und Airspeedsensor eine kleine Fahrradtour macht. Mal sehen...

Grüße,
Klaus
 
FPV1

Banggood

Oben Unten