Hallo Leute. Es könnte u.U. das falsche Forum sein, weil es ggf auch nur ein Programmierungsfehler ist, ich hoffe aber, ihr seid heute großzügig? Ich habe am ADC-Eingang ein 4,7k Widerstand vorgeschaltet um zu hohe Eingangsstöme am ADC-Port abzufangen. Wenn ich nun mit einem 10k Poti den Eingang zwischen VCC und GND einstelle, ergibt sich beim GND-Anschalg ein ADC-Wert von 129, bei VCC ein ADC-Wert von 1023. Über dem 4,7k Wideratnd fallen 270mV ab, wenn er an GND liegt, d.h. der Port treibt 57uA durch den Vorwiderstand? So initialisiere ich die ADC-Ports DDRF = 0x00; // DDRS als Eingang PORTF = 0x00; // alle Pullups aus DIDR0= 0xff; // digital input PORTF Disable Und so löse ich die Wandlung aus. ADMUX = 0x06; // externe Refernzspannung, rechts Ausrichtung, Kanal 6 ADCSRA= 0xed; Wo ist der Fehler? Die Sache mit dem Vorwiderstand habe ich vom Butterfly. Da ist es allerdings ein Spannungsteiler mit einem 1,5M Widerstand. Ist kein Vorwiderstand, aber mehr als 3uA können dann bei 5V nicht in den Port fließen, oder liege ich jetzt total daneben?
> Ich habe am ADC-Eingang ein 4,7k Widerstand vorgeschaltet
Der ADC-Eingang hat laut Datenblatt bereits selbst typischerweise
100MOhm Eingangswiderstand. 4,7kOhm wird mit diesem riesigen Widerstand
AFAIK keinen sinnvollen Spannungsteiler bilden.
Ein Vorwiderstand ist prinzipiell auch erstmal unnötig, der ADC-Port
zieht schon kein Ampere.
Kann sein, dass ich dein Posting falsch verstanden habe: Wenn du das
Poti mal weglässt und den ADC-Port über den 4,7k-Widerstand direkt an
GND hängst, misst du dann am Port die 270mV?
genau das. Mein Port liegt dann 270mV höher als die eigentlich angelegte Spannung von 0V. Die 4,7k bilden ja eigentlich keinen Spannungsteiler, weil ja eigentlich nur 3uA in den Port reinfließen sollten ...
Sind die Pullups wirklich aus ? Ein 70k Pullup Widerstand würde nämlich so etwa diese Spannung erzeugen.
Hast Du vielleicht versehentlich die internen Pullups eingeschaltet? Das könnte von den Werten her gerade passen. Stefan
es ist ein 90can128. Die Pullups hoffe ich über DDRF = 0x00; // DDRS als Eingang PORTF = 0x00; // alle Pullups aus abgeschaltet zu haben. Aber der Tip mit dem JTAG Interface ist gut. Port F also serves the functions of the JTAG interface. If the JTAG interface is enabled, the pull-up resistors on pins PF7(TDI), PF5(TMS), and PF4(TCK) will be activated even if a reset occurs. Das werd ich mir mal genauer anschauen. Danke.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.