Arduino Forum

International => Italiano => Software => Topic started by: Stilita on Feb 19, 2019, 03:17 pm

Title: Attiny e oscillatore interno.
Post by: Stilita on Feb 19, 2019, 03:17 pm
Ciao, con un attiny85 gli carico lo scheck blink, 1 secondo acceso e 1 spento.
Impostando la frequenza interna a 8 Mhz risponde bene, a 1 Mhz va più veloce e
a 16 più lento. Mi sarei aspettato il contrario?
Invece se gli carico un programma che lavora sull'interrupt (change) il micro è più veloce alle frequenze più alte, con l'oscilloscopio 2 tracce vedo il ritardo della risposta all'evento change, che
come dicevo è minore a 16 Mhz e maggiore a frequenze più basse.
Grazie.
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 19, 2019, 04:06 pm
Mi sarei aspettato il contrario? ...
Anche io :D :D :D

A parte tutto, NON puoi solo cambiare la frequenza dell'oscillatore senza creare/utilizzare una nuova definizione in "boards.txt", altrimenti, quando compili, il "core" crede di lavorare ad una frequenza ed invece lavora ad un'altra ... hai la definizione delle varie possibilità in "boards.txt" ? Stai usando quella giusta quando compili ? I FUSE li imposti correttamente ?

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: Stilita on Feb 19, 2019, 04:23 pm
No i fuse non li metto, carico lo schetch dagli esempi cambio solo il piedino del led, trattandosi di un Attiny85. Però il dubbio è che quando lo uso come nel secondo esempio lui si comporta come uno
 ci si aspetta senza nuovamente usare i fuses, cioè risponde più velocemente....

ps: quando uso il picbasic gli definisco la frequenza del quarzo e il micro rispetta i tempi, se invece dichiaro un quarzo da 4 e ne metto uno da 20 i tempi diventano 5 volte più veloci, probabilmente è questo che ometto nel caso del blink di cui prima.
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 19, 2019, 04:35 pm
Se utilizzi l'IDE di Arduino caricati il "core" di SpenceKonde ... nelle preferenze, tra le board aggiuntive, metti:

Code: [Select]
http://drazzy.com/package_drazzy.com_index.json
... vedrai che prevede, tra le board aggiuntive che puoi selezionare, un po' tutte le configurazioni (ATTiny Core - 1634, x313, x4, x41, x5, x61, x7, x8 and 828).

Compila e carica da IDE (tramite programmatore) e vedrai che NON hai problemi ;)

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: Stilita on Feb 19, 2019, 04:40 pm
Ok, grazie, domani ci studio.
Title: Re: Attiny e oscillatore interno.
Post by: Datman on Feb 19, 2019, 06:00 pm
Ciao, Guglielmo.

Non si potrebbe dare la possibilità di fare qualche impostazione non tanto "pericolosa" come il clock senza dover andare ad aggiungere una configurazione al file boards.txt? Si potrebbe mettere un avviso di fare attenzione. Potrebbe anche ripristinare tutto ogni volta che si chiude l'IDE.
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 19, 2019, 06:19 pm
Non si potrebbe dare la possibilità di fare qualche impostazione non tanto "pericolosa" come il clock senza dover andare ad aggiungere una configurazione al file boards.txt?
Il file "boards.txt" viene letto e tutta una serie di parametri utilizzati nelle chiamate ai vari programmi che contribuiscono alla fine alla produzione dell'eseguibile. E' la strada più semplice perché, anche una piccola modifica può sigificare tante cose.

Aggiungere una configurazione a "boards.txt" è spoesso un mero copia/incolla con la correzione di sole alcune voci, quindi un lavoro piuttosto banale ... ovvio che tocca sapere cosa modificare/aggiungere ;)

Altra strada è ... crearsi dei propri batch / dei propi "make" che, magari accettando dei parametri in entrata, lanciano quello che serve passando le giuste cose (ed esistono già fatti), ma è sicuramente una strada più complessa.

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: Stilita on Feb 20, 2019, 07:55 am
Gentili amici, ho fatto quello che mi è stato consigliato, e sono arrivato qui(link).
Però vedo solo che ho più scelte, ma la sostanza non cambia.
Cioè di default 8Mhz i tempi vengono rispettati, ma se cambio osc.int sono
sballati, come sopra detto, credo proprio che i fuses li dovrei scrivere nello schetch.
Ciao

