ATtiny 85 16Mhz

Hallo allerseits.
Habe heute das Packet mit den ATtiny 85 und ATtiny 84 bekommen.
Als erstes war ATtiny 85 dran, mit dem testen.
Habe Arduino UNO als Programmer.

Blink Sketch erfolgreich auf dem ATtiny geladen und die LED blinkt auch.
Was mich aber stört/wundert, die LED/ATtiny reagiert/blinkt zu langsam bei 8Mhz.
Habe in dem hardware Ordner die attiny Dateien drin.

attiny85.name=ATtiny85 (internal 1 MHz clock)
attiny85.bootloader.low_fuses=0x62
attiny85.bootloader.high_fuses=0xdf
attiny85.bootloader.extended_fuses=0xff
attiny85.upload.maximum_size=8192
attiny85.build.mcu=attiny85
attiny85.build.f_cpu=1000000L
attiny85.build.core=arduino:arduino
attiny85.build.variant=tiny8

attiny85-8.name=ATtiny85 (internal 8 MHz clock)
attiny85-8.bootloader.low_fuses=0xe2
attiny85-8.bootloader.high_fuses=0xdf
attiny85-8.bootloader.extended_fuses=0xff
attiny85-8.upload.maximum_size=8192
attiny85-8.build.mcu=attiny85
attiny85-8.build.f_cpu=8000000L
attiny85-8.build.core=arduino:arduino
attiny85-8.build.variant=tiny8

Ist das so normal, der unterschied zwischen UNO mit 16 Mhz und dem hier mit 8 Mhz?
Kann man auch ein 16 Mhz Quarz dranhängen, fals ja an welche PINs?

hi,

kann man. schau im datenblatt:

http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf

der quarz kommt an XTAL1 und XTAL2, natürlich mit der gleichen beschaltung wie ein atmega328

gruß stefan

Ist ja nur ein 16MHz Quarz und zwei 22pF

Und wo bekomme ich die funktionierende board.txt datei?

hi,

die tiny macht mit 16MHz, die tinymaster glaube ich 20, wenn ich micht recht erinnere.

gruß stefan

attiny-master.zip (4.31 KB)

tiny.zip (78.4 KB)

Glaub es hat sich erledigt :D

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

Wie ich nun verstanden habe, muss man immer den bootloader neu installieren wenn man zB auf 8Mhz aufstocken will?

hi,

ja, muß man. sonst spielst Du ja nur das programm drauf, und in dem steht nichts vom takt. das steht in den fuse-bits, und die werden beim upload des bootloaders gesetzt.

gruß stefan

Ich hatte versucht 16Mhz zu brennen, seitdem kann ich nix uploaden und kein Bootloader brennen. Nehme an 90 cent für die Katz.

hi,

den effekt hättest Du, wenn Du auf 16MHz gestellt hast, und jetzt keinen quarz dran hängen hast. da wird der interne oszi ausgeschalten und von alleine schwingt nix.

gruß stefan

Und es gibt keine Methoden um das ganze jetzt schwingen zu lassen?

hi,

natürlich geht das. ich darf Dich zitieren:

Ist ja nur ein 16MHz Quarz und zwei 22pF

:stuck_out_tongue:

wenn Du einen zweiten arduino hast, geht es auch. ich hab’ irgendwann gelesen, daß man da mit einem sketch einen quarz simuliert. die frequenz ist nicht wichtig, hauptsache es schwingt. ich glaube, nick gammon hat das mal beschrieben.

gruß stefan

hab's gefunden:

http://technikhobby.blogspot.co.at/2013/01/arduinoisp-avr-chips-programmieren.html

gruß stefan

Eine externe Taktquelle an XTAL1 hängen. z.B. einen einfachen RC Oszillator oder einen NE555

Du kannst auch versuchen auf einem UNO einen Pin so schnell wie möglich zu toggeln. Am schnellsten geht es wenn man eine 1 auf das Port-Eingangsregister PINn schreibt (Datenblatt Seite 77). Das toggelt den Pin in 2 Taktzyklen:
http://www.billporter.info/2010/08/18/ready-set-oscillate-the-fastest-way-to-change-arduino-pins/

ja, das macht die arduinoISP2 anscheinend. geht ohne zweiten arduino

gruß stefan

Dann gibt es noch die HV-Programmierung um alles zurückzusetzen. Ich habe sie für ATmega328 gesehen siehe “Arduino HV programming” aber die gibt es sicher auch für andere Controller wo ich aber nicht die Sketche für den Arduino als HV Programmierer kenne.
Grüße Uwe

Schönes Ding wenn man es hat. http://www.simpleavr.com/avr/hvsp-fuse-resetter Da ich es nicht hab und erst einkaufen müsste, fällt die Methode erstmal weg.

hi,

nein, was uwe gemeint hat, war, daß man mit einem arduino und wenigen anderen bauteilen auch HV-programmieren kann.

aber mit meinem link sollte es ohne weitere umstände funktionieren. brauchst nur einen arduino und eine verbindung von XTAL1 zum pin 9.

gruß stefan

Danke Stefan!

Funktioniert auch mit Atmega’s , einfach MISO, SCK, MOSI und XTAL1 verbinden.

ATtiny45/85 → Arduino UNO ATtiny44/84 → Arduino UNO
VCC → +5V VCC → +5V
GND → GND GND → GND
7 (SCK) → Pin13 9 (SCK) → Pin13
6 (MISO) → Pin12 8 (MISO) → Pin12
5 (MOSI) → Pin11 7 (MOSI) → Pin11
2 (XTAL1) → Pin9 2 (XTAL1) → Pin9
1 (Reset) → Pin10 4 (Reset) → Pin10

Atmega 328P-PU → Arduino UNO
VCC → +5V
GND → GND
19 (SCK) → Pin13
18 (MISO) → Pin12
17 (MOSI) → Pin11
9 (XTAL1) → Pin9
1 (Reset) → Pin10

Aufs Arduino ladet man diesen Sketch: ArduinoISP2
Dieselbe Datei ist auch im Anhang.

In der Arduino IDE stellt man folgendes ein:
Programmer–>Arduino as ISP
Board–>( In meinem Fall ist es…) ATtiny85 @ 8Mhz (internal oszillator; BOD disabled)
Tools-> Bootloader installieren

Und schon kann man getrost weiter basteln.

PS: Wer noch kein Bild vor sich hat, wie die Belegung ist, auch im Anhang.

ArduinoISP-master.zip (6.4 KB)

Zum Thema Fuses: da ich meinen Tiny13 auch verfused habe und keine Lust hatte, 1 EUR in den Wind zu schreiben habe ich nach einigem Suchen das gefunden: http://www.elektronik-labor.de/Arduino/Fuses.html War in 20 Minuten zusammengelötet und funktioniert prima. Ideal für Anfänger wie mich die manchmal nicht wissen was sie tun :grin:

schau hier mal rein:

http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/ http://mightyohm.com/blog/products/hv-rescue-shield-2-x/

vielleicht hilft Dir das weiter. der geht für verschiedene typen.

gruß stefan