Forum: Mikrocontroller und Digitale Elektronik ATtiny85 Reset-Pin als Ausgang


von Meike (Gast)


Lesenswert?

Hallo,

dies ist meine erster Beitrag hier =) Sorry, wenn die Frage doof ist, 
aber kann ich bei einem ATtiny85 den Reset-Pin erst ganz normal für ISP 
beschalten und dann nach dem Programmieren den Pullup-Widerstand 
rauslöten, um ihn als normalen Ausgang zu benutzen?

Liebe Grüße,
Meike

von 12345 (Gast)


Lesenswert?

Jain. Du kannst in den Fuses den Pin umstellen. Aber danach funktioniert 
der ISP nicht mehr.
Du musst also wissen was du tust und in welcher Reihenfolge :)

von Uwe K. (ukhl)


Lesenswert?

Grundsätzlich schon. Es ist aber nicht zu empfehlen.

Man muss wissen das PB5 deutlich weniger Strom liefert. Und bei 
Programmieren hat man nur einen Versuch, weil ISP danach nicht mehr 
möglich ist. Das Testen kann sehr Zeitaufwändig werden. Besser ist es 
einen größeren Kontroller zu nehmen.

Solltest Du dich trotzdem entscheiden, den Pin PB5 als IO-Pin zu 
verwenden, benötigst Du den Pull-Up am RESET nicht. Der Pull-Up wird nur 
gebraucht um nicht ungewollt einen Reset auszulösen. Für das 
Programmieren wird er nicht benötigt.

von Mein grosses V. (vorbild)


Lesenswert?

Meike schrieb:
> um ihn als normalen Ausgang zu benutzen?

Wie schon geschrieben, ist der Pin als Ausgang etwas schwach auf der 
Brust. Eigentlich ist der dafür gar nicht zu gebrauchen, sondern taugt 
nur als Eingang.

Ein Taster lässt sich aber auch abfragen, ohne den Reset zu 
deaktivieren.

Wenn der Taster über einen Spannungsteiler angeschlossen ist und bei 
Betätigung ein bißchen am Pin wackelt, lässt sich das mit dem ADC 
abfragen. Per ADC ist der Reset-Pin immer einlesbar, auch wenn er Reset 
ist. Damit sparst du dir das Deaktivieren und Aussperren.

Vielleicht lässt sich die Schaltung ja entsprechend abändern.

von Meike (Gast)


Lesenswert?

Hallo und danke Euch!

Wieviel Strom schafft der PB5 denn als Ausgang? Ich werde da echt nicht 
schlau aus der ganzen Doku... :(

Liebe Grüße,
Meike

von Tux (Gast)


Lesenswert?

Datenblatt Seite 185

von DocMartin (Gast)


Lesenswert?

Ist z.B. in Kapitel 22.6 "Pin driver strength" ablesbar:
statt +/-20mA kann PB5 ca. +1.5/-3mA.

Ahoi, Martin

von Peter D. (peda)


Lesenswert?

Wenn überhaupt, sollte man PB5 höchstens als Eingang benutzen.
Ansonsten kann es Probleme geben, wenn im serial HV-Programming Mode das 
STK500 gegen den Ausgang auf Low ankämpfen muß.
PB5 läßt sich außerdem als analog Eingang abfragen, ohne das ISP 
deaktivieren zu müssen.

von eggi (Gast)


Lesenswert?

>PB5 läßt sich außerdem als analog Eingang abfragen, ohne das ISP
>deaktivieren zu müssen.

Ist ja interessant!
Hast du da ein Beispiel? Wie verhindert man da einen RESET?

Viele Grüße

von Peter D. (peda)


Lesenswert?

eggi schrieb:
> Wie verhindert man da einen RESET?

Indem man über der High-Schwelle bleibt.
Z.B. ein Taster mit Spannungsteiler zieht PB5 von 5,0V auf 4,5V.

von eggi (Gast)


Lesenswert?

Hmm so in der Art dachte ich mir das....hast du das schon real 
gemacht(ist das zuverlässig?)? Gibt es irgendein Referenzprojekt im Netz 
(Link)?

Viele Grüße

von Peter D. (peda)


Lesenswert?

eggi schrieb:
> hast du das schon real
> gemacht(ist das zuverlässig?)?

Ja.
Als Spannungsteiler habe ich 10k+1k genommen.
Lt. Datenblatt dürfen 0,9*VCC nicht unterschritten werden.

von Mein grosses V. (vorbild)


Lesenswert?

Man kann auch Vcc über eine Diode anschliessen und diese Diode mit einem 
Taster überbrückbar machen. Den Spannungsanstieg kann man dann mit der 
Bandgap-Messung mit dem ADC detektieren.

von eggi (Gast)


Lesenswert?

Vielen Dank, das wusste ich noch nicht!

Das ist (gerade für die 8-Pin Atmel) ein toller Tipp -  1 Pin mehr 
nutzbar!!

Viele Grüße und frohe Ostern

von Karl M. (Gast)


Lesenswert?

Mein grosses V. schrieb:
> Man kann auch Vcc über eine Diode anschliessen und diese Diode mit
> einem
> Taster überbrückbar machen. Den Spannungsanstieg kann man dann mit der
> Bandgap-Messung mit dem ADC detektieren.

Und der Strom zerschießt dann die Diode ?

One-Wire-Shot...

von Mein grosses V. (vorbild)


Lesenswert?

Karl M. schrieb:
> Und der Strom zerschießt dann die Diode ?

Hä?

von Meike (Gast)


Lesenswert?

Hey super, dann muss ich nur meine Schaltung noch ein bisschen anpassen 
und alles wird funktionieren!

Ich hätte noch eine Frage, wo hier schon so viele "Profis" antworten:

Aus vielen AD-Wandlungen muss ich viele Daten zwischengespeichert und 
auswerten.

Das bisherige Variablenarray sieht folgendermaßen aus:
uint16_t temp_i16[1024][3];

Bei einer 16-Bit-Interger Variable bleibt dann einfach zuviel Speicher
ungenutzt.

Eine uint10_t Variable wäre mir am liebsten =)

