Frequenzimetro Digitale con micro ATMEL - FINITO -

Conosco lo schema al quale ti riferisci, è un buon progetto, ed il PIC aiuta perché legge tranquillamente segnali fino a 50MHz, contrariamente al nostro 328 P che oltre i 6MHz inizia a dare i numeri e crea un mare di fastidi, ed il prescaler immagino sia un U66x (al solito, prima di ogni progetto mi documento moltissimo :sweat_smile:); se hai modo di trovare materiale obsoleto c'era il famoso UPB582C (1,5GHz). In realtà non dovrei dirti che ho usato l'MC12080D ma a te non posso negare questa informazione :slight_smile: , però ti anticipo che ciò ti sarà utile solo per la questione frequenza massima e non per la sensibilità, per la quale purtroppo dovrai aspettare un poco, mi spiace ma davvero non posso. Lo schedino degli ingressi che ho definito "il cuore del progetto" ha una efficienza del 98%, nel senso che c'è davvero poco altro da tirargli fuori, ed un ruolo fondamentale gioca la disposizione dei componenti, come detto l'ho sperimentato per centinaia di ore, e questo è il terzo PCB che realizzo e per la versione finale ce ne sarà addirittura una quarta versione! Al tuo posto lo metterei pari pari nel contenitore portatile, realizzando solo la parte logica/display.

Esatto, e' proprio un'U664B in DIP 8 pin, che ho "gentilmente estirpato" (:P) da un vecchio tv, e per il quale avevo trovato alcune informazioni su un vecchio numero di Elektor (ma mai un datasheet completo :P) ... dato che divide per 64, usando un pic che arriva a leggere 50MHz era piu che sufficente ... ma con il tuo MC12080D che al massimo divide per 80, sono curioso di vedere come hai risolto il problema della parte piu alta della frequenza, che sarebbe di sicuro oltre i 6MHz ... a meno di non usarne due in cascata settati per 10, per ottenere una divisione per 100 netta e risparmiarsi anche le conversioni software ... la cosa si fa interessante :smiley:

Ma che, scherzi ? ... ma quale dispiacersi, e' il tuo lavoro e sono i tuoi accordi con la rivista, ci mancherebbe altro, non ti devi dispiacere di nulla ... come ho detto, aspettare non costa nulla, e la cosa mi fa venire ancor piu voglia di leggere l'articolo, quando sara' pubblicato :wink: (devo solo ricordarmi di andare a minacciare di estinzione il giornalaio locale, se stavolta non mi tiene una copia :stuck_out_tongue: XD)

Etemenanki:
a meno di non usarne due in cascata settati per 10, per ottenere una divisione per 100 netta

Non ne servono due in cascata, basta prevedere un ulteriore divisore per due in uscita dal MC12080D, 80*2 = 160 * 8Mhz = 1280 MHz come massima frequenza teorica.

astrobeed: Si, anche quello e' fattibile, io parlavo di due in cascata solo per avere una divisione netta per 100 e non dover compensare la lettura cambiando il software ... tipo, hai 1.000.000 in ingresso, se dividi per 100, leggi 10.000 e visualizzi 10.000, con un fattore di divisione 160, leggi 6250 e devi compensare software per visualizzare 10.000 ... Oppure 20 e 10, dividi per 200 e dimezzi semplicemente il clock di lettura per avere lo stesso risultato e 1600MHz di fondoscala ... tipico ragionamento semplificativo da hardwarista :stuck_out_tongue: :smiley:

Etemenanki:
solo per avere una divisione netta per 100 e non dover compensare la lettura cambiando il software ... tipo, hai 1.000.000 in ingresso

Ragionamento classico da essere umano :slight_smile:
Gli ic digitali, e i micro, ragionano in binario quindi sotto il profilo software sarebbe meglio lavorare sempre con potenze di due o multipli di due della unità di misura minima da conteggiare :grin:

Vero anche quello ... be', in fondo io sono un normale essere umano ... ehm ... "normale" ... vabbe, piu o meno, diciamo :stuck_out_tongue: :smiley:

Hai pensato a portare il clock a 20 MHz?
Modificando la lib (penso che sia fattibile), dovresti innalzare la soglia reale utile almeno ad 8 MHz.

Posso assicurarvi che le soluzioni adottate per risolvere ogni singolo problema sono bellissime, alcune estremamente fantasiose :D, altrimenti l'avrei realizzato con due mesi invece di 6 :sweat_smile:
Leo, questo è stato uno dei consigli iniziali di Astro, che andava benissimo per le prestazioni iniziali, quando ho cominciato a leggere 10-11MHz già col circuito di BF mi sono reso conto che tutto sarebbe stato comunque inutile, inoltre non sapevo la libreria come si sarebbe comportata, e tu ben sai quanto sia rognosa.
Non vi nascondo che ad un certo punto mi sono così tanto incazzato con il 328 che, non potendo passare ad un PIC per assoluta incompetenza, stavo pensando di ricorrere ad un bello stadio contatore in TTL HCT, ma poi sorgevano altri problemi e significava perdere altri mesi, alla fine ho cominciato a lavorare di fantasia, oltre al vostro preziosissimo aiuto e siamo arrivati, ancora pochi ritocchi e posso chiudere le 8 viti del contenitore :sweat_smile: :sweat_smile:
Etem, per renderti l'attesa ancora più interessante sappi che il prescaler lo uso come divisore per 40... XD XD XD

Complimenti Michele,come al solito un bel lavoro! :wink:
Aspetterò l'uscita dell'articolo,ciao.

Mi associo anch'io al coro dei complimenti!

Ah, ma allora lo fai apposta ... quasi quasi per vederli prima ti entro nel pc hackerandotelo con uno StarTac attraverso un satellite della CIA (Confederazione Italiana Agricoltori, ovviamente ... :stuck_out_tongue: XD :grin:)

Con una divisione preliminare per 40, l'unica cosa che mi viene in mente e' che poi tu usi un paio di flip-flop in cascata, o un contatore a parte, ed in qualche modo lo interfacci anche con le routine del cambio di portata automatico ... ma non dico altro ed aspetto.

Per lo stampato del prescaler, mi sa che seguiro' il tuo consiglio di usarlo cosi com'e' (tanto c'e' parecchio spazio nel contenitore che avevo preso, perche' ci faccio stare anche un mini generatore di funzioni) ... non ho lavorato molte volte con circuiti sopra gli 800MHz, ma so per esperienza diretta che dovendo realizzare stampati a quelle frequenze partendo da zero, piu la frequenza si alza e piu le inca**ature ed i mal di testa aumentano :wink: :smiley:

Grazie a tonid e pighi per i complimenti, spero che poi anche il lavoro sia all'altezza delle aspettative, ho ancora piccole rogne da superare, ma solo perché sono un perfezionista, vedremo...

Etem: avevo un'esperienza indiretta (primi anni 80) sull'RF e sapevo cosa mi aspettava, ma quando l'esperienza si fa diretta diventa anche traumatica, ho passato nottate a sognare questa bestia inafferrabile ed invisibile che mi morsicava da tutte le parti, non hai idea, pensa che trovavo onde sinus perfette sulla massa! Poi ho ricevuto una dritta da Cyclone (è da tempo che non frequenta, anche se l'altro giorno ho letto un suo post di sfuggita...) che mi ha aperto un fronte di studio e sperimentazione col quale sono arrivato a tenere a bada segnali di 1GHz, come hai visto. Le prime volte non riuscivo ad andare sopra i 300MHz, che pur richiedevano un'ampiezza di ben 2V applicata direttamente all'ingresso e ciò nonostante avevo letture ballerine da impazzire, oggi 300MHz li leggo con 100mV XD, al punto che ho previsto la presa SMA per poter usare una sonda "antenna" (hai presente un cavo HF che termina con una specie di doppio anello in rame?) e leggere frequenze emesse da trasmettitori RF infilando la loro antenna nell'anello; addirittura posso collegare antenne accordate direttamente sull'SMA, ma ovviamente leggo qualcosa solo quando ci sono potenze elevate.
L'ultimo guaio l'ho avuto con un residuo di RF che mi arrivava dritto su un pin del micro usato come digitale per pilotare uno dei relé di cambio degli ingressi: in pratica l'RF è collegata ad uno scambio del relé e internamente ad esso "saltava" sulla sua bobina che diventava una sorta di ripetitore :fearful: era incredibile perché il segnale da far misurare al micro era pulitissimo eppure ballava tutto, una volta scoperta la spuria è stato abbastanza semplice intervenire, ormai avevo l'esperienza :wink:
Il PCB con i tre ingressi è un quadrato di lato 5,8cm, dovrebbe entrare agevolmente in qualsiasi contenitore portatile.

Ci sta piu che comodo, con quelle dimensioni ... hai per caso visto durante le tue prove se una schermatura gli causa dei problemi ? ... te lo chiedo perche' visto che andrebbe assieme ad altra elettronica, se non ha problemi lo schermo da tutto il resto con un po di ritagli di basetta monofaccia ... posso tenerli a 10mm da qualsiasi altro componente, o anche un po di piu se serve, quindi non dovrebbe comunque creare problemi, ma non si sa mai, il generatore di funzioni e' un'accrocchio commerciale che avevo preso su ebay mesi fa, e poi mai utilizzato, arriva al massimi ad 8MHz, e ce lo infilo solo perche' mi da fastidio vederlo li sulla scansia a fare polvere (:stuck_out_tongue: :D), e per non usare due contenitori, due batterie, ecc (si, lo so, sono pigro :P)

Inizialmente stavo prevedendo di saldare sul PCB un micro scatolino metallico che racchiudesse l'RF, poi ho risolto con i vari interventi; non penso che il tuo circuito avrà problemi, ma se dovesse avere, converrà racchiudere lui piuttosto che questo PCB in un qualcosa che lo schermi dal resto.

Ma hai usato un Prescaler UHF per l'ingresso? Cosa hai usato?

rileggiti i post più recenti, sono una decina in tutto, e trovi tutte le info che posso dare ad oggi :wink:

