Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

81

Samstag, 31. Januar 2015, 09:15

Vario mit Arduino Nano und Sensor Modul GY-68 BMP180 am Beispiel Multiplex

Zum Abschluss eine kleine Dokumentation, was ich gemacht habe.

meine Bestellung
Pos.
Name
Anzahl
Bemerkung
1Arduino Nano Board1-
2GY-68 BMP180 Sensor Modul1-
3Jumper Wire 10P female to female1-


In Deutschland bestellt bekommt man die Teile für ca. 20 EUR.
Aus dem fernen Osten kann man schon ab ca. 5 EUR dabei sein.


Versuchsaufbau
Anschluss Sensor
Als erstes wird die PIN-Leiste auf das Sensor-Modul gelötet.
Ab dann wird gesteckt.
Das Sensor-Modul wird wie folgt mit dem Board verbunden.
SCL mit analog 5
SDA mit analog 4
VIN mit 5V DC
GND mit GND


Anschluss Empfänger
Plus des Empfängers habe ich mit dem 3,3V auf dem Board verbunden (funktioniert, auch wenn MPX ab 3,5V angibt), Minus mit einem freien GND.
-

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

82

Samstag, 31. Januar 2015, 09:16

Die Signalleitung wird mit D4 am Board verbunden (in der config einstellbar, aber default=4).


Software
Um den Sensor zum Laufen zu bekommen, habe ich bei openXsensor die aktuelle Version heruntergeladen und zusätzlich noch Treiber von Fa. Adafruit für den Sensor.

Linkliste
- https://code.google.com/p/openxsensor/so…_Multiplex_v3.0
- https://github.com/adafruit/Adafruit_BMP085_Unified
- https://github.com/adafruit/Adafruit_Sensor

Die vorhandene Datei für den Drucksensor MS5611 habe ich als Vorbild genommen und das gleiche Interface (Programmierschnittstellen: Funktionen, Strukturen, ...) in die Adafruit-BMP085-Library übernommen.
Die so überarbeitete Adafruit-BMP085-Library habe ich dann einfach als Quelle für die vorhandene oXs_ms5611-Instanz verwendet.
Die Adafruit-BMP085-Library werde ich separat bereitstellen und muss dann als Library eingebunden werden.

Weil dies mein erstes derartiges Projekt seit 30 Jahren mit hardwarenaher Programmierung ist und leichte Schwierigkeiten hatte das zum Laufen zu bringen, habe ich auch vorhandene Funktionen von oXs ausgedünnt :angel: .

Installation
Die Software wird mit ARDUINO 1.0.6 aufgespielt.
Zuerst das Zip entpacken und in irgendeinem Verzeichnis ablegen.
Öffnen des Projekts durch Doppelklick auf ".ino"-Datei


Das zweite Zip mit dem Treiber für den BMP180 in einem temp-Verzeichnis ablegen und dann im Arduino einbinden.


Nur noch kompilieren (Haken) und ein Upload auf den Arduino (Pfeil nach rechts) machen und glücklich sein.




Gruß, Klaus
-

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Klaus(i)« (31. Januar 2015, 15:27)


kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

83

Samstag, 31. Januar 2015, 09:29

Hast ja wenig Schlaf gehabt ;)

Mit der hardware hab ich zwar wenig Probleme, aber WIE hast du den BMP 180 in openXsensor 3.0 rein gekriegt?

Musst doch irgendwas im original sketch "umgebaut" haben ...

Ach so, für ne Anwendung draußen ist doch vielleicht der MS 5611 zu bevorzugen. Wenn ich es richtig seh, ist der besser als der BMP 180.

(1mbar = 1 hPa :) )

Gruß KH
»kalle123« hat folgende Bilder angehängt:
  • 48.jpg
  • Unbenannt.jpg

kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

84

Samstag, 31. Januar 2015, 09:39

