Hallo Matthias,
röhrenradiofreak hat geschrieben:
- Die Abstimmspannung auf einen A/D-Wandler geben und eine Umrechnungskurve Spannung -> Frequenz hinterlegen (die aber nicht linear ist). Von der Hardware her einfacher, aber ungenauer....
matzGP hat geschrieben:
... letzteres scheint mir praktikabler... und empirisch zu ermitteln (also gemessene Spannung und entspr. eingestellte Frequenz...)
da liegt ein kleiner Pferdefuß verborgen. Die Umrechnungskurve ist nicht unbedingt einfache Mathematik.
Hast Du Dir schon mal überlegt, wie man aus den gemessenen z.B. 10 Stützstellenpaaren (Abstimmspannung/Empfangsfrequenz) den Arduino wieder die anzuzeigende Frequenz berechnen läßt?
Natürlich könnte man den Arduino zwischen den Stützstellen linear interpolieren lassen. Je nach Krümmumg der Umrechnungskurve und Lage der Stützstellen kann das aber zu größeren Anzeigefehlern führen. Die Programmierung stelle ich mir auch relativ umständlich vor.
Die beste Lösung - aus der Sicht der Mathematik - wäre wohl die Erstellung eines sog. Splines (s. Wikipedia Spline). Aber auch der ist normalerweise nicht ganz simpel in ein Programm für den Arduino umzusetzen.
Praktisch besser in solchen Fällen ist, wenn man versucht, mit einem Polynom auszukommen. Dazu gibt es Software, mit der man durch einen gegebenen Satz von Stützstellen ein Polynom n-ter Ordnung legt, sodaß die Abweichungen an und zwischen den Stützstellen möglichst klein werden. Die Software gibt dann die Polynomialkoeffizienten aus, die man leicht in den Arduino übetragen kann. Dieser braucht dann pro eingegebener ADW-Spannung nur ein Polynom z.B. 4. oder 5. Ordnung zu berechnen, um die entsprechende Frequenz zu erzeugen. Eine relativ leichte Programmierübung.
Ich benutze zur Erstellung solcher Polynome eine Software aus meinem früheren beruflichen Umfeld (Origin). Die ist leider nicht kostenlos und recht teuer. Im Prinzip sollte auch Excel o.ä. brauchbar sein. Da ich Excel nicht benutze, kenne ich mich da aber nicht aus. Ansonsten: Suchmaschine --> Näherungspolynom.
Einen Spline kann man hier erzeugen:
https://tools.timodenk.com/?p=cubic-spl ... erpolationGruß
Heinz