Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Registratore di tensione USB con funzioni di oscilloscopio, analizzatore di spettro e misuratore di risposta in frequenza. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / Tecnologia di misurazione

Commenti sull'articolo Commenti sull'articolo

La parte hardware di questo registratore è un ADC dotato di un canale di comunicazione ad alta velocità con un computer tramite il bus USB, implementato utilizzando un chip logico programmabile (FPGA). E il programma per computer sviluppato dall'autore consente non solo di registrare il segnale digitalizzato su un file, ma anche di visualizzarne l'oscillogramma, lo spettro e persino misurare la risposta in frequenza di ampiezza (AFC) di un filtro o altro dispositivo lineare, al ingresso al quale viene applicato un segnale di test dal generatore incorporato nel registratore.

Nel registratore in esame, i campioni del segnale in esame, che l'ADC preleva a una frequenza di 960 kHz, vengono inviati all'ingresso dell'FPGA, che converte il codice parallelo dell'ADC in seriale. In ciascun gruppo di cinque byte a otto bit trasmessi ulteriormente al convertitore UART-USB, l'FPGA inserisce quattro codici ADC a dieci bit. Inoltre, le informazioni vengono trasmesse tramite USB a un computer per l'elaborazione e l'archiviazione. Il protocollo di comunicazione con un computer e altre funzioni nel registratore sono implementate utilizzando un microcontrollore. L'FPGA e il microcontrollore sono programmati tramite lo stesso convertitore UART-USB utilizzato per trasferire le informazioni.

Per lavorare con il registratore, è stato sviluppato un programma in ambiente LabVIEW che implementa la ricezione delle informazioni, la loro visualizzazione e memorizzazione. Inoltre, implementa un algoritmo per rimuovere la risposta in frequenza di un circuito esterno collegato al registratore a frequenze da 0,1 Hz a 480 kHz. Una caratteristica distintiva di questo algoritmo è che per stimare la caratteristica ampiezza-frequenza del circuito in esame vengono utilizzate le armoniche della frequenza di ripetizione degli impulsi rettangolari generati dal microcontrollore del registratore.

Il compito di sviluppare un dispositivo per la trasmissione continua a un computer in tempo reale delle letture del valore di tensione istantanea nell'intervallo da 15 a +15 V con una frequenza di campionamento di 960 kHz e una risoluzione di dieci cifre binarie, in linea di principio, potrebbe essere risolto senza un FPGA utilizzando un ADC e un microcontrollore con porta USB integrata che funziona come porta COM virtuale. Tuttavia, la velocità di trasferimento delle informazioni in questo caso non sarebbe abbastanza elevata. Se utilizzato insieme all'ADC e al microcontrollore, il microcircuito convertitore di interfaccia UART-USB FT2232H, che fornisce il trasferimento di informazioni a una velocità di 12 Mbps, sorge il problema di trovare un microcontrollore il cui UART sia in grado di funzionare a tale velocità. Di conseguenza, è stato scelto un metodo diverso dal precedente utilizzando un FPGA che legge le informazioni generate dall'ADC in codice parallelo e le converte in un formato seriale caratteristico di UART.

Il dispositivo utilizza un ADC ADC10030 a dieci bit con uscita parallela e una frequenza di campionamento massima di 30 MHz. I risultati del suo lavoro vengono ricevuti ed elaborati dall'FPGA EPM3064ALC44-10N, che contiene 64 celle macro logiche programmabili e 44 linee I/O.

Ogni campione di segnale di ingresso generato dall'ADC è un codice binario a dieci bit e il convertitore UART-USB FT2232H riceve informazioni in byte a otto bit. Per questo motivo, l'FPGA implementa un dispositivo che impacchetta ogni quattro campioni in cinque byte. Successivamente, fornisce ogni byte con bit di start e stop e li trasferisce in codice seriale a 12 Mbaud al chip FT2232H per il trasferimento a un computer tramite USB.

Lo schema del registratore è mostrato in fig. 1. È alimentato da una tensione costante di 7 ... 9 V fornita dal connettore XP3 allo stabilizzatore integrato DA6 7805, e da esso, con un ponticello rimovibile S4 in posizione 1-2, a un regolatore di tensione di 3,3 V LM1117-3.3 (DA7). Per comodità di lavorare con il dispositivo durante il debug, è possibile alimentarlo dalla porta USB. Per fare ciò, il ponticello rimovibile S4 dovrebbe essere riorganizzato in posizione 2-3. Tuttavia, durante il normale funzionamento, tale alimentazione è inaccettabile, poiché la tensione prelevata dalla porta USB spesso differisce notevolmente da 5 V, il che porta a un cambiamento nella scala di conversione del segnale in esame nell'ADC.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 1. Schema registratore (clicca per ingrandire)

Il generatore di clock a 24 MHz per ADC e FPGA è costruito sugli elementi del chip DD2 74HC04D e stabilizzato dal risonatore al quarzo ZQ2.

Per implementare il protocollo per la comunicazione con un computer, la formazione di segnali discreti e la generazione di impulsi rettangolari, è stato introdotto nel registratore un microcontrollore DD1 ATMega8A, funzionante a una frequenza di clock di 16 MHz, specificata da un risonatore al quarzo ZQ1. Anche lo scambio di informazioni tra il computer e il microcontrollore avviene tramite il chip FT2232H (DD4), ma tramite un canale diverso. Per comunicare con l'FPGA e con il microcontrollore, è necessario organizzare due porte COM virtuali nel sistema operativo del computer che lavora con il registratore.

