Ho già sperimentato con successo la possibilità di misurare una frequenza fino a 5 MHz utilizzando una scheda arduino 1 con la libreria FreqCount.h . Vorrei adesso utilizzare allo stesso scopo un Attiny 45 /85 in stand alone. Ho provato ad inviare lo schetch attraverso Arduino allo Attiny 85 a 8 Mhz , ma già in fase di compilazione mi segnala errori.
Quello che lo schetch dovrebbe fare è quello di misurare la frequenza di un segnale inviato ad un piedino (es. A0) e di
mettere il risultato su di una variabile (ad esempio count) che verrà utilizzata successivamente da altra parte del programma. Grazie in anticipo a quanti vorranno aiutarmi.
Toty
Quella lib usa i timer 1 e 2 del microcontrollore, nonché attiva/disattiva il timer 0.
Il problema è che il timer 1 è a 16 bit e sull'Attinyx5 non ce l'hai.
Potresti provare con l'Attiny84, che ha 1 timer ad 8 ed 1 a 16 bit. Anche se poi ti mancherebbe il timer per la gestione del delay/millis, e se lo vai a ridefinire poi il compilatore s'inczz.
radiodaltritempi:
Ho già sperimentato con successo la possibilità di misurare una frequenza fino a 5 MHz utilizzando una scheda arduino 1 con la libreria FreqCount.h.
Usando come base di partenza la stessa libreria, un utente del Forum ha realizzato uno strumento semiprofessionale che misura fino a 1.1Ghz.
--> Frequenzimetro Digitale con micro ATMEL - FINITO - - Software - Arduino Forum
Quindi , facendo riferimento a quanto dice Leo , non sarebbe possibile realizzare questa applicazione utilizzando nè Attiny 85 nè Attiny 84. Mi dai cortesemente conferma di ciò.
In tal caso dovrei utilizzare dei microcontrollori che hanno degli ingobri maggiori ?
Per Paolop, grazie per il contributo, ma il mio intento è quello di utilizzare per questo scopo i microcontrollori della serie ATtiny e non quelli della serie AT.
Toty
Quella lib usa i timer 1 e 2 del microcontrollore, nonché attiva/disattiva il timer 0.
Il problema è che il timer 1 è a 16 bit e sull'Attinyx5 non ce l'hai.
Quindi, se ho capito bene, per lo scopo che mi sono riproposto, non potrò utilizzare nè Attiny 84 nè Attiny 85 , ma dovrò per forca ricorrere a dei microcontrollori serie AT non quelli della serie ATtiny. Mi dai cortesemente conferma.
Grazie
Toty
Usando come base di partenza la stessa libreria, un utente del Forum ha realizzato uno strumento semiprofessionale che misura fino a 1.1Ghz. smiley-mr-green
--> Frequenzimetro Digitale con micro ATMEL - FINITO - - Software - Arduino Forum
Ti ringrazio per il tuo contributo ma, il mio scopo è quello di utilizzare per questa applicazione dei microcontrollori della serie ATtiny e non quelle della superiore serie AT.
La FreqCount usa 2 timer: il timer 1, con cui misura il tempo degli impulsi dell'onda da misurare, ed il timer 2, come contatore di overflow per permettere di misurare con accuratezza impulsi con durate diverse da quelle misurabili col solo timer 1, che è a 16 bit.
Ora non mi chiedere come opera perché sinceramente non me lo ricordo, ma mi ricordo di questo suo modo di operare per averci lavorato un pò sopra tempo fa.
Durante i rilievi, attiva/disattiva il timer 0, che è quello che sull'Arduino/Atmega328 viene usato per misurare il tempo.
Portare la lib su Attiny85? Secondo me: impossibile. Perché manca appunto un timer a 16 bit.
Portare la lib su Attiny84? Molto difficile, ma forse non impossibile. Ma non penso che tu lo possa fare con l'IDE di Arduino perché avresti bisogno di entrambi i timer, ed a meno di non alterare a fondo il core Tiny, non puoi riassegnare due volte una ISR (il core lo fa già perché usa un timer per gestire i millis/delay). Quindi o alteri il core oppure usi un altro programma per scrivere il codice e compilarlo. Poi c'è da vedere se riesci ad adattare la freqCount all'Attiny84, devi modificare tutte le istruzioni che manipolano i registri del 328.