Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA:

Arduino Library für Jeti EX Eigenbau-Telemetrie 11 Dez 2015 13:37 #1

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 283
  • Dank erhalten: 131
Ich habe, basierend auf einem Open-Source-Projekt von Henning Stöcklein, eine einfach zu verwendende Telemetrie-Library für den Arduino Mini Pro 328 in C++ geschrieben.

Den Code gibt es hier:

sourceforge.net/projects/jetiexsensorcpplib/

Die Schnittstelle sollte einfach und selbst erklärend sein.

Das ZIP-File muss als Library über die Entwicklungsumgebung (1.0.6) des Arduino installiert werden. Sie hat keine Abhängigkeiten zu anderen Libraries.

Basierend auf dieser Library, gibt es eine Telemetrie für eine ältere Orbit Turbinen-ECU. Dieser Code befindet sich hier und kann u.U. auf andere ECU-Modelle angepasst werden:

sourceforge.net/projects/orb...ry-sensor-lib/

Mit ein wenig Arduino-Know-How sollte ein Eigenbau kein Problem sein. Verwendet wird ein Arduino Mini.

Empfehlenswert ist jedoch eine galvanische Entkopplung der seriellen Schnittstelle der ECU vom Arduino.

Viel Spaß!

Grüße
Bernd
Anhänge:
Folgende Benutzer bedankten sich: AlexBonfire, 0n3 70uch, realloser, Henning, wiff, Gripen, AlexM_1977, F10F4F9

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Eigenbau-Telemetrie 11 Dez 2015 13:39 #2

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 283
  • Dank erhalten: 131
Hier ein Stück Beispiel-Code zur Verwendung:

// max. 6 Sensors, id from 1..15, name plus unit must be < 20 characters, precision = 0 --> 0, precision = 1 --> 0.0, precision = 2 --> 0.00
JETISENSOR_PTR sensors[] =
{
// id name unit data type precision
new JetiSensor( 1, "Voltage", "V", JetiSensor::TYPE_14b, 1 ),
new JetiSensor( 2, "Altitude", "m", JetiSensor::TYPE_14b, 0 ),
new JetiSensor( 3, "Temp", "\xB0\x43", JetiSensor::TYPE_14b, 0 ), // °C
new JetiSensor( 4 , "Climb", "m/s", JetiSensor::TYPE_14b, 2 ),
new JetiSensor( 5 "Fuel", "%", JetiSensor::TYPE_14b, 0 ),
new JetiSensor( 6, "RPM", "/min", JetiSensor::TYPE_14b, 0 ),
0 // end of array
};

void setup()
{
jetiEx.Start( "ECU", sensors );

jetiEx.SetJetiboxText( JetiExProtocol::LINE1, "Start 1" );
jetiEx.SetJetiboxText( JetiExProtocol::LINE2, "Start 2" );

/* add your setup code here */
}

void loop()
{
/* add your main program code here */

jetiEx.SetSensorValue( 1, demoSensor.GetVoltage() );
jetiEx.SetSensorValue( 2, demoSensor.GetAltitude() );
jetiEx.SetSensorValue( 3, demoSensor.GetTemp() );
jetiEx.SetSensorValue( 4, demoSensor.GetClimb() );
jetiEx.SetSensorValue( 5, demoSensor.GetFuel() );
jetiEx.SetSensorValue( 6, demoSensor.GetRpm() );

jetiEx.DoJetiSend();
}
Folgende Benutzer bedankten sich: Gripen, Rikas

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Eigenbau-Telemetrie 11 Dez 2015 21:26 #3

  • wiff
  • wiffs Avatar
  • Offline
  • Expert Boarder
  • Expert Boarder
  • Wolfgang
  • Beiträge: 83
  • Dank erhalten: 25
Hallo Bernd,
SUPER - Deine Library ist der HAMMER :woohoo: :woohoo: :woohoo:

Habe zuerst auf dem Arduino Uno getestet mit der Jeti-Box (alt) und einem R8 Empfänger+ Telemetrie am Sender.
Weil ich für mein Projekt (NFC Identifikation der Akkupacks) lieber einen 3.3V Pro Mini verwenden möchte, habe ich in

JetiExSerial.cpp die Routine void JetiExHardwareSerial::Init() angepasst und auf der neuesten Arduinoversion 1.6.6 compiliert.
Zeile 80 alt:
  // baudrate 9600~9800 Baud 
 
  UBRR0H = 0x00;
  UBRR0L = 0x66;
 
neu:
 
  // baudrate 9600~9800 Baud  
#if F_CPU == 16000000L  // for the 16 MHz clock on most Arduino boards
  UBRR0H = 0x00;
  UBRR0L = 0x66;
#elif F_CPU == 8000000L   // for the 8 MHz internal clock (Pro Mini 3.3 Volt) 
  unsigned int ubrr = F_CPU / 16 / 9600 - 1;
  UBRR0H = (unsigned char)(ubrr>>8);
  UBRR0L = (unsigned char)ubrr;
#else
  #error Unsupported clock speed
#endif

Der Pro Mini 3.3 Volt hat ebenfalls auf Anhieb funktioniert!
Man kann die Library damit für die 5V 16Mhz und die 3.3V 8Mhz Arduinos compilieren, ohne den Code zu ändern.

Nochmals herzliche Gratulation zu Deiner Arbeit.

Viele Grüsse,
Wolfgang
Wolfgang
Folgende Benutzer bedankten sich: 0n3 70uch

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von wiff.

Arduino Library für Jeti EX Eigenbau-Telemetrie 11 Dez 2015 22:17 #4

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 283
  • Dank erhalten: 131
Hallo Wolfgang,

danke für die Blumen.

Ich werde Deine Codezeilen (mit Deiner Genehmigung) in den "Stamm" übernehmen.

Viele Grüße
Bernd

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Eigenbau-Telemetrie 11 Dez 2015 22:29 #5

  • wiff
  • wiffs Avatar
  • Offline
  • Expert Boarder
  • Expert Boarder
  • Wolfgang
  • Beiträge: 83
  • Dank erhalten: 25
Hallo Bernd,
ja klar !!

Jetzt muss man Deinen Code "nur" noch in das OpenXSensor Projekt github.com/openXsensor/openXsensor/wiki einbauen :whistle:

Viele Grüsse,
Wolfgang
Wolfgang

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Eigenbau-Telemetrie 14 Dez 2015 09:08 #6

  • 0n3 70uch
  • 0n3 70uchs Avatar
  • Offline
  • Expert Boarder
  • Expert Boarder
  • Beiträge: 133
  • Karma: 1
  • Dank erhalten: 31
Traumhaft :-).

Habe für solche Sachen bisher immer den Mav2Duplex Code umgebaut. So ist es natürlich wesentlich schöner.

Danke.
Gruß
Fabi
JETI4ever

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von 0n3 70uch.
Ladezeit der Seite: 0.231 Sekunden
Powered by Kunena Forum