Hallo liebe Kollegen,
Suche hat nichts gebracht,bin Anfänger, bitte um Hilfe:
AT90USB1287
Spannung am Spannungsteiler (versorgt mit NT): ca. 0,5V.
Verbinde ich nun diesen mit dem Pin vom ADC: ca. 0,8V.
Versorgung vom µC weg: wieder 0,5V.
Was verursacht die Spannungssteigerung?
Folgendes gemacht:
GND vom Teiler liegt an GND vom µC.
ADC Pin hochohmig
ELKO 1µF verzögert nur, keine Wertänderung
/"Hi,
bei den Analogeingängen muß man aufpassen.
Laut Datenblatt sollte die Ausgangsimpedanz der Quelle kleiner 10k
sein."/
Vielleicht liegt es an der Impendanz? Kenne mich da überhaupt nicht
aus...
Danke im Voraus!
Andrey schrieb:> Was verursacht die Spannungssteigerung?
Interner Pullup? ADC doch als Ausgang und nicht als Eingang geschaltet?
Die Pullups haben einen Widerstand von 20..50kOhm. Kommen die +0,3V mit
deinem Spannungsteiler hin?
spess53 schrieb:> Hi>> Pull-Up-Widerstand eingeschaltet?>> MfG Spess
Meinst Auf Eingang mit aktivem Port? Nein, momentan nur alles auf
Ausgang bis auf den gebrauchten Pin. Exakt wie im Beispiel vom Prof...
Dennis schrieb:> Andrey schrieb:>> Vielleicht liegt es an der Impendanz? Kenne mich da überhaupt nicht>> aus...>> Dann Oszi ranhängen und Bild posten...
Wenn ich wüsste wie´s geht (bin überzeugt es wird nicht einfach wie eine
Spannungsdifferenz gemessen) ;)
Ich google mal, wenn ich rausfinde wie s geht, tue ichs gerne =)
Michael H. schrieb:> Andrey schrieb:>> Was verursacht die Spannungssteigerung?> Interner Pullup? ADC doch als Ausgang und nicht als Eingang geschaltet?>> Die Pullups haben einen Widerstand von 20..50kOhm. Kommen die +0,3V mit> deinem Spannungsteiler hin?
DDRF = 0x7f; // PF7 auf Eingang, Rest ausgang
Passt doch, oder?
Hi
>Exakt wie im Beispiel vom Prof...
Das will nichts heißen. Wie sieht denn dein Spannungsteiler aus. Auch
wenn der ADC-Eingang recht hochohmig ist, soll die Quellimpedanz <10k
sein.
MfG Spess
Andrey schrieb:> Passt doch, oder?
Meinst du, einen Pullup bräuchte man bei einem Ausgang? Die gibts
natürlich auch bei Eingängen.
Also zeig mal den ganzen Code oder zumindest, was im PORTF Register
steht.
Wie sieht dein Spannungsteiler aus? Was passiert, wenn du dem ~35k nach
5V parallelschaltest? Ich prophezeie +0,3V...
spess53 schrieb:> Hi>>>Exakt wie im Beispiel vom Prof...>> Das will nichts heißen. Wie sieht denn dein Spannungsteiler aus. Auch> wenn der ADC-Eingang recht hochohmig ist, soll die Quellimpedanz <10k> sein.>> MfG Spess
+12V -> NTC (momentan ca. 80kOhm)-> parallel:
- ADC
- 4,2kOhm -> GND
- 1µF -> GND
Michael H. schrieb:> Andrey schrieb:>> Passt doch, oder?> Meinst du, einen Pullup bräuchte man bei einem Ausgang? Die gibts> natürlich auch bei Eingängen.> Also zeig mal den ganzen Code oder zumindest, was im PORTF Register> steht.>> Wie sieht dein Spannungsteiler aus? Was passiert, wenn du dem ~35k nach> 5V parallelschaltest? Ich prophezeie +0,3V...
PORTF unbelegt...also Nuller...?
Teiler siehe bitte oben. Danke!
Andrey.
Ich will dir nicht ins Handwerk pfuschen.
Aber wenn du qualifizierte Hilfe willst, dann
* zeige deine Schaltung
* zeige dein Programm
Hör auf die Dinge zu beschreiben, sondern zeig sie einfach.
* Eine Schaltung zeigt man am einfachsten, indem man einen Schaltplan
postet.
* Ein Programm zeigt man am einfachsten, indem du das Programm postest.
Das hat den Vorteil, dass es für dich einfach ist, und die Helfer hier
alle Informationen haben, die sie brauchen (und wenn nicht, dann fragen
sie nach)
Seit fast einer Stunde geht hier nix weiter. Hättest du gleich
Schaltplan und Programm gezeigt, wäre dein Problem wahrscheinlich schon
längst gelöst.
Hilf UNS, DIR zu helfen!
Hubert G. schrieb:> JTAG ist abgeschaltet?
Wie du siehst. Einstellungen vom Prof übernommen. Da ich nicht weiss,
was JTAG ist, habe ich es so gelassen, denn ADC scheint ja zu funzen.
ICh weiss nicht womit du den Kontroller programmierst.
Wenn du es mit ISP machst, dann ist JTAG abzuschalten.
Wenn du es mit JTAG machst, dann kannst du die PinF 4 bis 7 nicht
verwenden.
Fuseeinstellung siehe hier:
http://www.engbedded.com/fusecalc/
Hubert G. schrieb:> ICh weiss nicht womit du den Kontroller programmierst.> Wenn du es mit ISP machst, dann ist JTAG abzuschalten.> Wenn du es mit JTAG machst, dann kannst du die PinF 4 bis 7 nicht> verwenden.> Fuseeinstellung siehe hier:> http://www.engbedded.com/fusecalc/
Ich programmiere es direkt im AVR mit einem Tool über USB. JTAG scheint
es wohl nicht zu sein. Bin mir aber nicht sicher.
Aber ADC macht was er soll, auch im Beispielprogramm vom Prof.
Sorry, bin halt totaler Anfänger in der Sache....
Antwort vom Prof:
Sehr geehrter Herr ...,
wenn der Pin im offenen Zustand tatsächlich 4 MOhm Innenwiderstand hat,
dann ist das Verhalten sehr seltsam.
Im Moment der Messung wird der Innenwiderstand kurzfristig kleiner
(wegen des Sample&Hold-Kondensators im Chip), aber das messen Sie ja
nicht, das würde man nur am Oszilloskop sehen.
Der Pin ADC7 hat ja noch die Zusatzfunktionen TDI (von JTAG) und PF7.
Als erstes sollten Sie also sicherstellen, dass diese Funktionen keinen
Einfluss haben.
a) JTAG komplett deaktivieren
Wenn JTAG aktivierbar ist, dann sind die Pullups an PF4-PF7 immer
an, egal, was Sie einstellen .
Das sagt Tabelle Table 10-19. Overriding Signals for Alternate
Functions in PF7..PF4.
Im Register MCUCR kann man zwar mit Bit 7 (JTD) die JTAG-Logik
abstellen, aber offenbar nicht die Pullup-Übersteuerung.
Leider kann man JTAGEN nur mittels eines Programmiergeräts ändern,
da sich das Bit in einem Fuse Byte befindet: Table 29-4. Fuse High Byte
(AT90USB128 : 0x99 - AT90USB64 : 0x9B)
b) Digitalteil komplett abstellen, mittels Register DIDR0.
DIDR0|=0x80;
Probieren Sie erst mal, ob an einem der Eingänge ADC3-ADC0 das Problem
auch auftritt, also z.B. an ACD3:
DDRF &= ~(1<<3); // PF3 Eingang
PORTF &= ~(1<<3); // PF3 ohne Pullup
DIDR0 |= (1<<3); // PF3 keine Erkennung eines Digitalpegels nötig
Wenn es dann mit PF3 funktioniert, dann liegt es bei PF7-PF4 am JTAG.
Geben Sie mir dann noch Bescheid, was rauskam - ich habe das Problem
bisher nicht gehabt oder nicht bemerkt.
mfg,
Prof. Dr.-Ing. ...
also zusammengefasst: er sagt dir genau das gleiche wie der rest hier
auch...
was machst du jetzt? liest du dich doch mal ein oder fragst du in einem
anderen forum? ^^