www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Grobe Widerstandsmessung


Autor: Robert Budde (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Robert Budde (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian Schifferle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.