PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino MEGA PullUp-Widerstände?



Andi#87
26.01.2019, 14:24
Hallo,

in einer Beschreibung zum MEGA steht u.a.:
„...Each (digital) pin can provide or receive a maximum of 40mA and has an internal pull-up resistor of 20-50 kOhms...“
Im Schaltplan des MEGA sehe ich allerdings keine solchen Widerstände, schon gar nicht in der entsprechenden Menge für jeden DigitalPIN. Ich habe bisher beim UNO immer solche PullUp-Widerstände eingebaut (allerdings nur 10k). Was gilt nun im MEGA? Entsprechend des Zitates würde das bedeuten, dass ich keinen einzigen PullUp-Widerstand extern hinzufügen muss. Da habe ich allerdings etwas Bauchschmerzen.
Als „Neuling“ beim MEGA kenne ich den noch nicht so genau. Aus dem Bauch heraus, zur eindeutigen Status-Fixierung eines DigitalPIN (ob high oder low), denke ich, ein solcher PullUp-Widerstand ist notwendig.
Kann mir von Euch bitte jemand eine Info geben? Sind diese R schon eingebaut und ich kann die extern weglassen?

Andi

HaWe
26.01.2019, 14:46
der Mega hat interne Pullups im Chip (ausdrücklich aktivieren per pinMode(n, INPUT_PULLUP), genau wie für die Unos),
und auch je einen i2c-Pullup auf der Platine von rund 10 kOhm (die gibts beim Uno nicht) und eingebaute im Chip von 50k (die lassen sich softwaremäßig in einer Systemdatei auch disablen). Die reichen bei kleinen i2c Taktraten meist aus, bei höheren (>= 400k) würde ich zusätzlich externe i2c-PUPs von 3-5k dazu bauen.


The 50k are internal in the ATmega2560 chip and can be disabled.
The 10k are on the Arduino Mega 2560 board and can not be disabled.
http://forum.arduino.cc/index.php?PHPSESSID=r0jsfjg4kjo65i1ljcthjv2m81&topic=377866.msg2605354#msg2605354
http://forum.arduino.cc/index.php?PHPSESSID=r0jsfjg4kjo65i1ljcthjv2m81&topic=377866.msg2605873#msg2605873

Andi#87
26.01.2019, 15:12
Danke. Das heißt, wenn ich diese internen R 50k in meinem Code komplett ignoriere, also nicht in einen Befehl aufnehme, sind sie AKTIV? Demzufolge könnte ich meine externen PUPs (schöne Abkürzung:-)) komplett weglassen und muss nicht extern beschalten? Die Werkseinstellung im MEGA ist also PUPs aktiv? Und diese Einstellungen werden auch nicht geändert, wenn ich irgendeinen Code auf den MEGA lade? Die PUPs ändern erst dann ihren Status, wenn sie ausdrücklich im Code angesprochen werden?

Andi

- - - Aktualisiert - - -

Andererseits würde es aber auch nicht schaden, externe PUPs einzubauen? Wobei hier in der Dimensionierung der ext R zu beachten wäre, das bei aktiven internen PUPs eine R-Parallelschaltung entsteht, oder?

Andi

HaWe
26.01.2019, 15:22
nein, inaktiv !!

der Mega hat interne Pullups im Chip (ausdrücklich aktivieren per pinMode(n, INPUT_PULLUP), genau wie für die Unos),
außer für i2c (die sind standardmäßig alle enabled)

d.h. für die normalen digital pins:

aktivieren MIT Pullups: pinMode(n, INPUT_PULLUP)

aktivieren OHNE Pullups: pinMode(n, INPUT)

Andi#87
26.01.2019, 15:44
...es ist vorteilhaft, wenn man (ich) aufmerksamer lesen würde.
Danke für Deine Richtigstellung.

Andi

shedepe
27.01.2019, 12:47
Datenblatt lesen: https://www.sparkfun.com/datasheets/Components/SMD/ATMega328.pdf

Da steht sowas drin ;)

HaWe
27.01.2019, 13:32
Arduino Mega2560, nicht ATMega328.
Über die Platinen-Peripherie der Arduino-Boards und -API sagen die Atmel Datenblätter auch nichts aus.
Aber auch die Arduino-Homepage, Products, Resources (Reference, Turorials und Playground) helfen sonst schon weiter.