Vai al contenuto
PLC Forum


Partitore di tensione e sensore piezoelettrico


boombari

Messaggi consigliati

Ciao a tutti, premetto che sono un appassionato e mi avvicino al mondo dell'elettronica da pochi mesi, anche se nasco come sviluppatore software. Vengo al punto.

Vorrei realizzare un progetto con Arduino per leggere il valore delle vibrazioni di alcuni sensori piezoelettrici. Dopo alcuni approfondimenti molti utilizzano la tecnica di partire da una tensione positiva, invece che da 0, alla quale "sommare" la tensione proveniente dal piezo che viene fatto vibrare. Ho realizzato quindi un partitore di tensione partendo da 3.3V sul quale ho collegato il mio piezo con una resistenza da 100K, e sembra funzionare. Col l'oscilloscopio vedo infatti una tensione fissa a circa 1.5v, e quando faccio vibrare il piezo vedo la tensione variare, ma mantenendo sempre la base dei 1.5v.

 

Screenshot2024-03-25224555.png.607a61412a641568d98bc7e5834051e2.png

 

Quando andrò in lettura su Arduino, farò in modo tale da "tarare" il mio ZERO, e tutto dovrebbe funzionare.

Ora la questione è questa: vorrei collegare dei LED per ogni sensore piezo (e non pilotati da Arduino) che mi indichino eventuali valori troppo alti (cioè quando il piezo produce il massimo della sua corrente).

Ho pensato quindi ad un comparatore di tensione da realizzare con un LM324 (o simili) dove mettere come tensione invertente i miei 1.5v "presi" dal partitore, e come tensione non invertente quella "sommata" dalla vibrazioni del piezo. Non riesco però a capire (senza dover creare un secondo partitore) come poter prendere una "linea" dal partitore che non venga influenzata dal piezo... ho provato con un diodo, ma forse sbaglio qualcosa.

Che ne pensate? Il mio approccio è completamente errato? 

Link al commento
Condividi su altri siti


Livio Orsini
1 ora fa, boombari ha scritto:

Il mio approccio è completamente errato?

diciamo che non è completamente corretto.

Se vuoi un allarme quando la tensione, derivante dal superamento della soglia di corrente assorbita dal buzzer, supera una soglia "X", devi crearti il livello di tensione corrispondente alla soglia. Potresti usare una tensione di riferimento stabilizzata tramite un regolatore shunt. Sono dei regolatori di tensione, molto stabili, fatti appositamente per questi scopi. Ad esempio potresti considerare TL431AC di TI. Usi questa tensione come riferimento per il comparatore che pilota poi il LED di allarme.

Link al commento
Condividi su altri siti

