Forum: Mikrocontroller und Digitale Elektronik Skala halblinear n signifikante Stellen


von Walter T. (nicolas)


Lesenswert?

Hallo zusammen,

ich beschäftige mich mal wieder mit Benutzerschnittstellen (Drehgeber 
als Einstell"potis"). Lineare Verstellung ist dann gut, wenn nur ein 
kleiner Wertebereich abgedeckt werden muß, ansonsten dauert das 
Einstellen zu lange. Außerdem kommen Nicht-Ingenieure gut damit klar.

Logarithmische Verstellung (z.B. nach einer G5-Reihe) funktioniert 
schnell und komfortabel, ist aber für Laien extrem gewöhnungsbedürftig, 
wenn die Zahlen dabei angezeigt werden.

Als brauchbarer Kompromomiss hat sich eine lineare Skala innerhalb der 
Zehnerpotenzen mit n signifikanten Stelle herausgestellt, also z.B. so 
für n = 1.5:
1
   1.0
2
   1.5
3
   2.0
4
   2.5
5
   3.0
6
   3.5
7
   4.0
8
   4.5
9
   5.0
10
   5.5
11
   6.0
12
   6.5
13
   7.0
14
   7.5
15
   8.0
16
   8.5
17
   9.0
18
   9.5
19
  10.0
20
  15.0
21
  20.0
22
  25.0
23
  30.0
24
  35.0
25
  40.0
26
  45.0
27
  50.0
28
  55.0
29
  60.0
30
  65.0
31
  70.0
32
  75.0
33
  80.0
34
  85.0
35
  90.0
36
  95.0
37
 ...
38
 usw.
Nachteilig ist, dass die Auflösung nicht an jeder Stelle gleich ist. 
Vorteilhaft ist, dass Laien sehr intuitiv damit klarkommen.

Wie so oft gehe ich davon aus, dass ich nicht der erste bin, der sich 
eine solche Skala ausgedacht hat.

Kennt jemand dazu eine Referenz oder einen Namen?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Walter T. schrieb:
> Wie so oft gehe ich davon aus, dass ich nicht der erste bin, der sich
> eine solche Skala ausgedacht hat.

Bei Oszilloskopen ist schon seit Ewigkeiten eine 1-2-5 Teilung der 
Dekaden üblich, hinter den E-Reihen für Widerstandswerte steckt die 
gleiche Idee.

von Walter T. (nicolas)


Lesenswert?

Wolfgang schrieb:
> Bei Oszilloskopen ist schon seit Ewigkeiten eine 1-2-5 Teilung der
> Dekaden üblich, hinter den E-Reihen für Widerstandswerte steckt die
> gleiche Idee.

E-Reihe ist eine geometrische Reihe, also logarithmisch. Die 
1-2-5-Teilung ist auch eine grobe Näherung an logarithmisch.

Die Skala von oben ist stückweise linear.

von c r (Gast)


Lesenswert?

Walter T. schrieb:
> Die Skala von oben ist stückweise linear.

Und wieso ist das vorteilhaft?

1-2-5 Teilung hat mindestens jeder der mit € zahlt intuitiv drauf. Mich 
würde das plötzlich veränderte Verhalten beim Springen in die nächste 
Zehnerpotenz sehr stören

9.0
9.5
10.0

beim nächsten Schritt würde ich mit 10.5 rechnen, maximal 11, aber 
gewiss nicht mit 15

von A. S. (Gast)


Lesenswert?

Walter T. schrieb:
> Kennt jemand dazu eine Referenz oder einen Namen?

Gefrickel, Sackgasse. Es entspricht aber einer Eineinhalbstelligen 
Anzeige 0-19, hier halt x 5. Also die halbe Stelle hinten: 0-95 mit 0/5 
hinten

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


Lesenswert?

Walter T. schrieb:
> ich beschäftige mich mal wieder mit Benutzerschnittstellen (Drehgeber
> als Einstell"potis"). Lineare Verstellung ist dann gut, wenn nur ein
> kleiner Wertebereich abgedeckt werden muß, ansonsten dauert das
> Einstellen zu lange.
>
> Logarithmische Verstellung (z.B. nach einer G5-Reihe) funktioniert
> schnell und komfortabel, ist aber für Laien extrem gewöhnungsbedürftig

Deswegen macht man in der Praxis keines von beidem. Wenn ein Drehgeber 
große Wertebereiche abdecken soll, verwendet man eine Auswertung mit 
Dynamik. Die Grundidee ist, nur bei langsamem Drehen in Einerschritten 
zu zählen. Wird schnell gedreht (viele Impulse pro Zeiteinheit), erhöht 
man die Schrittweite.

