Anzeige 
Seite 1 von 13 1234567891011 ... LetzteLetzte
Ergebnis 1 bis 15 von 191

Thema: Einfache Jeti EX Telemetrie-Library für Arduino Mini Pro 328

  1. #1
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    2 Nicht erlaubt!

    Standard Einfache Jeti EX Telemetrie-Library für Arduino Mini Pro 328

    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:

    https://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.

    Ich habe mir, basierend auf dieser Library, eine Telemetrie für meine Orbit Turbinen-ECU geschrieben.

    Viel Spaß !

    Grüße Bernd
    Like it!

  2. #2
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    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();
    }
    Like it!

  3. #3
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    Es steht eine neue Version 0.9.2 bereit.

    Änderungen:

    - Unterstützt nun 15 Sensorwerte
    - Der Datentyp "22 Bit Integer" ist nun verfügbar
    - Baudrate wird nun auch für "Mini Pro 8 MHz" gesetzt

    Der Code ist noch nicht gut getestet, daher bleibt die Version 0.9.1 erst Mal stehen.
    Like it!

  4. #4
    User Avatar von Eckehard
    Registriert seit
    10.04.2002
    Ort
    Ottobrunn
    Beiträge
    1.074
    Daumen erhalten
    20
    Daumen vergeben
    9
    0 Nicht erlaubt!

    Daumen hoch

    Hallo Bernd,

    vielen Dank für die Bereitstellung der lib.
    Ich hatte schon für eine JetiEX_LiPoÜberwachung für 9/12Zellen einen Aufbau als PoC fertig. Jetzt werde ich einmal Deine Lib versuchen einzubinden.
    Ich melde mich mit meinen Erfahrungen hier. Wird wohl etwas dauern, aber vielleicht komme ich noch "zwischen den Jahren" dazu.
    Bitte weiterberichten!

    Danke und Grüße
    Eckehard
    Mir fällt gerade keine ein...
    Like it!

  5. #5
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard Nun auch für Teensy 3.x

    Es gibt nun die Version 0.9.4, die den Teensy 3.x unterstützt.

    Damit hat man nun endlich 3 serielle Schnittstellen *** plus *** USB zum Debuggen und Laden des Programms.

    Das Jeti-Protokoll liegt auf Serial2, so dass der "wertvolle" FIFO-UART frei bleibt.

    Getestet mit REX-Empfängern. Ob sich die alten EX-Empfänger an dem einen fehlenden Stopp-Bit stören, habe ich nicht geprüft.
    Like it!

  6. #6
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard Erweiterung - Restliche fehlende Datentypen

    Die Version 0.9.5 ist nun online.

    Was hat sich geändert:

    - Datentyp für GPS Länge/Breite hinzugefügt
    - Datentyp für Datum/Zeit hinzugefügt
    - Datentyp für 6 Bit und 30 Bit-Werte hinzugefügt
    - Leichtes Refactoring

    Nach Rückmeldung von wiff (Wolfgang) im Jetiforum funktioniert die Teensy-Variante auch mit den älteren Empfängern.
    Like it!

  7. #7
    User Avatar von Eckehard
    Registriert seit
    10.04.2002
    Ort
    Ottobrunn
    Beiträge
    1.074
    Daumen erhalten
    20
    Daumen vergeben
    9
    0 Nicht erlaubt!

    Frage

    Hallo Bernd,

    ich sehe gerade daß ich hier "nur" ein Arduino Micro habe....

    Unterstützt Deine Lib dieses Board auch?

    Grüße
    Eckehard
    Mir fällt gerade keine ein...
    Like it!

  8. #8
    User
    Registriert seit
    08.04.2015
    Ort
    Börtlingen
    Beiträge
    2
    Daumen erhalten
    0
    Daumen vergeben
    0
    0 Nicht erlaubt!

    Standard

    Ich wollte das Projekt mal testen...
    jedoch schon am Anfang eine Fehlermeldung das die Datei JetiExProtocol.h nicht vorhanden sei.

    Wo bekomme ich diese her?


    Vielen Dank im Voraus.

    Heiko
    Like it!

  9. #9
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    Hallo Ekkehard,

    Arduino Micro wird leider nicht unterstützt. Die Lib verwendet den in den ATMega328 eingebauten UART.

    Viele Grüße
    Bernd
    Like it!

  10. #10
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    Hallo Heiko,

    welche IDE verwendest Du ? Du solltest die originale Arduino IDE Version 1.6 und höher verwenden. Ich nehme an, Du hast die Library korrekt importiert. In Deinem .INO-File musst Du alle .h-Dateien nochmals includieren (also muss dort auch die JetiExProtocol.h erscheinen).

    Ich kenne das Problem, wenn ich eine Visual Studio IDE mit Visual Micro-Plugin verwende und habe für diese Umgebung leider noch keine Lösung.

    Viele Grüße
    Bernd
    Like it!

  11. #11
    User Avatar von Eckehard
    Registriert seit
    10.04.2002
    Ort
    Ottobrunn
    Beiträge
    1.074
    Daumen erhalten
    20
    Daumen vergeben
    9
    0 Nicht erlaubt!

    Standard

    Hallo Bernd,

    ja, das hatte ich vermutet....

    ich habe jetzt mit der alten Lib "JETI_EX_SENSOR" Erfolg gehabt!

    Habe jetzt praktsich 12 eiinzelne Spannungen im Display des Senders. Getestet jedoch nur im "Lab", noch nicht unter realen Flug-Bedingungen.

    Aber so richtig macht die Übertragung von Einzelspannungen keinen Sinn, es sei dann man möchte unbedingt den Spannungsvelauf der einzelne Zellen im Sender loggen.
    Vermutlich macht es mehr Sinn, im Modell auf eine SD Karte zu loggen, und als Telemetriewert nur eine Art Alarm mit Angabe der betroffenen Zellen und den Spannungswert zu übertragen....
    Ich glaube, ich muß die Spezifikation "anpassen"....

    Grüße und Danke
    Eckehard
    Mir fällt gerade keine ein...
    Like it!

  12. #12
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    Hallo Eckehard,

    ich denke auch, dass 12 Werte etwas unübersichtlich sind. Du könntest natürlich die 12 Werte übertragen aber nur loggen und nicht anzeigen. Zusätzlich kannst Du noch den niedrigsten Spannungswert auf einen 13. Telemetriewert legen und ggf. auf einen 14. Wert die Zellennummer, die den niedrigsten Wert liefert. Den Alarm legst Du dann auf den 13. Wert.

    Aber darauf bist Du bestimmt schon selbst gekommen.

    Viele Grüße
    Bernd
    Like it!

  13. #13
    User Avatar von Eckehard
    Registriert seit
    10.04.2002
    Ort
    Ottobrunn
    Beiträge
    1.074
    Daumen erhalten
    20
    Daumen vergeben
    9
    0 Nicht erlaubt!

    Lächeln

    Hallo Bernd,

    ok, Danke für s mitgrübeln...
    Ich habe am Anfang den Micro gewählt, da dieser 12 Analog Eingänge besitzt, und damit bis zu 12 Zellen eines Lipos gemessen werden können. Eigentlich benötige ich nur 9, das ist (derzeit) mein "größtes LipoPack....

    Wenn ich in weiteren Projekten doch Deine Lib verwenden möchte, könnte ich da vielleicht folgende Boards (ATmega328) verwenden ?

    1. Das Orginal:
    http://www.exp-tech.de/arduino-pro-mini-328-5v-16mhz


    2. oder gar:
    http://www.exp-tech.de/adafruit-pro-trinket-5v-16mhz

    3. oder gar:
    http://www.exp-tech.de/adafruit-metro-mini-328-5v-16mhz

    4. Oder der hier:
    http://www.exp-tech.de/adafruit-feather-32u4-adalogger
    scheint auch sehr paktisch zu sein, wenn man im Modell direkt auf SD Kate loggen möchte, oder? Dann aber wegen ATmega32u4 nicht mit Deiner Lib....

    Ich bin hier noch nicht so sicher, die Vielfalt der Boards ist ja recht "groß".

    Schreib mal was hier Deine Meinung zu den Boards wäre...

    Danke schonmal im Voraus!

    Eckehard
    Mir fällt gerade keine ein...
    Like it!

  14. #14
    User
    Registriert seit
    30.10.2014
    Ort
    -
    Beiträge
    98
    Daumen erhalten
    10
    Daumen vergeben
    18
    0 Nicht erlaubt!

    Standard

    Hallo Eckehard,

    die Typen mit dem ATMega 328 sollten alle zu verwenden sein. Selbst getestet habe ich aber nur den "Mini". Der 32u4 wird wohl nicht so ohne Weiteres gehen.

    Ein wenig mühsam bei den ganzen Arduinos mit ATMega328 ist, dass sie nur eine serielle (Hardware-)Schnittstelle haben. Zum Entwickeln/Testen muss man immer die USB-Schnittstelle abziehen und man kann nicht über "Serial" debuggen (ist leider auch beim "Nano" so).

    Deswegen (und wegen des schnellen Prozessors mit massig Speicher) bevorzuge ich inzwischen den "Teensy 3.x" (er hat übrigens 21 analoge Eingänge). Allerdings ist er deutlich teurer (~22€ --> Exp-Tech).

    Viel Grüße
    Bernd
    Like it!

  15. #15
    User Avatar von Eckehard
    Registriert seit
    10.04.2002
    Ort
    Ottobrunn
    Beiträge
    1.074
    Daumen erhalten
    20
    Daumen vergeben
    9
    0 Nicht erlaubt!

    Daumen hoch

    Hallo Bernd,

    Ein wenig mühsam bei den ganzen Arduinos mit ATMega328 ist, dass sie nur eine serielle (Hardware-)Schnittstelle haben. Zum Entwickeln/Testen muss man immer die USB-Schnittstelle abziehen und man kann nicht über "Serial" debuggen (ist leider auch beim "Nano" so).
    Genau wegen der Debugfähigkeit über USB ist der Micro auch "ganz nett", aber in Bezug auf Deine Lib eben der "falsche" Prozessor....

    Nun, mit dem "Teensy 3.x", also konkret dem:
    http://www.exp-tech.de/mainboards/teensy/teensy-3-2-with-header-pins

    ....hast Du mir jetzt aber einen "Floh ins Ohr gesetzt".... :-)

    Mit einem zusätzlichen Crystal und einer Knopfzelle hat das Ding dann eine RealTimeClock, dann eine MicroSD Karte
    http://www.exp-tech.de/shields-modul...d-card-adaptor
    ..... Die Auflösung der ADC s ist auch höher, Anzahl passt auch..... Hm... :-)

    Der wirtschaftliche Aspekt ist nicht soooo gravierend, wenn es entsprechend Spaß macht... Später kann man ja auch noch einen SchllitzAugenClone probieren....

    Grübel grübel.....


    Grüße
    Eckehard
    Mir fällt gerade keine ein...
    Like it!

Seite 1 von 13 1234567891011 ... LetzteLetzte

Ähnliche Themen

  1. PWM-Library für Arduino-Basis für Beleuchtung und Servoansteuerung (Open Source)
    Von Sepp62 im Forum Mikrocontroller - Programmierung und Eigenentwicklungen
    Antworten: 55
    Letzter Beitrag: 10.03.2019, 15:36
  2. Antworten: 42
    Letzter Beitrag: 20.07.2018, 14:36
  3. GPS mit Arduino Pro Mini?
    Von Rollfeldraser im Forum Multicopter
    Antworten: 5
    Letzter Beitrag: 20.11.2011, 16:57

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •