Crc berechnung ?

Gast #6710782
Hallo
Ich habe mit einen Akkutester gekauft EBC-A20
https://de.aliexpress.com/item/1005002193414522.html?
Ein wie ich finde tolles Gerät.

Zum Problem. Die Software welche die Daten aufzeichnet und eine Lade / 
Endladekurve darstellt ist ein Windows Programm und muss permanent 
laufen um die Messung ordentlich aufzuzeichnen. Ich habe eigentlich kein 
Windows und ich möchte keinen Pc Ewig laufen lassen. Ich teste damit 
LifePo4 Zellen mit bis zu 300A das dauert etwas.
Ich möchte das Problem mit einem Raspberry oder ggf sogar einer Avr 
Lösung lösen
 Die Schnittstelle ist seriell 9600
Der grundlegende Aufbau des Protokoll ist soweit einfach nur an der 
Checksumme fehlt es mit

Die Software sendet einmalig das sie Verbunden ist zum Gerät
[250,5,0,0,0,0,0,0,5,248]
Und einmalig das sie getrennt wird
[250,6,0,0,0,0,0,0,6,248]

Wenn der Pc verbunden ist lässt sich das Gerät nicht mehr per tasten 
bedien. auch nicht wenn die Verbindung getrennt wird oder der Pc aus 
ist.
Nur der Befehl zum trennen oder ein Reset hilft da.

Wenn das gerät verbunden ist sendet es selbstständig im ca Sekundentakt 
die Messwerte.
[250,12,1,200,15,100,0,101,0,0,2,20,1,130,0,10,9,93,248]
[250,12,1,231,15,100,0,35,0,0,2,20,1,130,0,10,9,52,248]
[250,12,1,211,15,100,0,71,0,0,2,20,1,130,0,10,9,100,248]
[-1-,--2-,---3--,---4-,--5--,-6-,--7-,--8--,--9-,xx,yyy]

1 Start
2 A ist
3 V ist
4 mAh ist
5 ?
6 A Soll
7 V Soll
8 ?
9 Temperatur ?
xx crc
yy ende

Es sei gesagt die jeweils 2 Byte zu einem Datenfeld werte werden 
merkwürdig berechnet
[250,12,1, 200,15,  100,0,101,0,0,2,20,1,130,0,10,9,93,248]
15*240! +200 = 3600 = 3,6V
Ich habe noch nie gesehen das die mit 240 berechnet werden.


Befehle zum Starten Vom Pc zum Gerät
start
c-cv 5a 3,7v 0,1v
[250,33,2,20,1,130,0,10,190,248]
c-cv 5a 3,8v 0,1v
[250,33,2,20,1,140,0,10,176,248]
c-cv 4a 3,8v 0,1v
[250,33,1,160,1,140,0,10,7,248]
c-cv 4,1a 3,8v 0,1v
[250,33,1,170,1,140,0,10,13,248]

Hat jemand eine Idee wie die auf die Checksumme kommen?
Gast #6710813
[250,33,1,170,1,141,0,10,12,248]
[250,33,1,170,1,142,0,10,15,248]
[250,33,1,170,1,143,0,10,14,248]
[250,33,1,170,1,144,0,10,17,248]
[250,33,1,170,1,145,0,10,16,248]

Das sieht irgendwie nach xor oder so aus?
Gast #6710817
Sven schrieb:
> Hat jemand eine Idee wie die auf die Checksumme kommen?

Wozu brauchst du die?
Da das Gerät die Messdaten selbständig sendet, musst du sie doch nur in 
Empfang nehmen und kannst die Check ignorieren.
Gast #6710821
Ja das könnte ich aber ich würde gerne auch die Parameter zum Gerät 
senden und einstellen können
Auch da könnte ich die werte "vor speichern" aber das ist halt nur halb 
schön ;)
Gast #6713969
Sven schrieb:
> Es sei gesagt die jeweils 2 Byte zu einem Datenfeld werte werden
> merkwürdig berechnet
> [250,12,1, 200,15,  100,0,101,0,0,2,20,1,130,0,10,9,93,248]
> 15*240! +200 = 3600 = 3,6V
> Ich habe noch nie gesehen das die mit 240 berechnet werden.
Das verhindert, dass Werte ab 240 in den Daten vorkommen. Dadurch wird 
das Framing robuster: wenn der Empfänger eine 250 sieht, weiß er immer, 
dass das der Start (oder Prüfsumme) ist; das kann nach 
Übertragungsstörungen wichtig sein.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.