PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Poti als Spannungsteiler => ADC zieht "viel" St



Dolfo
27.12.2009, 23:17
Hallo Atmeler/Innen,

ADC-Schaltung: 5k Poti als Spannungsteiler an ADC0. 5k damit lt. Datenblatt die Conversation-Zeit gering bleibt.

Strom dürfte nach R=U/I etwa 1 mA sein. Bei einem der Poti-Anschläge steigt der Strom aber rapide an. Kann eigentlich nur durch den Controller fließen - aber warum? Im ADC-Modus nehmen die Eingänge doch nur Spannung "auf" ?!

Schaltskizze anbei, falls da auch andere Anfänger drüber stolpern...

Mal wieder: danke vorab !

for_ro
27.12.2009, 23:27
Klingt als hättest du ADC0 (beim mega16 PortA.0) als Ausgang konfiguriert.

Dolfo
27.12.2009, 23:38
nein, leider nicht, sonst wäre der Fehler schnell behoben. Der PortA am Atmega 16 ist komplett als Eingang definiert.

ABER: die Referenzspannung des ADC ist auf die internen 2,56V gesetzt. Wenn es das ist, d.h. dann Strom in den ADC fließt, dann müsste das doch eigentlich ab 50% Drehstellung passieren (Poti ist linear). Er steigt aber erst bei den letzten ca. 10% an, dafür dann aber extrem stark.

for_ro
28.12.2009, 00:05
Funktioniert denn dein Programm, d.h. kannst du den ADC-Wert einlesen?

Hubert.G
28.12.2009, 08:44
Wenn der Port als Eingang definiert ist, dann gibt es meiner Ansicht nach nur zwei Möglichkeiten.
Es ist der interne PullUp aktiviert, dann sollte der Strom steigen, wenn du Richtung GND drehst.
Du hast eine höhere Spannung anliegen als VCC, dann sollte der Strom steigen wenn du Richtung +5V drehst.

Besserwessi
28.12.2009, 10:38
Kann es sein, das AVCC und AGND nicht angeschlossen sind ?
Dann könnte bei den extremstellungen des Potis der Versorgungsstrom, der sonst über AGND/AVCC fließen soll über den Poti und die internen Schutzdioden fließen.

Der intern Pullup sollte nur sehr wenig Strom (max. 0.1 mA) durchlassen.

Dolfo
28.12.2009, 11:19
Hallo,
danke für Eure Hilfe! Die Datenblätter von Atmel haben ja an sich Vorbildcharakter, aber manchmal ist einfach zu viel Neues auf einmal.

Programm und Beschaltung hatte ich mal am ATmega8 zum Laufen gebracht, jetzt beim ATmega16 hakt's.

- Pull-Ups: waren aktiviert, sind jetzt deaktiviert
- AVCC: wie im Datenblatt beschaltet (S. 214)
- AREF: AREF---Kondensator---GND
- Referenzspannung: jetzt 5VDC, nicht mehr 2,54
- Versorgung: 5VDC, eine andere Spannung kann über das Poti nicht anliegen

Das ADC-Ergebnis soll direkt an PortB (8-LED's) ausgegeben werden. Aber, for_ro, Du hast recht, es tut sich gar nichts. Und zieht immer noch Strom.

Das Programm:


; ADMUX definieren
ldi Temp,0b01100000 ; REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0
; 0 1 1 0 0 0 0 0
out ADMUX,Temp ; REFS=01: Referenzspannung ist AVCC
; ADLAR=1: linksbündig (für 8-Bit Auflösung)
; MUX=0000: ADC0 anwählen


; ADSCSRA definieren ; ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0
ldi Temp,0b11000000 ; 1 1 0 0 0 0 0 0
out ADCSRA,Temp ; ADEN=1: einschalten
; ADSC=1: Conversation starten
; ADIF=0: gibt an wenn Conversation fertig
; ADATE=0: auto trigger aus
; ADIE=0: interrupt ausgeschaltet
; ADPSx: prescaler definieren

; Conversation abwarten
ADC0_warten:
sbis ADCSRA,ADIF ; wenn ADIF gesetzt => Conversion fertig
rjmp ADC0_warten

ADC0_einlesen:
in Poti, ADCH ; linksbündiges Ergebnis merken



Ich hab jetzt keine Idee mehr, woran es noch liegen könnte.

Hubert.G
28.12.2009, 12:14
Du hast noch nicht geschrieben wann der ADC Strom zieht, wenn das Poti auf GND steht oder auf VCC.
Was misst du auf dem Pin wenn nichts drauf ist. Auch mal Ohm messen gegen GND und VCC.
Einen anderen ADC-eingang probieren, Vergleichsmessung machen.

Besserwessi
28.12.2009, 12:40
Welcher Strom wird eigentlich gemessen, und wie viel Strom fließt da ?

Wie schon gesagt, mal einen anderen Pin nehmen (könnte ein HW Defekt sein).

Dolfo
30.12.2009, 09:33
Fehler gefunden. Trau's mich gar nicht zu sagen: das LC-Glied war verkehrt herum gepolt. Nach dem Motto "3 x abgeschnitten und immer noch zu kurz" hab ich das permanent übersehen. Sorry...

Trotzdem haben mir Eure Anstöße viel geholfen, hab einiges nachgewälzt und verstehe besser. Danke dafür !!!

Dolfo

Feratu
06.01.2010, 11:44
Wenns um Grundschaltungen geht ist die seite echt gut:
http://www.kreatives-chaos.com/artikel/avr-grundschaltungen