Pages: [1] 2   Go Down
Author Topic: ATtiny und Co. programmieren - USBtinyISP oder was anderes?  (Read 4460 times)
0 Members and 1 Guest are viewing this topic.
Germany
Offline Offline
Full Member
***
Karma: 2
Posts: 171
... has much to learn
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo!
Ich möchte für zukünftige Projekte gerne auf kleinere Chips zurückgreifen. Einen ATMEGA 328 verwenden, wenn man nur 3 Output-Pins benötigt, fühlt sich mehr als nur verkehrt an. Deshalb sind die ATtinys in mein Blickfeld gerückt. Die kosten fast nix, können aber wohl meine Ideen verwirklichen...

Nun besitzen die ja kein USB-Interface und müssen deshalb über einen ISP programmiert werden. Soweit auch irgendwie kein Problem, ich habe einen USBtinyISP zuhause liegen. Leider gelingt es mir nicht, diesen ans Laufen zu bringen. Ich hab schon Treiber ohne Ende installiert und dies und jenes ausprobiert, ich bekomm damit einfach keinen Chip beschrieben.

Ich bin als am Überlegen mir aus einem Arduino (also einem ATMEGA 328 + Bauteilen) ein festes Programmiergerät zu bauen und das zu nutzen.

Spricht etwas, gerade für meinen konkreten Einsatzzweck, dagegen?
Und gibt es unterschiedliche ISPs? Hab das Gefühl in der Arduino-Welt wollen alle immer nur den Bootloader brennen und dann war es das...

Apropos Bootloader. Auf die ATtinys muss doch kein Bootloader drauf, oder? Ich habe ja einen ISP, der die Daten aus meiner IDE bzw. dem Compiler empfängt und draufbrennt, dafür brauch ich keinen Bootloader, oder denk ich falsch?

Danke!
Logged

Beste Grüße
Florian

http://www.flomei.de

Switzerland
Offline Offline
Faraday Member
**
Karma: 111
Posts: 5251
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Und gibt es unterschiedliche ISPs?

Ja, es gibt unterschiedliche ISPs, deshalb muss man in der IDE den Programmer-Typ einstellen, wenn man damit Sketches uploaden will.

Quote
Auf die ATtinys muss doch kein Bootloader drauf, oder?

Nein, bei einigen ATtinys würde das auch eng werden mit dem Flash-Speicher. Auch auf einem Arduino kannst Du den Bootloader weglassen, wenn Du immer mit dem Programmer die Sketches hochlädst. Das hat den Vorteil, dass der Sketch deutlich schneller startet, weil ja der Bootloader beim Start nicht abwarten muss, ob vielleicht ein Sketch seriell hochgeladen wird.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo ich bin ein Anfänger und die habe die gleichen Ansichten wie Du.
Es muss nicht immer ein Arduino sein. Einen ATTINY zu programmieren geht zumindest mit der IDE und einem Arduino, ziemlich einfach.
Nur meine Hongkong ISP's bekomme ich nicht zum laufen. Somit muss ich auch immer den Arduino als Programmer nutzen.

Es gibt online viele Anleitungen und Tipps den ATTINY zu programmieren. Kennst Du bestimmt schon.
Hier eine gute und umfangreiche Anleitung für den ATTINY13; 45; 85 http://tronixstuff.wordpress.com/2011/11/23/using-an-attiny-as-an-arduino/
Ein ATTINY45 in deutsch http://www.sachsendreier.com/asw/clernen/arduinoasisp/arduinoasisp.html
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

.. ich habe einen USBtinyISP zuhause liegen. Leider gelingt es mir nicht, diesen ans Laufen zu bringen. Ich hab schon Treiber ohne Ende installiert und dies und jenes ausprobiert, ich bekomm damit einfach keinen Chip beschrieben.

...

Hab das Gefühl in der Arduino-Welt wollen alle immer nur den Bootloader brennen und dann war es das...

Apropos Bootloader. Auf die ATtinys muss doch kein Bootloader drauf, oder? Ich habe ja einen ISP, der die Daten aus meiner IDE bzw. dem Compiler empfängt und draufbrennt, dafür brauch ich keinen Bootloader, oder denk ich falsch?


Was genau klappt denn beim Beschreiben der Chips nicht und welche Treiber hast Du installiert? Wird der USBtinyISP nicht erkannt, oder wo genau ist das Problem. Es macht in der Regel wenig Sinn, ein Problem gegen ein anderes zu tauschen. Der tinyUSB sollte auf jeden Fall verwendbar sein. Ich verwende den auch, allerdings unter Mac OS X, daher kann ich bei einem Windows Problem nicht helfen.

Das "Alle immer den Bootloader" brennen wollen hat meist einen ganz trivialen Grund. Damit ein ATTINY verwendbar ist, müssen die Fuses korrekt gesetzt werden, die entsprechenden Einstellungen stehen in der boards.txt der IDE, wenn die Erweiterungen für die ATTINYs installiert hat. ABER ...
Beim "normalen" flashen eines Chips (egal ob ISP oder Bootloader) werden die Fuses eines Chips/Boards nicht verändert. Daher greift man zu einem Trick. Wählt man bei der IDE den Menüpunkt "Bootloader installieren" werden die in der boards.txt definierten Fuses mit hilfe von avrdude für das ausgewählte Board (z.B. ATtiny84 (internal 8MHz clock) ) gesetzt. Es geht also nicht darum einen bootloader auf den Tiny zu brennen, sondern nur darum die Fuses zu setzen.
Siehe auch hier: http://hlt.media.mit.edu/?p=1695
Quote
By default, the ATtiny’s run at 1 MHz (the setting used by the unmodified “ATtiny45″, etc. board menu items). You need to do an extra step to configure the microcontroller to run at 8 MHz – necessary for use of the SoftwareSerial library. Once you have the microcontroller connected, select the appropriate item from the Boards menu (e.g. “ATtiny45 (8 MHz)”). Then, run the “Burn Bootloader” command from the Tools menu. This configures the fuse bits of the microcontroller so it runs at 8 MHz. Note that the fuse bits keep their value until you explicitly change them, so you’ll only need to do this step once for each microcontroller. (Note this doesn’t actually burn a bootloader onto the board; you’ll still need to upload new programs using an external programmer.)
Logged

Germany
Offline Offline
Full Member
***
Karma: 2
Posts: 171
... has much to learn
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nun, der tinyISP taucht im Geräte-Manager (Win 7 Pro, 64 Bit) unter den libusb-win32-device als USBtiny auf.

Treiberversion ist laut Geräte-Manager 1.2.1.0 vom 29. Juli 2010 und das Gerät ist betriebsbereit.

Schließe ich den ATmega 328 jetzt über die ICSP-Headerpins an den tinyISP an, wähle in der Arduino IDE das Programmiergerät aus und klicke beim Blink-Sketch auf "Upload mit Programmer", dann kompiliert er erst den Sketch und dann kommt folgendes:

Quote
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Mehr hole ich da auch nicht raus...
Logged

Beste Grüße
Florian

http://www.flomei.de

Offline Offline
Newbie
*
Karma: 0
Posts: 29
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich nutze: http://hlt.media.mit.edu/?p=1695

Vorsicht bei den Fuses, einmal auf 8 MHz EXTERN gestellt, funktioniert er auch nur noch mit einem externen Quarz.
Logged

Germany
Offline Offline
Full Member
***
Karma: 2
Posts: 171
... has much to learn
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So, ich wollte mich nochmal melden, weil Farnell gestern Chips geschickt hat. :-)

Ich habe auf mein Uno-Board jetzt den ArduinoISP-Sketch geladen und damit funktioniert die Programmierung problemlos (ein ATtiny85 blinkt hier fröhlich rum), während der USBtinyISP immer noch Fehlermeldungen ausspuckt.

Ich denke, ich habe damit meinen Weg gefunden. ;-)
Logged

Beste Grüße
Florian

http://www.flomei.de

Germany
Offline Offline
Full Member
***
Karma: 5
Posts: 126
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich bin auch gerade dabei, mit den ATtinys rumzuspielen, das Programmieren über mein Arduino Uno klappt auch soweit. Ich finde es aber nervig, immer den Uno zu verwenden, insbesondere wenn ich mir gerade eine andere Schaltung mit dem Breadboard aufgebaut habe und dann wieder umstecken muss.

Ist es möglich, dass ich mir eine Schaltung mit einem Atmega328 aufbaue (also standalone) und dann mit Hilfe eines USB-ISP-Programmer den ATtiny programmiere? Mein China-ISP-Programmer ist leider noch nicht gekommen, sonst hätte ich es einfach mal getestet  smiley-grin

Oder gibt es ansonsten noch eine Möglichkeit, einen ATtiny mit der Arduino IDE zu programmieren? Hab leider nichts gefunden...
Logged

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ist es möglich, dass ich mir eine Schaltung mit einem Atmega328 aufbaue (also standalone) und dann mit Hilfe eines USB-ISP-Programmer den ATtiny programmiere? Mein China-ISP-Programmer ist leider noch nicht gekommen, sonst hätte ich es einfach mal getestet  smiley-grin

Du kannst die ATtiny´s dann auch direkt mit dem USB-ISP-Programmer programmieren.

Ansonsten könntest du dir ein Shield(für den UNO) bauen, wo du nur mehr die ATtiny´s reinstecken brauchst und keine Kabel rumstecken.
So werde ich meine ATtiny´s programmieren, wenn die Bauteile endlich ankommen. smiley-wink

Grüße,
J3RE
Logged

Germany
Offline Offline
Full Member
***
Karma: 5
Posts: 126
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Geht das denn direkt über den USB-ISP-Programmer und der Arduino IDE, oder muss ich da AVR Studio oder so benutzen? Bin über Google nicht schlau geworden, die Anleitungen beziehen sich meistens auf den Arduino Uno... Kennt jemand eine Seite, wo das am Besten Schritt für Schritt für einen Anfänger beschrieben wird?
Logged

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

vielleicht hilft dir dieser Link: http://hlt.media.mit.edu/?p=1801
ist zwar für den TinyProgrammer, aber müsste IMO mit einem normalen USB-ISP-Programmer auch funktionieren.

Grüße,
J3RE
Logged

Europe / Germany
Online Online
Sr. Member
****
Karma: 13
Posts: 385
keep it simple
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Spexx,

michael_x hat mich gerade auf dieses Projekt von Nick Gammon hingewiesen, vielleicht hilft Dir das?!

http://www.gammon.com.au/forum/?id=11638

Gruß

Helmuth
Logged

Germany
Offline Offline
Full Member
***
Karma: 5
Posts: 126
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke, muss ich mir mal in Ruhe anschauen. Hab leider festgestellt, dass nicht jedes Sketch 1:1 übernommen werden kann smiley-roll Muss ich mich doch erst bisschen intensiver das Thema einarbeiten...
Logged

Wien
Online Online
Edison Member
*
Karma: 28
Posts: 1935
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

hab' grade probleme mit dem eben erhaltenen usbtinyasp und da ist mir dieser thread wieder eingefallen. und siehe da:
Quote
Nun, der tinyISP taucht im Geräte-Manager (Win 7 Pro, 64 Bit) unter den libusb-win32-device als USBtiny auf.

Treiberversion ist laut Geräte-Manager 1.2.1.0 vom 29. Juli 2010 und das Gerät ist betriebsbereit.

Schließe ich den ATmega 328 jetzt über die ICSP-Headerpins an den tinyISP an, wähle in der Arduino IDE das Programmiergerät aus und klicke beim Blink-Sketch auf "Upload mit Programmer", dann kompiliert er erst den Sketch und dann kommt folgendes:


Quote
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Mehr hole ich da auch nicht raus...

genau das gleiche bei mir. ich sehe das problem allerdings da, daß kein COM-port im gerätemanager mit dem ISP verbunden ist.
libusb-win32-device ist zwar da, aber wie soll sich die IDE ohne COM-port verbinden?

kennt das jemand?

win7 64bit, IDE 1.0.1, treiber von ladyada heruntergeladen für dieses betriebssystem.

gruß stefan
Logged

Wien
Online Online
Edison Member
*
Karma: 28
Posts: 1935
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

gegoogelt hätt' ich ja, aber nach dem falschen.
wenn ich nach der fehlermeldung suche, kommt die richtige auskunft:
Quote
This response from avrdude means that it can talk to the programmer but the programmer can't talk to the chip.
also den programmer sieht er, bestätigt sich auch, wenn man ihn abhängt und probiert.
daß er nicht mit dem chip reden kann, ist eine "no na" sache, hängt ja nix drauf.
also nächster schritt...

gruß stefan
Logged

Pages: [1] 2   Go Up
Jump to: