Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA:

ExBus Sensor Eigenbau auf Basis 328PB 24 Mai 2020 19:32 #1

  • andreobi
  • andreobis Avatar Autor
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 19
  • Dank erhalten: 23
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
Folgende Benutzer bedankten sich: Henning, Sepp62, dit71, Mario42

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

ExBus Sensor Eigenbau auf Basis 328PB 07 Jun 2020 17:49 #2

  • Henning
  • Hennings Avatar
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 316
  • Dank erhalten: 144
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...
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
Folgende Benutzer bedankten sich: FuniCapi

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

ExBus Sensor Eigenbau auf Basis 328PB 16 Jun 2020 00:52 #3

  • andreobi
  • andreobis Avatar Autor
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 19
  • Dank erhalten: 23
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

ExBus Sensor Eigenbau auf Basis 328PB 24 Jun 2020 22:53 #4

  • bodri
  • bodris Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 3
  • Dank erhalten: 2
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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

ExBus Sensor Eigenbau auf Basis 328PB 15 Aug 2021 09:27 #5

  • dit71
  • dit71s Avatar
  • Offline
  • Expert Boarder
  • Expert Boarder
  • Beiträge: 157
  • Dank erhalten: 79
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

ExBus Sensor Eigenbau auf Basis 328PB 16 Aug 2021 13:38 #6

  • andreobi
  • andreobis Avatar Autor
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 19
  • Dank erhalten: 23
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
Folgende Benutzer bedankten sich: dit71

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
  • 2
Ladezeit der Seite: 0.238 Sekunden
Powered by Kunena Forum