Forum: Mikrocontroller und Digitale Elektronik Wer kennt sich mit dem Mikrocontroller STM32F 103x mit einem ARM32-bit Cortex-M3 CPU Kern aus ?


von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)



Lesenswert?

Hallo zusammen,

ich frage deshalb, weil ich in der Firmware eines Datenloggers etwas 
ändern möchte, der diesen Mikrocontroller nutzt.
Und zwar zeigt der Datenlogger ( DL ) erst einen Strom an, wenn die 
Eingangsspannung an IN+ größer als 2,80V ist. Dies muß an der 
Programmierung liegen, denn der Stromerfassungsbaustein ( MAX4081 ) 
wird mit ca. 15V versorgt und somit ist seine minimale 
Spannungsversorgung von 4,5V gegeben.
Diese Speise ich über J4 (6) ein ( Siehe Foto unten rechts ) und 
Schaltplan.

An IN+ und IN- liegt die Zellenspannung eines einzelnen NiCd-Akkus an, 
der über eine Konstantstromsenke entladen werden soll ( Schematisch mit 
N-MOSFET und 0,05 Ohm Widerstand dargestellt ), welche an OUT+ und OUT- 
angeschlossen ist.

Auf dem Display ist unten links deutlich zu erkennen das über
IN+; R4; R2 die Akkuspannung ( 1,24V ) richtig vom Mikrocontroller
( µC ) am Pin 12 => PA2 = ADC12_IN2 erkannt wird. Leider wird in 
der Anzeige ------A Ampere angezeigt, was jedoch durch die Firmware 
erzeugt wird, denn es fließt ein Strom von 50mA, da aber die 
Eingangsspannung nur 1,24V beträgt erzeugt wohl die Firmware 6x dieses 
Zeichen " - ".

Der Stromerfassungsbaustein MAX4081 gibt über seinen Pin 5 ebefalls 
seine Spannung über R7 und C9 an den µC Pin 11 => PA1 = ADC12_IN1 
weiter, die ca. 1,67V beträgt. Die Referenzspannung an Pin 7 des MAX4081 
beträgt 3,3V.

Wo muss ich im Programm ansetzen, damit bereits bei 0,9V 
Eingangsspannung an IN+ und IN- der Strom angezeigt wird ?

Im Anhang befindet sich ein Disassemblerprogramm und die Firmware.


Bernd_Stein

: Verschoben durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bernd Stein schrieb:
> Wo muss ich im Programm ansetzen, damit bereits bei 0,9V
> Eingangsspannung an IN+ und IN- der Strom angezeigt wird ?
>
> Im Anhang befindet sich ein Disassemblerprogramm und die Firmware.

Das ist nicht Dein Ernst, oder?!

von holger (Gast)


Lesenswert?

>Im Anhang befindet sich ein Disassemblerprogramm und die Firmware.

Und was soll man damit? Das ist ja wohl nicht dein Ernst?
Kein Mensch sieht sich ein disassembliertes Programm
aus einem 50kB Binary an.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Bernd Stein schrieb:
>> Wo muss ich im Programm ansetzen, damit bereits bei 0,9V
>> Eingangsspannung an IN+ und IN- der Strom angezeigt wird ?
>>

> Das ist nicht Dein Ernst, oder?!


Warum ?
Es muß doch möglich sein im Programm zu erkennen wo ADC12_IN1 und IN2 
eingelesen werden und von dort aus kann man sich doch bestimmt 
weiterhangeln bis man die Stelle entdeckt wo 6x das Zeichen " - " 
ausgegeben wird.


Bernd_Stein

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bernd Stein schrieb:
> Warum ?
> Es muß doch möglich sein im Programm zu erkennen wo ADC12_IN1 und IN2
> eingelesen werden und von dort aus kann man sich doch bestimmt
> weiterhangeln bis man die Stelle entdeckt wo 6x das Zeichen " - "
> ausgegeben wird.

Sicher, das ist möglich.

Aber Du erwartest doch nicht wirklich, daß das jemand für Dich erledigt?

Das ist Dein Problem, das musst schon Du selber erledigen.

