Jump to content
PLC Forum


Campionatura analogica "veloce" con arduino


Wimatech
 Share

Recommended Posts

Buongiorno a tutti,

Avrei la necessità di costruirmi uno strumentino per verificare il corretto funzionamento di un encoder simulato da dei driver industriali.

Attualmente uso un oscilloscopio a due canali e i segnali da misurare sono due onde quadre sfasate 0/5v ad una frequenza intorno ai 15/20KHz.

Il motivo per cui vorrei farmi uno strumentino ad hoc sono che i miei colleghi hanno difficoltà ad usare l'oscilloscopio ed inoltre quando andiamo in trasferta da clienti portarsi lo strumento è impegnativo, rischioso, ingombrante ecc

Pensavo di farmi appunto uno strumentino con Arduino ma il problema è riuscire ad avere un numero decente di campionature.

- Dovendo misurare 2 segnali (canale A e canale B)

- Frequenza 15/20 KHz

- E' un onda quadra e diciamo almeno 10 campionature per semiperiodo quindi 20 in totale

- Otteniamo almeno 20000*20 = 400000 Campionature/Sec a singolo canale

 

Essendo il segnale di max 5V pensavo di leggere direttamente due analogiche ma proprio non ci sto dietro con un arduino

 

Stavo pensando di aggiungere un circuitino con due ADC anche solo a 4 bit paralleli e spedire la binarizzazione sui pin di una porta e leggere lo status della porta ovviamente con una risoluzione di circa 0.3V ma potrebbe anche bastare

 

Avete altre soluzioni da proporre?

Ringrazio anticipatamente per ogni consiglio.

Link to comment
Share on other sites


1 ora fa, Wimatech ha scritto:

Otteniamo almeno 20000*20 = 400000 Campionature/Sec a singolo canale

 

Il che significa campionare, ed avere la conversione completa ogni 2,5µs, tempo che non può essere raggiunto dall'A/D interno di arduino che può arrivare si e no ad un decimo di questa velocità.

Anche andare con un con un A/D esterno veloce su bus I2C o SPI, ci sarebbe il problema della profondità di memoria, vista la poca RAM disponibile.

 

A questo punto, a mio giudizio, è molto meglio acquistare un oscilloscopio che sfrutta il PC per visualizzare. Oggi si trovano sui siti on line per qulche decina di euro. Si connettono alla porta USB e danno dei risultati decenti sino a qualche MHz, quindi più che sufficienti per i tuoi scopi.

Link to comment
Share on other sites

Cosa devi misurare di preciso? Frequenza e fase, o ti serve anche l'ampiezza? Perchè per i primi 2 non serve usare l'ADC, piuttosto un ingresso digitale su un timer/counter . L'Arduino classico è un po' limitato dalla bassa velocità di clock, ma puoi tranquillamente usare schede più veloci, tipo la Raspberry pi pico, che costa meno di 10 euro ed è programmabile sempre con l'IDE di Arduino. Oppure una delle tante schede  ST Nucleo, anch'esse programmabili con l'IDE di Arduino e che hanno una comoda libreria per gestire i timer.

 

Ciao, Ale.

Link to comment
Share on other sites

Senza togliere niente al fai da te, cosa che da sempre soddisfazione... Ma oggi gli oscilloscopi sono veramente piccoli e per quello che ti serve hanno un prezzo ridicolo. 

Link to comment
Share on other sites

6 ore fa, ilguargua ha scritto:

tipo la Raspberry pi pico, che costa meno di 10 euro ed è programmabile sempre con l'IDE di Arduino

 

Scusa ma poi c'è sempre il problema della lettura del convertitore esterno, convertitore che deve essere in grado di convertire 2 canali e trasmetterli in meno di 2.5µs. Non è proprio una cosa facilissima.

 

2 ore fa, drn5 ha scritto:

Ma oggi gli oscilloscopi sono veramente piccoli e per quello che ti serve hanno un prezzo ridicolo. 

 

Sono perfettamente d'accordo ed è stata anche la mia idea di soluzione.

Link to comment
Share on other sites

Ringrazio tutti per i preziosi consigli e credo proprio che opterò per la soluzione consigliata da Livio, ho dato un occhiata in rete e in effetti con poche decine di euro già risolvo il problema, ovviamente lo useremo per lavoro e investiremo qualcosina in più inoltre ne ho visti alcuni molto compatti e che si possono usare anche col cellulare.

A noi importa molto anche la trasportabilità visto che spesso i clienti sono in giro per il mondo e salire su un aereo con un oscilloscopio implica mille altri problemi.

Grazie ancora a tutti

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...