ExBus Sensor Eigenbau auf Basis 328PB

  • andreobi
  • andreobi's Avatar Offline Autor
  • Neues Mitglied
  • Neues Mitglied
  • Beiträge: 19
  • Dank erhalten: 23

ExBus Sensor Eigenbau auf Basis 328PB wurde erstellt von andreobi

Posted 24 Mai 2020 19:32 #1
Hallo,
ich habe einen recht umfangreichen Sensor auf Basis des atmega 328PB entwickelt. Alle die sich gerne inspirieren lassen möchten, können den Code unter github.com/andreobi/Jeti_ExBusSensor finden.
Der Sensor unterstützt Strom-, Kapazitäts- und Spannungsmessung, Vario, Höhe, GPS, Drehzahl, Lage wie Roll und Nick, außerdem wird das Kontronik ESC Protokoll auf den ExBus umgesetzt. Zusätzlich gibt es ein paar Ausgänge, um z.B. eine Positionsbeleuchtung zu steuern. Die Sensorkonfiguration kann im JetiBox Menu geändert werden.

Gruß
Andre
von andreobi
Folgende Benutzer bedankten sich: Henning, Sepp62, dit71, Mario42

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Henning
  • Henning's Avatar Offline
  • Elite Mitglied
  • Elite Mitglied
  • Beiträge: 316
  • Dank erhalten: 144

Henning antwortete auf ExBus Sensor Eigenbau auf Basis 328PB

Posted 07 Juni 2020 17:49 #2
Hallo Andre,

whow - Hut ab! Das ist ja wirklich eine eierlegende Wollmilchsau, und das auf dieser Platform...

Ich hab CRC32 und m328PB-Support installiert und als Target das A-Star 328PB ausgewählt, da bringt mir Arduino beim Linken allerdings eine Fehlermeldung, dass der Flashspeicher nicht ganz ausreicht...
Code:
Der Sketch verwendet 32524 Bytes (100%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.

Vermutlich liegts am Speicher, den Arduino für den Bootloader reserviert, oder?
Wie schaffst Du es, den Linker auf den kompletten Flashspeicher (ohne Bootloader) anzusetzen?

Grüße,
Henning
von Henning
Folgende Benutzer bedankten sich: FuniCapi

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • andreobi
  • andreobi's Avatar Offline Autor
  • Neues Mitglied
  • Neues Mitglied
  • Beiträge: 19
  • Dank erhalten: 23

andreobi antwortete auf ExBus Sensor Eigenbau auf Basis 328PB

Posted 16 Juni 2020 00:52 #3
Hallo Henning
der einzige Unterschied kann nur in der CRC32 sein, da ich ja sonst alle anderen Libs angepast hatte.
Ich verwende Arduino 1.8.12 und erhalte folgendes Ergebnis:
Der Sketch verwendet 32146 Bytes (99%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 914 Bytes (44%) des dynamischen Speichers, 1134 Bytes für lokale Variablen verbleiben.
Ich verwende folgende CRC32
//
// Copyright (c) 2013 Christopher Baker < christopherbaker.net >
//
// SPDX-License-Identifier: MIT
//
Vielleicht sollte ich die CRC Berechnung mit ins Paket mit aufnehmen.

Flashen kannst du entweder mittels Bootloader (keine Watchdog / Brownout Erkennung; der Boot loader löscht das Register und soll den Inhalt über bestimmte Befehle an das Userprogramm weitergeben, liegt aber an der Optiboot version) oder per ISP dann könnte man auch noch 512 Byte mehr Programmcode schreiben. Dies geht aber nur, wenn man in der boards.txt folgende Zeile anpasst: a-star328PB.upload.maximum_size=32256 => 32768.

Welches CRC32 Programm nutzt du?

Gruß
Andre
von andreobi

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • bodri
  • bodri's Avatar Offline
  • Neues Mitglied
  • Neues Mitglied
  • Beiträge: 3
  • Dank erhalten: 2

bodri antwortete auf ExBus Sensor Eigenbau auf Basis 328PB

Posted 24 Juni 2020 22:53 #4
Hi,
I have something similar: github.com/bodri/kapuki-cursen-fw , but for STM32 MCUs. This is a small current sensor which measures: current, voltage, capacity and power. The motor RPM measurement is under development.
von bodri

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • dit71
  • dit71's Avatar Offline
  • Elite Mitglied
  • Elite Mitglied
  • Beiträge: 160
  • Dank erhalten: 85

dit71 antwortete auf ExBus Sensor Eigenbau auf Basis 328PB

Posted 15 Aug. 2021 09:27 #5
Hallo,
ich würde das ja gerne verwenden um die Daten aus dem Kosmik, anstelle der teuren telme, auszulesen. Aber was ich bei Teros Sensoranleitungen gerade noch schaffe, dazu fehlen mir hier die Kenntnisse. Ist das nur für Spezialisten gedacht oder kann man das mit vertretbaren Aufwand auch Laien wie mich erklären was man da machen muss?
LG
Dieter
von dit71

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • andreobi
  • andreobi's Avatar Offline Autor
  • Neues Mitglied
  • Neues Mitglied
  • Beiträge: 19
  • Dank erhalten: 23

andreobi antwortete auf ExBus Sensor Eigenbau auf Basis 328PB

Posted 16 Aug. 2021 13:38 #6
Hallo Dieter,

für eine Telme Funktion benötigst du im Wesentlichen JetiEx..., Control_K und den richtigen CRC (hier hatte der Hersteller das Verfahren geändert). Die Jeti Menü Funktion wird für einen einfachen Konverter nicht benötigt. Also viel Löschen oder wenig Kopieren. Als Aufgabe bleibt, dass du im Hauptprogramm die Reglerwerte als Jeti Sensorwerte ausgeben musst.

Bitte beachte, wenn alle Reglerwerte übernommen werden ist der EX Bus "voll". Des Weiteren scheinen die Reglerwerte im K-Protokoll Rohwerte zu sein. Wenn der Regler z.B. im Jeti Protokoll sendet, habe ich den Eindruck, dass die Werte etws gefiltert wurden. Eine Filterimplementierung habe ich nicht.

Meine Empfehlung mit dem Wissen von heute ist:
- die Reglerwerte zu filtern
- nicht alle Werte alle 20ms senden (klappt eh nicht). Die Werte gemäß ihrer Dynamikanforderung an die Jeti Lib zu übergeben. Es werden nur aktualisierte Werte ausgegeben. z.B. akualisierst du den Kapazitätswert nur alle 500ms in der Lib, wird er auch nur alle 500ms auf dem EXBus ausgegeben.

Da du 2 schnelle Serielle Schnittstellen benötigst, ist der 328PB 16MHz Prozessor eine notwendige Voraussetzung. Fertige Boards gibt es z.B. von Pololu bei der Firma Eckstein.

Gruß
Andre
von andreobi
Folgende Benutzer bedankten sich: dit71

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 1.056 Sekunden