Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA:

Openxsensor Troubleshooting 03 Feb 2018 18:27 #97

  • MxK
  • MxKs Avatar
  • Offline
  • Junior Boarder
  • Junior Boarder
  • Beiträge: 23
  • Dank erhalten: 1
Und das nächste Problem...:pinch:

Versuche gerade einen Sensor mit Vario, Flow-Sensor und RPM-Sensor auf zu bauen.
Vario funkioniert einwandfrei, ich bekomme leider weder den Flow-Sensor zum laufen, noch den RPM Sensor.

Kann die Telemetrie Einzelwerte (RPM, Flow, Vario) am Sender aufrufen,
Für die Flow Werte wird 0 angezeigt, für den RPM Wert 1000.

Info zum Flow Sensor:
Hab mit dem Durchflusssensor schon einen RCT Sensor gebau, klappt problemlos.
Beim OpenXSensor hab ich das Signal auf Pin 9 gelegt (Spannung auf VCC und GND).

Info zum RPM Sensor:
Hall Sensor hab ich das Signal auf Pin 8 gelegt (Spannung auf VCC und GND).

Hat jemand eine Idee?

Danke Euch!!!


Gruß
Max

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Openxsensor Troubleshooting 12 Feb 2018 08:38 #98

  • MxK
  • MxKs Avatar
  • Offline
  • Junior Boarder
  • Junior Boarder
  • Beiträge: 23
  • Dank erhalten: 1
Sooooo, Problem gelöst!

- Flow Sensor: (Wieder) ein anderes Board genommen, schon geht's.

- RPM-Sensor: In der oXs_output_jeti war noch eine Zeile mit *fieldValue = 1000 drin (danke Ralf!!!), die entfernt werden musste,
außerdem sollte man auf die Polarität des Hall-Sensors bzw. Magneten achten...


Gruß

Max

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Openxsensor Troubleshooting 27 Mär 2020 11:09 #99

  • TheUnibody
  • TheUnibodys Avatar
  • Offline
  • Junior Boarder
  • Junior Boarder
  • Beiträge: 34
  • Dank erhalten: 2
Servus Jungs,

ich bräuchte mal Hilfestellung. Ich habe ein MS5611 jedoch wird mir die Temperatur ca. 30° zu hoch angezeigt.
Änderungen in der #define ALT_TEMP_COMPENSATION zeigen auch keine Auswirkungen oder ist das der falsche Wert?

Sonst läuft alles.

Gruss Heiko
Mit freundlichen Grüßen
Heiko

JETI DS-16

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von TheUnibody.

Openxsensor Troubleshooting 27 Mär 2020 11:27 #100

  • FuniCapi
  • FuniCapis Avatar
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 1664
  • Dank erhalten: 784
Mein Code um den MS5611 auszulesen:
#include <Wire.h>
 
byte MS5611Address = false;
int64_t MS5611C[7];
unsigned long MS5611TimeConversion; // us
 
void MS5611Transmit(int command) {
  if (!MS5611Address) return;
  Wire.beginTransmission(MS5611Address);
  Wire.write(command);
  Wire.endTransmission();
}
 
int64_t MS5611Receive(int command, int bytes) {
  if (!MS5611Address) return;
  MS5611Transmit(command);
  Wire.requestFrom(MS5611Address, bytes);
  int64_t response = 0;
  for (int i = 0; i < bytes; i++) response = (response << 8) | Wire.read();
  return response;
}
 
void MS5611Reset() {
  MS5611Transmit(0x1e);
  delayMicroseconds(3000);
}
 
void MS5611ConvertD1() { // pressure conversion
  MS5611Transmit(0x48); // OSR=4096
  MS5611TimeConversion = micros() + 9040L;
}
 
void MS5611ConvertD2() { // temperature conversion
  MS5611Transmit(0x50); // OSR=256
  MS5611TimeConversion = micros() + 600L; 
}
 
int64_t MS5611ReadADC() {
  while (long(MS5611TimeConversion - micros()) > 0); // wait for conversion to be done
  return MS5611Receive(0x00, 3);
}
 
int64_t MS5611ReadCalibration(int index) {
  return MS5611Receive(0xa0 + index * 2, 2);
}
 
void MS5611Init() {
  Wire.begin(); // start communication with MS5611 as master
  MS5611Address = 0x76;
  Wire.beginTransmission(MS5611Address);
  if (Wire.endTransmission() != 0) {
    MS5611Address = 0x77;
    Wire.beginTransmission(MS5611Address);
    if (Wire.endTransmission() != 0) {
      MS5611Address = false;
      return;
    }
  }
  MS5611Reset(); // reset MS5611
  for (int i = 1; i <= 6; i++) MS5611C[i] = MS5611ReadCalibration(i); // read calibration coefficients
  MS5611ConvertD1(); // start the pressure conversion
}
 
void MS5611GetD1() {
  MS5611C[0] = MS5611ReadADC(); // read the converted pressure started last time
  MS5611ConvertD2(); // start the temperature conversion to be ready to read next time
}
 
float MS5611GetD2() {
  int64_t D2 = MS5611ReadADC(); // read the converted temperature started last time
  MS5611ConvertD1(); // start the pressure conversion to be ready to read next time
 
  int64_t dT = D2 - (MS5611C[5] << 8);
  int64_t TEMP = ((dT * MS5611C[6]) >> 23);
  int64_t OFF = (MS5611C[2] << 16) + ((MS5611C[4] * dT) >> 7);
  int64_t SENS = (MS5611C[1] << 15) + ((MS5611C[3] * dT) >> 8);
  if (TEMP < 0) {
    OFF -= (5 * TEMP * TEMP) >> 1;
    SENS -= (5 * TEMP * TEMP) >> 2;
    //TEMP -= (dT * dT) >> 31;
  }
  //temperature = 0.01 * (TEMP + 29315); // Kelvin
  return (((MS5611C[0] * SENS) >> 21) - OFF) >> 15; // Pa
}

Damit passt die Temperaturmessung. Jedoch habe ich festgestellt, dass der MS5611 sich deutlich über die Umgebungstemperatur aufwärmt wenn er nahe an einem Abwärme erzeugenden Bauteil platziert ist (Spannungsregler, Microprozessor usw.)

Gruss Lukas

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Openxsensor Troubleshooting 27 Mär 2020 17:46 #101

  • TheUnibody
  • TheUnibodys Avatar
  • Offline
  • Junior Boarder
  • Junior Boarder
  • Beiträge: 34
  • Dank erhalten: 2
Servus,

mit der Temperatur hab ich jetzt hinbekommen, das ist auch jetzt das einzige was stabil läuft. Alles was mit dem Drucksensor zu tun hat, macht im Moment was es will. Da bräuchte ich noch einmal etwas Unterstützung. Es ist ein MS5611.

Im Bastelkeller ist es so das nach dem Einschalten Hoehe, Vario, Alt.max auf Null sind, nach ein paar Minuten schwankt alles hin und her trotz Null Bewegung.
Wenn ich den oSx an der frischen Luft anschalte, geht mal garnichts, es wird zum Start nicht mal die Werte genullt. Was kann das sein?
Mit freundlichen Grüßen
Heiko

JETI DS-16

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Openxsensor Troubleshooting 28 Jan 2021 13:09 #102

  • uragano23
  • uragano23s Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 3
  • Dank erhalten: 1
Hello i have done the openxsensor with an Arduino Pro Mini board 3.3V 8mhz. I need two temperatures for my DLE twin engine and CDI rpm readings. I noticed that my sensor even if configured as it should (it works with other protocols like Graupner or Frsky) with Jeti protocol it returns only 1 Temperature.
I'm missing something or it is a limit of openxsensor and Jeti protocol combination?

I made also an RCT Jeti Dual HighTemp Sensor that it is working but it is returning wrong readings as soon as i switch on the ignition. This problem is there only when i use a kill switch like Rcexl Kill switch v2 or the Tech-Aero IBEC HV. If i plug a battery Alone the problem seems not present. I tried also to put a ground wire from motor case to GND of ignition power lead but with no success.

For this thing i returned to openxsensor but i want to know if there is a way to ave more than one Temp readings or if a second board (sensor) is needed.

Thanks
Adrian

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.248 Sekunden
Powered by Kunena Forum