Disassemblierten Code zu untersuchen ist sehr kompliziert, das macht 
man nicht nebenbei, so zwischen Aufstehen und Frühstück. Das ist eine 
Sauarbeit.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Disassemblierten Code zu untersuchen ist sehr kompliziert, das macht
> man nicht nebenbei, so zwischen Aufstehen und Frühstück. Das ist eine
> Sauarbeit.
>
Ich hatte mich bisher nur mit Motorolas 68HC11 und den AVRs in 
Assembler herumgeschlagen. Wo finde ich denn den Befehlsvorrat zu dem 
oben genannten µC ?
Und wie müsste die Befehlssequenz aussehen die den ADC12_IN1 und oder 
IN2 ausliest ?

Bernd_Stein

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bernd Stein schrieb:
> Wo finde ich denn den Befehlsvorrat zu dem
> oben genannten µC ?

Das ist --wie Du selbst schon herausgefunden hast-- ein ARM Cortex M3. 
So etwas ist auf der ARM-Webseite beschrieben.

http://infocenter.arm.com/help/topic/com.arm.doc.subset.cortexm.m3/index.html#cortexm3

Den disassemblierten Code kannst Du jedoch überhaupt nicht mit dem 
eines einfachen 8-Bit-µC wie HC11 vergleichen.

> Und wie müsste die Befehlssequenz aussehen die den ADC12_IN1 und oder
> IN2 ausliest ?

Na, das werden Adressen sein; die könnte man theoretisch als 
Konstanten im Disassemblat erkennen. Theoretisch, weil praktisch beim 
ARM 32-Bit-Konstanten nicht als 32-Bit-Konstanten auftauchen, sondern 
aus mehreren Teilkonstanten zusammengesetzt werden -- das ist ein 
RISC-Kern, bei dem RISC wirklich ernstgemeint ist (anders als beim AVR, 
dem auch RISC nachgesagt wird, dessen Assembler aber noch recht lesbar 
ist).

von Jan B. (berge)


Lesenswert?

Den Befehlsvorrat findest du im entsprechenden Programming Manual auf 
der ST Website. Die Adresse nach der du suchen kannst um den ADC zu 
finden, kannst du dir aus ähnlichen Datenblättern raussuchen. Wie die 
Sequenz aussieht, kannst du dir ja überlegen. Viel Erfolg.

von Detlef K. (adenin)


Lesenswert?

Ich zwar kein Gynäkologe, aber ich schaus mir mal an.

von Detlef K. (adenin)


Lesenswert?

Woher ist die Firmware?
Das File ist verschlüsselt?

von ./. (Gast)


Lesenswert?

Das Binaerfile ist digitale Gruetze weil scheinbar verschluesselt.

Sooooo wird das nichts.

von Detlef K. (adenin)


Lesenswert?

64-Bit-Block-Verschlüsselung.
Hmm, sieht so aus, all gehören die ersten 512 Byte nicht direkt zum 
Flash.
Die Vectortabele scheint erst ab 0x200 zu beginnen.

Naja, vergiss es.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

Detlef Kunz schrieb:
> Woher ist die Firmware?
> Das File ist verschlüsselt?
>
Ich glaube es ist ein Download von der Firmenseite. Siehe Anhang

Hier haben ein paar Cracks wohl das Vorgängermodell gehackt.
Allerdings ist hier nur ein ATMEL AVR ATmega 32 verbaut, das ist 
natürlich eine andere Liga.

http://endless-sphere.com/forums/viewtopic.php?f=14&t=20142

Nach dem ich hier ein wenig gestöbert habe, bin ich wohl total 
überfordert mit solch einem µC.

http://www.mikrocontroller.net/articles/STM32

Bernd_Stein

: Bearbeitet durch User
von Detlef K. (adenin)


Lesenswert?

Die gute Nachricht.
Die originale upgrader.exe vom Hersteller entschlüsselt die Firmware.
Die ersten 512 Byte sind tatsächlich nur Fileheader.

Die weniger guten Nachrichten
Dies ist anscheinend nur ein Teil der Firmware.
Das Zeug kommt an irgendeine unbekannte Adresse in den Flash.
Am Anfang befindet sich zwar eine Vectortabelle, aber die zeigt in 
Bereiche, die nicht zu diesem  Code gehören können.
Der Code enthält absolute Adressen in den Flash, die nicht zu diesem 
Code gehören können.

Theoretisch könnte man die Stelle suchen, die Ärger macht.

Und nun die schlechte Nachricht:
Dann müsste man das sinnvoll Patchen.

Und die extrem ganz schlechte Nachricht:
Und dann das ganze wieder verschlüsseln, so das es vom upgrader 
angenommen wird.

Zu viel Aufwand.

Vielleicht solltest Du den Hersteller nerven, ob er was dran ändert.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Detlef Kunz schrieb:
> Zu viel Aufwand.
>
> Vielleicht solltest Du den Hersteller nerven, ob er was dran ändert.
>
Sehr vielen Dank für Deine Bemühungen.
Viele schauen sich zwar die Fotos an, aber nur einer hat die 
Upgrader.exe heruntergeladen. Da Du offenkundig ahnung von der Materie 
hast, will ich auf deinen Rat hören.
Habe versucht über den Verkäufer an den Hersteller heranzukommen.
Jedoch schrieb der Verkäufer, das er dieses Produkt nicht mehr im 
Sortiment habe. Habe nun auch mit meinem schlechten Englisch versucht 
den Chinesen klar zu machen was ich möchte. Sehe aber wenig Hoffnung,
da als erstes die Company angegeben werden soll.

http://www.jun-si.com/Encontact.asp


Bernd_Stein

: Bearbeitet durch User
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Detlef Kunz schrieb:
> 64-Bit-Block-Verschlüsselung.
>
Vielleicht hat ja jemand kontakt zum CCC ( Chaos Computer Club ),
die könnten so etwas evtl. entschlüsseln. Dann wäre ein Anfang gemacht.

Bernd_Stein

von holger (Gast)


Lesenswert?

>Vielleicht hat ja jemand kontakt zum CCC ( Chaos Computer Club ),
>die könnten so etwas evtl. entschlüsseln. Dann wäre ein Anfang gemacht.

Ich denke die haben was besseres zu tun.
Frag doch mal die NSA;)

von Detlef K. (adenin)


Lesenswert?

Ist doch schon entschlüsselt. :D
Und mann muss nicht mal was von Verschlüsselung verstehen.
Du debuggst die upgrader.exe (ich hab die originale genommen, nicht die, 
die Du angehängt hast) mit Ollydbg2
Öffnst mit der updater.exe das Firmwarefile.
Dann stoppst Du mit Ollydbg die updader.exe und schaust die das Zeug an, 
welches ab Adresse 0x456140 zu finden ist. Das musst du noch abspeichern 
und hast die entschlüsselte Firmware (naja,der Teil, der Upgedatet wird)
Ist doch ganz einfach.
Firmware2go :)

von eProfi (Gast)


Lesenswert?

Da Du Dir schon die Mühe gemacht hast, den Analogteil abzuzeichnen, wird 
es das einfachste sein, Du gaukelst dem ADC eine (z.B. um 1 V) höhere 
Spannung vor. Dann stimmen zwar die angezeigte Spannung und Leistung 
nicht mehr, aber das kannst Du einfach in Kopf zurückrechnen.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Detlef Kunz schrieb:
> Ist doch schon entschlüsselt. :D
> Und mann muss nicht mal was von Verschlüsselung verstehen.
>

Guten Morgen,

wie Ihr merkt läßt mir die Sache keine Ruhe ( es ist jetzt 6:58Uhr ).
Ich hatte mir überlegt wirklich dem CCC eine Mail zuschicken.
Was mir am allermeisten auf dem Keks geht, ist das dies " nur " ein 
Firmwareproblem ist, also mit dem nötigen Talent einfacher zu lösen,
als wenn es ein Hardwareproblem wäre.
Eines stört mich im Allgemeinen sowieso, nämlich das Geräte so 
konstruiert werden, das ihr Gebrauch oder vor allem die Gebrauchszeit 
künstlich manipuliert werden. Ich glaube das dies wirklich so ist.
Ihr könnt Euch ja mal das ARTE Video im Link ansehen. Tut dies bitte 
auch bis zum Schluß. Denn das ist was mit den ganzen elektronischen 
Geräten passiert.

Und nun habe ich auch solch ein Gerät, das ich nicht so nutzen kann wie 
es möglich wäre, somit ist es evtl. mehr nutzlos als nützlich. Und man 
ist in der Versuchung etwas passenderes zu suchen und wenn man es 
gefunden hat, ist dieses Gerät für die Müllhalde. Ich halte aber nichts 
von dem Konzept
" kaufen für die Müllhalde ".


Detlef Kunz schrieb:
> Dann stoppst Du mit Ollydbg die updader.exe und schaust die das Zeug an,
> welches ab Adresse 0x456140 zu finden ist. Das musst du noch abspeichern
> und hast die entschlüsselte Firmware (naja,der Teil, der Upgedatet wird)
> Ist doch ganz einfach.
>
Als aller erstes nochmals vielen Dank an Dich, das Du mich versuchst in 
dieser Sache voran zu bringen, was Dich Zeit und Mühe kostet.
Nachdem ich mich nun Hardwaremäßig soweit druchgekämpft habe, das ich 
erkennen konnte, das dies ein Firmwareproblem sein muss, stehe ich nun 
vor einem gewaltigem Problem.

Vor langer Zeit hatte ich mir auch mal ein Video zum Software hacken 
angesehen und hatte gestern versucht dies wieder zu finden - jedoch ohne 
Erfolg. Dabei meine ich auch auf Ollydbg gestossen zu sein.
Software nach eigenen Bedürfnissen zu verändern, finde ich schon eine 
tolle Sache. Nur das Hauptproblem ist immer das vollständige 
Verständnis, damit man den Hebel mit Erfolg an der richtigen Stelle 
ansetzen kann.

Dieser µC hat es mächtig in sich. Zum Anderen habt Ihr es ja auch 
erwähnt, das man einen reinen Code mal nicht so eben verstehen kann. Und 
dies ist eine weit aus größere Hürde finde ich. Denn das eine kann man 
evtl. lernen das andere aber ( ein Programm zu verstehen ), ist für mich 
ein Talent.
Wobei jahrelange Erfahrung bestimmt dazu beiträgt das Talent auszubauen.

Ich möchte hier niemanden ausnutzen, jedoch gerne seine Fähigkeiten 
nutzen.
An hand der Downloadzahlen der Fotos sehe ich, das viele meinen sich mit 
diesem µC auszukennen, was ich jedoch bezweifle. Nun gut, wie auch 
immer.
Mir selbst nun beizubringen, wie der ADC dieses µC arbeitet, seinen 
Befehlscode zu erlernen und dann noch das Verständnis für den nun 
entschlüsselten Teilcode zu erlangen - halte ich in meinem bisherigen 
Stadium für eine teilweise lösbare Herausforderung. Ist nur die Frage 
wer mich weiterhin über solch einen langen zu erwartenden Zeitraum in 
dieser Sache unterstützen wird. Denn ich bin leider kein super 
Autodidakt und ohne Eure Unterstützung kann ich es nämlich gleich 
bleiben lassen.

Das Erste also was mir die Sache erleichtern würde, wäre nun dieser 
unverschlüsselte Teilcode, damit ich ihn mir im Disassembler schon mal 
ansehen kann.


eProfi schrieb:
> Da Du Dir schon die Mühe gemacht hast, den Analogteil abzuzeichnen, wird
> es das einfachste sein, Du gaukelst dem ADC eine (z.B. um 1 V) höhere
> Spannung vor.
>
Ja, an so etwas habe ich auch gedacht, aber ich will mit diesem DL die 
Entladekurve aufzeichenen und den Alarmausgang nutzen, um bei der 
Entladeschlußspannung von 0,9V den Vorgang abzuschalten. Da wäre es sehr 
von Nachteil die Spannung falsch zu erfassen.


http://www.youtube.com/watch?v=zVFZ4Ocz4VA


Bernd_Stein

von Dr. Sommer (Gast)