Gibt es sowas?

von Mein grosses V. (vorbild)


Lesenswert?

Meike schrieb:
> Das bisherige Variablenarray sieht folgendermaßen aus:
> uint16_t temp_i16[1024][3];

Das Array ist 6KB lang. Du wirst also einen Atmega1284 nehmen müssen. 
Dann haben sich die Probleme mit deinen I/Os auch gleich erledigt.

Meike schrieb:
> Eine uint10_t Variable wäre mir am liebsten =)
>
> Gibt es sowas?

Nein.

von Ralf G. (ralg)


Lesenswert?

Meike schrieb:
> Aus vielen AD-Wandlungen muss ich viele Daten zwischengespeichert und
> auswerten.

Mal überlegen, ob man bestimmte Berechnungen gleich nach der 
ADC-Wandlung durchführen kann.

Meike schrieb:
> Eine uint10_t Variable wäre mir am liebsten =)

Prüfe mal wohlwollend, ob auch 8Bit-ADC reichen.

von Peter D. (peda)


Lesenswert?

Meike schrieb:
> Das bisherige Variablenarray sieht folgendermaßen aus:
> uint16_t temp_i16[1024][3];

Dann sagt Dir der Compiler 1200% RAM Auslastung.
Büsschen viel oder?

von TBI (Gast)


Angehängte Dateien:

Lesenswert?

Mein grosses V. schrieb:
> Ein Taster lässt sich aber auch abfragen, ohne den Reset zu
> deaktivieren.
>
> Wenn der Taster über einen Spannungsteiler angeschlossen ist und bei
> Betätigung ein bißchen am Pin wackelt, lässt sich das mit dem ADC
> abfragen. Per ADC ist der Reset-Pin immer einlesbar, auch wenn er Reset
> ist. Damit sparst du dir das Deaktivieren und Aussperren.

Meinst du so wie im Anhang?

von Mein grosses V. (vorbild)


Lesenswert?

TBI schrieb:
> Meinst du so wie im Anhang?

Ja. Aber mit kleineren Widerständen.

Peter D. schrieb:
> Als Spannungsteiler habe ich 10k+1k genommen.

Stellt sich aber die Frage, ob alle Programmer den 1K runterziehen 
können. Aber so gewaltig ist das auch wieder nicht. Atmel-Programmer 
können das. DebugWire funktioniert damit allerdings nicht.

: Bearbeitet durch User
von TBI (Gast)


Lesenswert?

Mein grosses V. schrieb:
> Ja. Aber mit kleineren Widerständen.

Ich bin von dem allseits üblichen 10k gegen VCC ausgegangen und von da 
aus auf den 0,5V Spannungsabfall gegen GND. Warum kleinere Widerstände?

von Stefan F. (Gast)


Lesenswert?

Ich hatte mal eine Schaltung mit LED's und 90 Ohm Vorwiderständen. Sogar 
die konnte der ATmel Programmer mit ansteuern. Was mich angenehm 
überrascht hat.

Die Idee, den Reset Pin analog abzufragen, finde ich sehr interessant. 
Ich habe nämlich noch eine Menge dieser 8 Beiner in der Bastelkiste und 
oft fehlte mir nur ein Pin. Jetzt nicht mehr. 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
Noch kein Account? Hier anmelden.