Ich bin mit openXsensor noch nicht weiter gekommen. Hab mich aber noch mal an die Spannungsteiler gesetzt und das ist dabei rausgekommen.
Spannungsteiler 3S direkt am Stecker zum Balancer Anschluss. (Der Schrumpfschlauch ist dicke Industriequalität)
»kalle123« hat folgendes Bild angehängt:
  • DSCF3718.JPG

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

85

Samstag, 31. Januar 2015, 09:55

Falls jemand Lust hat auch mal mit oXs zu spielen, anbei meine Modifikationen.

Gruß, Klaus
»Klaus(i)« hat folgende Dateien angehängt:
-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Klaus(i)« (31. Januar 2015, 12:29) aus folgendem Grund: Patch


Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

86

Samstag, 31. Januar 2015, 10:04

Ich bin mit openXsensor noch nicht weiter gekommen. Hab mich aber noch mal an die Spannungsteiler gesetzt und das ist dabei rausgekommen.
Spannungsteiler 3S direkt am Stecker zum Balancer Anschluss. (Der Schrumpfschlauch ist dicke Industriequalität)


Das sieht doch richtig gut aus!

Ach so, für ne Anwendung draußen ist doch vielleicht der MS 5611 zu bevorzugen. Wenn ich es richtig seh, ist der besser als der BMP 180.


Das kann gut sein, dass der 5611 genauer ist. Dafür ist der BMP180 billiger.
Die Auflösung ist mit 0,01 hPa aber auch gut und da beim Fliegen sowieso nur der relative Druck für mich interessant ist, reicht das auch so aus.


Zitat

Musst doch irgendwas im original sketch "umgebaut" haben ..

Ja!
Habe ich oben im Post beschrieben. Du hast schon nachgefragt als ich oben noch editiert habe.

Werde dann wohl noch einen technischen Post bei openrcforums machen.

Gruß, Klaus
-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Klaus(i)« (31. Januar 2015, 10:10)


kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

87

Samstag, 31. Januar 2015, 11:40


Werde dann wohl noch einen technischen Post bei openrcforums machen.


Klaus, schau mir deine "Modifikationen" heut Nachmittag an.

Die Entwickler von openXsensor und der GUI freuen sich bestimmt, wenn du dich meldest :ok:

Grüße KH

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

88

Samstag, 31. Januar 2015, 11:45

Die Entwickler von openXsensor und der GUI freuen sich bestimmt, wenn du dich meldest

Habe schon einen Post erstellt, muss nur noch von irgend jemanden freigeschaltet werden ???

Gruß, Klaus
-

89

Samstag, 31. Januar 2015, 12:05

Kalle, danke.
Das waere eine Moeglichkeit. Muss ich mir mal genauer anschauen.
Gruss
Thomas
🖖

Vielleicht ist Wissen doch nicht die Antwort auf alles.

Bleibt gesund!!!


kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

90

Samstag, 31. Januar 2015, 14:02

Kalle, danke.
Das waere eine Moeglichkeit. Muss ich mir mal genauer anschauen.


Off-topic. ;)

Ich nehm die auch gerne, um mal ein Signal abzugreifen. Aus China 10 Stangen zu 2$. Aber 3 Wochen ...

Watterott hat die aber auch ...

KH
»kalle123« hat folgendes Bild angehängt:
  • DSCF3719.JPG

kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

91

Samstag, 31. Januar 2015, 15:05

Klaus, mal ein paar Verständnisfragen.

Das..
The BMP180 is the next-generation of sensors from Bosch, and replaces the BMP085. The good news is that it is completely identical to the BMP085 in terms of firmware/software/interfacing - you can use our BMP085 tutorial and any example code/libraries as a drop-in replacement.
...hab ich inzwischen selber gefunden.

Du hast Änderungen (Einbindung BMP und Auskommentierung MS5611) in diesen 3 Dateien

openXsensor.ino
oXs_out_multiplex.h
oXs_out_frsky.h

gemacht!?

Warum heißt das bei dir Adafruit_BMP085_U.h? Die Datei heißt bei mir Adafruit_BMP085.h
Hast du da auch was "umgebaut"?

