Poti "entprellen"

Gast #117864
Lesenswert?

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...
Gast #117868
Lesenswert?

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.
Gast #117871
Lesenswert?

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.
Gast #117872
Lesenswert?

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 ?
Gast #117873
Lesenswert?

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
Gast #117874
Lesenswert?

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)

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