Hallo, ich habe ein paar Potis an meinen 90S2313 Angeschlossen. Und zwar mit folgender Methode: Der Poti hängt an +5V, dann gehts zu einem 100nF-C gegen Masse, von dort aus über einen kleinen Widerstand ( glaube so um die 500Ohm). Durch laden unt entladen über den Portpin lässt sich so ganz gut der Potiwert bestimmen. Ich erhalte bei einem 100K Poti z.B. Integer-Werte Werte zwischen 300 und 1400, diese Teile ich mit einem Algorithmus so herunter, dass ich auf Werte zwischen 0 und 127 komme. Jetzt habe ich das Problem, dass die Methode nicht besonders konstanz zu arbeiten scheint, bei manchen Potistellungen bewegt sich der Wert ständig zwischen zwei Werten hin und her, z.B. 54 und 55. Hat jemand eine Idee das zu kompensieren, ohne, dass das poti sehr viel träger wird? Ich habe schon probiert eine Variable hochzuzählen, wenn der Wert konstant bleibt und nur dann, wenn diese inen bestimmten Wert erreicht hat auszuwerten, aber dadurch reagiert der Poti zu langsam und manchmal überhaupt nicht. Hat jemand eine andere Idee? Danke schonmal...
auflösung bringt einem ja nur dann was, wenn sie auch richtig ausgenutzt werden kann, und das scheint ja nicht der fall sein dave
hm, das hört sich ja schlecht an. Die Auflösung von 7 Bit bräuchte ich schon. Geben die internen A/D wandler eigendlich bessere Werte aus? Wenn ja, würde ich mir einen Mega8 holen und damit arbeiten. Aber das eigendlich nur ungern.
Hi Tubbu, bei deiner Division verlierst du schon Faktor Zehn an Auflösung :) Da macht die Zwei nun auch nix mehr.
Durch Mittelwertbildung kannst du das Rauschen etwas unterdrücken - geht dann halt auf Kosten der Geschwindigkeit. So Pi mal Daumen sollte die Mittelung über vier Werte eine Verbesserung um Faktor zwei bringen. Wenn das noch schnell genug für dich bleibt, musst du dich nicht mal mit nem gleitenden Mittelwert rumschlagen. Achja, es ist dann natürlich sinnvoll die ungeteilten Werte zur Mittelwertbildung heranzuziehen, sonst verringerst du schon vorher sinnloserweise die Dynamik.
Also wenne unbedingt schnelle 7 Bit haben willst dann gibt es ja nur 2 Möglichkeiten. 1. Du schaltest einen Genaueren AD-Wandler davor und sorgst auch für entsprechende Beschaltung. Da das Platz und Geld kostet kannste auch gleich Variante 2 nehmen. 2. Nimm nen M8 und mach es entsprechend wie benedikt es schon vorgeschlagen hat. Ich mach das auch so mit nem M16 (Is AD-mÄßIG gleiche Hardware) bei 8 Bit auflösung. Die letzten 4 Bit werden einfach weggelassen und schon isser superstabil "und" schnell ;) Preismäßig tut sich da auch kaum was wesentliches und du bekommst noch einige Extras neben dem Speicher und dem Takt dazu (Siehe Datenblatt) Is das nen Vorschlag ?
Hi Tubbu, die Vorschläge dir hier kamen, mit der Hysterese oder der Mittelwertbildung sind nicht schlecht, habe ich auch schon so gemacht: Mittelwert über vier Werte. Wenn Du das ganze vor dem Runterteilen machst, sinkt auch die Auflösung nicht unter 7 bit. Viel Erfolg, Markus_8051
danke an alle. Ich habe mittlerweile festgestellt, dass wenn ich vier potis abfrage das ganze auch ohne mittelwertbildung einfach zu langsam geht. Ich werde deshalb wohl doch auf einen Mega8 umsteigen (müssen)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.