Hallo,
ich würde gerne errechnen, was für ein Potentiometer ich brauche.
Folgende Schaltung:
5V
|
|
|
------------------------POTI
| |
| |
| |
ATTiny13------------------
|
|
|
GND
Der ATTiny13 frisst bei 2.7V und 1MHz Taktfrequenz ca. 50mA. Das Poti
soll zwischen VCC und einen ADC-PIN. Woher weiß ich jetzt, wie groß der
Strom am Poti ist? Ohne diesen Wert kann ich das ja kaum dimensionieren,
oder?
Bin für jegliche Hilfe dankbar!
Was willst du mit dem Poti denn anstellen? Irgendwie ergibt erkenne ich
(noch) nicht den tieferen Sinn deiner Beschaltung, deswegen ist es
schwer, dir Dimensionierungsratschläge zu geben.
Ich möchte einfach nur über ein Drehpotentiometer einen Timer einstellen
können.
Irgendwas berechne ich falsch.
Bei 10bit Auflösung habe ich 1024 mögliche Werte.
Aus dem Datasheet lese ich, dass der ADC bei Betriebsspannung 3.3V ca.
210mA frisst.
Also muss es pro Wert einen Spannungsabfall von ca. 0.003V geben.
Potentiometer mit so kleinen Dimensionen gibt es doch gar nicht, oder?
Hab mich verguckt, das waren uA und nicht mA. Jetzt machen meine
errechneten Werte Sinn:
Spannungsabfall pro Schritt: 0.003V
Strom: 0.000002A
=> 1500 Ohm pro Schritt (linear)?
Ist das korrekt? Wäre nett, wenn das jemand verifizieren koönnte!
Anfaenger schrieb:> Ich möchte einfach nur über ein Drehpotentiometer einen Timer einstellen> können.
Ok, du möchtest also das Poti als Eingabemedium verwenden. Das geht so:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC#Beschaltung_des_ADC-Eingangs
Das, was im Bild mit PC0 bezeichnet ist, ist einer der Analogeingänge
des Controllers.
Der Widerstand des Potis spielt keine große Rolle. Etwa 10kΩ sind in
Ordnung. Wenn du Strom sparen musst, können es auch 100kΩ sein. Der
Stromfluss in den ADC-Eingang ist bei diesen Widerstandwerten
vernachlässigbar.
Ein paar Tipps von mir:
-du möchtest das Poti als einstellbaren Spannungsteiler einsetzen
-der Spannungsteiler sollte von deiner Referenzspannung zu Gnd
geschaltet sein, der Schleifer sollte an deinen AD Eingang
-die Referenzspannung ist nicht unbedingt die Versorgungsspannung
(ATtiny13 hat glaube ich zw. 1V und 1,1V
-zwischen 50k-500kOhm sollte für deine Anwendung ok sein
-ein AD Eingang zum Wandeln einer analogen Spannung zu einem digitalen
Wert "zieht" in deinem Fall kaum Strom, sondern misst die Spannung
-du solltest dir wirklich erst einmal Grundlagenwissen aneignen, sonst
geht noch was kaputt... (freundlich gemeint)
Naja, ich dachte halt, ich muesste die Bandbreite bestimmen, Mir ist
nicht klar, wie man mit einem 10k Poti und nehmen wir mal an, 3.3V
Referenzspannung den 10bit Werteberecih abdecken kann.
Der ADC kann 1024 Werte liefern.
Bei einer Referenzspannung von 3.3V entspricht jeder Wert einen
Spannungsabfall von etwa 0.003V.
Der ADC nimmt 210uA auf.
Du kannst dann mit einem 10k Poti gerade mal 7 Werte einstellen. Mit
Zittern vielleicht 20, aber falls das nicht reicht?
Oder sehe ich das falsch?
THEORETISCH sollte sich jeder mögliche digitale Wert einstellen
lassen...
wenn dir die Auflösung (Drehsektor) eines normalen Potis nicht reicht,
dann könntest du über die Verwendung eines 10-gang Potis nachdenken.
Anfaenger schrieb:> Du kannst dann mit einem 10k Poti gerade mal 7 Werte einstellen. Mit> Zittern vielleicht 20, aber falls das nicht reicht?
Also meine Drehpotis haben ca 270 Grad Drehbereich. Da lässt sich schon
sehr genau was einstellen :-)
me schrieb:> THEORETISCH sollte sich jeder mögliche digitale Wert einstellen> lassen...
Ja wie soll das gehen mit einem 10k Poti? Bitte erklaers mir!
10bit Aufloesung gemapped auf 0...3,3V Referenz.
Wie nutze ich mit nur 10k max. Widerstand die vollen 10bit aus? Kannst
du mir da bitte einen Schaltplan machen?
Floh schrieb:> Also meine Drehpotis haben ca 270 Grad Drehbereich. Da lässt sich schon> sehr genau was einstellen :-)
Es geht um die Werte, die der ADC interpretiert! Und das sollten bei
einem 10k Poti und VRef= 3.3V max. 7 sein.
Bei einer Vref=3,3V und einer mit dem Poti von 0 bis 3,3V variierten
Spannung am ADC-Eingang, werden alle Schritte der 10bit-Auflösung = 1024
Werte durchfahren. Wenn also die 270 Grad des Potis in 1024 Werte
übersetzt werden, hängt die Anzahl der stabil einstellbaren Werte nur
von der mechanischen Qualität des Potis und von der haptischen Qualität
des Bedieners ab. Realistisch sind bei einem einigermaßen brauchbaren
Poti mit ergonomischen Knopf ca. 300 - 500 Werte. Bei einem 10gang-Poti
mittlerer Qualität sollten alle 1024 Werte auch bei zitteriger Hand
einstellbar sein.
Wenn dann aber weniger Schritte gewünscht sind, rotiert man den Meßwert
entsprechend nach rechts, teilt ihn also durch 2^n.
Es grüßt RainerK
> Wenn dann aber weniger Schritte gewünscht sind, rotiert man den Meßwert> entsprechend nach rechts, teilt ihn also durch 2^n.
Korrektur: Nicht rotieren, sondern shiften, damit die niederigen Bits
nicht oben wieder hereinrutschen.
Sorry, es grüßt RainerK
@Anfaenger:
vergiss erst einmal den Eingangsstrom, der verwirrt Dich im Moment nur
und ist auch nicht wirklich wichtig, wenn Du z.B. ein 100kOhm-Poti
nimmst.
So, nun zu den Details: der ADC (Analog Digital Converter) wandelt eine
anliegende Eingangs_spannung_ in einen digitalen Wert um. Dabei wird der
ADC im AtTiny mit einer Vergleichsspannung, der sogenannten
Referenzspannung, versorgt. Die am ADC-Pin von außen angelegte Spannung
wird mit dieser Referenzspannung verglichen. Ist die angelegte Spannung
am ADC-Eingang so großt wie die Referenzspannung, gibt der ADC den Wert
1024 aus. Ist die Eingangsspannung kleiner als die Referenzspannung, ist
der ADC-Wert entsprechend kleiner.
Ist Deine Referenzspannung z.B. 3,3V und Du legst am ADC-Eingang des
Controllers 1,65V an, gibt der ADC den Wert 512 aus.
OK, nun musst Du dafür sorgen, dass das Poti als Spannungsteiler
funktioniert, also ein Ende des Potis an Masse, das andere Ende an Vcc
(z.B. 3,3V) und den Schleifer an den ADC-Eingang.
Befindet sich dann der Schleifer des Potis am Ende, das auf Masse liegt,
gibt der ADC den Wert 0 aus. Befindet sich der Schleifer des Potis am
anderen Ende, also am Ende, das auf Vcc liegt, gibt der ADC den Wert
1024 aus. Bei Zwischenstellung des Potis werden abhängig von der
Stellung dann eben Werte zwischen 0 und 1024 ausgegeben.
Noch ein kleiner Tipp: Du solltes beachten, dass der ADC als
Referenzspannung sowohl die Betriebsspannung, also Vcc, als auch die
interne 1,1V-referenz verwenden kann. Da diese 1,1V aber nicht außen am
Controller verfügbar sind, ist die Option mit Vcc als Referenz für Deine
Anwendung besser geeignet und auch per Default so im Controller
eingestellt (siehe Register ADMUX, Bit 6).
Hinweis: ich weiß, eigentlich ist der Maxwert 1023, und der Teil mit der
Referenzspannung ist etwas vereinfacht, aber ich wollte den Anfänger
nicht mit unwichtigen Details belasten.
>Es geht um die Werte, die der ADC interpretiert! Und das sollten bei>einem 10k Poti und VRef= 3.3V max. 7 sein.
Ist das Deine Forderung an die Schaltung oder Deine Vermutung über die
Funktion der Schaltung?
ein grosse DANKE fuer vielen Hinweise.
Ich denke, ich hab es jetzt verstanden.
Der Trick ist der Spannungsteiler.
Ich habe am Potentiometer
1.) Eine Strecke mit einem einstellbaren Widerstand, der sich aus zwei
Teilwiderstaenden zusammensetzt.
2.) Ich habe einen Punkt zwischen den Teilwiderstaenden, der Schleifer
heisst
Ich schalte das Potentiometer parallel zu meinem Controller. Den
Schleifer verbinde ich mit dem ADC Pin.
Nun kann ich mit dem Potentiometer variabel die beiden Teilwiderstaende
einstellen, wobei gilt: R gesamt = R1 + R2.
Dadurch ergeben sich natuerlich verschiedene Spannungen. Ist R2 (nach
dem Schleifer) verhaeltnismaessig zu R1 (vor dem Schleifer) hoch, kann
ich am Schleifer nahezu die Eingangsspannung abgreifen. Ist R2 niedrig
und dafuer R1 hoch, hab ich am Schleifer nahezu keine Spannung, weil der
Strom lieber ueber R2 abfliesst.
Stimmt das so? Habe ich die richtige Terminologie genutzt oder liege ich
immer noch falsch.
Danke jedenfalls fuer eure Bemuehungen.