Porto notizie ECCELLENTI sul progetto; non contento dei già buoni risultati ottenuti suula sezione RF ho voluto rimettere mano allo stadio del prescaler; con un nuovo eccellente suggerimento di Astro il risultato è stato questo:
RF prima dopo
1MHz 220mV 90mV
10MHz 25mV 10mV
100MHz 15mV 10mV
300MHz 40mV 25mV
500MHz 80mV 50mV
600MHz np 80mV
700MHz np 160mV
800MHz 500mV 450mV
900MHz 700mV 520mV
1000MHz 1,3V 550mV
1040MHz 1,6V 600mV
Poi ieri, ma questa volta in piena autonomia XD ho voluto approfondire lo studio del data-sheet, non ho potuto completare i test in modo definitivo ma posso anticiparvi che sono riuscito a leggere 1040MHz con soli 150mV che ora, naturalmente, rappresentano il valore più alto (il peggiore) nella scala della sensibilità, mentre restano i 10mV a 100MHz, a 500MHz ora sono 40mV, insomma valori davvero eccezionali.
Potrei ancora ridurre questi valori (l'ho verificato, sono arrivato a leggere i 1040MHz con soli 100mV!!!) ma questo comporta che il display, in assenza di segnale da misurare, fornisce numeri casuali, credo siano segnali di varia natura captati dall'estrema sensibilità dello strumento, però appena applico un qualsiasi segnale la lettura è stabilissima. Ho notato che il mio frequenzimetro professionale ed anche un Vellemann più economico in effetti hanno questo comportamento sull'ingresso RF, ma a me non piace molto; ho visto che riducendo (peggiorando) la sensibilità l'effetto sparisce, riducendo di meno si verifica solo quando collego il cavetto o la sonda, però io continuo a preferire il vedere "0" in qualsiasi condizione quando non c'è segnale, in fondo 150mVpp corrispondono a circa -12dB di sensibilità, penso che rispetto agli 1,6V che mi sefvivano fino all'altro giorno ci si possa accontentare.
Etem, naturalmente tutto il frutto del mio studio e dei vari interventi sullo schema elettrico saranno spiegati per filo e per segno, così tu potrai decidere in piena libertà se mantenere lo stesso comportamento oppure variarlo.
Che ne pensate di questo effetto dei numeri casuali?

Non potresti fare un controllo sulla campionatura e se vedi che i valori letti sballano troppo entro un certo tot di tempo (quindi sei in presenza della fluttuazione casuale invece che della lettura di un segnale) metti "d'ufficio" la lettura a 0 dopo 2/3 secondi?
Così terresti la sensibilità maggiore e la cifra 0.0 sul display?

Purtroppo no, ogni lettura dura un secondo + tempi di analisi e visualizzazione, in genere servono 2-3 letture per avere il valore esatto; a volte può capitare di voler rilevare il funzionamento di piccoli trasmettitori come telecomandi 433/868 MHz, lo strumento non è così sensibile da agganciare la frequenza esatta (anche perché viene modulata dal segnale codificato) però mostra in qualche modo il lavoro del tx; se adottassi questa tecnica significherebbe intanto perdere questa opportunità e poi una banale lettura richiederebbe non meno di 4 cicli.
Ripeto, ho visto lo stesso comportamento su strumenti che costano...., quindi potrei "tollerare" tranquillamente la cosa, ma io sono un pignolo e se una cosa non mi piace non riesco a conviverci :grin:; in fondo la variazione si riduce davvero a pochissima cosa e poiché non comporta nulla dal lato sw, se un domani volessi aumentare le prestazioni, mi basterebbe un piccolissimo intervento sulla scheda et voilà! XD

Sono perfettamente d'accordo con la tua valutazione, sono creati dalla marea di RF presente nell'etere, specie data dalle armoniche delle varie centraline per telefonia (alla faccia dei filtri :P) e da tutta la robaccia "wireless" presente in giro ...

Ti posso dire che una volta ho fatto un'esperimento per vedere cosa riuscivo a misurare (misura generica, non specifica, tipo misurare l'inquinamento a larga banda, partendo da 1MHz in su) ... dato che l'idea era di misurare la RF in campo aperto, lontano da trasmettitori, pensavo di dover costruire uno strumento sensibilissimo, quindi all'inizio gli avevo messo in ingresso un preamplificatorino fatto con due stupidi 2N918 in cascata ... con 10 cm di filo rigido come antenna mi andava la lancetta a fondoscala in qualsiasi punto mi trovassi, ed anche senza antenna, a meno che non collegassi l'ingresso a massa, leggeva sempre fino a meta scala piu o meno :stuck_out_tongue:

C'e' di sicuro una marea di porcheria RF in aria, praticamente dappertutto ... se vuoi lasciare la sensibilita' al massimo, mi sa che l'unico sistema e' di prevedere un'attenuatore automatico, che ti riduca l'ingresso finche' la sonda di misura non e' connessa al circuito da misurare (magari usando un BNC con il terzo polo sulla ghiera per comandarlo) ... altrimenti una qualche lettura casuale te la troverai sempre con l'ingresso aperto, e piu l'ingresso e' ad alta impedenza, piu i disturbi a circuito aperto saranno alti ...quello che potrebbe essere un vantaggio nel caso di una misura effettuata con un'antenna, diventa uno svantaggio per una misura da banco.

In alternativa, ma questo dipende dalla geometria del tuo stampato, potresti inserire un'attenuatore manuale da, diciamo, 20Db o simili, ed escluderlo se la misura lo richiede, mentre ad ingressi aperti ti eliminerebbe la maggior parte del segnale evitando sfarfallamenti nella lettura ...