Forum: Mikrocontroller und Digitale Elektronik STM8 Hall-Drehzahlmesser /Multiplexing-Frequenz anpassen


von Alex (Gast)


Lesenswert?

Hallo Leute,


Für ein kleines Bastelprojekt möchte ich eine 
7-Segment-Vakuumfloureszenz-Anzeige an einem 
China-Drehzahlmesser(LED-7-Segment, Hallsensor) betreiben.

Eigentlich dachte ich, dass es ausreicht, einfach die Ausgänge des STM8 
(LED-Vorwiderstände raus) mit den Eingängen eines 
VFD-Treiber-Transistorarrays (für Segmente und Gitter) zu verbinden, 
aber ganz so einfach ist es nicht. Die Anzeige leuchtet zwar und baut 
sich analog zu den LEDs bei steigender Drehzahl(von der letzten zur 
ersten Stelle) auf,
aber es fehlen unregelmäßig Segmente und die Anzeige wirkt ruckelig,
so dass man nichts ablesen kann.
Ich vermute, die Multiplexing Frequenz passt nicht für den Betrieb eines 
VFDs.

Mit dem ST-Link V2 konnte ich die Firmware (.hex) abspeichern.
Ich habe dann versucht, mit einem disassembler(naken_asm) die HEX-Datei 
in eine Art lesbare Form zu bringen, um die Stelle mit der Multiplexing 
Frequenz zu finden. Mir fehlt aber die Erfahrung, wo ich überhaupt 
suchen muss :)
Momentan liegt mir die Datei in Form von Addr/ Opcode Instruction/ 
Cycles vor.

Leider bin ich noch relativ unerfahren was den STM8 und überhaupt das 
Programmieren angeht. Mein Ansatz wäre es, Adressen zu entschlüsseln, um 
die Funktion dahinter zu verstehen. Gibt es da generelle Ansätze oder 
ist dabei die hardware(Pins, die mit dem Display verbunden sind?) am 
wichtigsten?
Bei Googlen nach 7-Segment-Multiplexing-Code ist mir bisher nichts 
typisches aufgefallen, dass ich in meiner disassemblierten Datei als 
Suchkriterium nutzen könnte. Vielleicht hat ja jemand einen guten 
Ansatzpunkt auf dem Schirm. :)
Ich erhoffe mir im besten Fall einen Lerneffekt, und es wäre auch 
klasse, wenn das Ganze beim Einstieg in die STM8-Programmierung helfen 
kann. Vielleicht könnt ihr mir ein bisschen helfen und evtl. hat hier 
jemand eine Idee für einen Ansatz.

Vielen Dank und viele Grüße,
Alex

von Axel S. (a-za-z0-9)


Lesenswert?

Alex schrieb:
> Für ein kleines Bastelprojekt möchte ich eine
> 7-Segment-Vakuumfloureszenz-Anzeige an einem
> China-Drehzahlmesser(LED-7-Segment, Hallsensor) betreiben.
>
> Eigentlich dachte ich, dass es ausreicht, einfach die Ausgänge des STM8
> (LED-Vorwiderstände raus) mit den Eingängen eines
> VFD-Treiber-Transistorarrays (für Segmente und Gitter) zu verbinden,
> aber ganz so einfach ist es nicht.

Was soll das sein? Ich kenne kein "VFD-Treiber-Transistorarray". Nur 
richtige VFD-Treiber. Die multiplexen aber selber.

> Ich vermute, die Multiplexing Frequenz passt nicht für den Betrieb
> eines VFDs.

Was immer du gemacht hast: wir wissen es nicht

Traditionell liefert man einen Schaltplan statt einer Beschreibung 
(zumal wenn sie so schwammig ist wie deine). Und wenn es ein µC Projekt 
ist, dann kann man nichts sagen, ohne die Software zu kennen.

Ich vermute (!) du hast ein fertiges Projekt, das für LED-Anzeigen 
gemacht war, "einfach" auf VFD umgerüstet? So wird das nichts.

von Alex (Gast)


Lesenswert?

Axel S. schrieb:
> Was soll das sein? Ich kenne kein "VFD-Treiber-Transistorarray".

In meinem Fall ein TD62783APG Transistor-Array, extra für die Anwendung 
(VFDs).

Axel S. schrieb:
> Was immer du gemacht hast: wir wissen es nicht

Eigentlich hatte ich das Ganze gar nicht so unpräzise beschrieben, oder?
Ich hatte auf Beispielcode und eine grobe Erklärung des Multiplexings 
(beim STM8) gehofft, da das mir helfen könnte die richtige Stelle im 
disassemblierten Code zu finden.

Axel S. schrieb:
> Traditionell liefert man einen Schaltplan statt einer Beschreibung
> (zumal wenn sie so schwammig ist wie deine).

Hier wird so ein STM8-Drehzahlmesser beschrieben:
https://www.electroschematics.com/digital-rpm-counter-intro/

Schaltplan habe ich bislang keinen gefunden, doch der lässt sich schnell 
aufzeichnen. Würde das überhaupt viel bringen, bei so einer 
"übersichtlichen" Schaltung?

Axel S. schrieb:
> So wird das nichts.

Ich weiss, dass es so nichts wird, deswegen erhoffte ich mir hier von 
den Experten ein paar Hinweise. So unüblich ist Multiplexing mit dem 
STM8 und die konkrete Anwendung ja wohl nicht?

von Axel S. (a-za-z0-9)


Lesenswert?

Alex schrieb:
> Axel S. schrieb:
>> Was soll das sein? Ich kenne kein "VFD-Treiber-Transistorarray".
>
> In meinem Fall ein TD62783APG Transistor-Array, extra für die
> Anwendung (VFDs).

Der geht aber nur in Verbindung mit Pulldown-Widerständen. Richtige 
VFD-Treiber haben Push-Pull Ausgänge.

> Axel S. schrieb:
>> Was immer du gemacht hast: wir wissen es nicht
>
> Eigentlich hatte ich das Ganze gar nicht so unpräzise beschrieben, oder?

Oder.

> Ich hatte auf Beispielcode und eine grobe Erklärung des Multiplexings
> (beim STM8) gehofft, da das mir helfen könnte die richtige Stelle im
> disassemblierten Code zu finden.

Das multiplexen erledigt man "so nebenbei" in Software. Da gibt es keine 
fest zugeordneten Pins oder sowas. Es ist zwar hilfreich (vereinfacht 
die Software) jeweils die Pins eines Ports zu nehmen. Aber im Prinzip 
kann jeder Pin entweder als Anoden oder als Kathodentreiber verwenden. 
Bei STM8 hat man zudem noch alternative Funktionen auf ein paar Pins.

Und was willst du mit einer "groben Erklärung"? Entweder du hast 
Multiplexing verstanden, oder nicht.

>> Traditionell liefert man einen Schaltplan statt einer Beschreibung
>> (zumal wenn sie so schwammig ist wie deine).
>
> Hier wird so ein STM8-Drehzahlmesser beschrieben:
> https://www.electroschematics.com/digital-rpm-counter-intro/

Einer nutzt nicht. Es sollte schon der gleiche sein.

> Schaltplan habe ich bislang keinen gefunden, doch der lässt sich
> schnell aufzeichnen.

Na dann mach das doch, wenn es so schnell geht %-/

>> So wird das nichts.
>
> Ich weiss, dass es so nichts wird, deswegen erhoffte ich mir hier von
> den Experten ein paar Hinweise. So unüblich ist Multiplexing mit dem
> STM8 und die konkrete Anwendung ja wohl nicht?

Die kriegst du ja. Hinweis 1: ohne Schaltplan geht nichts. Und weil 
wir dabei sind, gleich noch Hinweis 2: du brauchst einen C-Compiler und 
den ST-Link. Du wirst die Software neu schreiben müssen. Den Quellcode 
hast du ja nicht, oder?

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.