Forum: Mikrocontroller und Digitale Elektronik Bascom: Ad-Wandlerwert zwischen 1023 und 7500..


von Manuel Herr (Gast)


Lesenswert?

Hallo Leute,

habe es nun geschafft mit internem quarz (ist doch serie auf 1Mhz
eingstellt, oder) den tiny26 mit dem display zu belegen....
leider zeigen die werte nur müll irgendwie an:
ich lese die ersten 3 kanäle aus und lasse sie anzeigen: 1023.
lege ich nun ca 1,8v an wird aus der 1023 ca 7500..wohlgemerkt bei den
ersten 3 gleichzeitig, obwohl ich nur beim ersten kanal die spannung
anlege....was mach ich falsch?

aref=5V vom 7805
avcc=5V vom 7805 über ein poti (0-1kOhm) und 22µf an masse.
agnd, gnd=masse vom 7805

egal wie ich den poti drehe bei avcc, es steht immer 1023 auf dem
display....was kann das sein?


ausser "Config Adc = Single , Prescaler = Auto"
       "Start Adc"

kommt nichts weiter zum adc im bascom-quelltext vor
ein zur überprüfung angebrachter zähler läuft wunderbar, also kein
programmierungs/anzeigefehler...

wer kann mir da helfen bitte,danke und einen guten rutsch euch allen!!!

von Ratber (Gast)


Lesenswert?

Config Adc = Single , Prescaler = Auto , Reference = Avcc
                                         ----------------

von thkaiser (Gast)


Lesenswert?

Die Kanäle werden gemultiplext, es gibt eigentlich nur einen A/D-Wandler
im Controller. Wenn man Analog-Eingänge offen läßt, können sich die
Werte von anderen, beschalteten Eingängen darauf übertragen. Wenn Du
die beiden anderen Eingänge auf Masse legst oder mit einer eigenen
Quelle belegst, dann ist dieser Effekt weg.

von Manuel Herr (Gast)


Lesenswert?

@ratber: referenz=avcc brauch ich doch nur,wenn ich aref nicht
belege,oder?
so hatte ich es in einem meiner ersten versuche, da hatte er bei
0ohm(avcc) 340 und bei 355ohm 1023 auf dem display...ich werde mal es
mit masse probieren....

von Manuel Herr (Gast)


Lesenswert?

okay, habe nun einfach mal masse an adc0 und adc1 rangelötet: jetzt
stehen 2 schöne Nullen auf dem Display und wenn ich ca 1,8V ranhalte
passiert gar nichts. dafür springen adc2, 3 und 4 von ca 650 bis 750
bzw 100-900.......
hilfe, was nun?

von Klaus Angenendt (Gast)


Lesenswert?

Hallo Manuel,

AREF, AVCC und AGND müssen bei AD-Wandlung immer belegt sein.
AREF und AVCC an VCC, AGND an Masse.
Nimm ein Poti, den Schleifer an den AD-Pin,
die anderen Anschlüsse vom Poti an VCC und GND.

Gruß Klaus

von Manuel Herr (Gast)


Lesenswert?

mh, da ich noch am anfang meiner ad-wandlersache stehe, frage ich mal,
was das bringen sollen,
wenn ich vcc und gnd per poti auf einen ad-pin lege... bzw was ich mit
meine leitung machen sollen,die zwischen 0-5v (momentan 1,8v) bringt...

von Klaus Angenendt (Gast)


Lesenswert?

Hallo Manuel,

das ist natürlich nur um dein Programm zu testen.
Anschließend legst du deine 1,8V auf den AD-Pin.

Gruß Klaus

von thkaiser (Gast)


Lesenswert?

wir haben uns nicht so richtig verstanden...

1.
UNBENUTZTE A/D-Eingänge auf definiertes Potential legen (z.B. Masse).
Wenn Du einen A/D-Eingang auf Masse legst, und dann versuchst, 1.8V zu
messen, dann kann das natürlich nicht funktionieren. Die "saubere
0" zeigt ja, daß es prinzipiell funktioniert. Wenn Du die unbenutzten
Eingänge offen läßt, dann mußt Du damit leben, daß der A/D-Wandler Müll
ausgibt.