Ich habe so z.B. die Zeiteinstellung für meinen Platinenbelichter bis 
30:00 min in Sekundenschritten realisiert. Die gewünschte Zeit ist ganz 
einfach und schnell einzustellen. Weil ich das damals das erste Mal 
implementiert habe, habe ich es ausführlich kommentiert. Siehe den 
Quellcode aus meinem Beitrag "Kurzzeittimer (z.B. für Platinenbelichter)"

Ansonsten findest du mehr mit "Drehgeber + Dynamik"

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Statt dieser Teilung mit 18 Werten in 1 linearem Abschnitt pro Dekade
1
1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5
2
10  15  20  25  30  35  40  45  50  55  60  65  70  75  80  85  90  95

würde ich diese mit 16 Werten in 3 linearen Abschnitten pro Dekade
nehmen:
1
1.0 1.2 1.4 1.6 1.8
2
2.0 2.5 3.0 3.5 4.0 4.5
3
5.0 6.0 7.0 8.0 9.0
4
10  12  14  16  18
5
20  25  30  35  40  45
6
50  60  70  80  90

Die Inkremente (1, 2, 5) sind ebenfalls humantauglich, aber die Folge
schmiegt sich sehr viel besser an das Ideal einer Exponentialfunktion an
(s. Anhang), womit auch die von "c r" kritisierten Sprünge kleiner sind.


Axel S. schrieb:
> Wenn ein Drehgeber große Wertebereiche abdecken soll, verwendet man
> eine Auswertung mit Dynamik.

Bei nur 3 Dekaden (wie in deiner Anwendung) kann man das so machen. Wenn
der Wertebereich größer ist (bspw. die Belichtungszeit einer Kamera für
astronomische Beobachtungen von 1ms bis 1000s, das sind 6 Dekaden) muss
sich die Auflösung auch an den aktuell eingestellten Wert anpassen. Man
will ja schließlich den Wert von 100s nicht mit einer Auflösung von 1ms
einstellen können/müssen.

Man kann aber beide Methoden, also die winkelgeschwindigkeits- und die
wertabhängige Auflösung, miteinander kombinieren.

von Walter T. (nicolas)


Lesenswert?

Yalu X. schrieb:
> würde ich diese mit 16 Werten in 3 linearen Abschnitten pro Dekade
> nehmen:

Ich habe es gerade mal ausprobiert: Das geht bei groben Teilungen noch 
angenehmer als meine obige grobe Beispielteilung. Sollte ich mal eine 
derart grobe Teilung benötigen, nutze ich das. Die hast Du bis 8.0 vom 
Fotoapparat abgeschrieben, oder?

Real nutze ich 2 echte signifikante Stellen. Das hätte die Erklärung 
sehr in die Länge gezogen. Da ergäbe eine dreiteilige Teilung wieder 
krumme Werte.

Axel S. schrieb:
> [...]

Der Teil wurde ja schon komplett von Yalu behandelt. Das Beispiel 
Fotokamera war auch mein erster Gedanke an ein Profi-Gerät mit 
logarithmischen Skalen. Wobei das hauptsächlich deswegen klappt, weil 
diese Skalen sein Jahrzehnten etabliert sind. Und dass man natürlich 
eine Dynamik unabhängig von der Skalenteilung einführen kann, ist ja 
auch klar. Ich habe sie bei mir aber tatsächlich nicht drin, weil ich 
ein Poti mit 100 Strichen habe. Da kann ich mit einer Umdrehung mit der 
obigen Skala 4 Dekaden abdecken. Das reicht.

: Bearbeitet durch User
von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Tastendruck entprellt, < 1 sek ---> zählt ein Digit auf oder ab
Tastendruck entprellt, > 1 sek/ ---> zählt fünf/sek Digit auf oder ab
Tastendruck entprellt, > 5 sek ---> zählt zehn/sek Digit auf oder ab
Tastendruck entprellt, > 12 sek ---> zählt fünfzig/sek Digit auf oder ab
Tastendruck entprellt, > 20 sek ---> zählt hundert/sek Digit auf oder ab


erweiterbar auf beliebige stellenzahl

es genügen 2 Taster

bei Encoder Eingabe,

links gibt Signum -

Mitte kein Zählimpuls, Tastendruck verlässt Zählroutine zur 
Übernahmebestätigung links "nein" Rechts "ja",erneuter Tastendruck führt 
aus.

rechts gibt Signum +

Tastendruck zählt nach obiger Regel

Geht rasend schnell ist intuitiv.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Walter T. schrieb:
> Die hast Du bis 8.0 vom Fotoapparat abgeschrieben, oder?

Ich habe keinen Fotoapparat mit so einer Einstellmöglichkeit, war mir
aber schon bewusst, dass ich sicher nicht der Erste mit dieser Idee bin.

Walter T. schrieb:
> Real nutze ich 2 echte signifikante Stellen.

