Sensore suono non amplificato, letture basse e poca reattività...

Buongiorno signori, chiedo un vostro parere su una questione che sto verificando questi giorni...
Stavo giocherellando con un sensore suono, mi servirebbe per rilevare dei picchi di suono, come un battito di mani, o qualcosa di simile, a massimo un paio di metri da arduino...
Ora, per risparmiare e per provarlo, ho preso questo sensore, costituito da un microfono electret, una resistenza da 10k per il classico partitore, e un condensatore da 100uf all'alimentazione del microfono (credo serva a filtrare i disturbi)...

Bene, prima cosa strana...leggevo in rete che essendo segnali sinusoidali dovrei leggere all'analogico un valore che oscilla intorno ai 512...mentre le mie letture sono fisse (si spostano di un paio di unità) su 343...quindi mi viene da pensare che non è fisso a metà, ma oscilla su 1/3...come mai? Con un multimetro ho misurato la differenza di potenziale tra OUT e GND e in effetti è circa 1,5 e non 2,5 come dovrebbe essere per un sensore che va sui 5v (sbaglio?), la cosa che mi fa pensare è che però nel datasheet si parla di sensore per board 5V, non 3,3V (datasheet qui : http://wiki.iteadstudio.com/Sound_Sensor/Microphone_Brick)

Altra cosa...so che non è un microfono amplificato, e ci sta, ma possibile che anche facendo rumori molto forti il valore si sposta di massimo qualche unità? E meno male che dove l'ho preso me l'hanno spacciato come sensore ad alta sensibilità... :astonished:
Senza ricorrere a un op-amp, c'è un modo più semplice di aumentare (anche di molto poco) la leggibilità?
Il problema è che ho già sistemato questo sensorino in un piccolo alloggiamento, quindi non avrei spazio per aggiungerci diodi, resistenze e altro ( o perlomeno non potrei mettercene un granchè)...
Avevo anche pensato a qualcosa tipo una funzione 'map' per rimapparlo, ma stranamente se faccio:

map (valore, 0, 1023, 0, 2046);

mi rimane sempre e comunque 343 come valore in uscita...
avendo rimappato non dovrebbe essere ora qualcosa sui 686?

grazie a tutti coloro che mi possono aiutare a chiarire questi dubbi...

credo che con il multimetro non puoi fare questa misra, il multimetro ha un tempo di intergazione sulla misura lungo, questo vul dire che se il microfono rileva un picco e genera un impulso a 5vcc con il multimetro scordati di rilevarlo… in altre parle potrebbe esservi ma non misurabile (solo con oscilloscopio).

Ora bisognrebbe fare due misure e vedere cosa realmente esce dal sensosore (ma dubito di trovare uan bella sinusoide da “testo”)

Una volta stabilito cosa esce si può pensare a cosa fare :slight_smile:

Dallo schema fornito si evince che il microfono è alimentato a 5V prelevando l'alimentazione da un resistore da 10k con in parallelo un condensatore da 100n (non micro farad!)

Dallo stesso terminale alimentato (l'altro è posto a massa) si preleva il segnale che, quindi, oscilla attorno ai 5V.

In pratica dovresti avere un segnale analogico che, in assenza di segnale vale 1023, meno in presenza dei picchi negativi del suono.

Per disaccoppiare la componente continua e portare il segnale ad oscillare attorno ai 2.5V, di dovrebbe inserire sull'uscita un condensatore elettrolitico da 10-47uF collegato al centro di un partitore di tensione composto da due resistori da 10k (un ramo a massa e l'altro ai 5V).

Il centro del partitore, quindi, va collegato all'ingresso analogico di Arduino.

Martinix:
credo che con il multimetro non puoi fare questa misra, il multimetro ha un tempo di intergazione sulla misura lungo, questo vul dire che se il microfono rileva un picco e genera un impulso a 5vcc con il multimetro scordati di rilevarlo... in altre parle potrebbe esservi ma non misurabile (solo con oscilloscopio).

Ora bisognrebbe fare due misure e vedere cosa realmente esce dal sensosore (ma dubito di trovare uan bella sinusoide da "testo")

Una volta stabilito cosa esce si può pensare a cosa fare :slight_smile:

la mia misura con il multimetro era in condizione di "silenzio", quando ciò ho un valore fisso intorno a 343....e mi rivela sempre un 1,42 V circa...
Ma il mio dubbio è...leggendo online...non dovrei avere in condizione di silenzio un valore oscillante intorno a 512 e quindi a 2,5V ?
So che il multimetro è lento, quindi la misura del valore di picco non la posso fare...purtroppo non ho un oscilloscopio, quindi non posso utilizzarne queste funzioni...

cosa intendi per

Ora bisognrebbe fare due misure e vedere cosa realmente esce dal sensosore (ma dubito di trovare uan bella sinusoide da "testo")

Una volta stabilito cosa esce si può pensare a cosa fare :slight_smile:

Se mi dici cosa devo misurare provo a farlo e posto qui i risultati...

cyberhs:
Dallo schema fornito si evince che il microfono è alimentato a 5V prelevando l'alimentazione da un resistore da 10k con in parallelo un condensatore da 100n (non micro farad!)

Dallo stesso terminale alimentato (l'altro è posto a massa) si preleva il segnale che, quindi, oscilla attorno ai 5V.

In pratica dovresti avere un segnale analogico che, in assenza di segnale vale 1023, meno in presenza dei picchi negativi del suono.

Per disaccoppiare la componente continua e portare il segnale ad oscillare attorno ai 2.5V, di dovrebbe inserire sull'uscita un condensatore elettrolitico da 10-47uF collegato al centro di un partitore di tensione composto da due resistori da 10k (un ramo a massa e l'altro ai 5V).

Il centro del partitore, quindi, va collegato all'ingresso analogico di Arduino.

pardòn, ho sbagliato io a scrivere...si, erano 100nF, per la fretta mi sono confuso...
metto qui lo schema per coloro che ne avessero bisogno...:

il problema è che io non ho un analogico che parte da 1023....il mio valore è fisso ( o quasi) su 343....se ci parlo aumenta un po', ma pochissimo, in silenzion è fisso su 343-342....

quello che dici tu è quindi fare questo?

Quasi... solo che il condensatore va posto tra l'uscita della schedina ed il partitore.

cyberhs:
Quasi... solo che il condensatore va posto tra l'uscita della schedina ed il partitore.

In questo modo dici?

Mi aiuti comunque a capire come mai in condizione di "silenzio" ottengo sto stranissimo valore di 343?
E come mai anche rimappando il valore mi rimane sempre 343 (non dovrebbe diventare il doppio)?

Il circuito ora è esatto.

Per farti comprendere cos'è un microfono ad elettrete, guarda questa figura:

http://static.electro-tech-online.com/imgcache/5886-Electret-Mic-Cct.gif

Supposto che alimenti la schedina con i +5V di Arduino, non riesco a capire perché ti dia quel valore.

Eureka !!!
Stavo riflettendo su una cosa…
se al mio pin analogico arrivano valori che oscillano intorno a 1,42V, allora usare come riferimento i 5V potrebbe essere troppo grande visto che come valore massimo massimo registrato (e salvato) urlando nel microfono a mezzo millimetro è sui 500 che corrisponderebbero a un voltaggio sul pin analogico di circa 2,44V.
Mi è capitato sotto il naso la variazione dell’AnalogReference, dai miei 5V di default, la potrei mettere a 3 ad esempio con la modalità EXTERNAL: the voltage applied to the AREF pin (0 to 5V only) is used as the reference…

Non avendo una alimentazione a 3.3 sulla Pro Mini con cui sto lavorando, utilizzerei un piccolo pull-down che mi porta dai 9V della batteria ai 3, collegandolo alla porta AREF.

Secondo voi otterrei un miglioramento?
A naso mi sembra di credere sia fattibile la cosa…secondo voi?

Forse ho capito il perché di quel valore in continua.

Non avevi detto di usare il Pro MIni di cui esistono due modelli uno a 3.3V e l'altro a 5V: non è che stai usando quello a 3.3V?

Se fosse così, tutto tornerebbe: infatti, 343 in assenza di segnale corrispondono a 343 * 3.3 / 1023 = 1.1V e 500 a 500 *3.3 / 1023 = 1.61V

Applicare i 5V ad un ingresso analogico che al massimo accetta 3.3V non è consentito in quanto può danneggiare l'ingresso.

Per tua fortuna esistono dei diodi di protezione che probabilmente hanno evitato danni, ma è meglio non sfidare la fortuna!

cyberhs:
Forse ho capito il perché di quel valore in continua.

Non avevi detto di usare il Pro MIni di cui esistono due modelli uno a 3.3V e l'altro a 5V: non è che stai usando quello a 3.3V?

Se fosse così, tutto tornerebbe: infatti, 343 in assenza di segnale corrispondono a 343 * 3.3 / 1023 = 1.1V e 500 a 500 *3.3 / 1023 = 1.61V

Applicare i 5V ad un ingresso analogico che al massimo accetta 3.3V non è consentito in quanto può danneggiare l'ingresso.

Per tua fortuna esistono dei diodi di protezione che probabilmente hanno evitato danni, ma è meglio non sfidare la fortuna!

ciao !!!
grazie per aver "riflettuto" sul mio caso :smiley:

Il problema è che la mia Pro MIni è una 5V, 16Mhz, ne sono certo perchè oltre ad averne ordinate all'epoca 4 tutte uguali, la utilizzo anche con altre periferiche (ad esempio l'ho provata con una fotoresistenza e stamane con dei led) e funziona benissimo...inoltre, per sicurezza, ho misurato il voltaggio che esce da VCC ed è appunto 5V, quindi non può essere questa la spiegazione....mistero davvero !!!
non ho idea di cosa possa essere !!!

=(

Dietro la schedina dovrebbe essere indicata la tensione e la frequenza.

Supposto che sia come dici, per avere 1.1V in assenza di suono, significa che l'impedenza sull'ingresso analogico è circa 2.9k, che è troppo poco.

Prova il circuito che ti ho detto e fammi sapere.

cyberhs:
Dietro la schedina dovrebbe essere indicata la tensione e la frequenza.

Supposto che sia come dici, per avere 1.1V in assenza di suono, significa che l'impedenza sull'ingresso analogico è circa 2.9k, che è troppo poco.

Prova il circuito che ti ho detto e fammi sapere.

Certo, proverò appena ho qualche minuto...stavo un attimo cercando in rete dei metodi per amplificare il segnale che in effetti è debolissimo (si muove di appena un paio di unità) e ho trovato questa piccola guida...sembra semplice schemino, e qui c'è anche un op-amp lm358, che comunque a sto punto mi voglio procurare per sperimentare un po'....cosa ne pensi?

E' esattamente il passo successivo che ti avrei consigliato.

cyberhs:
E' esattamente il passo successivo che ti avrei consigliato.

allora visto che comunque la necessità di amplificazione persiste, tanto vale provare direttamente questo circuito...
lo spazio che mi avanza nella scatoletta non è molto, ragion per cui devo fare un po' di economia di spazi....perdonate la rozzezza del disegno, questo schema è corretto?
Fingiamo che la parte di sopra sia la board suono già montata, con i 3 pin che escono...io posso mettere gli altri componenti su una millefori e metterli vicino recuperando dalla board solo il pin OUT?
altra domanda...sulla board suono c'è il condensatore di 100nF per pulire la linea, mi serve pure rimetterlo sulla millefori a parte o serve solo per il microfono in se per se quindi posso evitarlo?

grazie mille davvero, mi state aiutando moltissimo...

La tua impostazione è corretta.

Innanzi tutto devi montare il condensatore da 100nF il più vicino possibile al pin 8 Vcc.

Il resistore di ingresso sembra valga 1k, mentre quello di retroazione sembra valga 47k: se è così il guadagno dell'ampli è 47 (corretto), tuttavia credo che 1k sia insufficiente e consiglierei di usare 10k e 470k.

Il partitore di massa virtuale è composto da due resistori da 100 ohm, consumando ben 25mA: consiglio di portarli almeno ad 1k.

Quel circuito in uscita può al massimo fornire 3.5V, oscillando su 2.5V, quindi avrai un segnale al massimo di 2Vpp (1Vp).

Per evitare disturbi a causati dell'altro operazionale non utilizzato, meglio mettere a massa il pin 5 e collegare tra loro i pin 6 e 7.

cyberhs:
La tua impostazione è corretta.

Innanzi tutto devi montare il condensatore da 100nF il più vicino possibile al pin 8 Vcc.

Il resistore di ingresso sembra valga 1k, mentre quello di retroazione sembra valga 47k: se è così il guadagno dell'ampli è 47 (corretto), tuttavia credo che 1k sia insufficiente e consiglierei di usare 10k e 470k.

Il partitore di massa virtuale è composto da due resistori da 100 ohm, consumando ben 25mA: consiglio di portarli almeno ad 1k.

Quel circuito in uscita può al massimo fornire 3.5V, oscillando su 2.5V, quindi avrai un segnale al massimo di 2Vpp (1Vp).

Per evitare disturbi a causati dell'altro operazionale non utilizzato, meglio mettere a massa il pin 5 e collegare tra loro i pin 6 e 7.

ho creato il circuitino con :
Lm358N
1x 10uF come condensatore di collegamento tra il segnale della board suono e il mio amplificatore...
1x 1K resistore ingresso
1x 100K (47K non ne avevo più) resistenza retroazione
2x 10K partitore
e il piccolo 100nF attaccato proprio al piedino VCC

il condensatore è giallo, ceramico, con sigla 104 K5X, il K5X credo sia una sigla per la temperatura...l'ho recuperato da un vecchio circuito quindi non so bene il significato di tale sigla...
i pin 5 e 4 sono collegati a GND da sotto, mentre il pin 6 e 7 sono uniti assieme da sotto.

Problemazzo...
ora si, la lettura si aggira su 510 (bene) ma nonostante l'amplificazione di 100 volte si sposta solo di poche unità e non risponde affatto ai rumori che faccio !!
Prima di saldarle l'output nella scatolina ho fatto delle prove usando una breadboard solderless piccola e mi fa sto funzionamento strano...inoltre se scollego del tutto la scheda microfono continua a darmi quei valori oscillanti intorno a 510....il mio dubbio è...ma sicuro che ho fatto tutto bene?
Perchè sembra che l'amplificatore da i numeri per conto suo e pur staccando il microfono continua a dare tali numeri....

conviene che metti lo schema elettrico del tuo circuitono :wink:

Martinix:
conviene che metti lo schema elettrico del tuo circuitono :wink:

fatto super in fretta, spero si capisca...
NB nel disegno ho sbagliato la polarità del condensatore in ingresso, nella realtà è corretto...

la cosa stranissima è che anche staccando il segnale in ingresso al condensatore, segnale proveniente dalla scheda microfono, continua a darmi sempre e solo valori intorno a 510 :astonished:

perchè "forzi" l'uscita del secondo operazione (quello non usato) a massa? e se lui vul stare a +vcc?? ]:smiley: ]:smiley:

Martinix:
perchè “forzi” l’uscita del secondo operazione (quello non usato) a massa? e se lui vul stare a +vcc?? ]:smiley: ]:smiley:

in qualche post più su mi avevano consigliato di mettere il 5 a massa…comunque se non erro l’uscita del secondo operazionale è collegata alla sua entrata, ovvero i pin 6 e 7…potrei sbagliarmi…