Interner PullUp eines Atmegas644

Gast #1583979
Lesenswert?

Hallo zusammen,

Folgende Frage. Ich habe ein Board entwickelt, welches ein wenig 
fehlgeschlagen ist. Ein Schalter verbindet einen Pin eines ATmega644 mit 
entweder GND oder VCC. Wobei VCC = 3,3 V ist. Fals ich nun den Schalter 
umlege (auf VCC), springt die Strombegrenzung ein und das Board geht 
nicht mehr. Kann ich mittels des internen Pullups des ATmegas das Board 
so anhalten, das die Platine nicht ausgeht ?

             ------ VCC
--uC-Pin---\
             ------- GND

Bin für jede hilfe dankbar!

Grüße
Alex
Gast #1584052
Lesenswert?

Hmm ganz so einfach geht das nicht leider :/. Ich habe mal die VCC 
leitung durchtrennt. Ausserdem habe ich den internen pull up aktiviert.
DDRC  &= ~(1<<PC4);    // Schalter der Platine ( Auf Eingang)
PORTC |= (PC4);

(sollte doch so gehen oder?)

Leider erkennt der atmega keine signale über den Pins. Liegt das hier am 
Schalter oder habe ich mir den ATmega zerstört?

Gruß
Alex

Laut deiner Schaltung sähe das ja so aus

             ------ (nix)
--uC-Pin---\
             ------- GND
#1584053
Lesenswert?

Hallo,

Alex schrieb:
> Folgende Frage. Ich habe ein Board entwickelt, welches ein wenig
> fehlgeschlagen ist. Ein Schalter verbindet einen Pin eines ATmega644 mit
> entweder GND oder VCC. Wobei VCC = 3,3 V ist. Fals ich nun den Schalter
> umlege (auf VCC), springt die Strombegrenzung ein und das Board geht
> nicht mehr. Kann ich mittels des internen Pullups des ATmegas das Board
> so anhalten, das die Platine nicht ausgeht ?
>
>              ------ VCC
> --uC-Pin---\

kläre, wo dann der Strom langfließt! Ein Eingang eines AVR zieht keinen 
Strom, der eine Strombegrenzung zum Ansprechen bringt, dazu müßte sie im 
µA Bereich ansprechen...

Ein Ausgang könnze das vielelicht schaffen, wenn er auf L programmiert 
ist, ich habe nie getestet, wieviel da wirklich fließt bis der AVR-Pin 
stirbt.
Ich würde aber auch nur im Bereich von 100-200mA vermuten.

Gruß aus Berlin
Michael
Gast #1584057
Lesenswert?

>Kann ich mittels des internen Pullups des ATmegas das Board
>so anhalten, das die Platine nicht ausgeht ?

             ------ VCC
--uC-Pin---\
             ------- GND

>Bin für jede hilfe dankbar!


Schalte den Pin nicht auf Ausgang, dann geht das auch so.
Gast #1584069
Lesenswert?

Hmm selbst wenn ich den pin jetzut in den Pin jetzt ganz seperat 
angeschlossen habe sagt mir dieser ich habe ein low signal anliegen. 
aber die konfiguration mittels
DDRC  &= ~(1<<PC4);    // Schalter der Platine ( Auf Eingang)
PORTC |= (PC4);
 dochwar richtig oder ?

Gruß Alex
Gast #1584086
Lesenswert?

Moin,

Alex schrieb:
> DDRC  &= ~(1<<PC4);    // Schalter der Platine ( Auf Eingang)
> PORTC |= (PC4);
>  dochwar richtig oder ?

Oben benutzt Du "1<<PC4" (viermal 'ne eins shiften ins Byte), unten dann 
"PC4" -- in Deinem Fall wohl die Zahl 4, 0b00000100.
Damit duerfte die 1 an der falschen Stelle landen und der falsche Pullup 
aktiviert werden -- oder halte ich ein schwieriges Problem fuer 
einfacher als es ist?

Tschau,
  Thiemo
Gast #1585102
Lesenswert?

Hmm also nachdem ich alles durchgetestet habe scheint der uC doch noch 
OK zu sein. Ich habe an ner anderen Stelle ne Sicherung durchgehauen die 
ich erstmal ersetzen muss :). Allerdings habe ich mich auch entschlossen 
die Platine neu zu bauen.  Die Frage ist nun, wie hoch sollte so ein 
Vorwiderstand vor einem I/O Port sein?

Die Schaltung sieht folgendermaßen aus:

VCC----------| R |-------------I/O-Pin
                        \
                         \          /
                          \--------/  |--GND




/  = Schalter. Dieses soll als sicherung dienen damit nicht der Ganze 
Strom von VCC auf Maße liegt. Jemand eine Idee. Die Spannug beträgt 3,3V

Gruß
Alex
Gast #1586086
Lesenswert?

Hallo, musst Du Richtlinien beachten oder wieso musst du einen externen 
Pullup benutzen?


 I/O Pin 0--------SWITCH--GND

In dieser Schaltung kannst Du den internen Pullup aktivieren und ein 
tastendruck wird über eine logische 0 erkannt. Ist der Uc im Reset bzw. 
beim Power Up, dann sind die Pins als Tristate konfiguriert.

Mfg,

Torben
#1586094
Lesenswert?

Torben schrieb:
> Hallo, musst Du Richtlinien beachten oder wieso musst du einen externen
> Pullup benutzen?

Wenn er irgendeine Richtlinie haette, muesste er wohl nicht nach der 
Dimensionierung eines Pull-Ups fragen. ;)

Ich bin auch der Meinung, dass der interne Pull-Up hier ausreichend ist.

Volker

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren