ATTiny13 mit Uno als ISP - mag nicht

Hallo zusammen,

habe mich heute mal an's Werk gemacht, einen ATTiny13 per UNO zum Leben zu erwecken.
Vorarbeiten:

  • Anleitung zu den Basics von hier: http://hlt.media.mit.edu/?p=1706
  • "Hardware-Dateien" von hier: https://github.com/damellis/attiny/archive/master.zip
  • Sketch arduinoIPS auf den UNO gebeamt und dann 10uF zum Unterdrücken des Resets
  • Blink-Sketch mit Pin4 als Output (physikalisch Pin 3) erfolgreich übertragen (sieht zumindest so aus, es kommen nur die "üblichen" Fehlermeldungen wie beim Tiny-Programmieren überall beschrieben)

Ergebnis: LED an Pin4 geht an, blinkt aber nicht.
Zeiten schon geändert (falls der Takt nicht stimmen sollte), aber nix: Dauerleuchten

Unterwegs bin ich noch auf der IDE 1.0. Kann das der Grund sein?

Danke für's Lesen und erhellende Hinweise

Klaus

Ich schieb mal ....
Hat keiner außer blumensmili einen guten Tipp für mich?

Die Dateien sind für die attin25/45/85 bzw. 24/44/84. Es kann sein das die Attiny13 nicht laufen.
Du musst andere Cores nutzen als dir von high low tech.

Hier sind ein paar cores für den attiny13.
Gruß
Der Dani

Ich habe schon ein paar tinys25/85er am laufen und ein paar 84er..

Andere cores .... alles klar *hust
Der tiny13 wird in der IDE angezeigt, daher bin ich davon ausgegangen "das klappt schon".
Muss also mal Deinen Link durchackern, danke dafür!

Für heute aber erstmal gute Nacht
Klaus

volvodani:
Arduino shrunk - how to use ATtiny13 with Arduino IDE
Hier sind ein paar cores für den attiny13.

Ich muss nochmal um Unterstützung bitten.
Von Danis genannter Seite habe ich mich als Core für smeezekitty’s core13 entschieden. Die beiden anderen scheinen ja nicht bzw. nur mit weiterer Konfiguration mit dem ATTiny13 zu funktionierten, da wollte ich mir im letzten Fall nicht noch mehr Stolpersteine in den Weg legen.

Also Download, auspacken in Hardware\core13 und Erstellen der Boards.txt. Alles fein, der Tiny13 wird auch in der IDE angezeigt, hab ich ausgewählt.

Blink-Sketch geladen und kompiliert und schon das nächste unlösbare Problem: 'OUTPUT was not declared in this scope' :frowning:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(4, OUTPUT);
}

