www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie Vcc an PortPins abschalten STK525


Autor: Lisa Kunze (lisa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das STK525 mit At90USB Controller, hat zu Testzwecken ein Poti, ein Mic 
und ein°C-Sensor on board integriert. Um einen analogen Wert einzulesen, 
muss dort verständlicherweise eine Spannung anliegen.(gemessen 5V)
Diese 5V(Vcc) liegen aber nun auch an den anderen Pins von 
PortF(Eingänge AD-Wandler).
Wollte selbst eine Spannung anlegen und diese dann wandeln, wenn aber 
nix am Pin angeschlossen ist, kommt beim wandeln schon 1023 raus(10 Bit) 
also maximaler Wert. Pins sind auf Eingang eingestellt, sprich {DDxn, 
PORTxn} = 0b00!
Die Pins an denen ich Analogwerte anlegen möchte haben auch eine 
alternative Funktion: als Anschluss für einen JTag(vielleicht hat das 
damit was zu tun?!).

Wie kann ich die Spannung an den Pins jetzt abstellen? Im Datenblatt hab 
ich nichts dazu gefunden.
Ich hoffe, jemand kann mir weiterhelfen!

P.S. Was mich auch wundert: wenn ich als Referenz die Internen 2,56V 
nehme liegt z.B. am  Poti immer noch Vcc, also 5V; aber die 
Maximalspannung sollte doch die Referenz nicht überschreiten!?

Gruß Lisa

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wollte selbst eine Spannung anlegen und diese dann wandeln, wenn aber
> nix am Pin angeschlossen ist, kommt beim wandeln schon 1023 raus(10 Bit)

An einem offenen Pin kannst du mit etwas Glück auch Langwellenradio 
hören. Das sagt nichts aus, dieser Zustand ist undefiniert.

Und den Rest der Frage habe ich nicht kapiert.

> P.S. Was mich auch wundert: wenn ich als Referenz die Internen 2,56V
> nehme liegt z.B. am  Poti immer noch Vcc, also 5V; aber die
> Maximalspannung sollte doch die Referenz nicht überschreiten!?

Du kannst den ADC auch auf eine eine andere Referenz einstellen, 
beispielsweise Vcc=5V, dann passt es wieder.

Und wenn du die interne Referenz verwendest, kommt halt bei Vin >= Vref 
immer 1023 raus. So isses halt, ein STK525 kann nicht alles wissen.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lisa Kunze wrote:
> P.S. Was mich auch wundert: wenn ich als Referenz die Internen 2,56V
> nehme liegt z.B. am  Poti immer noch Vcc, also 5V; aber die
> Maximalspannung sollte doch die Referenz nicht überschreiten!?
Solange die Spannung an den Portpins VCC nicht überschreitet, ist das 
nicht weiter schlimm. Bei Spannungen höher als die Referenz kommt beim 
ADC eben der Maximalwert raus.

Autor: Lisa Kunze (lisa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnellen Antworten,

ich dachte, das wäre ein ziemlich kritischer Zustand, wenn Vin beim 
AD-Wandler größer Vref ist..das ist mir auch nur so aufgefallen.

Was mein Problem ist: die 5V am Pin. Wenn man einen AD-Wandler benutzt 
braucht man doch keine "Vor-Spannung" am Eingangspin!? Wenn ich den Pin 
mit einem Jumper auf GND leg kommt komischerweise auch nicht 0 raus, mit 
rumprobieren komme ich auf einen Wert zwischen 12 und 14, ca. 60mV.

Die Pins sind verhältnismäßig schon recht lang, sind solch Stiftleisten, 
aber das kann doch nicht so einen Einfluss darauf haben!

MfG Lisa

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> rumprobieren komme ich auf einen Wert zwischen 12 und 14, ca. 60mV.

Offsetspannung, Ungenauigkeit und Differenzen zwischen dem Massesignal 
im Controller und dem vom Poti.

Autor: Lisa Kunze (lisa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, OK, hätt ich mir auch gedacht.


Aber was hat es mit der Spannung an den Eingangspins auf sich, kann mir 
da jemand helfen, das ist echt ein Problem. Ich mein, man will ja auch 
eine 0 vom AD-Wandler bekommen, wenn nichts angeschlossen ist!

MfG Lisa

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ich den Pin mit einem Jumper auf GND leg kommt komischerweise auch
> nicht 0 raus, mit rumprobieren komme ich auf einen Wert zwischen 12 und 14,
> ca. 60mV.
Das hängt auch ein bisschen vom Board-Layout ab. Ich vermute, dass das 
STK500 nicht unter der Prämisse entwickelt wurde, damit irgendwelche 
Präzisions-Analog-Spielereien zu fabrizieren, sondern in erster Linie 
als Testboard für die hauptsächlichen Funktionen des µC. Auf so einem 
allgemeinen Eval-Board kann man nicht davon ausgehen, dass Analog- und 
Digitalteil astrein entkoppelt sind (obwohl lt. Schaltplan immerhin AVCC 
über einen Tiefpass geführt ist). Je nachdem, wo man zum Messen ansetzt 
und wie lang die Leitungen (speziell GND bzw. AGND) sind, kann es da 
durchaus zu parasitären Spannungsabfällen kommen (wie Andreas ja auch 
schon vermutete).

Vermeiden kann man das eigentlich nur durch ein vernünftiges Layout im 
Zielsystem (akkurate Entkopplung von Analog- und Digitalteil, also AGND 
von GND bzw. AVCC von VCC).

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber was hat es mit der Spannung an den Eingangspins auf sich, kann mir
> da jemand helfen, das ist echt ein Problem. Ich mein, man will ja auch
> eine 0 vom AD-Wandler bekommen, wenn nichts angeschlossen ist!

Dann musst du was anschliessen. Und wenn's ein 1MOhm Pulldown-Widerstand 
ist, oder sowas in der Art.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Pins an denen ich Analogwerte anlegen möchte haben auch eine
>alternative Funktion: als Anschluss für einen JTag(vielleicht hat das
>damit was zu tun?!).

Hast du das JTAG ausgeschaltet? Im Auslieferungszustand ist es 
eingeschaltet.

MW

Autor: Lisa Kunze (lisa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,

ich benutze nur das STK525 Board ohne STK500. Der AD-Wandler 
funktioniert ja sonst auch.
Wenn ich also eine gute AD-Wandler-Umgebung brauche sollte ich mir also 
ein anderes Board besorgen..? Erstmal geht's mir ja nur um die 
Funktionsweise, später solls aber schon genau sein! Gibt es da auch 
welche speziell zu solchem Zweck? (Empfehlungen)

MfG

Autor: Lisa Kunze (lisa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael

es sollte ausgeschaltet sein, hab das JTD Flag gesetzt; im Datenblatt 
steht aber, dass man es innerhalb von 4 Zyklen zweimal setzen muss 
umunabsichtliche Veränderungen zu vermeiden, reicht das dann wenn ich es 
zwei mal nacheinander setze?

Autor: Lisa Kunze (lisa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, das war der Fehler, huch ;)
JTD hatte ich doch nur einmal gesetzt, jetzt hab ich's zweimal mit 1 
beschrieben, und siehe da die, PortPins sind quasi 0, bis auf die kap. 
Einstreuungen. Nur ein Pin hat immer noch 0,5V komisch oder(das ist 
genau der, den ich zur Wandlung benutzte, der also auch als Eingang 
initialisiert wird)!

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.