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?
[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?
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.
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 ;)
Sven schrieb: > Das sieht irgendwie nach xor oder so aus? Ja, wobei Start- und Ende-Byte nicht in die Prüfsumme eingehen.
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.
Hallo, ist die USB Leitung nur eine serielle Leitung? Bist DU mit dem Protokoll weiter gekommen? Gruß Harry
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.