Forum: Mikrocontroller und Digitale Elektronik ADC Problem bei MEGA8


von TK (Gast)


Lesenswert?

Hallo zusammen,

kann mir jemand sagen, was passiert, wenn ich den ADC7 auf die interne 
VRef mit 2.56V gelegt habe, den AVR jedoch mit 5V betreibe und am ADC7 
eine variable Spannung bis 5V anlege? Kann der AVR und hier im 
Speziellen die gesamte AD Peripherie im AVR kaputt gehen?

Meiner Meinung nach sollte ein Wert oberhalb der AVRef immer mit 0x3FF 
gelesen werden - oder etwa nicht?

Ich habe nämlich hier bereits 12 Stück liegen, bei denen der AD-Teil 
nichts mehr wandelt!
In meiner Schaltung habe ich vor dem ADC7 einen Spannungsteiler mit 2mal 
10k liegen - also VCC->10k->ADC7->10k->GND (macht eigentlich VCC/2). Nun 
hab ich jedoch bei der Bestückung mal gesehen, dass der PullDown nicht 
richtig kontaktiert war -> macht nun 5V am ADC7.
Kann das ein Problem sein?

Gruß
TK

von crazy horse (Gast)


Lesenswert?


von TK (Gast)


Lesenswert?

Na ja,
aber irgendwie geht der ADC überhaupt nicht mehr - sprich er liest
IMMER 0 zurück.

Ich hab andere Platinen - mit dem GLEICHEN Programm - die laufen alle.

Ich bin kurz vor dem Verzweifeln

Gruß
TK

von M. H. (doktorgnadenlos)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe das Datenblatt des ATmega16 studiert und da findest Du diesen 
Ausschnitt (s. oben). Das bedeutet, dass eine Spannung am ADC nicht 
höher als die Referenzspannung sein darf. Es sieht also wirklich so aus, 
als ob Deine Controller damit partiell zerstört sind. Shit happenes. Im 
Datenblatt steht aber auch, dass die erste AD-Messung nach einer 
Referenzsspannungsänderung verworfen werden muss. Könnte da noch der 
Fehler zu suchen sein ?

von TK (Gast)


Lesenswert?

Ja, jetzt wo ich das Datenblatt vom Mega16 sehe,
das steht auch so im Mega8 Datenblatt drin.
Also wenn das jetzt wirklich so ist, muss ich mir mal was überlegen.
Die Aussage "shit happens" ist zwar angebracht - aber nicht wirklich 
erfreulich.

Danke erst mal
Gruß
TK

von Johannes M. (johnny-m)


Lesenswert?

Ich habe bisher nie gehört, dass ein ADC von Spannungen, die unterhalb 
der Versorgungsspannung (AVCC) liegen, kaputt geht. Grundsätzlich 
gelten die "absolute maximum ratings" für die Portpins, und Spannungen 
zwischen VREF und AVCC sollten nur den Höchstwert am ADC liefern, ihn 
aber nicht beschädigen. Dass da ein Maximalwert im Datenblatt angegeben 
ist, bedeutet imho noch nicht, dass der ADC bei dessen Überschreitung 
auch kaputt geht. Grundsätzlich kann man bei solchen Schaltkreisen 
eigentlich davon ausgehen, dass alles im Bereich der Betriebsspannung 
unkritisch ist.

Bist Du sicher, dass AVCC überhaupt korrekt angeschlossen ist? Ne 
kontinuierlich Null lässt nämlich eigentlich darauf schließen, dass der 
ADC tatsächlich nichts macht, und das wiederum liegt meist an einem 
nicht oder nicht richtig angeschlossenen AVCC...

von TK (Gast)


Lesenswert?

Also, ich hab die Pins alle durchgemessen - und die Spannungen
für GUT befunden.
Das Problem ist ja folgendes:
Ich hab hier ca. 40 Platinen liegen, bei denen eben 12 bzw. jetzt 14
nicht mehr gehen, da - wie beschrieben - der PullDown "bescheiden"
gelötet ist, also gar nicht.
Bei diesen Platinen geht der ADC nicht mehr, selbst nach dem anlöten
des Pads vom PullDown. Daher vermute ich mal, dass dies die Ursache
meines Problems ist. Die anderen Platinen tun jedoch!
Die nächste Möglichkeit ist es den Controller runterzulöten und einen
neuen druafzusetzen - ist aber mist wg. TQFP-Gehäuse - geht also nicht
ganz so einfach!
Oder ich werde mal ein Testprogramm schreiben und den Controller damit
programmieren. Mal sehen, was weniger Aufwand ist.

Gruß
TK

von crazy horse (Gast)


Lesenswert?

Die zulässige Eingangsspannung hat nichts mit Vref zu tun. Bei Vin>Vref 
muss er 0x3ff liefern.
Eingangsspannung darf nur Vcc nicht überschreiten.
Der Fehler muss woanders liegen, Avcc, Agnd?

von TK (Gast)


Lesenswert?

Also ich hab mal ein kleines Testprg geschrieben.
Dabei ist rausgekommen, dass das Ergebnis immer 0x000 ist.
Sieht also wirklich so aus, als ob die ADC Peripherie geschossen ist.
Ich muss mal bei ATMEL nachfragen, was das sein kann.

Gruß
TK

von TK (Gast)


Lesenswert?

Kurzes Feedback an alle, die es interessiert.

Ich habe mich mit dem Problem an Atmel gewandt. Als Antwort kam zurück:
Vin darf nur zwischen GND und AVRef liegen, andernfalls kann der 
Controller beschädigt werden. Selbst bei 10k "Vorwiderständen"!
So wie es aussieht, muss ich dann die uC's wohl entsorgen.

Gruß
TK

von crazy horse (Gast)


Angehängte Dateien:

Lesenswert?

Das wäre ja ein dicker Hund, ich kann es nicht glauben.
Dann gehörte dann ein dicker Verweis ins Datenblatt.
Ich habe etliche laufen unter solchen Betriebsbedingungen laufen, Vref 
intern.
Bei abgestecktem Sensor liegen da immer 5V an - noch nie Probleme damit 
gehabt.

von M. H. (doktorgnadenlos)


Lesenswert?

q.d.e. (siehe mein Kommentar oben)

Eine interne Klemmung macht ja keinen Sinn, weil die Referenz variabel 
ist. Deshalb schützt auch ein Längswiderstand vor dem ADC nicht.
Die interne Schaltung der sukzessiven Apprximation erlaubt nunmal keine 
wesentlich höhere Eingangsspannnung.

von Andreas K. (a-k)


Lesenswert?

Das man höhere Spannungen nicht messen kann ist klar. Aber warum sollte 
der Kram deshalb über die Wupper gehen? Technisch landet das Signal doch 
via S&H an einem Komparator, evtl. noch vorher einem 
Zwischen/Differenzverstärker. Nichts von diesen Komponenten dürfte an 
einer separaten Stromversorgung per Aref hängen.

von Johannes M. (johnny-m)


Lesenswert?

Andreas Kaiser wrote:
> Das man höhere Spannungen nicht messen kann ist klar. Aber warum sollte
> der Kram deshalb über die Wupper gehen? Technisch landet das Signal doch
> via S&H an einem Komparator, evtl. noch vorher einem
> Zwischen/Differenzverstärker. Nichts von diesen Komponenten dürfte an
> einer separaten Stromversorgung per Aref hängen.
Genau. War auch mein bisheriger Wissensstand. Zumal im Datenblatt 
ausdrücklich steht, dass Eingangsspannungen, die größer sind als VREF, 
zu Werten "close to 3FF" führen (Zitat: "Single ended channels that 
exceed VREF will result in codes close to 0x3FF."), aber nichts davon, 
dass das zu einer Schädigung/Zerstörung der Elektronik führt.

Der Komparator des ADC wird mit AVCC betrieben, und Spannungen, die 
größer als VREF sind, sollten schlicht dazu führen, dass der 
Komparator-Ausgang permanent "größer als VREF" ausgibt. Eine Zerstörung 
kann prinzipiell eigentlich nur dann auftreten, wenn AVCC 
überschritten wird.

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.