Warum hast du den Empfänger auf 3.3V gesetzt? Bei mir hab ich den Empfänger auf 5V und versorge von da den arduino ...

cu KH

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

92

Samstag, 31. Januar 2015, 15:24

Warum heißt das bei dir Adafruit_BMP085_U.h? Die Datei heißt bei mir Adafruit_BMP085.h
Hast du da auch was "umgebaut"?

Hallo Kalle,
an den Dateinamen habe ich nichts geändert. Es kann aber sein, dass ich oben die falsche Quelle angegeben habe.
Verwendet habe ich "Adafruit_BMP085_180_Unified-master" und das U kommt dann wohl vom Unified.
Habe die Linkliste oben korrigiert (war tatsächlich die falsche verlinkt).

Warum hast du den Empfänger auf 3.3V gesetzt? Bei mir hab ich den Empfänger auf 5V und versorge von da den arduino ...

Das Board bekommt seinen Strom zurzeit über USB und ich wollte keine zweite Stromquelle.
Auf dem Nano-Board war nur ein 5V-Anschluss und den habe ich für den Sensor verballert.
Die 3,3V für den Empfänger sind nur aus der Not geboren.

openXsensor.ino

Quellcode

1
2
//OXS_MS5611 oXs_MS5611(I2C_MS5611_Add,Serial);
Adafruit_BMP085_Unified oXs_MS5611 = Adafruit_BMP085_Unified(10085);

Hier wird die Klasse oXs_MS5611 jetzt aus Adafruit_BMP085_Unified generiert anstatt aus OXS_MS5611 .
Das funktioniert weil bei beiden Klassen die verwendeten public Funktionen und Variablen gleich sind.
Dies habe ich absichtlich so gemacht.

Die Änderungen in den beiden anderen Dateien waren Verzweiflungstaten, weil ich den Code während meiner Bemühungen etwas übersichtlicher machen wollte.
Die Funktionen checkfree??? konnten keine sinnvollen Ergebnisse mehr liefern, weil die darin verwendeten Variablen nicht mehr von den Sensorroutinen befüllt wurden.
Ich habe dies aber auch mit den Fokus gemacht, dass es für mich ist.

EDIT: Bei mir kommen in 3 bis 4 Wochen ja auch hoffentlich noch zwei Arduino-Boards mit Sensoren, die auch fertig gemacht werden wollen :D

Gruß, Klaus
-

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Klaus(i)« (31. Januar 2015, 15:54)


kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

93

Samstag, 31. Januar 2015, 16:03

Das war schnell, Klaus. ;)

Wegen der BMP library. Ich hab hier immer nioch nen BPM085 aus meinen multiwii Anfängen und daher die "alte" library.

(Der 085er war im Vergleich zum MS5611 grotten schlecht!)

Und die unified sah mir ziemlich "anders" aus. Also DA hast du nix gemacht.

Und die eigentliche Änderung dann in der ino. DASS DAS SOOO SIMPEL IST (in diesem Fall) Hätte ich wirklich nicht gedacht.

Am Rande.

Ich verwende für Versuche die UNOs, viel einfacher für nen fliegenden Aufbau. (Werden für 8€ beim Chinamann rausgeschmissen)

Und für draußen. Der pro mini ist noch mal ne Ecke kleiner und USB Anschluss brauchst du sowieso nicht dauern.

Geht mit FTDI oder CP2102. Den CP2102 hab ich mit ner gebogenden Stiftleiste extra für die pro minis. Hakt sich ein fürs flashen.
»kalle123« hat folgendes Bild angehängt:
  • DSCF3720.JPG

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

94

Samstag, 31. Januar 2015, 16:15

Und die eigentliche Änderung dann in der ino. DASS DAS SOOO SIMPEL IST (in diesem Fall) Hätte ich wirklich nicht gedacht.