Also
1
1.0  1.1  1.2  1.3  ...  9.9

?

Walter T. schrieb:
> Da ergäbe eine dreiteilige Teilung wieder krumme Werte.

So krumm auch wieder nicht:
1
1.00  1.05  1.10  1.15  ...  1.95
2
2.00  2.10  2.20  2.30  ...  4.90
3
5.00  5.20  5.40  5.60  ...  9.80

Das sind 75 Werte pro Dekade mit einer Worst-Case-Auflösung von 5% über
den gesamten Wertebereich.

Mit nur einem linearen Abschnitt statt drei sind es 90 Werte pro Dekade
mit einer Worst-Case-Auflösung von 10%.

Reichen dir die 10% Auflösung, geht auch folgende Teilung mit nur 35
Werten pro Dekade:
1
1.0  1.1  1.2  1.3  ...  1.9
2
2.0  2.2  2.4  2.6  ...  4.8
3
5.0  5.5  6.0  6.5  ...  9.5

: Bearbeitet durch Moderator
von John (Gast)


Angehängte Dateien:

Lesenswert?

Walter T. schrieb:
> Logarithmische Verstellung (z.B. nach einer G5-Reihe) funktioniert
> schnell und komfortabel, ist aber für Laien extrem gewöhnungsbedürftig,
> wenn die Zahlen dabei angezeigt werden.

Wenn sich der Einstellwert logarithmisch ändert, dann zeig doch den Wert 
in dB an. Bei meinem Receiver kann die Lautstärke in 1dB-Schritten 
eingestellt werden, und wird auch so angezeigt.
Damit sollten Laien keine Probleme haben.

Hier zum Beispiel: 0...40dB(1) -> 1...100
1
  dB   Wert       dB   Wert       dB  Wert
2
 
3
   0   1,00       14   5,01       28  25,12
4
   1   1,12       15   5,62       29  28,18
5
   2   1,26       16   6,31       30  31,62
6
   3   1,41       17   7,08       31  35,48
7
   4   1,58       18   7,94       32  39,81
8
   5   1,78       19   8,91       33  44,67
9
   6   2,00       20  10,00       34  50,12
10
   7   2,24       21  11,22       35  56,23
11
   8   2,51       22  12,59       36  63,10
12
   9   2,82       23  14,13       37  70,79
13
  10   3,16       24  15,85       38  79,43
14
  11   3,55       25  17,78       39  89,13
15
  12   3,98       26  19,95       40 100,00
16
  13   4,47       27  22,39

Gruß
John

von J. S. (engineer) Benutzerseite


Lesenswert?

Axel S. schrieb:
> verwendet man eine Auswertung mit
> Dynamik. Die Grundidee ist, nur bei langsamem Drehen in Einerschritten
> zu zählen. Wird schnell gedreht (viele Impulse pro Zeiteinheit), erhöht
> man die Schrittweite.
Exakt. Meine Mikrowelle macht das auch so. :-)

Die einfachste Methodik ist ist, die Drehimpulse zu differenzieren und 
sowohl dem Proportional, als auch der Geschwindigkeit und der 
Beschleunigung zuzuschlagen. Alle drei Parameter sind IIR-Filter, die zu 
50% den alten Wert und zu 50% den neuen Wert nehmen, welcher beim 
Proportional aus der Geschwindigkeit und selbige aus der Beschleunigung 
gespeist werden.
Wenn man dann 2-3mal schnell dreht, dann dreht man den Multiplikator mit 
hoch, der sich langsam wieder abschwächt. Auf diese Weise gewöhnt man 
sich sehr schnell an, die großen Werte zielgenau anzusteuern.
Der Drehgeber bekommt dann auch eine Art Trägheit und "rollt weiter", 
wenn man nicht dreht, so wie ein schweres Metallpoti.

In meinem Synth habe ich zudem eine Drucktastenfunktion im Drehgeber, um 
die Auflösung umzuschalten. Wenn man vor oder gar bei dem Drehen 
tastet, startet die Interpretation der Beschleunigung sofort auf einem 
höheren Wert.

Das ist erstaunlich gut erlernbar und man ist sowohl schnell, als auch 
präzise und das über den gesamten Bereich.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jürgen S. schrieb:
> Die einfachste Methodik
Ich bin da mit dem "dynamischen Drehgeber" schon zufrieden:
http://www.lothar-miller.de/s9y/archives/71-Drehgeberauswertung-mit-Beschleunigung.html

Der rollt zwar nicht aus (dafür ist dann ja eine flüssige 
Displayansteuerung nötig, denn Ausrollen tut ja nur die Anzeige), lässt 
sich aber bei passender Parameterwahl von Abtastzeit und der DYNAMIK 
recht knackig und vor allem treffsicher einstellen.

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.