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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.