Nicht ganz. Die eigentlichen Änderungen sind in der Adafruit_BMP085_U.h und Adafruit_BMP085_U.cpp.
In der Adafruit_BMP085_U.h sind die Deklarationen enthalten, die ich um die ergänzen musste, die es in der OXS_MS5611 gibt.
In der cpp mussten dann diese Funktionen zum Auslesen des Sensors noch befüllt werden. Das waren aber Kleinigkeiten, weil die cpp schon alle notwendigen Basis-Funktionen zum Auslesen hatte.
Die Werte musste quasi nur noch mundgerecht für die ino gemacht werden (z.B. ino erwartet Höhenangaben in cm).

"In der ino werden die Klassen der Sensoren nur ausgetauscht"

Bei der nächsten China-Bestellung werde ich noch nen Mini und so einen CP2102 mit bestellen.

Gruß, Klaus
-

95

Samstag, 31. Januar 2015, 16:16

openxsenor

Hallo zusammen,
wollte mich mal mit 2 Fotos zurückmelden. :)


Lipospannung 3s = fertig
RPM = fertig
Temperatur = fertig
GPS = fehlt noch
? = fehlt noch


Gruß
Manfred
»heli-freak66« hat folgende Bilder angehängt:
  • 2.jpg
  • 1.jpg

Klaus(i)

RCLine User

Wohnort: Achim b. Bremen

Beruf: Mensch

  • Nachricht senden

96

Samstag, 31. Januar 2015, 16:40

Hallo zusammen,
wollte mich mal mit 2 Fotos zurückmelden.

:ok:
So langsam nimmt das hier ja Fahrt auf.
Es bleibt interessant.

Gruß, Klaus
-

97

Samstag, 31. Januar 2015, 17:03

Hi Manfred,
sehe das du den Nano auf nem Breadboard hast. Passen die Pins direkt drauf? Sind die nicht zu dick?

Gruss
Thomas
Gruss
Thomas
🖖

Vielleicht ist Wissen doch nicht die Antwort auf alles.

Bleibt gesund!!!


98

Samstag, 31. Januar 2015, 17:25

Hi Manfred,
sehe das du den Nano auf nem Breadboard hast. Passen die Pins direkt drauf? Sind die nicht zu dick?

Gruss
Thomas
Ja, die Pins passen ins Breadboard. Ein bisschen stramm, aber es geht.

Gruß
Manfred

kalle123

RCLine User

  • »kalle123« ist der Autor dieses Themas

Wohnort: Mönchengladbach

  • Nachricht senden

99

Samstag, 31. Januar 2015, 17:31

@ Thomas. Also der nano hat doch Standard 2.54 Raster.

und auch beim pro mini hat sich wohl da was getan. (siehe Bild)

Beim LINKEN sind A4 und A5 (und A6 und A7) nicht im Raster, beim RECHTEN sind die pins (bis auf FTDI, aber den hängt man sowieso nicht in breadboard) alle soweit im Raster.

@ Klaus. Dass das NICHT ganz sooo einfach ist, hab ich gerade gemerkt. Hab mal nen BMP085 an den arduino gehängt und die standard BPM library genommen. Die IDE hat ziemlich gemeckert :nuts: Setz bitte mal die geänderte library hier ein. Dank dir.

@ Manfred. openXsensor 2.5 und OSX Config. v2.1? Referenz 5V oder 1.1V? Hast du abgeglichen? Lass dir doch nicht alles aus der Nase ziehen :D (Wenn die Lipo Werte so stimmen, solltest du den Akku vielleicht mal auf "storage" bringen ....)

Grüße KH
»kalle123« hat folgendes Bild angehängt:
  • DSCF3725.JPG

100

Samstag, 31. Januar 2015, 17:38

Ja, die Pins passen ins Breadboard. Ein bisschen stramm, aber es geht.

Danke
@ Thomas. Also der nano hat doch Standard 2.54 Raster.

Ja, nicht wegen dem Raster hab ich gefragt sondern wegen den doch recht dicken Pins.
Gruss
Thomas
🖖

Vielleicht ist Wissen doch nicht die Antwort auf alles.

Bleibt gesund!!!