Forum: Mikrocontroller und Digitale Elektronik ATTiny mit ISP porgrammieren trotz beschaltung


von Petr t. (vicon)


Lesenswert?

Hallo,

ich möchte gerne wissen wie man einen ATTiny über ISP programmiert, wenn 
die Anschlusspins durch andere Schaltungselemente genutzt werden 
(LED,Transistor,Kondensator, ... etc.).
Ich habe nur mal aus einem älteren Forumseintrag gelesen das es geht, 
wenn man Schutzwiderstände benutzt, aber wie hoch müssen diese sein ?
Als Beispiel. Ich möchte eine 20mA LED über einen Anschluss des ATTiny 
betreiben, der zugleich für den ISP notwendig ist, wie mache ich das 
dann ?
Es ist nur eine Frage, und möchte mein wissen somit für zukünftige 
Projekte erweitern :)

Danke.

Petr

von Nil (nilsnilss)


Lesenswert?

Versuche es zuerst ohne irgendwelche Beschaltung. Einfach MOSI, MISO, 
SCK, RESET, VCC und GND verbinden, klappt in geschätzt 90% der Fälle.

von bianchifan (Gast)


Lesenswert?

Petr t. schrieb:
> ich möchte gerne wissen wie man einen ATTiny über ISP programmiert

Ich verstehe Deine Frage nicht so ganz, (I)n(S)ystem(P)rogramming 
bedeutet genau das, wie es heißt: im System.
Ist der Tiny verlötet und kein ISP-Sockel vorhanden, ist eine 
Programmierklammer hilfreich.
Und selbstredend ein ISP-Programmer, bzw. Programm plus passendem 
Adapter.

Schutzwiderstände dienen zum Schutz vor Überlastung eines Ports, z.B. 
bei Kurzschluss, und sollten auf der Programmieradapterplatine drauf 
sein.

von (prx) A. K. (prx)


Lesenswert?

Petr t. schrieb:
> Ich habe nur mal aus einem älteren Forumseintrag gelesen das es geht,
> wenn man Schutzwiderstände benutzt, aber wie hoch müssen diese sein ?

Hängt vom Einzelfall ab, wie es geht-

> Als Beispiel. Ich möchte eine 20mA LED über einen Anschluss des ATTiny
> betreiben,

Wenn es ein Pin ist, der im ISP vom AVR getrieben wird, dann kann es 
auch so funktionieren. Andernfalls solltest du die LED nicht direkt 
dranhängen, sondern über einen Treiber/Transistor. Die 20mA sind für ISP 
zu viel. Die LED wird dann beim ISP ein wenig flackern, aber das stört 
nicht.

von Petr t. (vicon)


Lesenswert?

bianchifan schrieb:
> Ich verstehe Deine Frage nicht so ganz, (I)n(S)ystem(P)rogramming
> bedeutet genau das, wie es heißt: im System.

Ja, so ist es ja auch, aber was mich interessiert ist, ob dabei in einer 
Schaltung nicht andere Bauteile schaden nehmen, wenn der Attiny 
programmiert wird.

von (prx) A. K. (prx)


Lesenswert?

Petr t. schrieb:
> Schaltung nicht andere Bauteile schaden nehmen, wenn der Attiny
> programmiert wird.

Problematisch sind zwei Fälle:

- Der Pin des AVR ist normalerweise ein Eingang. Wenn dann das, was 
neben ISP an diesem Pin hängt, auch während Reset noch genug Strom 
liefert, dann kollidiert es mit der ISP-Funktion. An dieser Stelle 
kommen besagte Schutzwiderstände zum tragen, oder man koppelt die 
Nutzanwendung des Pins bei Reset aus.

- Der Pin am AVR ist normalerweise ein Ausgang und zündet eine Bombe 
(oder richtet anderen Schaden an). Die geht dann im ISP hoch.

: Bearbeitet durch User
von Petr t. (vicon)


Angehängte Dateien:

Lesenswert?

http://www.avr-asm-tutorial.net/avr_de/beginner/hardware.html
Ich meine sowas wie hier auf der Seite
Wenn der Attiny jetzt an dem ISP hängt, wie kann ich Schäden an meiner 
(theoretischen) Schaltung vermeiden ?

A. K. schrieb:
> Die 20mA sind für ISP
> zu viel. Die LED wird dann beim ISP ein wenig flackern, aber das stört
> nicht.

Wie kann ich das verstehen, soll das heißen das der ISP Programmer 
durchbrennt, wenn die LED mit strom versorgt wird ?
Das ist ja mein Problem, ich suche sowas wie eine "Standard" ISP 
Beschaltung, ohne das ein Bauteil oder der Programmer in Mitleidenschaft 
gezogen werden.
Danke

von Petr t. (vicon)


Lesenswert?

A. K. schrieb:
> An dieser Stelle
> kommen besagte Schutzwiderstände zum tragen, oder man koppelt die
> Nutzanwendung des Pins bei Reset aus.

Welche Widerstände muss man da nehmen ?
Wie sollen diese Verschaltet werden ?

A. K. schrieb:
> - Der Pin am AVR ist normalerweise ein Ausgang und zündet eine Bombe
> (oder richtet anderen Schaden an). Die geht dann im ISP hoch.

Was kann man dagegen machen ?

von (prx) A. K. (prx)


Lesenswert?

Petr t. schrieb:
> Wie kann ich das verstehen, soll das heißen das der ISP Programmer
> durchbrennt, wenn die LED mit strom versorgt wird ?

Durchbrennen wird er nicht, aber er wird vielleicht keinen korrekten 
Pegel halten.

> Das ist ja mein Problem, ich suche sowas wie eine "Standard" ISP
> Beschaltung, ohne das ein Bauteil oder der Programmer in Mitleidenschaft
> gezogen werden.

Eine universelle Standardbeschaltung sind 3 Stück 2:1 Analogmuxer, die 
via Reset gesteuert die Pins demultiplexen. Aber bei deiner 20mA LED ist 
nicht das Protokoll das Problem, sondern der Strom.

> Welche Widerstände muss man da nehmen ?
> Wie sollen diese Verschaltet werden ?

Meist sucht man eine Lösung für den Einzelfall. Je nach externer 
Beschaltung ist das nämlich völlig ohne Zusatzaufwand machbar. 
Sinnvollerweise wird man die Pins möglichst so nutzen, dass die an den 
ISP Pins angeschlossenen Komponenten keinen Zusatzaufwand erfordern.

Die eine Universallösung für alle Lebenslagen gibts nicht.

: Bearbeitet durch User
von Petr t. (vicon)


Lesenswert?

A. K. schrieb:
> Eine universelle Standardbeschaltung sind 3 Stück 2:1 Analogmuxer, die
> via Reset gesteuert die Pins demultiplexen. Aber bei deiner 20mA LED ist
> nicht das Protokoll das Problem, sondern der Strom.

Hast dafür eine Schaltung/Schaltplan ?
Kann mir das gerade nicht so vorstellen :O

von (prx) A. K. (prx)


Lesenswert?

Einen 8-Pin Tiny mit einem Muxer zu versehen, um die ISP Pins 
auszukoppeln, ist ziemlich pervers. Denn das Gesamtgebilde ist dann weit 
aufwändiger als ein 14-Pin Tiny mit separatem ISP.

Aber aussehen tut das ungefähr so: 
http://www.avr-asm-tutorial.net/cq-dl/teil3/

: Bearbeitet durch User
von bianchifan (Gast)


Lesenswert?

Petr t. schrieb:
> Ja, so ist es ja auch, aber was mich interessiert ist, ob dabei in einer
> Schaltung nicht andere Bauteile schaden nehmen, wenn der Attiny
> programmiert wird.

In gewisser Weise kann ich deine Bedenken verstehen, als ich vor ca. 10 
jahren zum ersten mal einen Tiny13 in die Hand nahm, um das Protokoll 
eines Minolta-Blitzes aufzupolieren, war mir ebenfalls nulmig. 
Schließlich wollte ich weder Blitz- noche Kameraelektronik schrotten..
Letztendlich hab ich den Tiny ohne STK ohne das dringend empfohlene 
Dragon per Drahtverhau am seriellen Port geflasht..
Seit ca. einem jahr benutze ich USBASPs chinesischer Produktion, einmal 
ist was schief gelaufen als die USB-Spannung während des Flashens 
instabil wurde.
Danach habe ich mir einen HV-Progger zusammengelötet...

Da werden dann 12V benötigt..
Am Resetport sollten nach Möglichkeit keine Bauteile hängen, die bei 12V 
Unsinn veranstalten.

Momentan habe ich keine konkrete Vorstellung, welche Bauteile bei 5V 
Logikpegel Sxchaden nehmen könnten.
Im ungünstigsten Fall versteht der AVR die ISP-Befehle nicht.

von Petr t. (vicon)


Lesenswert?

bianchifan schrieb:
> In gewisser Weise kann ich deine Bedenken verstehen, als ich vor ca. 10
> jahren zum ersten mal einen Tiny13 in die Hand nahm, um das Protokoll
> eines Minolta-Blitzes aufzupolieren, war mir ebenfalls nulmig.
> Schließlich wollte ich weder Blitz- noche Kameraelektronik schrotten..
> Letztendlich hab ich den Tiny ohne STK ohne das dringend empfohlene
> Dragon per Drahtverhau am seriellen Port geflasht..
> Seit ca. einem jahr benutze ich USBASPs chinesischer Produktion, einmal
> ist was schief gelaufen als die USB-Spannung während des Flashens
> instabil wurde.
> Danach habe ich mir einen HV-Progger zusammengelötet...

> Momentan habe ich keine konkrete Vorstellung, welche Bauteile bei 5V
> Logikpegel Sxchaden nehmen könnten.
> Im ungünstigsten Fall versteht der AVR die ISP-Befehle nicht.

Ok danke :)
Also muss ich mir keine Gedanken weiter darüber machen, solange der 
RESET Pin des Attiny oder ATMega unbeschaltet bleibt ? (Bis auf dem 
10Kohm von Reset gegen Maße)

von Jan H. (jan_m_h)


Lesenswert?

Es sollte nichts mit hohem Stromverbrauch dran hängen, weil dann der 
ISP-Adapter vielleicht keine deutlichen Pegel mehr liefert. Transistoren 
sollten zum Beispiel kein Problem sein, sehr helle Leuchtdioden schon 
eher.

Es sollten keine Taster oder gar Schalter dran hängen, wenn dann MÜSSEN 
sie beim flashen offen sein.

Die Peripherie sollte harmlos auf die Programmierpulse reagieren, also 
nicht grade ein Motortreiber mit Sägeblatt am Motor. Wenn der zufällige 
Steuersignale bekommt könnte das unschön werden, Lichter hingegen 
Flackern ja nur komisch.

Kondensatoren können auch zu Problemen mit der Übertragung führen.

Was hängt denn an den Pins dran?

von Petr t. (vicon)


Lesenswert?

Jan H. schrieb:
> Was hängt denn an den Pins dran?

Wie anfangs erwähnt, wollte ich es nur aus neugierde wissen und eine 
Theoretische Schaltung mit eine 20mA LED ^^.

von Jan H. (jan_m_h)


Lesenswert?

Dann hast du ja eigenlich deine Antwort erhalten :-)

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.