Dato che hai un livello medio (massa virtuale) e che il segnale può essere in eccesso sia positivo (flessione piezo da un lato) che negativo (flessione piezo dall'altro), devi sicuramente amplificare il segnale in modo che possa essere sufficientemente alto da essere raddrizzato, poi appunto un raddrizzatore per verificare sia picchi positivi che negativi, e finalmente un comparatore a soglia. Oppure amplificare sempre il segnale e mettere un comparatore a finestra che quando sei fuori range ti dà allarme.

Come vedi, non è semplicissimo, ci vuole un discreto circuito e per ogni piezo.

Allora ti consiglio: dato che già il segnale lo hai e lo mandi all'Arduino, e anzi li hai tutti, e lo converti in valore numerico, poi ti basta fare delle comparazioni numeriche e attivare un'uscita per ogni led che ti serve. Mi parrebbe più conveniente e logico.

Link al commento
Condividi su altri siti

Si in effetti potrei usare degli shift register per comandare più LED, per non usare troppi digital pin per i LED... 

 

La mia domanda era forse troppo banale, e che denota le mie mancanze sulle basi dell'elettronica :) In pratica, dove ho la tensione del partitore (dove ho messo il multimetro), ho collegato (alimentato?) il mio piezo. Se il piezo è fermo quella tensione è stabile, se invece lo faccio vibrare succede questo:

 

image.jpeg.90d961fea044d0034ba5b93c1df104e1.jpeg

 

Mi chiedevo quindi su quel mio circuito come fare a comparare la mia base di 1.5V con la tensione mostrata qui con l'oscilloscopio... devo creare 2 partitori di tensione diversi? Uno per ogni piezo, e 1 unico per il comparatore?

 

Link al commento
Condividi su altri siti

Livio Orsini
9 ore fa, boombari ha scritto:

. devo creare 2 partitori di tensione diversi? Uno per ogni piezo, e 1 unico per il comparatore?

 

 

Per ogni piezo devi usare un comparatore.

Se vuoi avere una soglia, differente dagli 1,5V dello zero virtuale,per rivelare un'ampiezza massima oltre la quale scatta un allarme, devi agire come ti ho scritto in precedenza. Questo se basta rivelare il picco positivo, rispetto ad 1,5V; se vuoi rivelare anche il picco negativo ti servirebbe un secondo compaaratore con una seconda soglia.

In alternativa, potresti fare un rivelatore di picco e leggere con l'A/D di arduino. Avresti qualche ms di ritardo ma potrebbe andare egualmente bene, dipende da cosa ti sei oprefissso di ottenere.

Link al commento
Condividi su altri siti

NovellinoXX

 

11 ore fa, boombari ha scritto:

devo creare 2 partitori di tensione diversi?

Basta un condensatore per separare la DC dal segnale piezo seguito da un amplificatore. Dopo lo tratti come vuoi.

Se il segnale del piezo sono delle oscillazioni simmetriche rispetto allo 0 basta un rivelatore di picco.

Un semplice circuito potrebbe essere:

image.gif.d735c3b71f9c6129e9931c569212dd8b.gif

Modificato: da NovellinoXX
Link al commento
Condividi su altri siti

2 ore fa, Livio Orsini ha scritto:

 

Per ogni piezo devi usare un comparatore.

Se vuoi avere una soglia, differente dagli 1,5V dello zero virtuale,per rivelare un'ampiezza massima oltre la quale scatta un allarme, devi agire come ti ho scritto in precedenza. Questo se basta rivelare il picco positivo, rispetto ad 1,5V; se vuoi rivelare anche il picco negativo ti servirebbe un secondo compaaratore con una seconda soglia.

In alternativa, potresti fare un rivelatore di picco e leggere con l'A/D di arduino. Avresti qualche ms di ritardo ma potrebbe andare egualmente bene, dipende da cosa ti sei oprefissso di ottenere.

 

Grazie Livio per il tuo supporto.

In realtà quello che vorrei fare è far accendere un LED Verde quando la tensione è 1,5V (quindi status di operativo) ... e un LED Rosso ogni qualvolta il segnale dovesse superare i 2,5V ... tipo un mixer che ha il Led Rosso che si accende quando rileva un picco.

Link al commento
Condividi su altri siti

1 ora fa, NovellinoXX ha scritto:

 

Basta un condensatore per separare la DC dal segnale piezo seguito da un amplificatore. Dopo lo tratti come vuoi.

Se il segnale del piezo sono delle oscillazioni simmetriche rispetto allo 0 basta un rivelatore di picco.

Un semplice circuito potrebbe essere:

image.gif.d735c3b71f9c6129e9931c569212dd8b.gif

 

Grazie NovellinoXX per la tua risposta, in questo momento non mi è chiaro il tuo schema (ho bisogno dei miei tempi ahah ), come dicevo a Livio, quello che vorrei fare è far accendere un LED Verde quando la tensione è 1,5V (quindi status di operativo) ... e un LED Rosso ogni qualvolta il segnale dovesse superare i 2,5V ... tipo un mixer che ha il Led Rosso che si accende quando rileva un picco.

Link al commento
Condividi su altri siti

Livio Orsini
40 minuti fa, boombari ha scritto:

.. tipo un mixer che ha il Led Rosso che si accende quando rileva un picco.

 

Se ti serve solo come indicatore, visto che hai già arduino, ti conviene usare il convertitore A/D dello stesso.

 

 

Fig2.gif.c9c7e33a2174a9b90868816f16518caa.gif

 

Questo è uno schema di un buon rivelatore di picco (segui il link per leggere la spiegazione del circuito), buon compromesso tra precisione e semplicità, l'uscita dell'ampli poi la leggi con lo A/D di arduino, il quale farà accendere un LED verde o rosso in funzione dell valore letto. Dato che sviluppi software non avrai problemi per questo.

Il collo di bottiglia è la massima frequenza di cui vuoi intercettare il picco.

Ad esempio se campioni ogni 1ms, ammesso che lo A/D di arduino sia in grado di eseguire, avrai il limite di freqeunza  <500Hz. Con campionamento a 5ms il limite di frequenza scende a <100Hz.

Però considerando che l'essere umano non riesce a seguire variazioni di immagini a frequenze >20Hz, puoi benissimo  campionare a 25ms.

 

Oppure puoi sempre usare uno stadio di LM324 con un circuito simile a quello che postato Novellino per accendere il LED rosso.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

6 ore fa, Livio Orsini ha scritto:

 

Se ti serve solo come indicatore, visto che hai già arduino, ti conviene usare il convertitore A/D dello stesso.

 

 

Fig2.gif.c9c7e33a2174a9b90868816f16518caa.gif

 

Questo è uno schema di un buon rivelatore di picco (segui il link per leggere la spiegazione del circuito), buon compromesso tra precisione e semplicità, l'uscita dell'ampli poi la leggi con lo A/D di arduino, il quale farà accendere un LED verde o rosso in funzione dell valore letto. Dato che sviluppi software non avrai problemi per questo.

Il collo di bottiglia è la massima frequenza di cui vuoi intercettare il picco.

Ad esempio se campioni ogni 1ms, ammesso che lo A/D di arduino sia in grado di eseguire, avrai il limite di freqeunza  <500Hz. Con campionamento a 5ms il limite di frequenza scende a <100Hz.

Però considerando che l'essere umano non riesce a seguire variazioni di immagini a frequenze >20Hz, puoi benissimo  campionare a 25ms.

 

Oppure puoi sempre usare uno stadio di LM324 con un circuito simile a quello che postato Novellino per accendere il LED rosso.

 

Mi metto subito a studiare, grazie mille!

Nel mentre ho guardato questo video https://youtu.be/0aB4toofp5g?t=431 e qui secondo me siamo su un circuito che mi sembra fare al mio caso: abbiamo il partitore, e abbiamo all'ingresso invertente un trimmer da 10K, in base a quel valore viene acceso un LED o l'altro. Invece del trimmer nel mio caso c'è il piezo, che però deve essere alimentato dai 1,5v e non partire da 0 ... dico fesserie? 

Link al commento
Condividi su altri siti

Livio Orsini

Quel video spiega come funziona un comparatore di tensione.

 

Come ti avevo g'à scritto.

10 ore fa, Livio Orsini ha scritto:

Se vuoi avere una soglia, differente dagli 1,5V dello zero virtuale,per rivelare un'ampiezza massima oltre la quale scatta un allarme, devi agire come ti ho scritto in precedenza.

 

Ridotto ai minimi termini: LM324, ingresso invertente collegato ad un livello di tensione che puoi ralizzare tramite in trimmer alimentato a 3.3V. Ingresso non invertente collegato al circuito del piezo, nel punto dove hai messo la sonda dell'oscilloscopio. L'impedenza d'ingresso dell'ingresso don invertente di un AO, è molto elevata, per cui non carica il circuito del piezo. Quando al tensione ai capi del piezo, è inferiore al livello di soglia, l'uscita dell'ampli è quasi a zero, quando invece supera la soglia, l'uscita dell'ampli si porta al valore vicino alla tensione di alimentazione.

Poi sfrutti i due livelli per pilotare i LEDs quello verde e quello rosso.

Se invece vuoi che il rosso si accenda anche per i massimi negativi devi fare un raddrizzatore con rivelatore di picco, seguito dal comparatore.

Ovviamente il segnale va integrato perchè se l'illuminazione del LED rosso seguisse fedelmente l'andamento del segnale del piezo, non vedresti alcuna illuminazione.😏

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

1 ora fa, Livio Orsini ha scritto:

Quel video spiega come funziona un comparatore di tensione.

 

Come ti avevo g'à scritto.

 

Ridotto ai minimi termini: LM324, ingresso invertente collegato ad un livello di tensione che puoi ralizzare tramite in trimmer alimentato a 3.3V. Ingresso non invertente collegato al circuito del piezo, nel punto dove hai messo la sonda dell'oscilloscopio. L'impedenza d'ingresso dell'ingresso don invertente di un AO, è molto elevata, per cui non carica il circuito del piezo. Quando al tensione ai capi del piezo, è inferiore al livello di soglia, l'uscita dell'ampli è quasi a zero, quando invece supera la soglia, l'uscita dell'ampli si porta al valore vicino alla tensione di alimentazione.

Poi sfrutti i due livelli per pilotare i LEDs quello verde e quello rosso.

Se invece vuoi che il rosso si accenda anche per i massimi negativi devi fare un raddrizzatore con rivelatore di picco, seguito dal comparatore.

Ovviamente il segnale va integrato perchè se l'illuminazione del LED rosso seguisse fedelmente l'andamento del segnale del piezo, non vedresti alcuna illuminazione.😏

 

Livio ... sei stato super chiaro, mi metto subito all'opera e vi aggiorno ❤️ Nel frattempo cercherò di studiare anche quell'altro circuito di esempio che mi hai inviato

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...