void loop() {
  digitalWrite(4, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(4, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

Stell ich den UNO ein ist alles fein :~

Wer kennt den Ausweg und zeigt mir die Richtung?

Danke
Klaus

Es lohnt sich, alle Beiträge zur Anleitung zu lesen, dort steht von Reinhard geschrieben:

Hi,
thanks for this great tutorial.
Here the directory structure how I got it running without having to touch the basic directories.

\sketchbook\hardware\core13\boards.txt
\sketchbook\hardware\core13\cores\core13\ …unpack the corefiles here….

Und kaum habe ich das auch gemacht blinkt's hier wie erwartet.

Ich verstehe zwar nicht warum, aber wenn's so funktioniert soll's mir recht sein :wink:

Moin
Ich habe gestern und heute mit der Programmierung des attiny 13 gekämpft. Als programmer wird ein UNO genommen. Neueste Arduino IDE.
BLINK aus den Beispielen geht gut, auch wenn delay(1000) um den Faktor 6 zu schnell geht. Um 1 Sekunde zu erreichen muss Delay (6200) genommen werden.

Aber
Programme, die auf dem UNO laufen, z.b. unter Verwendung von millis() laufen nicht auf dem attiny 13. ich habe dann einen Counter hochzählen lassen, um von millis unabhängig zu sein. Läuft auf UNO aber nicht auf dem attini13.

Dann habe ich die Loop mit einer Abfolge von Delay (Zeit) und digitalWrite dazwischen gemacht. Sehr unelegant, aber letztendlich geht es nun.

Randeffekt.
Um ein Delay von größer 10 Sekunden zu erreichen, musste ich zweimal delay(1000000) eingeben, da größere Zahlen nichts bewirken.

Was muss ich ändern, und wie muss ich das machen damit Programme auch auf dem attiny13 laufen.

Gruß Wolfgang

Wenn das Timing nicht stimmt musst Du für die gewählte Clockfrequenz erst den Menüpunt "burn bootloader" (oder so ähnlich, der letzte Menüpunkt ist das glaub ich) machen. Dann werden die Fusebits korrekt gesetzt.

Moin
Habe die core13 runtergeladen. Bootloader in IDE durchgeführt, positive Rückmeldung.
Gleichwohl läuft er zu schnell, ich checke morgen mit dem Monitor mal im Detail, was eigentlich im Detail abläuft.

Moin

nach einigem Studium im Forum habe ich den Eintrag in Boards.TXT wie folgt geändert:

attiny13.name=ATtiny13 @ 9.6MHz (interne 9.6 MHz clock)
attiny13.upload.using=arduino:arduinoisp
attiny13.upload.speed=19200
attiny13.bootloader.low_fuses=0x7B
attiny13.bootloader.high_fuses=0xff
attiny13.upload.maximum_size=1024

attiny13.build.mcu=attiny13
attiny13.build.f_cpu=128000
attiny13.build.core=core13

Anschliessend IDE gestartet, dieses Board ausgewählt und erhalte nun diese nette Fehlermeldung:

Double check connections and try again, or use -F to override
this check.

ich kann es immer wieder versuchen, aber die Meldung bleibt.
Nehme ich einen neuen Attiny13 und den ursprünglichen boards.txt, dann kann ich den bootloader problemlos installieren und anschliessend über den Uno als ISP Programme auf den Attiny13 laden.

Mein Verdacht: ich habe mit den anderen Einträgen fuses so gebrannt, dass das Ding nun unbrauchbar geworden ist. Stimmt das??

Moin

ich habe dann wieder 0x7A zurück geändert und bekomme nun diese Fehlermeldung:

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny13
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

hat jemand eine Idee??? Ich finde beim googlen nur andere , die dasselbe Problem haben

Bin ein paar Tage nicht da. Wenn sich bis dahin nichts tut gehen wir das gemeinsam nochmal durch.

Gerne
bin ab Montag zwei Wochen in China, kann mich aber abends im Hotel einloggen.

Hallo zusammen,

ich habe das jetzt alles so gemacht wie ihr beschrieben habt. ich bekomme folgende Fehlermeldung

System wide configuration file is "D:\Arduino Uno\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"

avrdude: AVR Part "attiny13a" not found.

Valid parts are:
t10 = ATtiny10 [D:\Arduino Uno\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf:16880]
.
.
.
t13 = ATtiny13 [D:\Arduino Uno\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf:1215]

was genau ist das Problem?

Danke

avrdude: AVR Part "attiny13a" not found.

Ist das ein ATTiny13a, welchen du programmieren möchtest?
Oder ein ATTiny13?

Attiny13a

was genau ist das Problem?

Du hast einen Attiny13a !
Avrdude sagt: AVR Part "attiny13a" not found.
Kannst du das selber übersetzen?
Ich machs mal für dich...
Teil attiny13a nicht gefunden!

Es sagt dir sogar, wo es sucht!

System wide configuration file is "D:\Arduino Uno\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"

Und du fragst was das Problem ist......
Kommst aber nicht auf die Idee, dir mal eine modernere avrdude.conf zu beschaffen...
Oder die notwendigen Daten in der vorhandenen einzutragen....

Oder glaubst du der Meldung nicht?
Glaube ihr!

OK die Datei konnte ich finden. habe dann mal die avrdude.conf aus der arduino 1.6.5 versucht .

System wide configuration file is "D:\Arduino Uno\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf"
syntax error at D:\Arduino Uno\arduino-1.0.2\hardware/tools/avr/etc/avrdude.conf:348

Tja...

Manchmal ist das so....
Dann hat sich Avrdude UND das Format der conf geändert.

Warum verwendest du nicht die 1.6.5 IDE?
Da sollte das dann alles passen...

da funktioniert die boards.txt des attiny13a nicht :frowning: