ExBus Sensor Eigenbau auf Basis 328PB

  • andreobi
  • andreobi's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 19
  • Thank you received: 23

TPL_KUNENA_MESSAGE_CREATED ExBus Sensor Eigenbau auf Basis 328PB

24 May 2020 17: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
The following user(s) said Thank You: Henning, Sepp62, dit71, Mario42

Please Log in or Create an account to join the conversation.

  • Henning
  • Henning's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 316
  • Thank you received: 144

TPL_KUNENA_MESSAGE_REPLIED_NEW ExBus Sensor Eigenbau auf Basis 328PB

07 Jun 2020 15: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
The following user(s) said Thank You: FuniCapi

Please Log in or Create an account to join the conversation.

  • andreobi
  • andreobi's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 19
  • Thank you received: 23

TPL_KUNENA_MESSAGE_REPLIED_NEW ExBus Sensor Eigenbau auf Basis 328PB

15 Jun 2020 22: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

Please Log in or Create an account to join the conversation.

  • bodri
  • bodri's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 3
  • Thank you received: 2

TPL_KUNENA_MESSAGE_REPLIED_NEW ExBus Sensor Eigenbau auf Basis 328PB

24 Jun 2020 20: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.

Please Log in or Create an account to join the conversation.

  • dit71
  • dit71's Avatar
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 160
  • Thank you received: 85

TPL_KUNENA_MESSAGE_REPLIED_NEW ExBus Sensor Eigenbau auf Basis 328PB

15 Aug 2021 07: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

Please Log in or Create an account to join the conversation.

  • andreobi
  • andreobi's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 19
  • Thank you received: 23

TPL_KUNENA_MESSAGE_REPLIED_NEW ExBus Sensor Eigenbau auf Basis 328PB

16 Aug 2021 11: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
The following user(s) said Thank You: dit71

Please Log in or Create an account to join the conversation.

Time to create page: 0.338 seconds
Powered by Kunena Forum