2.
Was Klaus meinte, ist ein Test-Schaltkreis. Wenn Du ein Poti zwischen
GND und VCC anschließt und den Schleifer an einen A/D-Eingang, bekommst
Du, je nach Schleiferstellung, eine Spannung von 0-5V an den A/D-Pin.
Somit kannst Du die Funktion Deiner Schaltung und auch der Software
testen. Ich habe den Eindruck, daß Du nicht nur A/D-Wandler mäßig am
Anfang stehst, sondern daß auch elementare Grundlagen in der
Elektronik fehlen (z.B. was ist ein Poti?)

3.
Wie schon von Klaus geschrieben:
AGND mit Masse beschalten
AVCC und AREF mit VCC, Alternativ kann auch AREF mit einer kleineren
Spannung als VCC beschaltet werden, um den Meßbereich zu spreizen.
Hierbei die im Datenblatt angegebenen Grenzwerte beachten! In den
Atmel-Datenblättern ist eine Beschaltung von AVCC und AREF mit einem
Tiefpaß (R/C-Glied) beschrieben, die mit Sicherheit nicht schaden
kann.
Weitere Frage: Wie "sauber" ist Deine Versorgungsspannung? An die
Stützkondensatoren gedacht? Welche Restwelligkeit hat Deine "ca.
1,8V" - Spannung? Dies alles sind Einflüsse, die die Ergebnisse der
A/D-Wandlung beeinflussen können.
Und noch etwas, das mir gerade einfällt: Falls die 1,8 V von extern
kommen, dann ist Dir bekannt, daß Du GND der Prozessorschaltung und GND
der externen Schaltung verbinden mußt, um ein Bezugspotential zu
bekommen?

von Ratber (Gast)


Lesenswert?

@Manuel

""@ratber: referenz=avcc brauch ich doch nur,wenn ich aref nicht
belege,oder?
so hatte ich es in einem meiner ersten versuche, da hatte er bei
0ohm(avcc) 340 und bei 355ohm 1023 auf dem display...ich werde mal es
mit masse probieren....""


Die Zeile war nur als Hinweis darauf das man die Quelle auch festlegen
kann (Interne Ref. , Ref. am Ref-Port oder einfach AVCC) und ich halte
es so das ich die Spannungsref. immer definiere damit es keine
überaschungen gibt.

In der "unübersichtlichen" (Ich weiß ,die is nicht der Brüller aber
wenn man etwas forscht dann findet man auch die versteckten
Angaben)Bascom Hilfe steht alles drinn.

ansonsten hab ich es auch so gemacht wie thkaiser es beschreibt und
alle ungenutzten AD-Ports mit nem Widerstand (10K.Es gehen auch andere
Werte aber von denen hab ich noch ca. 5000 Stück also verbrate ich se
recht oft für sowas)nach masse gelegt.

von Manuel Herr (Gast)


Lesenswert?

@ratber das heißt,du schreibst trotz angelegter 5V an aref noch
"referenz=avcc" bei bascom mit rein?

von Ratber (Gast)


Lesenswert?

Ja !

Schließlich muß ich davon ausgehen das ich nicht weiß was vorher
eingestellt war (Intern,Extern etc.).
Ob Bascom bei fehlenden Pararmetern einfasch eine Grundeinstellung
vornimmt weiß ich jetzt nicht und ich habs auch noch nie ausprobiert
aber so hab ich klare Verhältnisse im Controller und für mich
persönlich kann ich jederzeit am Quellcode ablesen was Sache ist.


(Der Code wird dadurch auch nicht größer da die Configzeile ja kein
Bestandteil des "Programms" darstellt.)

von Manuel Herr (Gast)


Lesenswert?

super es klappt!!! warum es heute geht und nicht schon gestern -keine
ahnung! auf jedenfall hab ich ref=avcc hinzugefügt und alles läuft.
besten dank ratber!!!!!!!!!

von Ratber (Gast)


Lesenswert?

Yo,kein Problem.

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.