Eingabe Textfeld

Gast #3609263
Lesenswert?

Hallo,

ich habe folgendes Problem und keine Lösung dafür, die mir gefällt. 
Darum wollte ich fragen, wie ihr das löst.

Ich programmiere zurzeit eine GUI (HMI) zur Steuerung eines µC über 
UART.
In einem Textfeld der GUI möchte ich den Spannungswert für einen DAC 
einstellen und diese Werte dann an den µC schicken.
Spannungsbereich 0-5V
Datenwort 8Bit
Auflösung(theoretisch) 0,01953125V

Möchte ich nun einen Wert von 2V einstellen müsste ich theoretisch 102,4 
am DAC einstellen ist also nicht möglich. Nächster erreichbarer Wert 
1,9921875V (102*0,01953125V)
Wie könnte man das sauber in der Eingabe des Textfeldes lösen, dass 
nicht 2V da steht und keine 2V eingestellt sind, sondern 1,9921875V.
Meine Überlegung waren Schieberegler in der GUI oder Drobdown-Menü zum 
Auswählen der Spannung. Dies Möglichkeiten gefallen mir aber nicht 
besonderts und brauchen auch zuviel Platz auf der GUI und sind 
umständlich zu handhaben.
Den nächst möglichen Wert zu berechnen wäre natürlich auch möglich und 
die eigentliche Eingabe überschreiben. Dies ist in meinen Augen die 
einzigste Möglichkeit.
Ich wollte einfach mal von euch einen Input bekommen, wie man diese 
Aufgabe sonst noch (elegant/er) lösen kann, da mir nichts mehr 
einfällt...

Es geht hier NICHT um die Auflösung der DACs, die Quantisierungsschritte 
bekomme ich ja auch mit 10/12/14/16 Bit.

PS: Richtigen Wert erst händisch zu berechnen und dann einzutippen fällt 
mangels Umständlichkeit aus
Gast #3609298
Lesenswert?

Ja das mit den vielen Nachkommastellen war schnell mit dem Win Calc 
berechnet. Die 0.2V werden vermutlich in der Praxis schon gar nicht 
schlecht sein.
Natürlich wäre die eleganteste Möglichkeit den Wert mittels ADC wider 
zurückzumessen. Das kann aber die jetzige HW-Revision nicht und wird 
vermutlich aus Kostengründen auch nicht umgesetzt.

Die Lösung mit dem theoretisch erreichbaren Wert ,sinnvoll gerundet ;), 
gefällt mir ganz gut.
Bin mal gespannt ob jemand noch ne weiter Idee parat hat.
Ist in meinen Augen auch nicht ein sehr exotisches Problem, da ja 
überall Quantisierungen auftreten wegen fehlender infinitesimal kleiner 
Auflösung, nicht nur bei DACS,PWM...
#3612865
Lesenswert?

In Windows Forms gibt es z.B. das Steuerelement NumericUpDown. Du kannst 
einen Schritt ("Increment") konfigurieren (z.B. 0.0195) und dann mit 
Pfeil-Auf und -Ab in diesen Schritten hoch- und runterzählen.

Wahrscheinlich ist ein solches Steuerelement auch in Deinem GUI-System 
(welches?) vorhanden.

Vielleicht hilft's?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren