Go Down

Topic: ATtiny 85 und AVRISP mk2 (Read 2734 times) previous topic - next topic

raupi

Hallo,

ich hab gerade zum Testen ne kleine Blinkschaltung mit dem ATtiny 85 auf einem Steckbrett zusammengestöpselt um zu testen wie das Ding aus der Arduino IDE heraus zu programmieren ist. Als Programmer benutze ich den AVRISP mk2. Testschaltung ist sehr primitiv, nur der '85, Resetpin mit 10K auf VCC und 100nF Kerko zwischen VCC <-> GND zum Entkoppeln. Die LED hängt über 270Ohm an PB0.

Das "Blink" Sketch lässt sich auch problemlos hochladen und die LED macht was sie soll, soweit also alles paletti.

Beim Hochladen auf den '85 ist mir aufgefallen daß die LED auf dem Steckbrett bei der Datenübertragung lustig mitblinkt, was auch logisch erscheint, da der ATtiny Pin, an dem die LED hängt, ja auch gleichzeitig die MOSI Leitung der ISP Schnittstelle ist. Mein AVRISP treibt beim Hochladen also gleichzeitig die LED, welche sich ja, je nach Vorwiederstand durchaus 20mA oder mehr genehmigen kann.

Was ich mich nun frage ist halt, ob das eigentlich für den Programmer zulässig ist oder ob die Gefahr besteht ihn zu schrotten? Kann der Programmer an seinen Ausgängen 20-30 mA treiben? Wieviel kann er treiben, was ist noch innerhalb der Spec? Weiss das einer von euch?

Vielen Dank für Rat und Hinweise.

Jago

#1
Feb 14, 2012, 10:37 am Last Edit: Feb 14, 2012, 10:44 am by Jago Reason: 1
Hey ho,

hab mir den avrisp mkII gestern auch geholt. Wenn ich mich recht erinnere dann ist der explizit kurzschlußsicher, dh es dürfte absolut nicht´s passieren. (bin mir zu 99,9% sicher  :))

MfG Jago

PS.: Lustiger weise will ich auch den 85er mit dem mkII programmiernen. Wäre nett wenn du mal berichtest ob dir irgendwelche probleme auffallen, wenn man die Arduino IDE nimmt. Eigentlich wollt ich auf AVR Studio umsteigen, aber wenn Arduino genauso geht dann bleib ich natürlich lieber bei der.
Nothing is impossible ^^

sth77

Ich habe den MKII ja schon recht lange, mein erster Fehler war, dass ich den Mikrocontroller nicht mit Spannung versorgt habe. ;) Am 6poligen ISP-Anschluss ist zwar eine 5V-Leitung, die aber MKII-seitig als Eingang ausgeführt ist, es wird also nur detektiert, ob eine Spannung anliegt.
Nebenbei habe ich noch einen ISP von Diamex, den man jedoch zur Spannungsversorgung nutzen kann. Fand ich für unterwegs total praktisch, wenn ich mit dem Netbook die kleinen Tiny85 programmiere.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Jago

Ob das mit der Spannungsversorgung praktisch ist oder nicht, darüber lässt sich glaub ich streiten. Solange das Zielsystem 5V hat, ist´s garantiert klasse. Aber der mkII arbeitet von 1,8V bis 5,5V und passt die Spannung dem Zielsystem an (bzw. arbeitet damit. Wobei ich mir da nicht sicher bin, schließlich gibt´s die Nöglichkeit/Notwendigkeit die Spannung auszulesen). Oder ist das beim Diamex genauso?
Nothing is impossible ^^

sth77

Man hat 3 Möglichkeiten, die angesprochenen 5V ist eine davon. Weiterhin kann man auch 3,3V einstellen, das ist gerade in Bezug auf neuere Mikrocontroller wichtig. Und dann besteht die Möglichkeit, keine Targetspannung auf den Pin zu legen. Allerdings glaube ich nicht, dass dann der Pin (analog zur Funktionsweise des MKII) als Eingang genutzt werden kann, um die Spannung auszulesen. Diese Funktion habe ich aber nie vermisst.
Wie gesagt, dass ist mein ISP für die Bahnfahrt, bin jeden Tag 2,5h unterwegs...
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

voithian

#5
Feb 14, 2012, 02:09 pm Last Edit: Feb 14, 2012, 02:20 pm by voithian Reason: 1

Wie gesagt, dass ist mein ISP für die Bahnfahrt, bin jeden Tag 2,5h unterwegs...

Wat et nit alles jibt! Leute, die während der Bahnfahrt ihren Mikrocontroller flashen! Das fehlt natürlich dem  Daimler-Fahrer auf dem Weg zur Arbeit oder zur Uni. ;)

raupi

Hallo,

das mit dem kurzschlussicher klingt nicht schlecht, ich gehe davon aus daß ich das (eher früher als später) eh noch (unfreiwillig) teste ;)... Auf der beiliegenden DVD habe ich einen Schaltplan gefunden, glaube AVRISP mk1, da hängt die Progschnittstelle direkt an den Ports eines AT90LS8535. Im meinem mk2 ist ein ATMega128, der sollte pro Ausgang wohl 40mA abkönnen, d.h. meine LEDs sind vermutlich OK wenn ich den Vorwiederstand für max. 20mA berechne?


PS.: Lustiger weise will ich auch den 85er mit dem mkII programmiernen. Wäre nett wenn du mal berichtest ob dir irgendwelche probleme auffallen, wenn man die Arduino IDE nimmt. Eigentlich wollt ich auf AVR Studio umsteigen, aber wenn Arduino genauso geht dann bleib ich natürlich lieber bei der.


Naja, ich bin noch ziemlicher Elektronik-Anfänger, von daher weiss ich nicht ob ich dir da ne große Hilfe bei Problemen sein kann, ich kämpfe ja selbst noch ;)... Was ich gemacht habe:

Coding Badlys Kern für die ATtiny heruntergeladen und installiert (Im ersten Beitrag ist der Link zur aktuellen Version):

http://arduino.cc/forum/index.php/topic,51984.0.html

Dann kannst Du in der Arduino IDE unter "Tools->Board" den ATtiny 85 einstellen (z.B. @1MHz interner Oszillator) und unter "Tools->Programmer" den AVRISP mk2. Um das Sketch hochzuladen entweder über das File Menü ("Uploading Using Programmer") oder die Shift-Taste gedrückt halten während man auf den Upload Button klickt. Ob alle Arduino-Libraries von den ATtinys vollständig unterstützt werden weiss ich nicht, die wichtigsten Funktionen wohl schon. 3 x PWM für kleine LED-Spielereien auf dem kleinen '85 funzt jedenfalls einwandfrei.

Kleine Lästigkeit (Windows): AVR-Studio installiert einen "Jungo" USB-Treiber für den AVRISP Programmer. Die Arduino-IDE (avrdude) funzt damit allerdings nicht, genauer gesagt kan man aus der IDE heraus keine Sketche hochladen. Dazu muss man den libusb Treiber, der z.B. mit Arduino kommt, installieren. Mit dem wiederum funzt dann aber AVR Studio nicht mehr, das braucht den Jungo, usw., usf..  Wenn man beides nebeneinander benutzen will dann geht das wenn man zuerst AVRStudio installiert (das installiert den Jungo) und dann von hier:

http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/

den aktuellsten libusb "Filter Treiber" darüber. Nicht den normalen libusb sondern den Filter Treiber.

Gruss,
raupi

Jago

@Raupi: Na da hast mir doch schon mal sehr geholfen! Ich bleib erstmal bei AVRStudio, das mit den Treibern scheint mir erstmal zu fehlerträchtig. Wenn ich mit AVRStudio nicht klar komm, dann geht´s zurück zur Arduino IDE. Bin immernoch nicht zum probieren gekommen, wird wahrscheinlich erst am WE.

@sth77: Mal schauen ob ich´s brauchen werd. Nutze oft Batterien zur Spannungsversorgung, dh hab ich nicht zwangsläufig einen Normpegel. Ein konkretes Projekt bei dem ich diese Funktion bräuchte hab ich allerdings nicht.
Nothing is impossible ^^

mmi

Hallo zusammen,

der attiny85 im Zusammenspiel mit MKII Programmer ist für mich auch sehr interessant, ich werde mich auch demnächst damit beschäftigen.

Vorab habe ich aber noch Fragen:

- Oben genanntes IDE plugin für attiny habe ich installiert. Zuerst müssen ja die FUSES eingestellt werden: Ist es richtig, wenn ich z.B. "attiny85 @ 1Mhz" auswähle, dann "AVR ISP MKII" und dann "BURN BOOTLOADER" wähle? Ich nehme an, die fuses werden dann gesetzt, aber den bootloader kann man sich ja sparen - lässt er sich gar nicht erst laden oder wird er später durch Hochladen eines sketches wieder überschrieben?

- Welchen Einfluß hat es, wenn der attiny mit 8 statt 1 Mhz laufen soll bzw. läuft - wird das automatisch vom MKII erkannt ?

Danke schon mal und Gruß, mmi.

sth77

Auf den Attiny kommt kein Bootloader drauf. Die Fuses werden in der mitgelieferten boards-Datei als high-,low- und extended Fuses vorgegeben. Danach richtet sich dann der ISP, er muss nichts "erkennen".
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8


sth77

Ja, ganz genau der ist es. Wie ich hier bereits schrieb, fand ich das USB-Stick-Format für meine Bahnfahrten sehr praktisch.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

mmi


Auf den Attiny kommt kein Bootloader drauf. Die Fuses werden in der mitgelieferten boards-Datei als high-,low- und extended Fuses vorgegeben. Danach richtet sich dann der ISP, er muss nichts "erkennen".

OK, danke für Info!
"Burn Bootloader" wird dann gar nicht gebraucht, die fuses werden beim Laden des sketches gesetzt - sehe ich das richtig ?

sth77

Die Vorgehensweise wurde hier schon ganz gut erklärt: http://hlt.media.mit.edu/?p=1695

Ich bin mal so dreist und verweise auf meinen Blog, hier die Implementierung des Diamex-ISP in die Arduino-IDE:
http://arduino.blogger.de/stories/1975243/

Und nochmal zur Veranschaulichung meine Platine zur Attiny-Programmierung:
http://arduino.blogger.de/stories/1986351/
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

mmi

Prima, danke!

Auch für Hinweis auf Diamex . habe schon einen geordert ;)

Go Up