Forum: Mikrocontroller und Digitale Elektronik BLDC Controller Code was kann das sein?


von Bastler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Ich habe hier schon mal gefragt wegen Reverse engineering der Software 
eines BLDC Controllers. Leider bin ich nicht in der Lage ein Disassembly 
zu lesen (Und werde es der Meinung eines erfahrenen Programmierers den 
ich kenne und gefragt habe und den nächsten Jahren auch noch nicht sein) 
aber ich habe eine Stelle im Code des Controllers gefunden, die 
irgendwie... interessant aussieht, kann mir vielleicht jemand einen 
Hinweis geben, was das ist, oder lässt sich das nicht feststellen? Siehe 
angehängtes Bild.

von blib (Gast)


Lesenswert?

Ist eigentlich ganz einfach, habe nur leider meine Lesebrille nicht 
parat :/

von Bastler (Gast)


Lesenswert?

Wenn es einfach wäre, könnte ich es selber, wo sind eigentlich diese 
Typen die Spaß daran Code auseinanderzufläddern, wenn man sie mal 
braucht???

von Einer (Gast)


Lesenswert?

Da ist weder ein Disassembly zu sehen noch Code zum zerflücken.

Da ist aber eine schöne Tabelle zu sehen.

Bastler schrieb:
> und den nächsten Jahren auch noch nicht sein

Nun mal nicht so pessimistisch, keine 10 Jahre und schon kannst du das 
auch.

von Zerhackstueckler (Gast)


Lesenswert?

Oh man. Hier ist ja mal wieder dicke Luft.
Seid Ihr denn nicht in der Lage mit den Unmengen an Information auch nur 
bruchstueckhafte Ergebnisse zu liefern?

von Olaf (Gast)


Lesenswert?

> Ich habe hier schon mal gefragt wegen Reverse engineering der Software
> eines BLDC Controllers. Leider bin ich nicht in der Lage ein Disassembly

Da du noch nichtmal den Unterschied zwischen Dissassembler und Hexfile 
kennst, bist du wohl noch SEHR am Anfang.

> ich habe eine Stelle im Code des Controllers gefunden, die
> irgendwie... interessant aussieht

Also ich kann da nichts interessantes sehen. Aber wir koennten auch 
unterschiedliche Definitionen von 'Interessant' haben.

> Nun mal nicht so pessimistisch, keine 10 Jahre und schon kannst du das
> auch.

Uebertreib mal nicht. Als 16jaehriger hat es ein Jahr gedauert bis ich 
Z80 Hexfiles in der Regel (manchmal musste schon noch nachkucken) direkt 
lesen konnte. Aber die Jugend von heute kann ja nix mehr und hat es viel 
zu einfach. (wollte ich schon immer mal sagen :-D)

Olaf

von Wilhelm M. (wimalopaan)


Lesenswert?

Natürlich Weiß ich, dass in allen BLDC-Controllern dieser Welt dieselben 
µC verbaut sind. Deswegen ist wohl töricht zu fragen, welche µC das ist? 
Oder gar noch: welcher BLDC-Steller/Regler das ist?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Vielleicht bringt es besseres Verständnis der Tabelle, wenn man sie 
binär und als Liste darstellt. Ich hab es jetzt nicht gemacht, aber oft 
erkennt man dann Muster.

von VolkerQt (Gast)


Lesenswert?

Könnte eine Sprungtabelle sein.
zB. Interupt-Vektoren.

Oh mist. Kaffesatz verschüttet.

Volker

von Peter D. (peda)


Lesenswert?

Bastler schrieb:
> Siehe
> angehängtes Bild.

Wichtig ist natürlich den Code so zu posten, daß keiner damit was 
anfangen kann, ohne ihn erstmal abzutippen.
Und auch nur einen kleinen Ausschnitt, damit wirklich niemand was 
erkennen kann.
Bravo!
Hex- oder Binärdateien sind bei Dir wohl noch nicht erfunden worden?

: Bearbeitet durch User
von Eric B. (beric)


Lesenswert?

Peter D. schrieb:
> Bastler schrieb:
>> Siehe
>> angehängtes Bild.
>
> Wichtig ist natürlich den Code so zu posten, daß keiner damit was
> anfangen kann, ohne ihn erstmal abzutippen.

Ich werde, wenn ich mal wieder ein Bild posten will, den Hexdump dazu 
hochladen -- als Ausgleich.

von Klaus (Gast)


Lesenswert?

Am besten der Hexdump vom Bild

von Bastler (Gast)


Lesenswert?

Hallo,

Hier ein Link zu einem Neuen Thread, da müsste alles stehen:

Beitrag "Ehemals defekter Lime Gen 3 reverse Engineering Motor Controller"

von Wilhelm M. (wimalopaan)


Lesenswert?

Der arbeitet doch mit Hall-Sensoren. Schreib die Firmware neu, dass geht 
schneller, als den Dump zu untersuchen, und ist in diesem Fall auch 
nicht schwer.

von Bastler (Gast)


Lesenswert?

Wenn du C oder C++ kannst, dann schon, übrigens hat der Motor keine 
Hallsonsoren, sondern nur drei weitere Leitungen neben den drei 
Hauptphasenkabeln. Diese drei weiteren Leitungen sind an die 
Motorwicklung angeschlossen, wie der Controller damit die Position des 
Motors rausfindet, ist mir schleierhaft.

von Erich (Gast)


Lesenswert?

Bastler schrieb:
> wie der Controller damit die Position des
> Motors rausfindet, ist mir schleierhaft.

Die Zauberworte sind: bldc motor sensorless back emf

https://www.digikey.de/de/articles/techzone/2013/jun/controlling-sensorless-bldc-motors-via-back-emf

Gruss

von Bastler (Gast)


Lesenswert?

Aber warum hat der Motor dann die drei dünneren Kabel, die mit den 
Spulen verbunden sind, ein sensorless Controller hat normalerweise nur 
drei Leitungen, die drei Phasen. Dieser hat aber sechs, drei 
Phasenleitungen und drei dünnere Kabel, die wie schon geschrieben an die 
Spulen im Motor gekoppelt sind.

von Erich (Gast)


Lesenswert?

Evtl. um die Rückführung eben direkt vom Motor zu haben und nicht an den 
Schalt-FETs. Wäre sinnvoll bei Leitungslängen ab 20 cm oder mehr.
Gruss

von Bastler (Gast)


Angehängte Dateien:

Lesenswert?

Leitungslänge ist mehr als 20 cm. Gibt es denn keine Möglichkeit,
den Code zu zerlegen, immerhin würde mich schon interessieren, wie das 
Teil funktioniert. Und was Lime da gemacht hat. Ich hab die .hex mal 
nochmal hier angehängt, mann, wenn ich nur Assembler lesen könnte...

von Wilhelm M. (wimalopaan)


Lesenswert?

Wenn das ein Antrieb ohne Schlupf ist (Motorroller, Scooter, ...), dann 
wir der in der Anlaufphase eine Sinuskommutierung mit Stromregelung 
machen und dann ab einer bestimmen Drehzahl auf BEMF-Detektion (und ggf. 
Blockkommutierung) umschalten. Wenn die drei zusätzlichen Leitungen 
tatsächlich nicht von einem Encoder (Hall, optisch, ...) kommen. 
Eigentlich braucht man sie nicht, ich habe bei der BEMF-Detektion auch 
bei großen Leitungslängen noch kein Problem gehabt (die zu messende 
Phase ist ja auch stromlos bei BEMF-Detektion).

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
Noch kein Account? Hier anmelden.