Il segnale in esame viene inviato attraverso il connettore XP1 all'ingresso dello stadio dell'amplificatore operazionale DA2 AD825ARZ, che è un attenuatore di segnale invertente a 15 volte. Il livello zero all'uscita dell'amplificatore operazionale DA2 può essere polarizzato utilizzando il resistore trimmer R1. Pertanto, il segnale in esame viene portato nell'intervallo consentito della variazione della tensione di ingresso dell'ADC.

L'amplificatore operazionale DA2 è alimentato da una tensione di +/-15 V, che forma da +5 V un convertitore di tensione unipolare CC in un AM1D-0515DH30Z bipolare (U1). Le resistenze R19 e R20 sono il carico minimo del convertitore necessario per il suo corretto funzionamento. Riorganizzando i ponticelli rimovibili S1 e S2 dalla posizione 2-3 alla posizione 1-2, è possibile passare all'alimentazione del microcircuito DA2 con una tensione esterna di +/- 15 V applicata al connettore XP4. Se lo si desidera, è possibile alimentare dispositivi esterni con un consumo di corrente non superiore a 1 mA dal convertitore U35.

Le tensioni di riferimento per l'ADC DA5 sono formate dagli amplificatori operazionali DA3.1 e DA3.2 secondo lo schema raccomandato nella descrizione dell'ADC. Il codice parallelo dalle uscite ADC va all'FPGA DD3, dove viene convertito in un codice UART seriale. Quindi va al chip DD4 FT2232H.

Il connettore XP2 è progettato per controllare dispositivi esterni con segnali a livello logico da 3,3 V su otto canali, inoltre, una tensione CC da 3,3 V e un filo comune sono collegati a questo connettore per alimentare dispositivi esterni. I connettori XP5 e XP6 sono progettati per dispositivi di programmazione ad essi collegati con una tensione di alimentazione di 3,3 V.

Al connettore XP7 vengono emesse tensioni di 3,3 V, 5 V e un filo comune per l'alimentazione di dispositivi esterni, un segnale a impulsi con una frequenza di 24 MHz (frequenza di clock dell'ADC e dell'FPGA). Il pin 4 di questo connettore è collegato al pin 14 dell'FPGA DD3, che non è utilizzato nella versione descritta del dispositivo.

Al connettore XP8 sono collegati dei LED che segnalano la modalità di funzionamento del convertitore:

HL1 - presenza di tensione di alimentazione;

HL2 - trasferimento di informazioni dal microcontrollore al computer;

HL3 - trasferimento di informazioni da un computer a un microcontrollore;

HL4 - trasferimento di informazioni dall'FPGA al computer;

HL5 - trasferimento di informazioni dal computer all'FPGA;

HL6 - il generatore di onde quadre è acceso;

HL7 - il trasferimento di informazioni dall'FPGA è consentito dal microcontrollore;

HL8 - FPGA trasmette informazioni.

Un disegno dei conduttori PCB è mostrato in fig. 2 (lato 1) e fig. 3 (lato 2). La disposizione degli elementi su questi lati della tavola - rispettivamente in fig. 4 e fig. 5. La scheda offre spazio per elementi non mostrati nel diagramma, da cui è possibile assemblare un attenuatore o filtro di ingresso a forma di U tra il connettore XP1 e il resistore R4 e un filtro a forma di L tra l'uscita DA2 dell'amplificatore operazionale e l'ingresso ADC DA5. Per far passare il segnale in assenza di un attenuatore e di un filtro, vengono installati ponticelli per il montaggio superficiale al posto dei loro elementi seriali. Altri due ponticelli sostituiscono i resistori collegati in serie con i resistori R5 e R8 se è necessario selezionare con precisione la tensione di riferimento dell'ADC.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 2. Disegno dei conduttori PCB

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 3. Disegno dei conduttori PCB

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 4. Disposizione degli elementi

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 5. Disposizione degli elementi

Per l'FPGA DD3 nel pacchetto PLCC-44, è necessario installare un pannello sulla scheda. Lo stabilizzatore integrale DA6 è montato su un dissipatore a coste di dimensioni 22x20x15 mm.

Il registratore è assemblato in una custodia Gainta G715; il suo aspetto è mostrato in fig. 6. I LED sono fissati sul pannello frontale e sono realizzati i fori per i connettori XP1, XP2, XP4, XP7. Dal pannello posteriore si accede al blocco interruttori SA1, connettori XS1, XP5, XP6.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 6. Aspetto del registrar

La struttura del dispositivo implementato nell'FPGA è descritta nel linguaggio VDHL. La traduzione e il debug sono stati eseguiti nell'ambiente di sviluppo di Quartus 11 versione 10.1.

Segnali di ingresso:

clk - segnale di orologio;

P - array di segnali provenienti dal microcontrollore;

ADC_data - array di segnali provenienti da ADC;

rx - segnale proveniente da FT2232H. Segnali di uscita:

P1 - segnale destinato al microcontrollore;

tx - segnale destinato a FT2232H;

PHL - segnale che controlla il LED HL8;

PPD - Segnale di spegnimento dell'ADC;

POE - Segnale di abilitazione uscita ADC;

POUT - uscita del segnale al connettore XP7.

Variabili:

count - contatore del numero di byte trasferiti;

start_bit - indicazione dell'inizio del trasferimento di byte;

stop_bit - segno di completamento del trasferimento dei dati;

ADC_data_buf - buffer per la memorizzazione delle informazioni dall'ADC;

rx_bit - un segno dell'inizio della ricezione di informazioni.

Al passaggio del segnale di clock da un livello basso ad uno alto, viene verificata la ricezione della scarica iniziale (Tabella 1). Quindi, se la trasmissione è in corso, il contenuto del contatore dei byte trasmessi viene incrementato di uno (Tabella 2). Quando il contenuto del contatore raggiunge il valore 100, avviene secondo la tabella. 3, viene posto a zero e viene verificata la presenza di un comando di completamento della trasmissione (P(6)=0).

Tabella 1

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Tabella 2

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Tabella 3

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Alla transizione del segnale di clock dall'alto al basso, prima dell'inizio della trasmissione, viene eseguito il buffering delle informazioni dall'ADC (Tabella 4) per impedirne il cambiamento durante la trasmissione.

Tabella 4

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Il resto dei passaggi consiste nel verificare l'autorizzazione o il divieto del trasferimento di informazioni dal microcontrollore. Nello stato abilitato si accende il LED HL8 e viene rimosso il segno di completamento del trasferimento se è stato ricevuto il byte di richiesta (Tabella 5). Il trasferimento dei bit di start e stop avviene secondo la tabella. 6, e informazioni dal buffer ADC - Tabella. 7 (ogni bit viene trasmesso in due cicli di conteggio).

Tabella 5

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Tabella 6

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Tabella 7

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Il programma per il microcontrollore è scritto in linguaggio C nell'ambiente di sviluppo ImageCraft. Dopo aver acceso il dispositivo, inizializza le periferiche del microcontrollore, quindi entra nel loop principale, con l'UART del microcontrollore in modalità standby di ricezione.

Alla ricezione di un byte, viene lanciato un gestore di interrupt (Tabella 8). Questo byte viene scritto nell'array rx_arr all'indice rx_count (se è stato ricevuto il primo byte del pacchetto, allora rx_count=0), dopodiché rx_count viene incrementato di uno. Questo è seguito da un riavvio del timer 0, la cui scadenza serve come segno della fine del pacchetto.

Tabella 8

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Se il byte successivo non viene ricevuto entro il tempo specificato, si verifica un interrupt su richiesta del timer 0. Nel gestore di questo interrupt (Tabella 9), il timer viene arrestato e viene impostato il flag di fine ricezione f_rx.

Tabella 9

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Quando viene ricevuto un pacchetto di informazioni (f_rx= 1), il ciclo principale inizia ad analizzarlo, eseguire i comandi in esso contenuti e generare risposte. Per prima cosa vengono controllati l'intestazione e la fine del pacchetto, quindi il codice di comando. Dopo un controllo riuscito, inizia l'esecuzione del comando contenuto nel pacchetto. Se viene rilevato un errore, viene generato uno scontrino negativo.

Nel programma sono implementati i seguenti comandi:

- "Test" - serve per verificare la connessione;

- "Set IO states" - imposta i livelli logici specificati sui pin del microcontrollore collegati al connettore XP2. Il pin 2 del connettore (circuito IO1) corrisponde all'LSB del byte dei dati di comando e il pin 9 (circuito IO8) corrisponde all'MSB;

- "Imposta stati IO correlati a FPGA" - imposta i livelli logici specificati alle uscite del microcontrollore PD4-PD7, PB1, PC2, PC3, associate all'FPGA. Le uscite sono elencate nell'ordine dei rispettivi byte di dati di comando da uno a sette. Il valore del byte meno significativo (zero) del byte può essere arbitrario, poiché lo stato dell'uscita PD3 non è disponibile per la modifica con questo comando. Viene utilizzato per ricevere una richiesta di interruzione dall'FPGA;

- "Avvia il generatore di impulsi rettangolari (con un periodo multiplo di 2 s)" - avvia il generatore specificato di impulsi rettangolari (il duty cycle di tutti gli impulsi generati dal registratore è uguale a due). Il byte dei dati di comando deve contenere il valore del periodo di ripetizione dell'impulso, che può essere nell'intervallo di 2-2 s in passi di 254 s. Gli impulsi vengono generati all'uscita del microcontrollore PB3 dal software che commuta il suo stato nel gestore di interrupt dal timer 1. Vengono emessi al pin 5 del connettore XP2;

- "Avvia il generatore di impulsi rettangolari (con un periodo multiplo di 2 s) dopo l'avvio dell'ADC" - differisce dal comando precedente in quanto avvia il generatore in modo sincrono con l'inizio del trasferimento delle informazioni dall'FPGA al computer ;

- "Avvia generatore di onde quadre" - avvia il generatore di onde quadre con frequenza da 30 Hz a 8 MHz. I quattro byte di dati devono contenere il valore della frequenza in hertz. Il generatore viene spento impostando la frequenza a zero. Poiché il periodo di ripetizione degli impulsi generati è sempre un multiplo della durata del ciclo macchina del microcontrollore, la frequenza effettiva della loro ripetizione può differire da quella specificata. Il suo valore esatto (con una risoluzione di 1 Hz) è contenuto nella risposta al comando. Gli impulsi vengono inviati al pin 5 del connettore XP2, collegato all'uscita PB3 del microcontrollore.

Per avviare il trasferimento di informazioni dall'FPGA, è necessario abilitarlo impostando un livello logico alto all'ingresso 16 dell'FPGA, quindi trasferire un byte attraverso la porta COM all'FPGA. L'autorizzazione è stata introdotta per comodità di terminare la trasmissione impostando l'ingresso 16 dell'FPGA su uno zero logico. Poiché il trasferimento è consentito dal microcontrollore, per sincronizzare l'inizio della trasmissione dall'FPGA con l'inizio della ricezione delle informazioni da parte del computer, quest'ultimo deve inviare un byte di richiesta arbitrario al microcontrollore. Il microcontrollore comunica con il computer a una velocità di 1 Mbaud con otto bit senza parità e un bit di stop. Per scambiare informazioni via USB attraverso il chip FT2232H del registratore nel sistema operativo del computer, è necessario installare i driver che si trovano nella pagina Internet [1].

Caricamento di programmi nell'FPGA e nel microcontrollore.

La programmazione FPGA viene eseguita secondo il metodo descritto in [2]. Prima di avviarlo è necessario impostare i DIP switch SA1 -

SA3 nelle posizioni indicate in fig. 7a. Il microcontrollore è stato programmato utilizzando il programma AVRDude e la shell grafica SinaProg, scaricabili dai link presenti nella pagina Internet [3]. SinaProg richiede che LabView RunTime Library [4] sia installato sul computer.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 7. Programmazione FPGA

Nel file avrdude.conf è necessario riassegnare i pin del programmatore 2ftbb, completando il testo del file con la sezione riportata in Tabella. 10.

Tabella 10

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

L'appendice all'articolo contiene i programmi AVRDude e SinaProg, in cui sono già impostati tutti i parametri necessari.

Iniziando la programmazione del microcontrollore occorre posizionare gli switch SA1-SA3 del registrar nelle posizioni indicate in fig. 7b, quindi collegare il connettore XS1 del registratore alla porta USB del computer ed eseguire il programma SinaProg. Nel campo "Programmer" della sua finestra, dovresti impostare i parametri 2ftbb, FTDI, 9600. Quindi, a turno, premi i pulsanti sullo schermo "<" e "Cerca", dopodiché un testo simile a quello mostrato in Tabella 11 dovrebbe apparire nella finestra del messaggio. undici . Utilizzando il menu richiamato premendo il pulsante a schermo "Avanzate" del campo "Fusibili", impostare la configurazione del microcontrollore: alto - 0xC9, basso - 0xFF. Nel campo "File esadecimale", specificare il nome del file HEX con i codici di programma del microcontrollore e fare clic sul pulsante Programma nel campo Flash. Dopo aver completato con successo la programmazione, nel campo del messaggio dovrebbe apparire un testo che termina con le righe mostrate nella Tabella 12. XNUMX.

Tabella 11

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Tabella 12

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza

Se il registratore viene utilizzato per dispositivi di programmazione collegati al connettore XP6 o XP7, gli interruttori SA1-SA3 devono essere posizionati nelle posizioni indicate in fig. 7, c. Le posizioni degli interruttori durante il normale funzionamento del registratore sono mostrate in fig. 7, g.

Programma per computer USB-960

è stato sviluppato nell'ambiente LabVIEW 2011. Se questo ambiente non è disponibile sul computer, sarà necessario installare i pacchetti [5] e [6]. Il programma contiene undici sottodispositivi virtuali (VP):

- ACPPLISUC_IOUC imposta gli stati delle porte di uscita del microcontrollore in uscita su un connettore esterno;

- ACPPLISUC_FREQ avvia il generatore con successiva misura della frequenza generata;

- ACPPLISUC_TEST verifica la connessione con il microcontrollore;

- ACPPLISUC_AFR_H misura la risposta in frequenza del circuito esterno a cinque valori di frequenza (non inferiori a 30,5 Hz);

- ACPPLISUC_AFR_L misura la risposta in frequenza del circuito esterno ad una frequenza da frazioni a decine di hertz;

- ACPPLISUC_GEN2S avvia un generatore di impulsi rettangolari con periodo di ripetizione multiplo di 2 s;

- ACPPLISUC_UNPACKDATA converte le informazioni ricevute dal registrar in un array di valori di codice ADC;

- ACPPLISUC_ADCDATA legge le informazioni ricevute dal registrar durante il tempo specificato;

- ACPPLISUC_IOPLIS imposta gli stati delle porte di uscita del microcontrollore associate all'FPGA;

- ACPPLISUC_GEN avvia un generatore di impulsi rettangolari con una frequenza di ripetizione di 30,5 Hz e superiore;

- ACPPLISUC_GEN2Ss avvia il generatore di impulsi rettangolari con periodo multiplo di due secondi, in sincronia con l'inizio della lettura delle informazioni dal registrar;

- ACPPLISUC_COM riceve e trasmette informazioni attraverso la porta COM virtuale associata al microcontrollore.

Il programma principale viene eseguito in un ciclo while infinito, all'interno del quale è presente una struttura case, la sua pagina corrente è determinata dalla selezione di una scheda nella finestra principale del programma.

Scheda di registrazione del segnale mostrato in fig. 8. Premendo il pulsante "START" si avvia la ricezione delle letture del segnale in studio per il tempo specificato nel campo "Measurement time, s". Per fare ciò, è consentito il trasferimento di informazioni dall'FPGA: nel VI ACPPLI-SUC_IOPLIS viene scritto il valore 128. La lettura effettiva viene eseguita utilizzando il VI ACPPLISUC_ADCDATA, il cui parametro è il tempo di misurazione. Questo VI richiede informazioni passando un byte nullo e lo legge per il tempo specificato. Dopo la scadenza, il trasferimento viene disabilitato scrivendo un valore zero nel VI ACPPLISUCJOPLIS.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 8. Scheda "Segnali di registrazione"

Se in precedenza è stato premuto il pulsante "Scrivi su file", allora il segnale in studio viene salvato in un file binario, il cui nome è specificato nel campo "File per salvare il segnale". Per impostazione predefinita, il salvataggio viene eseguito nella cartella principale dell'unità C, che potrebbe richiedere al sistema operativo del computer di eseguire il programma con diritti di amministratore.

L'avvio del generatore di impulsi rettangolari viene effettuato nei campi "Avvio generatore" e "Avvio generatore con periodo multiplo di 2 secondi".

Al termine della ricezione, l'oscillogramma del segnale ricevuto viene visualizzato nel campo "Segnale" e il suo spettro viene visualizzato nel campo "Spettro di ampiezza". Nei campi "RMS, V" e "Valore medio, V" verranno visualizzati rispettivamente i valori rms e medi del segnale.

Scheda Oscilloscopio mostrato in fig. 9. Premendo il pulsante sullo schermo "START" si avvia il ciclo while, in cui ripetutamente (fino alla pressione del pulsante "STOP") vengono ricevute informazioni dal registrar secondo l'algoritmo simile a quello descritto sopra. Per evitare il clipping del segnale durante la sincronizzazione e l'offset manuale, la durata effettiva della registrazione è il doppio di quella specificata. Al suo completamento, il segnale cerca i momenti di superamento della soglia specificata (impostata utilizzando il controller "Threshold, B"), da cui viene formato un array.Quindi, in questo array, il programma trova un elemento situato il più vicino possibile a 1/3 della durata del segnale. Verrà utilizzato come punto di partenza della forma d'onda visualizzata sullo schermo.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 9. Scheda Oscilloscopio

Usando il cursore "Offset, %", puoi spostare la forma d'onda. I pulsanti "Salva segnale corrente" e "Leggi" salvano il segnale attualmente visualizzato e leggono il segnale salvato in precedenza.

Scheda "Rimozione della risposta in frequenza" mostrato in fig. 10. È possibile determinare la risposta in frequenza di un circuito lineare [7] esponendo simultaneamente o in sequenza il suo ingresso a segnali armonici di varie frequenze, quindi misurando l'ampiezza di questi segnali all'uscita del circuito. Nel dispositivo in esame per misurare la risposta in frequenza, invece di segnali armonici, vengono utilizzati impulsi rettangolari generati dal microcontrollore. Un segnale sotto forma di impulsi rettangolari con un duty cycle di 2 è la somma di un numero infinito di segnali armonici (armoniche), le cui frequenze sono un numero dispari di volte superiore alla frequenza di ripetizione dell'impulso. Le ampiezze delle sue armoniche sono approssimativamente uguali a 0,9 (prima), 0,3 (terza), 0,18 (quinta), 0,129 (settima), 0,1 (nona) ampiezza dell'impulso. Conoscendo il rapporto delle armoniche (spettro) del segnale all'ingresso del circuito in studio e determinandolo all'uscita, è possibile calcolare la risposta in frequenza di questo circuito alle frequenze armoniche.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 10. Scheda "Rimozione della risposta in frequenza"

Il registrar rimuove la risposta in frequenza utilizzando impulsi rettangolari con un duty cycle di 2 e una frequenza di ripetizione di 0,1; 0,5; 30,5, 60,1, 120,2, 240, 480,8, 961,5, 1923, 3846, 7692,3, 15384,6, 31250 e 61538,5 Hz.

Premendo uno dei pulsanti dello schermo "START 0,1 Hz" o "START 0,5 Hz" si avvia il VI ACPPLISUC_AFR_L con un periodo di 10 s e 2 s, rispettivamente. Questo VI funziona così:

- utilizzando il VI ACPPLISUC_GEN2SS invia un comando per avviare il generatore di impulsi rettangolari con un dato periodo;

- riceve informazioni dall'ADC durante periodi di ripetizione di 1,5 impulsi;

- Passa il segnale ricevuto attraverso un filtro passa-basso digitale da 2000 Hz per rimuovere i componenti ad alta frequenza prima della decimazione del segnale. Se ciò non viene fatto, si verificherà l'effetto dell'aliasing [8];

- assottiglia il segnale, scartando 47 su 48 dei suoi campioni, per semplificare ulteriori calcoli;

- estrae dal segnale un frammento della durata di esattamente un periodo di ripetizione dell'impulso;

- calcola lo spettro di ampiezza di questo frammento;

- estrae dallo spettro ottenuto le componenti corrispondenti alle armoniche dispari del segnale di test, le suddivide in valori di ampiezza noti delle stesse armoniche del segnale originario. Il risultato è la risposta in frequenza del circuito in esame alle frequenze armoniche.

Alla pressione del pulsante della schermata "START 30 Hz" viene lanciato il ciclo for, nel quale viene eseguito il VI ACPPLISUC_AFR_H, il cui ingresso riceve i valori della frequenza degli impulsi e del tempo di misura. All'uscita di questo VP si ottengono i valori di risposta in frequenza alle cinque armoniche del segnale di una data frequenza. Come risultato del ciclo, si formano tre array: frequenze alle quali è stata misurata la risposta in frequenza, segnali utilizzati per calcolare la risposta in frequenza e valori di risposta in frequenza. Successivamente, la matrice dei valori di risposta in frequenza viene ordinata per un'ulteriore visualizzazione del suo grafico sullo schermo.

Il VI ACPPLISUC_AFR_H funziona come segue:

- utilizzando il VI ACPPLISUC_GEN invia un comando per avviare il generatore;

- riceve le informazioni dall'ADC entro un tempo determinato;

- calcola lo spettro di ampiezza del segnale registrato;

- estrae cinque componenti dallo spettro ottenuto, corrispondenti alle armoniche del segnale di prova, divide i loro valori per le relative ampiezze delle armoniche del segnale applicate all'ingresso del circuito in esame.Come risultato, cinque letture di si ottiene la risposta in frequenza.

Va notato che la durata dei segnali analizzati deve necessariamente essere esattamente un multiplo del periodo di ripetizione dell'impulso, altrimenti, nel calcolo dello spettro, si verificherà la sua "diffusione" [9] o "perdita" [7] e l'analisi i risultati saranno distorti.

Premendo i pulsanti sullo schermo "Salva risultati" e "Leggi" si scrive la risposta in frequenza attualmente visualizzata nel file su disco e si legge la risposta in frequenza registrata in precedenza.

Per testare il funzionamento del registratore nella modalità di lettura della risposta in frequenza, è stato collegato ad esso un nodo assemblato su una scheda di prototipazione secondo il circuito mostrato in Fig. 11. Questi sono i filtri passa-basso R1C2 e passa-alto R2C1. I buffer follower sull'amplificatore operazionale del chip DA1 eliminano l'effetto sulla risposta in frequenza dei filtri di un'impedenza di uscita relativamente alta dell'uscita del generatore e di un'impedenza di ingresso bassa (1,5 kOhm) del registratore. La tensione +15 V e -15 V per l'alimentazione del microcircuito DA1 può essere rimossa dal connettore Xp4 del registrar, se si collegano tra loro ciascuno tre pin sulla scheda di quest'ultimo, destinati ai ponticelli S1 e S2 (non a essere confusi con i ponticelli S1 e S2 in Fig. 11, che sono filtri commutati).

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 11. Schema breadboard

Per confrontare la risposta in frequenza misurata con quelle ottenute dal calcolo, è stato creato il programma "Comparison_AFC_with_calculation", che calcola la risposta in frequenza di un dato circuito RC e lo costruisce nelle stesse coordinate con quello misurato. I risultati sono presentati in fig. 12 (filtro passa basso) e fig. 13 (filtro passa alto). I valori calcolati sono mostrati in rosso, i valori misurati sono mostrati in bianco. Inoltre, i condensatori con una capacità di 1 μF sono stati collegati in parallelo con C2 e C8 e le caratteristiche mostrate in Fig. 14 e fig. 15.

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 12. Filtro passa basso

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 13. Filtro passa alto

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 14. Caratteristiche con condensatore collegato

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 15. Caratteristiche con condensatore collegato

Scheda di calibrazione mostrato in fig. 16. Quando si esegue questa operazione, è necessario impostare la relazione tra la tensione all'ingresso del registratore e il valore del codice all'uscita dell'ADC. Poiché questa dipendenza è lineare, è sufficiente inserire le coordinate dei suoi due punti. Per fare ciò, all'ingresso del registratore viene applicata una tensione costante vicina al massimo. Il suo valore è registrato nel campo "Umax, V". Nel campo "ADC-avg." verrà visualizzato il valore del codice di uscita ADC mediato dal programma. Può essere inserito manualmente nel campo "ADC-max" o utilizzare il pulsante sullo schermo "Scrivi il valore medio ADC corrente come ADC-max".

Registratore di tensione USB con oscilloscopio, analizzatore di spettro e funzioni di risposta in frequenza
Riso. 16. Scheda "Calibrazione"

Dopo aver applicato una tensione costante prossima al minimo all'ingresso del dispositivo, analogamente inserire i valori nei campi "Umin, V" e "ADC-min".

Come già accennato, le frequenze effettive dei segnali generati durante la rimozione della risposta in frequenza dei segnali possono differire leggermente dai valori specificati, per cui è impossibile conoscere in anticipo le durate esatte dei campioni da analizzare, che deve essere un multiplo di un numero intero di periodi di segnale. I valori di frequenza effettivi devono essere prima misurati e calcolate le durate del campione. Queste azioni vengono eseguite in una struttura di casi richiamata dal pulsante "Definisci periodi per la lettura della risposta in frequenza", i risultati vengono salvati in un file di testo.

La calibrazione viene eseguita come segue:

- collegare l'ingresso del dispositivo ad un comune filo collegando i contatti del connettore XP1;

- resistenza di trimming R1 impostata nella finestra "ADC-average". valori da 511 a 513 (cliccando sul pulsante a schermo "Leggi" per aggiornare);

- collegare una sorgente di tensione continua +1...13 V al connettore XP15, inserire il valore esatto di questa tensione nel campo "Umax, V";

- fare clic sul pulsante dello schermo "Leggi" per digitalizzare il segnale e determinare il valore medio del codice ADC, quindi fare clic sul pulsante dello schermo "Scrivi il valore corrente di ADC-average come ADC-max";

- invertire la polarità della tensione applicata al connettore XP1, inserire il suo valore nel campo "Umin, V", cliccare sui pulsanti della schermata "Leggi", quindi su "Scrivi il valore corrente di ADC-average come ADC-min" ;

- dopo aver scollegato la sorgente di tensione dal connettore XP1, collegare il pin 1 di questo connettore al pin 5 del connettore XP2 e premere il pulsante a video "Determine logic level voltage (IL1)". Questo valore è necessario per calcolare la risposta in frequenza;

- premere il pulsante sullo schermo "Definisci periodi per l'acquisizione della risposta in frequenza" e attendere la fine delle misurazioni (il processo richiede più di due minuti). I risultati della misurazione vengono memorizzati in un file di testo sul disco rigido del computer. Il nome di questo file e il suo percorso sono contenuti nel campo "File con coefficienti di calibrazione";

- premendo il pulsante a video "TEST" viene inviato un comando di test al microcontrollore, se si riceve la risposta corretta si accenderà l'indicatore "TEST OK". Nel campo "IO" è possibile impostare manualmente gli stati delle uscite del microcontrollore collegate al connettore XP2 e nel campo "IO-PLIS" quelli associati all'FPGA.

In conclusione, si può notare che se si costruisce un registratore basato sull'FPGA Xilinx Spartan-3 con un core del processore MicroBlaze, non sarà necessario utilizzare un microcontrollore.

File PCB in formato Sprint Layout 5.0 e programmi per FPGA, microcontrollore e computer possono essere scaricati da ftp://ftp.radio.ru/pub/2014/11/usb-reg.zip.

Letteratura

  1. autisti. - URL: ftdichip. com/FTDrivers.htm.
  2. Programmatore MBFTDI in ambiente Altera Quartus II. - URL: marsohod.org/index.php/ourblog/11/196-qprog10b.
  3. SinaProg - GUI per AVRDude. - URL: easyelectronics.ru / sinaprog-graficheskaya-obolochka-dlya-avrdude.html.
  4. Libreria runtime di LabView. - URL: ftp.ni.com/support/softlib/labview/labview_runtime/8.6.1/Windows/lvrte861min.exe.
  5. LabVIEWRun-TimeEngine 2011 -(32-bit Standard RTE) - Windows 7 64-bit / 732-bit / Vista 64-bit / Vista32-bit / XP 32-bit / Server 2008 R2 64-bit / Server2003R232-bit / . - URL: joule.ni.com/nidu/cds/view/p/id/2534/lang/ru.
  6. NI-VISA Run-Time Engine 5.1.1 - Pocket PC 2003, OS in tempo reale, Windows 7 64-bit / 7 32-bit / Vista 64-bit / Vista 32-bit / XP / XP Embedded / Server 2008 R2 64 -bit / Server 2003 R2 32 bit / Mobile 5 / . - URL: joule.ni.com/nidu/cds/view/p/id/2662/lang/ru.
  7. Marple Jr. C. Analisi spettrale digitale e sue applicazioni. - M.: Mir, 1990.
  8. Iphicher E., Jervis B. Elaborazione del segnale digitale: un approccio pratico. 2a edizione.: Per. dall'inglese. - M.: casa editrice Williams, 2004.
  9. Sergienko A. Elaborazione del segnale digitale: libro di testo per le università. 2a ed. - San Pietroburgo: Pietro, 2006.

Autore: V. Ciajkovskij

Vedi altri articoli sezione Tecnologia di misurazione.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Macchina per diradare i fiori nei giardini 02.05.2024

Nell'agricoltura moderna si sta sviluppando il progresso tecnologico volto ad aumentare l'efficienza dei processi di cura delle piante. Presentata in Italia l'innovativa macchina per il diradamento dei fiori Florix, progettata per ottimizzare la fase di raccolta. Questo attrezzo è dotato di bracci mobili, che permettono di adattarlo facilmente alle esigenze del giardino. L'operatore può regolare la velocità dei fili sottili controllandoli dalla cabina del trattore tramite joystick. Questo approccio aumenta significativamente l'efficienza del processo di diradamento dei fiori, offrendo la possibilità di adattamento individuale alle condizioni specifiche del giardino, nonché alla varietà e al tipo di frutto in esso coltivato. Dopo due anni di test della macchina Florix su diverse tipologie di frutta, i risultati sono stati molto incoraggianti. Agricoltori come Filiberto Montanari, che utilizza una macchina Florix da diversi anni, hanno riscontrato una significativa riduzione del tempo e della manodopera necessari per diluire i fiori. ... >>

Microscopio infrarosso avanzato 02.05.2024

I microscopi svolgono un ruolo importante nella ricerca scientifica, consentendo agli scienziati di approfondire strutture e processi invisibili all'occhio. Tuttavia, vari metodi di microscopia hanno i loro limiti e tra questi c'è la limitazione della risoluzione quando si utilizza la gamma degli infrarossi. Ma gli ultimi risultati dei ricercatori giapponesi dell'Università di Tokyo aprono nuove prospettive per lo studio del micromondo. Gli scienziati dell'Università di Tokyo hanno presentato un nuovo microscopio che rivoluzionerà le capacità della microscopia a infrarossi. Questo strumento avanzato consente di vedere le strutture interne dei batteri viventi con sorprendente chiarezza su scala nanometrica. In genere, i microscopi nel medio infrarosso sono limitati dalla bassa risoluzione, ma l’ultimo sviluppo dei ricercatori giapponesi supera queste limitazioni. Secondo gli scienziati, il microscopio sviluppato consente di creare immagini con una risoluzione fino a 120 nanometri, ovvero 30 volte superiore alla risoluzione dei microscopi tradizionali. ... >>

Trappola d'aria per insetti 01.05.2024

L’agricoltura è uno dei settori chiave dell’economia e il controllo dei parassiti è parte integrante di questo processo. Un team di scienziati dell’Indian Council of Agricultural Research-Central Potato Research Institute (ICAR-CPRI), Shimla, ha trovato una soluzione innovativa a questo problema: una trappola per insetti alimentata dal vento. Questo dispositivo risolve le carenze dei metodi tradizionali di controllo dei parassiti fornendo dati sulla popolazione di insetti in tempo reale. La trappola è alimentata interamente dall'energia eolica, il che la rende una soluzione ecologica che non richiede energia. Il suo design unico consente il monitoraggio sia degli insetti dannosi che utili, fornendo una panoramica completa della popolazione in qualsiasi area agricola. “Valutando i parassiti target al momento giusto, possiamo adottare le misure necessarie per controllare sia i parassiti che le malattie”, afferma Kapil ... >>

Notizie casuali dall'Archivio

La forza lavoro più economica non è cinese, ma robot 26.07.2012

La Cina rischia di perdere il suo status di officina di assemblaggio mondiale poiché sempre più aziende intendono abbandonare la forza lavoro cinese un tempo a buon mercato e sostituirla con i robot. Un esempio recente è la società di elettronica Foxconn. L'azienda prevede di consegnare fino a un milione di robot industriali alle linee di assemblaggio entro tre anni. Tali iniziative cambieranno in modo significativo il mercato del lavoro e influenzeranno l'economia globale. La produzione sta diventando sempre più automatizzata e nei prossimi decenni le aziende e gli stati che non sono in grado di utilizzare ampiamente i robot subiranno pesanti perdite.

La Cina, come molti paesi asiatici, è stata a lungo un luogo in cui è possibile trovare un gran numero di manodopera a basso costo. L'enorme migrazione interna, per lo più di ragazze delle campagne, ha portato al fatto che nelle città sono nate fabbriche giganti, dove i giovani siedono sulle catene di montaggio e svolgono compiti semplici che non richiedono alcuna qualifica. La sola Foxconn impiega circa un milione di lavoratori a bassa retribuzione, così come Apple, Nintendo, Intel, Dell, Nokia, Microsoft, Samsung e Sony.

Attualmente ci sono 300 lavoratori cinesi che vivono in dormitori vicino al complesso industriale di Longhua di Foxconn. Assemblano i prodotti Apple eseguendo operazioni elementari, come attaccare loghi. Ad esempio, per costruire un iPad sono necessari cinque giorni e 325 operazioni.

Tuttavia, l'efficienza economica di tale lavoro diminuisce ogni anno. Nonostante il fatto che, per gli standard occidentali, uno stipendio di $ 300-400 sia molto basso, la vita in Cina diventa ogni anno più costosa e ulteriori aumenti salariali per i lavoratori cinesi non sono redditizi per le aziende straniere e le aziende locali “non sono all'altezza del compito” a tutti.

È molto più redditizio sostituirli con i robot. Anche tenendo conto del turno di lavoro incredibilmente pesante (12 ore con due pause pranzo), le persone perdono a causa dei robot. Foxconn stima che i robot industriali dotati di braccio mobile, laser e sensori di pressione possano lavorare 160 ore a settimana. In poche parole, un robot può sostituire due lavoratori o anche quattro, perché il robot non ha bisogno di una pausa per dormire e riposare.

Altre notizie interessanti:

▪ Monitor ViewSonic VX28ml 2880" 4K

▪ I peperoncini aiutano a perdere peso

▪ Le nuvole stanno scendendo

▪ È in corso la creazione di un atlante unico del genoma umano

▪ Smartphone pieghevole Microsoft Surface Duo 2

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito Trasporti personali: terra, acqua, aria. Selezione dell'articolo

▪ articolo Saltykov-Shchedrin Mikhail Evgrafovich. Aforismi famosi

▪ articolo Quale incidente ha portato all'invenzione del Viagra? Risposta dettagliata

▪ articolo Ragusa vulgaris. Leggende, coltivazione, metodi di applicazione

▪ articolo Bobina di estensione. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ articolo Informazioni generali per un mago principiante. Messa a fuoco segreta

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:





Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024