Forum: Mikrocontroller und Digitale Elektronik AD-Wandlerschaltungsbeispiele für AVR gesucht


von Manuel Herr (Gast)


Lesenswert?

Hallo, ich versuche seit 2Tagen jetzt nun schon eine
Analog/Digigtalwandlung mit Attiny26,Mega8/16 hinzubekommen.
Aber es klappt nicht und ich habe schon eine Handvoll defekter Chips.
Kann mir irgendjemand ein Schaltungsbeispiel geben?
Ich will einfach nur eine Spannung zwischen 0-5V messen.


Besten Dank

von Kai M. Tegtmeier (Gast)


Lesenswert?

Da gibt es eigentlich nicht viel zu schalten. Die normale Schaltung, in
die der AVR halt eingebunden ist. Als Eingang mußt Du den
entsprechenden PortPin benutzen (siehe Datenblatt, beim Mega32 ist es
z.B. PortA) und die Referenzspannung Aref anschließen. Die sollte dann
bei 5V liegen. Dann müßte eigentlich alles schon funktionieren. Wie
hast Du denn die Chips kaputtgekriegt?!? Oder anders herum gefragt,
woran merkst Du, daß sie kaputt sind? Nicht vielleicht doch
Software-Fehler?!?

Gruß
KMT

von Ratber (Gast)


Lesenswert?

@Manuel

Zeig mal deine Beschaltung.
vieleicht haste nen Fehler den de nicht bemerkst.

Und Softwaremäßig kannste vieleicht erstmal mit Bascom probieren.

Das ist erstmal schneller und man kann weniger fehler machen.

Beispiel: (Gaaanz simpel aussem Gedächtnis)

-------------------
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim A As Word

Do
Start Adc
A = Getadc(0)
Lcd A 'oder Print A
Waitms 500
Loop

End
------------

Damit kannste wenigstens feststellen obs geht und ob die naderen
Controller wirklich im Sa** sind.

Bascom gibbet als Demo zum Probieren (Max 2K Code)

Sicher gibt es auch Beispiele in C oder Assembler.

von Manuel Herr (Gast)


Lesenswert?

Also ich mach das immer so, daß auch avcc und agnd mit angeschlossen
werden

Aref=+5V vom 7805
AGND=GND vom 7805
AVCC= +5V über ca 12Ohm (Trimmer) vom 7805, mit 1µ gegen GND vom 7805

die grundschaltung (quarz,kondenstoren, gnnd,vcc) und auch das
programmieren funktioniert, hab schon mehre sachen (display,led etc)
gemacht und es läuft...

ist das richtig angeschlossen? da sich die chips nicht mehr ansprechen
lassen,müssen sie defekt sein...
ich arbeite mit bascom, und will endlich zahlen haben auf dem display
*schnief

von Dirk (Gast)


Lesenswert?

Hi,

du solltest dir nochmal das Datenblatt des Controllers anschaun.
Aref kannste auf +5 V legen .... AGND auf GND..... AVCC ueber ein LC
Tiefpass an 5V .... L = 100 µH und C = 100nF

Ich vermute das du vergessen hast die interne Referenzspannung
abzuschalten ... diese liegt bei 2,56 V.


Deine zu messende Spannung darf AREF niemals uebersteigen, ansonsten
kann der µC zerstoert werden. Moechtest du groessere Spannungen messen
geht es ueber ein OP und du berechnest dir ein unbelasteten
Spannungsteiler.


Mfg

Dirk

von Manuel Herr (Gast)


Lesenswert?

mh, und wie schalte ich beim tiny26/mega8/16 die interne ref-spannung
ab?fuses? welches ist es denn? aus 176seiten datenblätter werd ich
nicht  so richtig schlau....

von Ratber (Gast)


Lesenswert?

@Manuel

Yo,das dürfte der Fehler sein.

