Go Down

Topic: Frequenzimetro Digitale con micro ATMEL - FINITO - (Read 10 times) previous topic - next topic

Testato

x iscrizione (devo leggere tutte le pagine ?  :))
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Etemenanki

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

leo72

Complimenti anche da parte mia, articolo molto bello. E poi il contenitore dell'apparecchio lo fa apparire molto professionale, veramente ben curato.

Michele Menniti

Test, i tre Topic che incredibilmente hai scovato e messo assieme con la tua "iscrizione" sono la storia di questo progetto, o quantomeno delle problematiche che ho incontrato nel suo sviluppo, quello che devi leggere, se ti va, è l'articolo; a quel punto la rilettura di questi Topic di farà comprendere quanto lavoro e tempo ci sia dietro a quello che alla fine diventa magari un paragrafo di 5-6 righe, scritto con la naturalezza di chi ha semplicemente messo assieme dei componenti e li ha fatti funzionare senza alcuna difficoltà  :smiley-sweat: e d'altra parte non puoi certo raccontare tutte le peripezie vissute, diverrebbe un romanzo invece di un articolo; nove mesi di tempo/laboratorio non sono uno scherzo. Nel caso in cui mi aiutò FLZ c'è dell'incredibile, ve lo racconto .... Per lo stadio BF ho usato due operazionali MCP662 (consigliatimi dal grande Astro), siccome esistono solo in smd, dovendo però mettere a punto ben 4 stadi, li saldai su due adattatori PDIP della Sparkun e montai tutto su breadboard; arrivato alla condizione di massime prestazioni, correggo lo schema iniziale, disegno il PCB, saldo i componenti e mi compare un'autooscillazione spaventosa che non mi faceva funzionare nulla se non applicando segnali di ampiezza sconsiderata; comincio a leggere di qua e di là e capisco che bisogna adottare dei condensatori, ma senza avere la più pallida idea, qualche inutile prova e poi mi viene in mente che FLZ aveva studiato a fondo gli operazionali e lo contatto; un paio di giorni di scambi, lui mi spiega la problematica e me la mostra con le immagini di un simulatore, alla fine mi basta aggiungere un C da 1pF su ognuna delle R della retroazione; ma perché sulla bread funzionava??? perché 1-2pF è una capacità parassita tipica delle piste delle breadboard, e quindi era come se tali C fossero montati direttamente nella bread :smiley-eek-blue:. Lui mi consigliava da 1 a 4 pF, poi una volta capito il meccanismo di quei grafici adottai quelli da 1pF per ottenere il miglior rapporto [sensibilità/frequenza massima] per ciò che mi serviva ai fini del progetto. Come la racconti una storia del genere in un articolo di presentazione di un progetto? però nella spiegazione dello schema elettrico troverai scritto che i tre C da 1pF servono per..... e chi legge penserà che sono la prima cosa che ho messo quando ho disegnato lo stadio  :smiley-mr-green: Ovviamente non è andato tutto così, quindi il merito del lavoro mi sento sinceramente di assumermelo, ma gli aiuti ricevuti sono stati fondamentali, e bisogna riconoscerlo per onestà.

@ Leo: grazie, c'è anche la tua parte, come ho detto prima, il contenitore l'ho scelto io, la mascherina però l'hanno fatta loro, io l'ho mandata lavorata ma "nuda". La sola cosa che mi sipace è che in una foto di un frequenzimetro che arriva a oltre 1 GHz mettono una lettura di pochi kHz  :smiley-sad-blue:
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

Etemenanki

Michele, a parte i dovuti (realmente, per tutto il lavoro che c'e' dietro) complimenti, volevo chiederti una cosa ... il firmware e' modificabile, o e' proprietario ?

Perche' mi era venuta un'idea un po folle (come al solito), di usare un display 16x4 (o 20x4), e far visualizzare contemporaneamente piu parametri ... ad esempio frequenza, periodo (tempo), lunghezza d'onda, ecc ... considerando che la funzione principale (frequenza) la fa il circuito completo, mentre il resto, che sono fondamentalmente solo calcoli basati sul dato "frequenza" letto, la potrebbe fare il micro, magari con una routine secondaria, e non servirebbe neppure che fosse in tempo reale, sarebbe una modifica fattibile con il tuo circuito, oppure ritieni che stravolgerebbe troppo il tutto ?
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Michele Menniti

Grazie :) il firmware è di proprietà della Rivista, questi sono gli accordi; loro lo rendono disponibile, in genere in formato hex, altre volte in formato sorgente (.ino), ma non so dirti con che criterio. Posso però dirti che la libreria FreqCounter che ho usato, indispensabile ai fini del funzionamento del circuito, non lascia spazio nemmeno per le virgole, assorbe tutta la "timeria" del 328P; infatti disponevo anche della lib del periodimetro, dello stesso autore, ma era inutilizzabile, altrimenti avrei inserito anche questa importante funzionalità, che mi avrebbe permesso di estendere le letture a valori inferiori all'hertz. Tanto per farti capire, per far funzionare i due tastini è stato necessario (by Leo  XD) ricorrere all'uso del watchdog, con grande soddisfazione ai fini del funzionamento, ma tanta frustrazione per l'impossibilità di gestirli con due semplici righe di programma, come ho sempre fatto. Leggo che tu parli di calcoli (mentre io pensavo al periodimetro proprio come misura...) e quelli si possono fare ed anche mostrare, l'importante è che non tocchino risorse hardware, quindi devi per forza di cose operare in tempo reale; la "perdita di tempo" di questi calcoli è compensabile col metodo di taratura che ho adottato io, anche se penso che, su un gate di 1 secondo, questa ulteriore routine sarebbe pressocché ininfluente. Comunque il mio firmware non è niente di straordinario, chiunque lo farebbe meglio, però se faccio un progetto a firma mia il grosso deve essere mio, ed allora quello di Leo è un aiuto e basta. Nei casi in cui al firmware non metto proprio mano, finora quello isolato del Micrologio, allora condivido la firma con chi lo scrive (nello specifico proprio Leo), come è giusto che sia.
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

Michele Menniti

Etem, buone notizie, ma vale per chiunque sia interessato al progetto ho ottenuto che il firmware venga distribuito in formato sorgente; il motivo è che la taratura iniziale (da ripetere quando si necessita di ricalibrazione) si fa via hardware per poi fissare un valore in una costante del firmware, quindi il firmware va modificato un paio di volte (ci sono ovviamente istruzioni ben precise sulla Rivista) per poter "avviare" il frequenzimetro. La distribuzione però avverrà nel prossimo numero, quello col quale si presenterà appunto il firmware e poi il montaggio nel contenitore.  :)
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

Etemenanki

Nessun problema ... ho gia piazzato alcune trappole per orsi intorno all'edicola, cosi quando arrivera' la rivista, non me la fregheranno sul tempo :smiley-eek-blue: :P XD ]:D :smiley-mr-green:

A proposito del display a piu righe, si, parlavo solo di calcoli sul valore letto, non di un periodimetro (anche se sarebbe il massimo ... magari la versione 2.0, con un mega ? ... ;) XD) ... mi spiego, lo so che sono tutti valori che in 30 secondi e con una calcolatrice (le operazioni in virgola mobile con tanti decimali a me riescono male, a mente :P) ti ricavi da solo ... ma siccome vorrei montarlo nella versione piu piccola e portatile che riesco a costruire, e se sei in giro la maggior parte delle volte la calcolatrice non ce l'hai sottomano, avere la possibilita' di averli a schermo "al volo", anche solo aggiornati ogni secondo, risolverebbe il problema ... era solo per questo motivo ... come vedi, nulla di indispensabile, solo un piccolo "extra" ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Michele Menniti


Nessun problema ... ho gia piazzato alcune trappole per orsi intorno all'edicola, cosi quando arrivera' la rivista, non me la fregheranno sul tempo :smiley-eek-blue: :P XD ]:D :smiley-mr-green:

A proposito del display a piu righe, si, parlavo solo di calcoli sul valore letto, non di un periodimetro (anche se sarebbe il massimo ... magari la versione 2.0, con un mega ? ... ;) XD) ... mi spiego, lo so che sono tutti valori che in 30 secondi e con una calcolatrice (le operazioni in virgola mobile con tanti decimali a me riescono male, a mente :P) ti ricavi da solo ... ma siccome vorrei montarlo nella versione piu piccola e portatile che riesco a costruire, e se sei in giro la maggior parte delle volte la calcolatrice non ce l'hai sottomano, avere la possibilita' di averli a schermo "al volo", anche solo aggiornati ogni secondo, risolverebbe il problema ... era solo per questo motivo ... come vedi, nulla di indispensabile, solo un piccolo "extra" ...

Sì l'ho capito, infatti ho detto che una routine in più per fare qualche calcolo non crerà problemi e l'ulteriore ritardo introdotto nel gate sarà compensato a livello di taratura, cosa per la quale, modestamente, ho avuto davvero grande intuizione  XD
Non so se mi cimenterò in una nuova versione del Frequenzimetro, penso lo farei solo se questo progetto facesse il boom, la prima cosa sarebbe sicuro aumentare la portata dell'RF a 2,5GHz, quindi di sicuro nuova strumentazione per il mio stracolmo banco  $), vedremo.
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

astrobeed


la prima cosa sarebbe sicuro aumentare la portata dell'RF a 2,5GHz, quindi di sicuro nuova strumentazione per il mio stracolmo banco  $), vedremo.


Non per fare il disfattista, però con una risoluzione reale di "solo" 7.000.000 di count non ha molto senso spingersi oltre l'attuale 1 GHz.

Michele Menniti



la prima cosa sarebbe sicuro aumentare la portata dell'RF a 2,5GHz, quindi di sicuro nuova strumentazione per il mio stracolmo banco  $), vedremo.


Non per fare il disfattista, però con una risoluzione reale di "solo" 7.000.000 di count non ha molto senso spingersi oltre l'attuale 1 GHz.


è la volta buona che passo al PIC  XD
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


Michele Menniti

Per gli interessati: la seconda ed ultima puntata del Frequenzimetro è stata pubblicata sul numero 180 di Ottobre, dovrebbe essere già in edicola ed in arrivo agli abbonati. L'altra buona notizie è che il firmware, su richiesta del sottoscritto, è stato pubblicato sia in formato hex che in formato sorgente (.ino). Se qualche softwarista volesse dare un'occhiata e suggerire migliorìe ben vengano.
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

PaoloP

Ho visto che nel codice disabiliti gli input digitali sugli stessi pin dell'ADC.
Code: [Select]
/* DIDR0 - Digital Input Disable Register 0
    Disabilita gli ingressi digitali sui pin analogici */
    DIDR0 = 0b00111111;

La stessa cosa la stiamo facendo nell'ArduTester, ma da alcune prove Pighi mi ha detto che non gli cambia molto.
Tu hai notato differenze?

leo72

In teoria questo è fatto più per ridurre il consumo che per migliorare la campionatura dato che il datasheet dice solo che se su un pin analogico non si usa il circuito digitale, questo andrebbe spento.

Go Up