Hallo Forum, habe hier einen Atmega1284p, den ich auf einem Steckbrett grundbeschalten habe (Reset mit 10kOhm Pullup, 3xGND, 3xVCC, 100nF Kerko zw. VCC und GND). Getaktet ist er intern mit 8 MHz. Das Programm setzt einen Portpin auf Ausgang und auf High. Befeuert wird er mit einem Netzteil und 3,3 V. Ich messe am auf "high" gesetzten Portpin einen Spannungsverlust von etwa 0,8 V (gegenüber VCC). Dieses Verhalten wurde bei mittlerweile 3 getesteten Controllern festgestellt und ich weiß mir keinen Reim darauf. Bei einem Atmega328 liegt die Verorgungsspannung komplett am Pin an. Kennt jemand das Problem? Was mache ich falsch?
Womit hast du gemessen? Vielleicht liegt es am Programm, das was anderes tut, als du willst, und den Pin immer mal wieder auf Low schaltet. Hast du ein Oszi? Dann mess mal damit.
Stefan schrieb: > Ich messe am auf "high" gesetzten Portpin einen Spannungsverlust von > etwa 0,8 V (gegenüber VCC). Unüblich, eine Spannung gegenüber Vcc zu messen und noch unüblicher ist es, dass die dann noch positiver, also höher als Vcc ist. Welche Spannung misst du denn (so wie alle Welt misst) gegenüber GND? Und was passiert, wenn du den Pin mit einem 10k Widerstand mal gegen GND und mal gegen Vcc "belastest"?
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Stefan schrieb: >> Ich messe am auf "high" gesetzten Portpin einen Spannungsverlust von >> etwa 0,8 V (gegenüber VCC). > Unüblich, eine Spannung gegenüber Vcc zu messen und noch unüblicher ist > es, dass die dann noch positiver, also höher als Vcc ist. Ich verstehe das so, dass er meint, dass der Spannungsverlust von 0,8V gegenüber VCC heißt, dass der Pin um 0,8V niedriger liegt als VCC. Abgesehen davon: Bist du sicher, dass der Pin als AUSGANG geschaltet ist? - Misst du nicht vielleicht einen (floatenden) Eingang?
Stefan S. schrieb: > Bist du sicher, dass der Pin als AUSGANG geschaltet ist? - Misst du > nicht vielleicht einen (floatenden) Eingang? Würde gut passen: - altes Mulitmeter, analog, mit 50kΩ/V im 5V-Bereich (=250kΩ) - Pin ist Eingang, Pullup intern aktiv, ca. 40kΩ - ergibt dann rund 4.3V gegen GND in der Anzeige
HildeK schrieb: > 4.3V gegen GND in der Anzeige Bei 3,3V Versorgung? Sehr optimistisch! Evtl. zu optimistisch. Aber im Grunde stimme ich dir zu.
Hallo HildeK, man müsste halt wissen, mit was der TE gemessen haben will. Man beachte den Hinweis im ersten Beitrag: Stefan schrieb: > 3,3V
Stefan schrieb: > Das Programm setzt > einen Portpin auf Ausgang und auf High liest sich wirklich so als wenn du nur den pullup eingeschaltet hast statt ddr auf out zu stellen und belastest
Das Programm steht hier nicht zur Debatte, denn der/die/das TE ist davon überzeugt, dass er/sie/es alles richtig gemacht hat Ironie Mode aktiv
Ich arbeite mit der Arduino IDE: setup() { pinMode(28, OUTPUT); } loop() { digitalWrite(28, HIGH); } Ich messe mit einem DMM von Portpin 28 gegen GND und erhalte 2,5 V (0,8 V weniger als VCC). Wie bereits erwähnt, funktioniert es mit einem Atmega328. Es ist hierbei unerheblich, welchen Portpin ich setze.
Arduino F. schrieb: > Bei 3,3V Versorgung? > Sehr optimistisch! > Evtl. zu optimistisch. Du hast ja recht - warum auch immer ich die 3.3V übersehen habe und von 5V ausging ...
>AVCC is the supply voltage pin for Port A and the Analog-to-digital
Wenn AVCC nicht angeschlossen ist kann es also durchaus sein
dass an PORTA nur Schrott rauskommt.
holger schrieb: > Wenn AVCC nicht angeschlossen ist kann es also durchaus sein > dass an PORTA nur Schrott rauskommt. Habe ich schon versucht zu sagen... Wurde aber ignoriert. Joachim B. schrieb: > vielleicht ist der JTAG noch aktiv, der könnte bei manchen Ports stören! Wurde auch schon gesagt, und ebenso ignoriert.
Das Problem mit dem "Spannungseinbruch" hatte ich auch mal erlebt. Das passierte bei mir, wenn der Port nicht richtig als Ausgang definiert wurde. Also kontrollieren!
> Wurde auch schon gesagt...
Noch nicht gesagt wurde, was denn dieser Arduino-Pin Nr. 28 in der
wirklichen Welt ist.
(und nein, ich begebe mich jetzt nicht auf die Suche)
S. Landolt schrieb: > Noch nicht gesagt wurde, was denn dieser Arduino-Pin Nr. 28 in der > wirklichen Welt ist. Och... Vom UNO(ATMega328P), z.B. weiß ich, dass er keinen Pin 28 hat. Und vom TE weiß ich, dass es trotzdem funktioniert. Das "Wie" wird wohl ein Geheimnis bleiben.
Nun ja - wenn sich die Nummer auf PDIP bezieht, kann der Fehler weder an JTAG noch an nicht angeschlossenem AVcc liegen; bei den anderen Gehäusen wäre 28 GND, kann also gar nicht sein.
Arduino F. schrieb: > Och... > Vom UNO(ATMega328P), z.B. weiß ich, dass er keinen Pin 28 hat. > Und vom TE weiß ich, dass es trotzdem funktioniert. > Das "Wie" wird wohl ein Geheimnis bleiben. weil er den ATmega1284p nutzt JTAG Port C Pin 28 C6
Hi
>Vom UNO(ATMega328P), z.B. weiß ich, dass er keinen Pin 28 hat.
Lt. Datenblatt schon.
MfG Spess
spess53 schrieb: >>Vom UNO(ATMega328P), z.B. weiß ich, dass er keinen Pin 28 hat. > > Lt. Datenblatt schon. ist PC5 aber der TO nutzt ja einen ATmega1284p
:
Bearbeitet durch User
Arduino F. schrieb: > Vom UNO(ATMega328P), z.B. weiß ich, dass er keinen Pin 28 hat. > Und vom TE weiß ich, dass es trotzdem funktioniert. > Das "Wie" wird wohl ein Geheimnis bleiben. Der TE ist offensichtlich der irrigen Meinung dass die Arduino Pins (pinMode(28, OUTPUT); ) den Prozessor-Pins entsprechen.
Stefan schrieb: > pinMode(28, OUTPUT); Damit ist der Arduino Pin 28 gemeint. Die Pins am Gehäuse zu zählen ist da wenig sinnreich.
Arduino Fanboy schrieb:
> Damit ist der Arduino Pin 28 gemeint.
Na, wenn nicht einmal ein "Fanboy" weiß, welcher das ist ...
vielleicht fehlt dem TO dieses Bild? https://cdn.instructables.com/F9C/H8S3/I9FGVQ50/F9CH8S3I9FGVQ50.RECT2100.jpg
Hier wäre ein Foto vom Meßaufbau extrem hilfreich gewesen, dort hätte man dann gesehen ob der OP am richtigen Pin misst...
S. Landolt schrieb: > Na, wenn nicht einmal ein "Fanboy" weiß, welcher das ist ... Tja.... Da mir die verwendete Board Definition nicht bekannt ist, kann ich auch nur raten.... Also: Vermutlich mit dem Arduino Mega identisch.
Joachim B. schrieb: > vielleicht fehlt dem TO dieses Bild? > > https://cdn.instructables.com/F9C/H8S3/I9FGVQ50/F9... Kann nicht sein, weil der TE von 3xGND und 3xVcc sprach.
Joachim B. schrieb: > weil er den ATmega1284p nutzt Naja... Darum sagt er auch: Stefan schrieb: > Bei einem Atmega328 liegt die Verorgungsspannung > komplett am Pin an. ???
Leute, es lag am nicht angeschlossenen AVCC. Ich dachte, ich hätte das zwar schon getestet, aber egal. Danke nochmal für den Hinweis und Eure Hilfe!
Arduino F. schrieb: > Darum sagt er auch: Stefan schrieb: > habe hier einen Atmega1284p Stefan schrieb: > Bei einem Atmega328 wenn er den hat http://homepages.uni-regensburg.de/~erc24492/ATMega1284P_WINAVR/ATMega1284_P.png erschliesst sich Steckbrett für mich nicht und es gibt 4x GND und 3x VCC + 1x AVCC
Joachim B. schrieb: > erschliesst sich Steckbrett für mich nicht und es gibt 4x GND und 3x VCC > + 1x AVCC Nunja... Ein bisschen Abenteuer muss ja auch mal sein...
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.