Gli strumenti che ho utilizzato sono i "classici" da hobbista: oscilloscopio Rigol Ds1054z e generatore di funzioni FeelTech3200 (dovrebbero andare bene anche gli altri generatori della stessa casa costruttrice forniti di porta USB).
L'idea di base è semplice, ovvero automatizzare quello che fino adesso avevo fatto manualmente: si collega il generatore di segnali all'ingresso del dispositivo da testare (DUT), e si collega l'oscilloscopio con un canale sull'ingresso ed uno sull'uscita del DUT, rilevando il rapporto tra le ampiezze e lo sfasamento tra i 2 segnali. Si ripete quindi il procedimento per diverse frequenze impostate sul generatore di segnali.
Gli strumenti utilizzati possono essere collegati al PC tramite porta USB, e si possono comandare mediante semplici script in python. Ecco quindi che è nata l'idea.
Ho cercato qualcosa di già fatto, lo ho trovato e provato, ma non mi soddisfaceva. Così, partendo da quella base, ho sviluppato un nuovo script totalmente diverso nelle metodologie di misura e con molte più feature.
Quello che viene fatto in pratica è impostare sul generatore la frequenza richiesta, settare correttamente le scale dell'oscilloscopio ed eseguire le misurazioni; tutti i valori letti vengono inviati al PC che provvede a realizzare il grafico della risposta in frequenza.
Le principali funzionalità (al momento) dello script sono le seguenti:
> Plot della risposta in frequenza in termini di fase ed ampiezza
> Sweep in frequenza logaritmico o lineare
> Autorange di tensione e tempi, cercando di ottenere la massima risoluzione possibile
> Impostazione automatica dei principali parametri necessari per la misura
> Ripristino dei parametri originali dell'oscilloscopio dopo la misurazione
> Rilevazione di false misurazioni e ripetizione delle stesse
> Indicazione sul grafico di false misurazioni (qualora non sia stato possibile effettuarle correttamente) e di misurazioni non affidabili (in termini di fase se il modulo è molto molto piccolo)
Il progetto lo potete trovare al seguente link: https://github.com/frenzi37i/BodePlot-Rigol
Qui trovate la prima release: https://github.com/frenzi37i/BodePlot-Rigol/releases/tag/v1.0.0-alpha
Al momento è da riga di comando ed è testato unicamente su windows.Sto comunque realizzando una GUI che spero di finire in tempi brevi . È scritto tutto in python, quindi per avviarlo è necessario averlo installato ed installare i pacchetti necessari. Trovate informazioni molto più dettagliate sul Readme della repo su github.
Ad ogni modo credo che sia molto semplice da utilizzare, in quanto, dopo aver copiato nello script l'indirizzo dell'oscilloscopio e la porta seriale del generatore, è sufficiente avviare lo script BodePlot.py, e tutto il resto viene chiesto direttamente all'utente.
Specifico che non c'e alcuna pretesa di precisione e vuole essere solo uno strumento di analisi qualitativa. Nonostante ciò, sulle prove effettuate finora su filtri R-C sembra avere una buona precisione (molto prossima al diagramma di bode teorico).
Mi farebbe molto piacere che qualcuno lo provasse, per osservazioni sul funzionamento, bug o idee di sviluppo future.
Per capirne meglio il funzionamento potete leggere il readme su github o ancora meglio direttamente lo script, dato che è ben commentato (credo) e piuttosto straight-forward. Per qualunque dubbio sono ovviamente a disposizione.
Un saluto