https://ibb.co/kc2SRv7
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 20, 2019, 08:44 am
Prima di caricare il programma, usa la funzione "scrivi bootloader" ...
... in realtà NON carica alcun bootloader (... ci mancherebbe), ma imposta i FUSE (... che, se guardi nel file "boards.txt" per il package ATTinyCore, sono tutti definiti per le varie configurazioni).

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: Stilita on Feb 20, 2019, 09:45 am
Fatto, ho spuntato 1mhz, scrivi bootloader e programma, ed ha funzionato.
Poi, altra prova, spuntato 128 khz scrivi bootloader mi da errore nel caricare.
Fatta la controprova con atmel studio ed è impossibile accedere al micro, (defunto?):
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 20, 2019, 09:55 am
Mai usato il 128KHz ... non so quali implicazioni abbia, bisogna andare a vedere nel datasheet cosa dice ... ::)

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: Stilita on Feb 20, 2019, 10:04 am
Grazie del tempo, ne ho provato un'altro a 1, 8, 16 Mhz e va bene, a 128 khz non ci provo più.
 :)
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 20, 2019, 10:09 am
Grazie del tempo, ne ho provato un'altro a 1, 8, 16 Mhz e va bene, a 128 khz non ci provo più.
:D :D :D ... appena ho un attimo provo a controllare che implicazioni ha scegliere una frequenza così bassa ;)

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: Datman on Feb 20, 2019, 10:50 am
A 128kHz si ha il minimo consumo.
Non dovrebbero esserci difficoltà...
Title: Re: Attiny e oscillatore interno.
Post by: Stilita on Feb 20, 2019, 11:25 am
A 128kHz si ha il minimo consumo.
Non dovrebbero esserci difficoltà...
Per questo lo stavo provando a 128 k, per poi metterci un milliamperometro in serie e fare un confronto
degli assorbimenti alle varie freq., più che altro a scopo didattico.

Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 20, 2019, 11:33 am
A 128kHz si ha il minimo consumo.
Non dovrebbero esserci difficoltà...
Probabilmente c'è qualche problema con i FUSE ... appena posso verifico e faccio sapere ...

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 21, 2019, 07:49 am
Gentili amici, ho fatto quello che mi è stato consigliato, e sono arrivato qui(link)
....
https://ibb.co/kc2SRv7
Noto una cosa ... per la vode Timer1 seleziona "CPU" e non clock differenti.

Guglielmo

P.S.: Non credo possa entrarci con il tuo problema dei 128KHz, ma non si sa mai ... ::)
Title: Re: Attiny e oscillatore interno.
Post by: doppiozero on Feb 21, 2019, 12:44 pm
Se avete voglia di fare qualche esperimento, io mi sono divertito a fare questo  (https://github.com/duezero/RCM---Runtime-Clock-Manager)  :)
Title: Re: Attiny e oscillatore interno.
Post by: gpb01 on Feb 21, 2019, 01:10 pm
Se avete voglia di fare qualche esperimento, io mi sono divertito a fare questo  (https://github.com/duezero/RCM---Runtime-Clock-Manager) :)
Occorre comunque stare attenti perché il "core" è programmato per una certa frequenza ed invece tu mandi la MCU ad una frequenza differente creando problemi a tutto ciò che, nel "core", si basa appunto sul clock (es. millis()).

Viene bene se c'è la necessità di far andare la MCU più lenta perché, ad esempio, alimentata a tensione più bassa.  Allora, anche se ho su un quarzo a 16MHz ed alimento a 3.3V (fuori specifiche), con il divisiore, subito all'avvio (sperando che si avvi), imposto il clock alla frequenza voluta ;)

Guglielmo
Title: Re: Attiny e oscillatore interno.
Post by: doppiozero on Feb 21, 2019, 01:22 pm
Si, infatti l'ho scritto che certe funzioni non "funzionano" bene perchè sono impostate durante la compilazione. Però si possono sperimentare bassi clock senza "birkkare" la MCU, ho scritto nella descrizione come fare  :smiley-grin: