Forum: Mikrocontroller und Digitale Elektronik ADC-Kanal (plötzlich) tot?


von Nikolas A. (pirelli-niko)


Lesenswert?

Hallo zusammen!

Zwischenzeitlich ist mit Hilfe dieses Forums und des Tutorials dieser 
Seite mein erstes Mikrocontroller-Projekt (ein kleiner Bordcomputer, der 
ein paar Werte anzeigen kann) geglückt! :)

Heute tat plötzlich aber ein ADC-Kanal nicht mehr! Am Eingang des µCs 
liegen 2,6V grob an und er gibt aus 0V. (sogar genau, also kein 
Rauschen) Alle anderen Kanäle tun wie gehabt. Hat jemand eine Idee was 
das sein kann?

gruß Niko.

von fubu1000 (Gast)


Lesenswert?

Hallo und guten morgen,
bin gerade erst aufgestanden und nimm mich nit zu ernst.
Aber hast du den uC mal neu geflasht???
uC Port mal durchgemessen und den PIN mit den Widerstandswerten im 
Datenblatt verglichen???
Ansonsten iss mir auch mal ein ADC Pin abgeraucht vor Jahren.Shit 
happens!
Gruss

von Nikolas A. (pirelli-niko)


Lesenswert?

Hallo!

Danke für die Antwort!

Also ich hab den µC ein paar mal neu geflashed, ja. Das hat keine 
Änderung ergeben. Den Pin hab ihc noch nicht durchgemessen, werde ich, 
sobald ich Werte aus dem Datenblatt habe mal tun.
Heute hat er komischerweise wieder Werte, wenn auch falsche, 
ausgegeben!?

Gruß Niko.

von Falk B. (falk)


Lesenswert?

@ Nikolas A. (pirelli-niko)

>Heute hat er komischerweise wieder Werte, wenn auch falsche,
>ausgegeben!?

Kalte Lötstellen, Wackelkontakte.

MfG
Falk

von O. D. (odbs)


Lesenswert?

Ich kann aus der Praxis bestätigen, daß es möglich ist, einen einzelnen 
ADC-Eingangskanal eines Atmel AVR zu zerstören, ohne den Rest des 
Controllers zu beeinträchtigen.

Als Ausgang funktionierte der PIN einwandfrei, als digitaler Eingang 
ebenfalls. Die anderen Kanäle des Multiplexers vor dem ADC waren nicht 
betroffen.

Ich habe es als extrem unwahrscheinlichen Fehler abgehakt, den Chip 
ausgetauscht und keinen weiteren daran Gedanken verschwendet.

Ist denn dein Analogeingang vernünftig beschaltet (ESD-Schutz)? Wenn ja, 
wir sind hier ja schon drei, könnte man wohl auf eine gewisse 
Empfindlichkeit des Atmel schließen. Bei mir war's ein ATMEGA1280.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>... könnte man wohl auf eine gewisse Empfindlichkeit des Atmel schließen.

Betrieb außerhalb der Spezifikationen ist immer mit einem erhöhten 
Risiko verbunden, etwas kaputt zu machen. Ein gutes Layout und 
gewissenhafte Berechnungen schützen davor.

von Nikolas A. (pirelli-niko)


Lesenswert?

Falk Brunner wrote:
> @ Nikolas A. (pirelli-niko)
>
>>Heute hat er komischerweise wieder Werte, wenn auch falsche,
>>ausgegeben!?
>
> Kalte Lötstellen, Wackelkontakte.
>
> MfG
> Falk
Das schließe ich eigentlich aus, da ich direkt am Pin des µCs die 
Spannung messen konnte.

>Ich kann aus der Praxis bestätigen, daß es möglich ist, einen einzelnen
>ADC-Eingangskanal eines Atmel AVR zu zerstören, ohne den Rest des
>Controllers zu beeinträchtigen.
>
>Als Ausgang funktionierte der PIN einwandfrei, als digitaler Eingang
>ebenfalls. Die anderen Kanäle des Multiplexers vor dem ADC waren nicht
>betroffen.
>
>Ich habe es als extrem unwahrscheinlichen Fehler abgehakt, den Chip
>ausgetauscht und keinen weiteren daran Gedanken verschwendet.
>
>Ist denn dein Analogeingang vernünftig beschaltet (ESD-Schutz)? Wenn ja,
>wir sind hier ja schon drei, könnte man wohl auf eine gewisse
>Empfindlichkeit des Atmel schließen. Bei mir war's ein ATMEGA1280.

Ne, ich hab gar keinen ESD-Schutz an den ADC-Kanälen. Ist das nötig? Ich 
dachte die ATmegas hätten das integriert? (geht hier um einen ATmega8)

Ich werde mal etwas genauer nachforschen, da es mich etwas wundert, dass 
heute wieder was angezeigt wurde, und werde euch berichten, sobald ich 
mehr Infos habe.
Vielen Dank allen auf jeden Fall!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Das schließe ich eigentlich aus, da ich direkt am Pin des µCs die
>Spannung messen konnte...

>...da es mich etwas wundert, dass
>heute wieder was angezeigt wurde...


Bei der momentanen Beschreibung des Fehlers würde ich auf einen 
Programmfehler tippen (nicht initialisierte Variablen, Overflow von 
Pointern oder des Stacks, vergessenes ret oder reti, Doppelnutzung / 
Überschreiben von Registern).

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.