Ciao a tutti. Sono un neofita di Arduino e da poco sto iniziando a impratichirmi con i progetti dello starter kit. Mi sono impantanato al progetto 12 che prevede la realizzazione di un knock sensor utilizzando il buzzer contenuto nel kit come elemento piezoelettrico per rilevare vibrazioni.
Sul libro viene detto di collegare all'altomentazione il terminale positivo, collegare tra Massa e termiale negativo del buzzer una resistenza da almeno 1 Mohm, e prelevare l'ingresso sul terminale negativo e lo porto all'ingresso del convertitore analogico sul pin A0. Sembra quindi che il piezo lavori come se fosse un generatore di corrente o una resistenza variabile, in funzione della compressione. Tuttavia se leggo i valori sul monitor seriale quesi sono fissi a 1023 quindi saturati.
Tuttavia mi sembra di ricordare che l'effetto piezoelettrico si manifesti in una variazione di tensione ai capi del piezo e quindi una topologia del genere non è' adatta. Infatti andando in giro per la rete ho visto che la topologia impiegata e' di tipo parallelo: resistenza e buzzer in parallelo con un lato a massa e l'altro "floating" su cui vado a prelevare la tensione per l'ADC.
Tuttavia anche in questo caso o un problema: l'uscita questa volta e' fissa a 0. Dove sto sbagliando? È' un problema del buzzer Che è' troppo poco sensibile? È necessario un circuito di amplificazione?
E' già stato detto: c'è una differenza tra buzzer (cicalino) ed un elemento piezoelettrico (piezo).
Quest'ultimo è un dischetto di rame ricoperto nella parte centrale di uno strato argenteo che nasconde un sottile dielettrico ceramico (il cristallo piezolettrico). Alle volte il tutto è contenuto all'interno di un contenitore di plastica identico a quello dei buzzer e da qui la confusione.
Il buzzer, infatti, è un dispositivo composto da un piezo ed un piccolo oscillatore che abbisogna di alimentazione: sulla plastica è stampigliato un "+" ed un "-". Questo consente di ottenere una nota monotonale (alle volte bitonale) una volta alimentato.
Il piezo, invece, può funzionare come altoparlante (ma la nota la deve fornire Arduino od un oscillatore esterno) o come microfono.
Probabilmente stai cercando di usare un buzzer come microfono, il che non potrà mai funzionare.
Quindi mi stai dicendo che è il loro a sbagliare? Eppure da qualche parte avevo letto di qualcuno che aveva usato un buzzer come sensore di vibrazioni, dopotutto c'è un piezo anche la dentro.
Comunque successivamente ho provato a usare una capsula microfonica prelevata da un vecchissimo cellulare di almeno una decina di anni e il risultato e' lo stesso: usando la configurazione parallelo (che mi sembra più sensata) l'ingresso analogico e' fisso a 0.
Sai come potrebbe funzionare una di queste capsule microfoni che per cellulari? Se danno una tensione in AC, in DC, che sensibilità tipiche hanno, che range di tensione possono coprire ecc...?
L'unica idea che in questo momento mi viene e' che la tensione ai capi del microfono sia talmente bassa da essere inferiore ai 4 mV (che è' all'incirca la sensibilità dell'ADC di Arduino) per cui qualunque deformazione del piezo produce una tensione che comunque è' interpretato dall'ADC come uno 0.
Quindi penso di provare a fare un circuito di amplificazione ma non so quanto ne vali la pena non sapendo neanche quanto dovrei amplificare e soprattutto se sia questo il problema.
Se devi rilevarci urti, la cosa migliore e' incollarlo ad un supporto (basta un pezzetto di tubo in plastica dello stesso diametro del dischetto di ottone, o leggermente inferiore), e poi sul lato metallico (non sulla ceramica) saldare o incollare un piccolo peso ... se invece deve rilevare spostamenti e vibrazioni "lente" (fino ad un certo punto, ovviamente), bisogna saldarne un bordo (sempre sull'ottone, mai sulla ceramica) ad un supporto, e saldare sul bordo opposto un peso, o una sbarretta di ottone con un peso all'estremita' (pesi e lunghezze cambiano la dinamica dell'insieme e quindi cambiano il tipo di vibrazioni a cui e' piu sensibile alla fine)
Poi i livelli di uscita e' meglio amplificarli per farli leggere correttamente da arduino.
Licius1991:
Ciao a tutti. Sono un neofita di Arduino e da poco sto iniziando a impratichirmi con i progetti dello starter kit. Mi sono impantanato al progetto 12 che prevede la realizzazione di un knock sensor utilizzando il buzzer contenuto nel kit come elemento piezoelettrico per rilevare vibrazioni.
....
... quindi, dato che usa lo starter kit, il sensore, come da reference ufficiale, dovrebbe essere QUESTO
Ora, stà cercando di realizzare uno dei progetti dello starter kit che, spero bene, siano tutti funzionanti, quindi ... il problema NON credo sia nel piezo (visto che è quello che danno con il kit e il progetto è uno dei progetti del kit), ma ... da qualche altra parte ...
Magari se ci fai vedere (puoi fare una foto ... possibimente ben a fuoco e con tutti i idettagli) i collegamenti e ci fai anche uno schema di come hai realizzato il tutto ... facciamo qualche passo avanti
Grazie!!! Ottima spiegazione :). Quindi sostanzialmente anche se ne buzzer c'e un piezo, e' difficile farlo vibrare in modo che ne possa trarre dei valori accettabili. Correggimi se sbaglio. La cosa migliore e' prendersi uno di quei dischetti piezoelettrici.
Però al momento mi risulta difficile reperire un elemento piezoelettrico. Se utilizzassi una capsula microfonica di quelle usate nei cellulari? Va bene uguale? Penso tra l'altro che dovendo normalmente percepire vibrazioni acustiche, possa lavorare più che egregiamente come rilevatore di vibrazioni no?
Al momento non mi è possibile fare foto o postare schemi circuitali purtroppo :(. Comunque ho eliminato dalla breadboard tutto il superfluo. Come ho scritto prima il libro dice di adottare una topologia mentre le mie poche conoscenze e i molti esempi trovati su internet ne suggeriscono un'altra:
Topologia del libro: terminale "+" del piezo a VDD. Terminale "-" del piezo che va a massa tramite una resistenza di 1 Mohm (piezo e resistenza sono in serie tra alimentazione e massa). Il valore di tensione al terminale "-" lo do in pasto all'ADC nel pin A0.
Topologia trovata su internet: Terminale "-" del piezo a massa, terminale "+" e' floating. In parallelo la resistenza di 1 Mohm. La tensione sul terminale "+" che è' floating la leggo sul pin A0.
Il codice anche e' ridotto all'essenziale. Nel loop() faccio knockSensor=analogRead(A0) e poi lo stampo sul monitor seriale.
In entrambi i casi il valore che leggo non si chioda da 1023 nel primo caso e 0 nel secondo
Dice: "It is possible to acquire piezo elements without a plastic housing. These will look like a metallic disc, and are easier to use as input sensors. PIezo sensors work best when firmly pressed against, taped, or glued their sensing surface."
Per un piezo da solo, non hai in cantina vecchi fax da buttare? O un telefono vecchio? A volte dentro ci sono dei piezo che puoi "smontare" e prendere da dentro solo il piezo (a volte !!!).
Un guadagno di 200 non potrei ottennerlo attaraverso uno(o 2) stadi di amplificazione a transistor Bc547 (perché non ho a disposizione l'integrato utilizzato nell'esempio)...
Quel buzzer, cosi com'e', non ti serve come sensore di vibrazioni, dovresti smantellarlo, ma poi non ce l'hai piu come buzzer ... meglio recuperarne uno in un qualsiasi negozio di elettronica, quelli a dischetto con i fili saldati, senza alcun contenitore, da almeno 25 o 30 mm di diametro (piu sono larghi e meglio e') dovrebbero costare un'euro, massimo due ... ho cercato di farti un disegno di come modificarlo per trasformarlo in un sensore di vibrazione e movimento, ma al momento ho solo Eagle funzionante, e non e' che sia il massimo per disegnare cose diverse dagli schemi elettrici, quindi e' venuto un po schifoso ... comunque, penso si capisca ... il peso va bene da pochi grammi, non serve che sia troppo pesante, anche perche' in quel caso la sua inerzia rischierebbe di rompere il dischetto per spostamenti molto veloci ,,, un pezzetto di ottone o di rame da mezzo centimetro saldato sul disco di ottone, o anche un pezzo di plastica dura o plexiglass incollato in modo robusto al dischetto, vanno bene ...
Meglio scegliere i dischetti con gia i fili saldati sopra, non e' semplice come sembra, saldare la metallizzazione di quelle cialdine di ceramica, a volte si brucia via con nulla ...