Go Down

Topic: ATtiny85 frequenza (Read 593 times) previous topic - next topic

carletto

Ho provato un ATtiny85 nuovo appena arrivato.
L'ho programmato con:

Board: ATtiny85@ 1 Mhz (Internal oscillator;BOD disabled)
Codice: vedi di seguito

in uscita rilevo un segnae con periodo ~ 13uS, vedi file allegato.

Mi aspettavo una frequenza più alta anche se per una misura
più precisa bisognerebbe programmare in assembler. 

Ho provato anche a caricare il bootloader dal menù  "Scrivi bootloader"
del menù Strumenti ma non ci sono differenze.

Questo bootloader va bene anche per gli ATtiny??

e poi con la:
Board: ATtiny85@ 8 Mhz (Internal oscillator;BOD disabled)
Tutto come prima.

Il codice di prova:
void setup(){
  DDRB=255;
}
void loop(){
  PORTB=8;
  PORTB=0;
}

Carletto

astrobeed


Mi aspettavo una frequenza più alta anche se per una misura
più precisa bisognerebbe programmare in assembler. 


Gli AVR nuovi, di default, usano l'oscillatore RC interno a 1 MHz, 13 us sono un tempo accettabile per il tuo codice visto che corrispondono a 13 cicli macchina.
Non serve a nulla cambiare il tipo di board senza cambiare opportunamente i settaggio dei fuse, ed eventualmente aggiungere un quarzo, quell'indicazione serve solo per passare al compilatore il valore di FCPU da utilizzare per settare i valori legati al clock come il baud rate o la durata di un delay.


Michele Menniti

Immagino che tu ti sia attrezzato per programmare i tiny, scaricando i file aggiornati; il bootloader dei tiny è "virtuale" cioè completamente vuoto, ma usando l'IDE 1.0.1 o più recenti, se selezioni PRIMA la board a 8MHz e poi scrivi il bootloader ottieni il cambiamento dei fuse e quindi il settaggio del micro per lavorare a 8MHz, sempre con l'oscillatore interno.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

carletto


Immagino che tu ti sia attrezzato per programmare i tiny, scaricando i file aggiornati; il bootloader dei tiny è "virtuale" cioè completamente vuoto, ma usando l'IDE 1.0.1 o più recenti, se selezioni PRIMA la board a 8MHz e poi scrivi il bootloader ottieni il cambiamento dei fuse e quindi il settaggio del micro per lavorare a 8MHz, sempre con l'oscillatore interno.


OK FUNZIONA!
Grazie Michele.

Vedi allegato.

Sto utilizzando l'IDE 1.0.3 e i file me li ha indicati leo72 qualche tempo fa
http://code.google.com/p/arduino-tiny versione 0100-0015.

In quelle board ne esiste una per i 16Mhz con oscillatore interno.
Qualcuno l'ha provata?

Carletto.
 



 

leo72


Sto utilizzando l'IDE 1.0.3 e i file me li ha indicati leo72 qualche tempo fa
http://code.google.com/p/arduino-tiny versione 0100-0015.

In quelle board ne esiste una per i 16Mhz con oscillatore interno.
Qualcuno l'ha provata?

Carletto.

Mai provata ma funziona senz'altro perché so dal forum internazionale che è stata usata.
In pratica il Tiny85 è l'unico micro di quelli programmabili dall'IDE di Arduino che usa un PLL interno per cui si può generare un clock maggiore di quello fornito dall'oscillatore ricorrendo appunto ad una modifica software dei parametri del micro.
Comunque per l'impiego tipico di un Tiny85, dove i compiti da svolgere sono generalmente semplici, bastano anche i clock inferiori: oltretutto ti permettono di usare anche tensioni di alimentazione più basse dei canonici 5V, a tutto vantaggio del risparmio energetico.

carletto

Ho provato la board 16Mhz e funziona.

Grazie per i suggerimenti.

Carletto

Go Up