Forum: Mikrocontroller und Digitale Elektronik Grobe Widerstandsmessung


von Robert Budde (Gast)


Lesenswert?

Hallo!

Ich möchte gerne möglichst einfach eine Tastatur seriell auslesen. Jede 
Taste hat einen eigenen Widerstand, kleinere Widerstände "überlagern" 
alle anderen Tasten (d.h. es wird immer nur die niederwertigste 
erkannt). Da es sich um 6 Tasten handelt habe ich 7 Zustände (halt 6 + 1 
nicht gedrückt). Da der uC eigentlich nichts anderes machen muss als die 
Tasten auszulesen kann ich z.B. 8 IO-Pins darauf verwenden das Signal zu 
dekodieren. Habe mir das AN betreffend dem AC durchgelesen, denke aber 
das ich bei einer derart geringen benötigten Auflösung etwas noch 
einfacheres machen könnte!? Hat jemand eine Idee?

Gruß
Robert

von Matthias (Gast)


Lesenswert?

Hi

hä? Du hast eine Tastatur die 6 verschiedene Widerstände zwischen zwei 
Pins schaltet je nachdem welche Taste gedrückt ist? Dann häng deine 
Tastatur + einen Widerstand an einen freilaufenden AD-Wandler und frage 
diesen zyklisch ab.

Matthias

von Robert Budde (Gast)


Lesenswert?

Na, diese Variante ist mir halt zu umständlich. Vielleicht erkläre ich 
meine Anforderung noch mal einfacher: Ich habe eine Leitung nach Masse 
die 7 Zustände haben kann: offen, 10k, 20k, ..., 60k. Und ich möchte mit 
minimalen Hard- und Softwareaufwand diese detektieren. Dazu möchte ich 
einen 2313 (wenn nicht nen Tiny) benutzen. Ich habe also keinen 
AD-Wandler und möchte auch keinen zusätzlichen nehmen. Auch würde ich 
gerne die Variante mit dem Analogcomparator umgehen, da dieser min. 8bit 
Auflösung hat. Ich möchte aber nur 3bit (7 Zustände) haben. Klar, man 
kann die niederwertigen Bits maskieren, aber irgendwie ist das wie mit 
Kanonen auf Spatzen zu schießen.
Hatte schon überlegt die Leitung über verschiedene Spannungsteiler an 6 
Portpins zu hängen. Aber ich weiß nicht ob die high oder low dann 
zuverlässig erkannt werden. Fällt jemanden noch etwas anderes ein?

Gruß
Robert

von Matthias (Gast)


Lesenswert?

Hi

was ist den einfacher als ein freilaufender AD-Wandler? Nimm ATTiny26 
der hat AD drin. Einfacher (was Hard als auch Software angeht wirst dus 
kaum bekommen.

Matthias

von Uwe (Gast)


Lesenswert?

Hi!
Irgendwie komme ich nicht ganz klar.Ein digitales Portpin ist doch nicht 
in der Lage verschiedene Widerstände bzw. Spannungspegel zu 
unterscheiden, es gibt nur High und Low, welches eindeutig definiert 
ist.Du wirst wohl mit deiner Idee an einer analogen Auswertung nicht 
vorbei kommen.

Gruss Uwe

von Christian Schifferle (Gast)


Lesenswert?

Schau mal in meinem C-Tutorial unter Artikel im Kapitel Messen eines 
Widerstandes nach und ersetze das 10 KiloOhm-Poti einfach durch deine 
Widerstandsschaltung. Die Messgenauigkeit dürfte für deine Zwecke 
allemal ausreichen.
Wenn du in ASM programmieren willst musst du dir das Progrämmchen für 
die Auswertung leider selber zusammenstricken denn für mich ist ASM ein 
Greuel.

Gruss
Christian

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
Noch kein Account? Hier anmelden.