Lesenswert?

Bernd Stein schrieb:
> Mir selbst nun beizubringen, wie der ADC dieses µC arbeitet, seinen
> Befehlscode zu erlernen und dann noch das Verständnis für den nun
> entschlüsselten Teilcode zu erlangen - halte ich in meinem bisherigen
> Stadium für eine teilweise lösbare Herausforderung
Ob es da nicht einfacher wäre eine komplett neue Firmware zu schreiben 
und die drauf zu flashen anstelle von im bestehenden Code rumzupopeln?

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich würde eher Junsi eine Mail schreiben, ob die das ändern können... 
Angeblich sind die wohl gar nicht so unkooperativ.

von Axel R. (Gast)


Lesenswert?

Das wird wieder so ein STM32 Discovery-Clone auf eigenem Bord sein.
Deshalb laden sich so viele das (grottenschlechte) Foto runter. :)
Anders herum gefragt: Was glaubst Du, warum sich kaum jemand die exe 
runter lädt?

von Max Power (Gast)


Lesenswert?

also ganz ehrlich, ich denke auch, Firmware löschen.
neue zusammenschreiben und fertig.
Bis Du heute fleißig, läuft das ganze morgen schon..doer noch Wochen mit 
der Änderung rumschlagen...

von Axel R. (Gast)


Lesenswert?

Genau: tu einfach so, als hättest Du die bei Wattenroth oder so ein 
STm32 Discovery Bord gekauft und willst nun anfangen, damit zu spielen. 
Statt dessen nimmst Du dein Powermeter. Setz die Toolchain auf und fang 
einfach an.

Es hindert Dich auch niemand, tatsächlich ein Discovery-Bord zu kaufen. 
Dann kannst Du alles umsetzen, was Du machen wolltest und kannst dann 
deine Geistigen Erungenschaften auf das Powermeterbord "installieren" :)

Du hast schon irgentwo Recht. für die Tonne kaufen ist auch blöd.
Aber Du solltest schon den effizientesten Weg suchen, zum Ziel zu 
kommen.
Ein Neuaufsatz der Firmware scheint hier zielführend zu sein ;)

Axelr.

BTW: da gibts auch Kamera Module, Displays usw. als Zubehör zum 
Discovery - nicht schlecht... (für rel. wenig Geld)

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Axel R. schrieb:
> Genau: tu einfach so, als hättest Du die bei Wattenroth oder so ein
> STm32 Discovery Bord gekauft und willst nun anfangen, damit zu spielen.
> Statt dessen nimmst Du dein Powermeter. Setz die Toolchain auf und fang
> einfach an.
>
Wie Ihr bereits gemerkt haben dürftet, hab ich gar keine Ahnung von 
diesem µC. Aber alles was ich so gelesen habe, könnte darauf hindeuten, 
das sich in diesem ein Teilprogramm befindet, was garantiert nicht 
ausgelesen werden kann. Ob dieses nun auch gelöscht werden kann um ein 
komplett neues zu installieren weiß ich nicht.

>
> Es hindert Dich auch niemand, tatsächlich ein Discovery-Bord zu kaufen.
> Dann kannst Du alles umsetzen, was Du machen wolltest und kannst dann
> deine Geistigen Erungenschaften auf das Powermeterbord "installieren" :)
>
> Du hast schon irgentwo Recht. für die Tonne kaufen ist auch blöd.
> Aber Du solltest schon den effizientesten Weg suchen, zum Ziel zu
> kommen.
> Ein Neuaufsatz der Firmware scheint hier zielführend zu sein ;)
>
Aber nur für jemand der schon " Profi " ist und sich auch noch mit 
diesem µC auskennt. Ich übe mich in Assembler und den AVR-Tiny 
Controllern.

Simon K. schrieb:
> Ich würde eher Junsi eine Mail schreiben, ob die das ändern können...
> Angeblich sind die wohl gar nicht so unkooperativ.
>
Ich weiß, ich schreibe ziemlich viel und wahrscheinlich auch noch 
ziemlich unverständlich, aber dies habe ich bereits gestern getan und 
Euch auch hier mitgeteilt, das ich da wenig hoffung sehe.

