Forum: Mikrocontroller und Digitale Elektronik ATtiny13 - ISP Programmierung wenn alle Anschlüsse durch Schaltung belegt


von Harald X. (harald1976)


Lesenswert?

Hallo,

ich habe noch keine Erfahrung mit dem ATtiny13 und bitte um Verständnis 
für meine Fragen.


Ich möchte den ATtiny13 einsetzen um einen MOSFET pChannel sowie eine 
Bicolor-LED (rot und grün) anzusteuern und vier Spannungen zu messen. 
Die Bicolor LED möchte ich über einen einzigen Ausgang ansteuern.

Das fertige Gerät soll aber den nachträglichen Software-Update 
ermöglichen, indem ich den ISP-Programmer an MOSI, MISO und SCK 
anschließe.

Kann ich an diesen PINs gleichzeitig die Schaltung und den 
ISP-Programmer anschließen?

Funktioniert der ISP Programmer dann noch?

Muss ich was beachten, damit das geht?

Viele Grüße
Harald

von Beginy (Gast)


Lesenswert?

Ja, das geht. Such´ mal hier oder in den techn. Unterlagen des Tiny 
13....
(Schutzwiderstand..)
Beginy

von Peter Z. (Gast)


Angehängte Dateien:

Lesenswert?

Guckst Du...

von Harald X. (harald1976)


Lesenswert?

Super. Danke.

Wie groß sollten die Widerstände sein. Ist der Vorwiderstand einer LED 
ausreichend?


Jetzt benötige ich noch eine intelligente Schaltung für die Bicolor LED.

Ich möchte über den Tristate Ausgang die Bicolor LED ansteuern. Es 
handelt sich um eine Low-Current LED mit 1 mA (rot) bzw. 0.5mA (grün) 
Strombedarf und Common Cathode. Da es eine Batterieanwendung ist, ist 
low-current wichtig.

Den Strom regele ich über zwei N-Channel JFETs anstatt eines 
Vorwiderstands. Wenn man Gate und Source verbindet, dann fließt über D 
und S ein nahezu konstanter Strom.

Könnte man vielleicht mit Hilfe der JFETs die beiden LEDs ansteuern und 
zugleich die JFETs als Konstantstromquelle nutzen.

Ich hoffe ihr habe verstanden worauf ich hinaus wil.

gruß
Harald

von avr (Gast)


Lesenswert?

Hallo Harald,

ich habe mal kurz durchgezählt:

- 4 Spannungen messen -> 4 Pin
- LED schalten        -> 1 Pin
- Mosfet schalten     -> 1 Pin

macht 6 Pin und damit die max. IO-Zahl des Tiny13

Das geht nur wenn man PB5 /Reset mit verwendet (über
die Fuses schaltbar).
Dann ist aber nur noch High-Voltage Seriel Programming
möglich. ISP (z.B. mit ISP MKII) geht dann nicht mehr!

avr

von Harald X. (harald1976)


Lesenswert?

Hi,

okay, dann wird es wohl nur über High-Voltage Serial Programming gehen.

Hat High Voltage Serial Programming irgendwelche Nachteile. Ich muss 
mich da noch einlesen.

Wie funktioniert es grob? Welche Leitungen benötige ich dazu bzw. 
welchen Programmer?

Viele Grüße
Harald

von avr (Gast)


Lesenswert?

Die Pinbelegung steht im Datenblatt in 17.7

Das Problem dürften die 12 Volt am Resetpin sein.

Mit dem STK500 ist z.B. HV möglich, im Studio unter den
Tools im Hilfemenü ist auch eine Beschreibung.

avr

von Peter D. (peda)


Lesenswert?

avr schrieb:
> Das geht nur wenn man PB5 /Reset mit verwendet (über
> die Fuses schaltbar).
> Dann ist aber nur noch High-Voltage Seriel Programming
> möglich.

Oder an brennt vorher nen Bootloader rein.
Das hätte sogar den Vorteil, daß man nur einen Programmierpin rausführen 
muß.

Allerdings braucht der Bootloader auch etwa Platz im Flash. Daher 
vielleicht nen ATtiny25 nehmen.


Peter

von Harald X. (harald1976)


Lesenswert?

Hallo Peter,

dazu noch mehr Fragen. Ich würde zwecks Preis doch lieber den ATtiny13 
verwenden.

Wo bekommt man so einen Bootloader her. Gibt es da eine Vorlage.

Welchen PIN soll man dann zum programmieren verwenden und kann ich es 
dann noch an den ISP Programmer anschließen oder brauche ich etwas 
anderes.


Der Bootloader lädt sozusagen das neue Programm serial über den PIN und 
schreibt es in den Flash. Richtig?

Viele Grüße

von holger (Gast)


Lesenswert?

@Harald

Kauf dir was größeres.
Die kleinen AVRs sind nichts für Noobs.
Halte die ISP Pins frei für die Programmierung,
dann hast du auch keine Probleme.

von Hannes L. (hannes)


Lesenswert?

> Die kleinen AVRs sind nichts für Noobs.

Das sehe ich anders. Gerade die kleinen AVRs sind gut für Einsteiger, da 
sie überschaubar sind und zu diszipliniertem Programmieren erziehen.

Ich habe z.B. einen kompletten DCC-Weichendecoder (Motorweichen oder 
LGB-Antriebe) mit PWM in einem Tiny13 untergebracht und habe nur 71% 
Flash gebraucht.

Achja, Peters Bootloader ist in der Codesammlung zu finden.

...

von holger (Gast)


Lesenswert?

>> Die kleinen AVRs sind nichts für Noobs.

>Das sehe ich anders. Gerade die kleinen AVRs sind gut für Einsteiger, da
>sie überschaubar sind und zu diszipliniertem Programmieren erziehen.

Das sehe ich auch anders.
Einsteiger gehen erstmal schlampig bei der Programmierung vor.
Das ist normal und ein Lernprozess der ein wenig dauert.
Also erstmal einen uC mit ein bißchen mehr Ressourcen nehmen.
Wenn man genug Erfahrung gesammelt hat, dann kann man sich
dran machen einen extrem eingeschränkten uC zu programmieren.

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.