Ich lasse den "Aref" offen wenn ich ne andere Referenz al 5V nehme
und gebe im Programm "AVCC" als Refferenz an.

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


Wie Dirk schon sagte ist per Default die Referenz auf "Aref" und der
ebenso per default auf 2.55V.(So habe ich es jedenfalls auch aus dem
Datenblatt verstanden)

Gibst du jetzt 5V drauf dann wird vermutlich die Referenzschaltung im
Controller zerstört.

Wenn ich mal ne andere Referenz an "Aref" anlege dann lasse ich vor
der ersten Programierung den Pin frei und schalte erst danach die
Referenzspannung zu.

Im Übrigen sehe ich wenig Sinn darin AVCC mit ner RC-Kombi zu
entkoppeln und die Referenz einfach ohne jegliche Maßnahme auf die 5V
zu legen.
Wenn dann würde ich gerade dort entkoppeln denn wenn die Referenz
schwankt dann schwankt auch das Meßergebnis.
Die AVCC (Und die dazugehörige masse) sind Primär zur energieversorgung
da und können schon einwenig Wandern (Innerhalb der Tolleranzen
natürlich).
(Natürlich sollte man AVCC auch entkoppeln.Was ich meinte ist das die
Referenz am wichtigsten ist)

Da du ja nun achon den AVCC Entkoppelt hast und eh 5V als Referenz
nehmen willst würde ich die Referenz mit obiger Zeile gleich auf
"AVCC" legen und du hast das Problem umgangen.

Übrigens: Der Eingang für die Referenz ("Aref") ist recht hochohmig
(Den genauen Wert hab ich jetzt nicht nachgeschlagen.Steht aber auch im
Datenblatt) so das ich wenn schon dann mit Vorwiderständen arbeiten
würde.Damit kannst du solchen "Unfällen" dann vorbeugen.

Im Listing oben fehlt übrigens noch ein "CLS" wenn du nen LCD nutzt
damit es nicht volläuft aber das haste ja sicher schon erkannt.*g*

Wie gesagt würde ich bei deiner Schaltung den Aref frei lassen und per
Soft auf AVCC umstellen da ja 5V als Referenz genommen wird.

von Markus Burrer (Gast)


Lesenswert?

Die Umschaltung zwischen AREF und interner Referenzspannung erfolgt
nicht mit Fuses sondern über das Register ADMUX, Bits 6 und 7. Diese
sind beim Einschalten per Default 0 und damit auf externe
Referenzspannung eingestellt. Eine an AREF angeschlossene Spannung kann
also nur dann schaden wenn das Programm das umstellt.
Den Fehler kann ich mir ehrlich gesagt nicht ganz erklären. Im Fall von
Manuel könnte ich mir höchstens noch vorstellen das die höhere VCC im
Verhältnis zu AVCC (wegen dem Widerstand) die Ursache sein könnte. Laut
Datenblatt darf AVCC nicht mehr als +/-0,3V von VCC abweichen. Und da
AVCC einen digitalen Port versorgt können da ausreichend große Ströme
fließen um einen Spannungsabfall von mehr als 0,3V zu verursachen. Wenn
man eine Spule statt dem Widerstand einbaut besteht noch keine Gefahr
da die einen sehr kleinen DC-Widerstand hat.
Also wenn man den AD-Wandler nicht braucht einfach AVCC direkt mit VCC
verbinden. Und auch wenn man nur einfache Messungen macht die keine
hochgenaue benötigen reicht es in der Regel wenn man AVCC und AREF
direkt mit VCC verbindet. Man sollte lediglich einen Kondensator mit
100nF in der Nähe anschließen.

@ Manuel: wieviel Strom ziehen die Controller denn jetzt und werden die
heiß?

Gruß
Markus

von Jörg Maaßen (Gast)


Lesenswert?

@Markus

Wie ich sehe beschäftigst Du Dich mit meiner Anfrage. Danke.

Gruß Jörg

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.