Dr. Sommer schrieb:
> Ob es da nicht einfacher wäre eine komplett neue Firmware zu schreiben
> und die drauf zu flashen anstelle von im bestehenden Code rumzupopeln?
>
Lese weiter oben ( " Profi " ).
Ich denke nicht.
Nur weil jemand eine neue Wand in seinem Haus ziehen will ( was er auch 
nicht gut kann ), wird er nicht gleich ein ganzes Haus bauen wollen
( was er erst recht nicht kann ).
Also in diesem Sinne:
" Lieber diese krumm und schiefe Mauer bauen und lange daran arbeiten,
als versuchen komplett ein neues Haus zu bauen ".


Bernd_Stein

von Dr. Sommer (Gast)


Lesenswert?

Bernd Stein schrieb:
> Axel R. schrieb:
>> Genau: tu einfach so, als hättest Du die bei Wattenroth oder so ein
>> STm32 Discovery Bord gekauft und willst nun anfangen, damit zu spielen.
>> Statt dessen nimmst Du dein Powermeter. Setz die Toolchain auf und fang
>> einfach an.
>>
> Wie Ihr bereits gemerkt haben dürftet, hab ich gar keine Ahnung von
> diesem µC.
Und dann willst du ein bestehendes Programm reverse-engineeren? Na dann 
prost mahlzeit.
> Aber nur für jemand der schon " Profi " ist und sich auch noch mit
> diesem µC auskennt. Ich übe mich in Assembler und den AVR-Tiny
> Controllern.
AHAHA, und du meinst, man könnte ohne "Profi" zu sein das Programm 
auseinandernehmen und umbauen? Wie willst du denn verstehen was der 
Assembler-Code macht, ohne den Assembler zu lernen? Woher willst du 
wissen, was die Bits in den Peripherie-Registern bewirken ohne die 
Datenblätter zu lesen? Das ist gleich mal viel schwieriger als mal 
eben zu lernen wie dieser µC zu programmieren ist und ein eigenes 
Programm zu bauen - das geht dann schön in C mit symbolischen 
verständlichen Symbolen ohne in "die Matrix" schauen zu müssen... Das 
lohnt sich bestenfalls wenn das Programm irgendeinen supertollen 
geheimen Algorithmus enthält...
> Ich denke nicht.
> Nur weil jemand eine neue Wand in seinem Haus ziehen will ( was er auch
> nicht gut kann ), wird er nicht gleich ein ganzes Haus bauen wollen
> ( was er erst recht nicht kann ).
> Also in diesem Sinne:
> " Lieber diese krumm und schiefe Mauer bauen und lange daran arbeiten,
> als versuchen komplett ein neues Haus zu bauen ".
Nur dass du ersteinmal das ganze Haus(=Programm) auseinander nehmen 
musst, um die Mauer(=den fraglichen Programmteil) zu finden!

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Dr. Sommer schrieb:
> Wie willst du denn verstehen was der
> Assembler-Code macht, ohne den Assembler zu lernen? Woher willst du
> wissen, was die Bits in den Peripherie-Registern bewirken ohne die
> Datenblätter zu lesen?
>
Wer sagt eigentlich das ich das nicht möchte ?
Aber dazu möchte ich selbst erstmal eine Entscheidungshilfe haben,
ob da für mich irgendwie Land in Sicht ist.
Leider ist ja nur einer hier in der Lage die Binärdatei zu 
entschlüsseln,
so das man sie sich im Disassembler ansehen kann.

Blöderweise meldet der sich blos nicht mehr.

Das Hineinschnuppern in diesen Code würde mir sicher eine 
Entscheidungshilfe sein. Aber helfen will oder kann hier wohl keiner so 
richtig.


Bernd_Stein

von Matthias (Gast)


Lesenswert?

Also, ich hoffe ich hab jetzt nicht irgend eine wichtige Info überlesen,
aber ich denke dass es (unabhängig vom Assemblercode, oder 
Controller-Kenntnissen) nicht an der Software liegt, dass der  Stromwert 
nicht erfasst wird, wenn die Spannung unter 4,5V liegt. Und da die paar 
Milliohm keine Spannungsdifferenz von 4,5V erzeugen, geht das nicht.
Die magischen Worte sind "Common-Mode Range". Das heißt, dass auf einer 
Seite der Sense-Anschlüsse (egal ob + oder -) mindestens 4,5V anliegen 
müssen, damit das Teil vernünftig arbeitet. Da Du den geneuen Typ des
MAX4081 (da fehlt noch ein Buchstabe, der den Verstärkungsfaktor 
spezifiziert) nicht angegeben hast, kann ich Dir nur einen 
"exemplarischen"
Vorschlag machen:

1.
Dur brauchst einen anderen HighSide Current Sense Amplifier.
Auf die schnelle würde ich den MAX9920 empfehlen. Dem kann man die 
Referenz, sowie den Verstärkungsfaktor durch Außenbeschaltung vorgeben, 
und der Common Mode Range liegt bei -20V bis +75V. Deine paar Volt 
passen da locker rein. ABER vorsicht, wenn Du mal Ströme mir 
Spannungsquellen > 20V messen willst!

2.
Du muss den so in die Schaltung einbauen und die Außenbeschaltung 
anpassen, dass die Signale zueinander passen.
ACHTUNG! DIE IC'S SIND NICHT PIN-KOMPATIBEL!!!
Wenn der Verstärkungsfaktor und die Referenzspannung passen, dann sollte
das Teil (hoffentlich) sinnvolle Werte liefern.

von Detlef K. (adenin)


Lesenswert?

Matthias schrieb:
> Also, ich hoffe ich hab jetzt nicht irgend eine wichtige Info überlesen,
> aber ich denke dass es (unabhängig vom Assemblercode, oder
> Controller-Kenntnissen) nicht an der Software liegt, dass der  Stromwert
> nicht erfasst wird, wenn die Spannung unter 4,5V liegt.

Misst!
Das steht natürlich auch in der Betriebsanleitung auf Seite 10.
Aber wer liest son Zeug? :(
Man darf eben nie davon ausgehen, das die Leute die irgendwas 
"verbessern" wollen, die Limits und den Grund der Limits kennen.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Matthias schrieb:
> Also, ich hoffe ich hab jetzt nicht irgend eine wichtige Info überlesen,
> aber ich denke dass es...
>

STOPP, HALT, ENTWARNUNG !!!

Ich weiß der Thread ist schon wieder ziemlich lang geworden und 
wesentliche Informationen sind wohl dem Einen oder Anderen verloren 
gegangen oder ich habe mich nicht deutlich genug ausgedrückt.

Also, es handelt sich um den Typ MAX4081SAUA. Ja, der benötigt eine 
minimale Versorgungsspannung von 4,5V und maximal 76V. Er bekommt ca. 
15V über J4 ( 6 ) der oberen Diode von der Doppeldiode D2 ( rechts oben 
im Schaltplan ). PIN 2 ist Vcc des MAX4081.
Auf Foto unten rechts ist das Stück von der roten Abgreifklemme zu sehen 
über die ich die 15V einspeise.

Detlef Kunz schrieb:
> Misst!
> Das steht natürlich auch in der Betriebsanleitung auf Seite 10.
> Aber wer liest son Zeug? :(
>
Du meinst sicherlich die Bedienungsanleitung zum Jun-si PowerLog 6s 
nicht wahr ?
Aber der Schaltplan ist das A und O. Und hier kann man halt sehen,
das der Konstrukteur zwei Möglichkeiten geschaffen hat ( IN+; D1 oder 
über die Doppeldioden D2; D3; D4 ) den MAX 4081S mit Spannung zu 
versorgen.

Um dem Titel des Threads gerecht zu werden, würde ich gerne die Sache 
hier aufteilen. Und zwar wenn es um diesen Datenlogger geht, also dessen 
Hardware, wie gerade in diesem Posting - würde ich das lieber hier 
weiter diskutieren :

Beitrag "Datenlogger Jun-si PowerLog 6S verbessern"

Wenn es um den µC STM32 F103x geht und die Firmware - dann diesen 
Thread hier.

Bernd_Stein

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.