Costruire un oscilloscopio per hobbisti


30

Ho un progetto a cui sto pensando da un po 'di tempo e sono arrivato alla conclusione che ad un certo punto durante il suo sviluppo avrò bisogno di un oscilloscopio. Va bene, non è un problema.

Invece di acquistare un oscilloscopio, ho deciso che mi piacerebbe - almeno - progettare il mio e, si spera, costruire il risultato. Per semplificare le cose, sto pensando di utilizzare un Raspberry Pi per eseguire tutti i calcoli e le visualizzazioni divertenti (non mi sento di implementare la FFT su un AVR, grazie mille).

Più leggo sugli oscilloscopi, più sono confuso, a dire il vero. Perché un oscilloscopio non è solo un ADC? Se fossi collegare qualcosa come questo (con protezione dalla tensione appropriata e pre-amplificazione) per un circuito su un'estremità, e una CPU opportunamente programmato, dall'altro, non sarebbe che essere un oscilloscopio?

[In passato ho lavorato solo con semplici circuiti digitali - sono principalmente un informatico teorico! - E quindi sto cercando di avvolgere la testa attorno all'elettronica analogica proprio ora. Pertanto, mi scuso se la risposta è estremamente ovvia ...]


6
Potrebbe essere utile iniziare studiando alcuni oscilloscopi open source esistenti: alcuni link qui , vedi anche questo . Con l'RPi, il design del SoC è chiuso richiede la firma di NDA e la convinzione del produttore di SoC di farti avere il tipo di informazioni di cui potresti aver bisogno per farlo fare quello che vuoi. Qualcosa di simile a un Launchpad Tiva-C, o meglio ancora, Beagle Bone Black potrebbe rendere un punto di partenza più facile per questo motivo. BBB ha una potenza di elaborazione e I / O più che ampia e una buona documentazione.
Anindo Ghosh,

5
Anche un oscilloscopio economico da 100 MHz potrebbe avere una frequenza di campionamento di 1GSps. Un ADC a 20 bit a 8 bit non funzionerà per molto su alcuni MHz (Harry e Claude dicono che 10 MHz è il limite assoluto). Devi essere in grado di ottenere le informazioni dall'ADC e nel tuo processore dove possono essere visualizzate. Anche un front-end di qualità commerciale non è banale. Non voglio scoraggiarti, ma qualcosa che costruirai non avrà le prestazioni di un Rigol da $ 350. Sarà sicuramente un buon progetto per l'apprendimento.
Spehro Pefhany,

10
Perché pensi che un oscilloscopio richieda l'implementazione della FFT?
Phil Frost,

5
Per un modello di studio la cosa più importante da realizzare oltre all'ADC è il circuito di innesco. Volete un display stabile, non uno che si muova continuamente. Devi capire come iniziare a disegnare l'onda ogni volta esattamente nello stesso momento. Può essere fatto può essere divertente e potenzialmente imparerai molto da esso. Probabilmente la lezione più importante sarà che gli ambiti digitali di qualità ragionevole sono abbastanza economici in questi giorni.
jippie,

9
Spero che tu abbia accesso a un oscilloscopio, mentre lo costruisci. :-p
Lyndon White

Risposte:


23

Al suo centro, un oscilloscopio (digitale) è solo un ADC, insieme ad un po 'di memoria per contenere i campioni. I campioni vengono quindi letti dalla memoria e visualizzati.

I problemi pratici di implementazione rendono complicati gli oscilloscopi commerciali. Il segnale di ingresso deve essere ridimensionato in modo appropriato per la gamma dell'ADC, il che significa che è necessario disporre di attenuatori e / o amplificatori con valori di guadagno molto precisi che siano molto piatti in una vasta gamma di frequenze (da DC a 10 o 100 di MHz come minimo) per misurare le forme d'onda con una distorsione minima.

Inoltre, a seconda dell'applicazione, la frequenza di campionamento dell'ADC deve essere regolata (in modo molto preciso) su un ampio intervallo dinamico: 1 ns / campione su 1 s / campione (9 ordini di grandezza) sarebbe tipico.

Quindi c'è la questione di sapere quando iniziare - o ancora più importante, interrompere - il campionamento; questo è noto come innesco. Applicazioni diverse hanno esigenze diverse per l'attivazione e gli ambiti commerciali hanno un'ampia scelta per adattarli.


È bello vedere che non ero troppo lontano dal segno, grazie! Penso che questo chiarisca la maggior parte della mia confusione. Per avere la minima funzionalità minima (diciamo, visualizzare un'onda quadra senza che la fase cambi inutilmente sul display), quale sarebbe un sottoinsieme di meccanismi di innesco da implementare? O è una domanda stupida?
Ethereal,

2
Invece di regolare la frequenza di campionamento dell'ADC, prendere in considerazione un filtro di decimazione digitale in un FPGA o nel software di visualizzazione. I progetti grezzi che semplicemente riducono la frequenza di campionamento soffrono di aliasing confuso che l'operatore deve escludere dalla conoscenza del segnale o modificando sperimentalmente la base dei tempi per verificare se il segnale è sovracampionato o sottocampionato.
Chris Stratton,

Il trigger grezzo può essere eseguito con un comparatore analogico o digitale, forse con isteresi. Inoltre, su un ambito digitale, di solito si esegue il campionamento continuo in un buffer circolare durante l'attesa del trigger, quindi si interrompe un certo periodo di tempo dopo che la condizione di trigger è stata soddisfatta. Regolando la quantità di campionamento post-trigger, è possibile rimanere con un buffer che include ciò che è accaduto prima del trigger e dopo.
Chris Stratton,

1
Su un ambito digitale, il trigger può essere eseguito interamente nel dominio digitale, sebbene sia necessario un firmware abbastanza sofisticato per sovrapporre correttamente i risultati di trigger ripetitivi su un segnale periodico. I trigger one-shot sono relativamente banali.
Dave Tweed

13

È importante distinguere un progetto di hobby dall'attrezzatura pronta per l'uso e fare la scelta giusta per te. Questa non deve essere la scelta giusta per gli altri.

Se quello che vuoi sono le attrezzature da utilizzare per un altro progetto quest'anno, ne comprerei uno. Potrebbe essere nuovo o usato in base alle tue esigenze e al tuo budget.

Se quello che vuoi è costruire un oscilloscopio come hobby o progetto educativo, allora vai avanti! Ti auguro un'esperienza divertente ed educativa. Imparerai molto. Probabilmente incontrerai no-sayers; dite loro che possono risparmiare molto tempo e denaro per le loro prossime vacanze, ad esempio non andando in Europa e acquistando invece un libro illustrato. Manca il punto!

Un oscilloscopio digitale (di base) è effettivamente composto da un front-end (incluso un ADC e forse un circuito di innesco), un computer incorporato, un display e un software.

Suggerirò che potrebbero sorgere i seguenti problemi:

  • Tempo. Questo progetto ti richiederà del tempo, a seconda delle prestazioni desiderate, della tua esperienza, ecc.
  • Costo. Costerà di più rispetto all'acquisto di uno di pari prestazioni.
  • Prestazione. Che tipo di performance stai cercando? Compresi intervalli di input, risoluzione temporale, quanta tensione deve sopportare il front-end.
  • Testing. Come eseguirai il debug? Come verificherai che funzioni correttamente?
  • Sicurezza. Cosa succede se si sondano 120 V CA o si colpisce una tensione più elevata?

Sai che gli europei saranno divertiti dai tuoi consigli per le vacanze, giusto? :-)
RedGrittyBrick

10

Penso che tu possa ottenere alcune idee dall'oscilloscopio a memoria digitale AVR 10MHz 50MS / s .
Include schemi completi e codice sorgente.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Utilizza un piccolo CPLD che legge i risultati ADC e riempie una RAM, quindi utilizza un mcu AVR per leggere i dati RAM e inviarlo a un PC


Potresti anche trovare utile:

  • Gli schemi di Bitscope
  • Il dsonano compresi schemi completi e codice sorgente
  • Diversi progetti relativi a DSO che utilizzano FPGA o mcu elencati qui

C'è uno schema a blocchi nella pagina del progetto openDSO che dovrebbe essere utile per visualizzare le sezioni utilizzate in un DSO.

inserisci qui la descrizione dell'immagine


6

JYE Tech ha un kit oscilloscopio da $ 49 :

inserisci qui la descrizione dell'immagine

con le seguenti caratteristiche:

5M samples/second
8 bit resolution
256 sample memory depth
1MHz analog bandwidth
100mV/Div-5V/Div sensitivity
1MΩ impedance
50Vpeak-to-peak max input voltage
DC/AC coupling
Save and display up to 6 captures to memory
Transfer screen capture to PC as a bitmap file (serial adapter not included)
Backlit LCD display
FFT function available

Sparkfun lo porta anche, ma per $ 10 in più.

Tutti i componenti a montaggio superficiale sono già saldati.

Utilizza un ATmega 64. Forniscono lo schema e l'elenco delle parti sul loro sito Web se si desidera utilizzarli come guida per il proprio, ma dubito che si possa fare ciò per un prezzo vicino a $ 49. È disponibile anche il codice sorgente del firmware.

Per soli $ 30 in più ($ 79,50) che hanno un'unità assemblata con una larghezza di banda analogica a 5 MHz.


1
Per quello che vale, è approssimativamente la prestazione di un oscilloscopio Heathkit degli anni '50. Solo accoppiato CA (basato su tubo a vuoto). theoldcatvequipmentmuseum.org/180/182/…
Spehro Pefhany,

1
Ironia della sorte, Heath ha introdotto il suo primo oscilloscopio con kit elettronico (O1) nel 1947, che ha anche venduto per $ 50. Ma sarebbe poco più di $ 500 in dollari di oggi.
Tcrosley,

Questo è estremamente fastidioso da usare, perché non vi è alcuna indicazione di quanto recentemente si sia attivato. Se un indicatore lampeggiasse o comparisse qualcosa dopo mezzo secondo per mostrare che il display è stantio, sarebbe molto più utilizzabile, sebbene entro i limiti di un tale campionatore primitivo.
Chris Stratton,

Dato che forniscono il codice sorgente del firmware, è possibile che tu possa aggiungere un indicatore di attivazione al display senza troppi problemi.
Keshlam,

La fonte che forniscono è di un firmware più limitato rispetto al dispositivo.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.