Forum: Mikrocontroller und Digitale Elektronik PIC 18F4550 Eingangswiderstand von Pin RA2


von Phil P. (john_d)


Lesenswert?

Hallo,

ich versuche ein Nummernfeld (Matrix 3x4) mit einem 18F4550 auszulesen. 
Eigentlich kein Problem, nur wollte ich zuletzt zum einlesen der 
"Zeilen" Port A verwenden. Dort belege ich RA2 - RA5. RA2 ist allerdings 
(wie ich nach einigem Suchen festgestellt habe) nicht hochohmig. Die 
Spannung, die über einen Pin von Port D kommt fällt also stark ab, 
sobald eine entsprechende Taste am Numfeld gedrückt wird, und der Pegel 
für High wird nicht erreicht.
Alle anderen Pins sind gleich konfiguriert und zeigen ein stark 
hochohmiges Eingangsverhalten.

Ist am Pin RA2 etwas besonderes? Abgesehen davon, dass er als AD-Eingang 
konfiguriert werden kann...

Das ist eigentlich alles Relevante, was ich bei der I/O-Einstellung 
mache:

   #use fast_io(A)
   #use fast_io(B)
   #use fast_io(C)
   #use fast_io(D)
   set_tris_A(0xFC); //0b1111 1100 Hier liegen die Ausgänge des 
Numfeldes drauf.
   set_tris_B(0x00); //0b0000 0000
   set_tris_C(0x00); //0b0000 0000
   set_tris_D(0x00); //0b0000 0000

Jemand eine Idee?

Herzlichen Dank.

von Stefan (Gast)


Lesenswert?

Eingänge auf digital geschaltet ?

von Phil P. (john_d)


Lesenswert?

Nicht explizit. Ich bin davon ausgegangen, dass die auf "Input" stehen, 
wenn ich die TRIS Register entsprechend setze und eben keine ADC 
Konfiguration mache.
Was könnte ich denn versuchen?

von picfan (Gast)


Lesenswert?

hallo,
ja, die Eingänge müssen auf digital gesetzt werden (ADCON1),eigenartig, 
dass die anderen Eingänge das richtige machen... MFG

von picfan (Gast)


Lesenswert?

noch etwas, in den Configurations-bits auf das Config-bit "BADEN" 
achten!
MFG

von Volker S. (vloki)


Lesenswert?

Phil P. schrieb:
> Was könnte ich denn versuchen?

Hast du denn schon mal versucht in das Data Sheet zu schauen?
(Dann hättest du auf keine der Antworten warten müssen)

Kommt mir allerdings trotzdem etwas merkwürdig vor. Auch wenn A2 ein 
analoger Eingang ist, dann sollte er das Potential nicht so 
beeinflussen.
A2 müsste schon als Comparator Reference Output konfiguriert sein...

Wie sieht denn die Beschaltung von A2 genau aus?

von Phil P. (john_d)


Lesenswert?

Vielen Dank für die Antworten.
@vloki: Natürlich habe ich im Datenblatt schon gesucht. Gefunden habe 
ich allerdings nur, dass dieser Eingang sich nicht so verhalten dürfte, 
wie er es tut. In welchem Kapitel stünden denn die Antworten?

Beschaltung:

          |              T
       µC |    1N4849   ---
          -------->|----o o-----.
          |D0                   |
          |                     |
          |                     |
          -----o----------------'
          |A2  |
          |   .-.
              | |
              | |10k
              '-'
               | VCC
               |
              ---

@picfan: Herzlichen Dank für die Hinweise. Ich werde das am Wochenende 
ausprobieren.

von Volker S. (vloki)


Lesenswert?

Phil P. schrieb:
> @vloki: Natürlich habe ich im Datenblatt schon gesucht.

Das ist leider nicht sooooo natürlich;-)
Wenn du es erwähnt hättest, dann bräuchte keiner nochmal nachfragen.
Wenn du die Beschaltung gleich geliefert hättest...
Wenn...

Was soll das VCC am unteren Anschluss des 10k Wid. bedeuten?
Was bedeutet "der Pegel wird nicht erreicht" den genau?
Was für Spannungen liegen denn in den verschiedenen Fällen genau an?

von Phil P. (john_d)


Lesenswert?

Hallo.
Sorry. Das Vcc ist ein Copy&Paste Fehler gewesen. Muss Masse sein, womit 
der 10k einfach nur ein klares Potential definiert.

          |              T
       µC |    1N4849   ---
          -------->|----o o-----.
          |D0                   |
          |                     |
          |                     |
          -----o----------------'
          |A2  |
          |   .-.
              | |
              | |10k
              '-'
               |
               |
              --- GND

Wenn ich nachmesse, fließt etwa ein Strom von 65mA in den Pin. Das ist 
eigentlich viel zu viel. Dass der Eingang bereits Schaden genommen hätte 
kann ich allerdings nicht feststellen: Wenn man den Stromfluss zulässt 
wird das als High Signal erkannt.

Wenn allerdings nur die Schleife über D0 (als Ausgang), die Diode und 
den Taster als Strompfad verwendet wird (so in der späteren 
Applikation), fällt die Spannung an A2 auf unter 1,2V.

von Volker S. (vloki)


Lesenswert?

Und die 10k sind wirklich 10k und nicht etwa 10Ohm?
Welche Spannung liegt denn bei den 65mA an?

von Phil P. (john_d)


Lesenswert?

Volker S. schrieb:
> Und die 10k sind wirklich 10k und nicht etwa 10Ohm?

Nene. Die Widerstänge stimmen schon ;-)

Volker S. schrieb:
> Welche Spannung liegt denn bei den 65mA an?

Wenn der Saft aus D0 kommt, etwa 1,2V.

UPDATE:
Habe da Problem gefunden:
Es liegt an
1
#use fast_io(A)

Sobald ich das WEGLASSE, funktioniert der PIN wie erwartet.
Noch ein Update:

Es handelt sich um den PIN RA1. Nicht RA2! (hatte die Schaltung nicht 
vor Augen, als ich den ersten post gemacht habe.

Nun Frage ich mich wie diese Sache mit dem FastIO zu tun hat?

1
  ADCON0=0x00;
2
  ADCON1=0x0F;
...hatte leider keinen Effekt.

Gruß

von vloki (Gast)


Lesenswert?

A1 ist in deinem Original-Post aber als Ausgang  konfiguriert. Was macht 
eigentlich dieses fast-io?

von Phil P. (john_d)


Lesenswert?

Das FastIO legt eigentlich nur fest, ob man immer manuell einen Pin auf 
I oder O setzt, oder ob das von ausgeführten Operation abhängen darf. 
Zumindest verstehe ich das so.

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.