PIC per fare onda quadra, ma che quadra non è

May 12, 2010 16 Replies

Salve a tutti, giocherellando con un PIC 16f88 per generare un'onda quadra ho notato una cosa che non mi spiego... praticamente attaccando un mini speaker ad un pin output, e facendo accendere/spegnere quel pin a una certa frequenza (ne ho provate diverse ma il risultato =E8 simile), ottengo un rumore orrendo che pur ricordandolo non sembra proprio un'onda quadra. Passando il suono in un microfono e vedendo il risultato con il mitico winscope questo =E8 quello che vedo:



formatting link
(la frequenza generata =E8 intorno a 8khz, le frequenze a display vanno da 20hz all'estremo sinistro dell'immagine a 22khz al destro)



formatting link



Non genero l'output usando PWM, ma il risultato dovrebbe essere uguale o no? il duty cycle =E8 comunque al 50%. Mi viene solo in mente che il segnale passa da 0 a 5v, non da -5 a +5, pu=F2 solo questo spiegare il motivo di un'"onda a pernacchia" invece che quadra?


Quanto assorbe il tuo carico? Hai provato a vedere cosa esce senza il carico collegato?

Ciao CG

Lo speaker =E8 mini piezo di circa 1cm, tanto per provare, non ho avuto tempo ancora di provare con un altoparlante pi=F9 serio. Non so l'impedenza precisa, ma di quella misura sar=E0 di alcune centinaia di ohm. Purtroppo non ho oscilloscopi a disposizione! Era per capire se c'=E8 un motivo ovvio dietro quei 5 o 6 picchi di frequenze.. Stasera faccio qualche altra prova... pensando ad una distorsione ho provato anche a metterci in serie qualche resistenza, il risultato =E8 che il volume si abbassa sensibilmente ma i picchi a frequenze diverse da quella in teoria emessa restano...

Beh, nello spettro di un'onda quadra non c'=E8 una sola frequenza. Trovi sempre la fondamentale e le varie armoniche, secondo la sua decomposizione in serie di Fourier. Nel tuo caso, lo spettro sar=E0 probabilmente fortemente distorto a causa del metodo di misura che utilizzi.

Il 12/05/2010 12.11, Darwin ha scritto:

Infatti, lo penso anche io. Anche se non ci fossero problemi da parte del pic a pilotare il carico, praticamente la sua misura passa per un'altoparlante, poi per l'aria, poi attraverso un microfono, la scheda audio del PC. se dovessi misurare quello che esce dal pic, magari sarebbe meglio un partitore e lo colleghi direttamente alla scheda audio, se proprio non hai un'oscilloscopio...

Paolo _-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_-^-_ "Non discutere mai con un idiota, prima ti porta al suo livello e poi ti batte con l'esperienza"

rooy ha scritto:

che avrà una componente induttiva immagino...

-ice-

ice wrote in news:UywGn.168303$ snipped-for-privacy@twister1.libero.it:

Se è piezo direi che la componente capacitiva è dominante:

formatting link

Ciao, AleX

rooy wrote in news:99ea2f63-3081-4776-93c5- snipped-for-privacy@k19g2000yqm.googlegroups.com:

Se stai generando un'onda quadra a 8kHz, quello che hai visto (e sentito), è tutto tranne che lo spettro di un'onda quadra: le armoniche sono a 24kHz (terza), 40kHz (quinta) and so on.

Ovvero sei fuori dallo spetto udibile (L'orecchio è un passabasso ;-) ) e fuori dal range del tuo campianatore (immagino la classica scheda audio a 44kHz di campionamento, visto che il limite estremo è 22kHz).

In altre parole, tutto quello che hai visto con winscope, non è il segnale generato.

Ora, il fatto che il suono sia orrendo, mi fa pensare invece che si sia qualche problema sulla routine che stai usando, visto che appunto al limite sentendo solo la fondamentale dovrebbe essere assomigliare ad una sinusoide pura (per il tuo orecchio). L

In che senso?

Questo può essere un problema per il trasduttore, che si trova perennemente polarizzato da una componente continua.

Ciao, AleX

rooy:

Mi sembra una quadra perfetta. Una sinusoide pura a 8 kHz conterrà solo 8 kHz, un aquadra p una triangolare conterranno parecchie armoniche dispari.

Come fai a sapere come suona una quadra? Visto che dovrebbe contenere infinite armoniche nessuno l'ha mai prodotta né mai ci riuscirà e, anche se ci riuscisse, nessuno la potrebbe sentire nella sua interezza.

Se pensi che quella che hai sentito da un altoparlante magnetico sia una quadra, ti sbagli. Quella che senti adesso è molto più quadra.

Riguardo al piezo, per avere una resa buona a 5V dovresti comandarlo in push-pull, ovvero con due piedini del PIC in controfase (quando uno va a 0 l'altro va a 1 e viceversa) e con una resistenza da 1k in serie.

Ma anche così va benone, dato che, visto che il PIC ha le uscite totem-pole, lo stai pilotando comunque in alternata.

Una resistenza ti limiterebbe i picchi di assorbimento (nei primi microsecondi, quando il condensatore-altoparlante è scarico, possono circolare correnti "importanti", limitate solo dalla "portata" dei transistor del pin) e ti evita di sporcare l'alimentazione, cosa che potrebbe causarti degli "inspiegabili malfunzionamenti" del PIC.

rooy ha scritto:

Se non usi il PWM spero che almeno usi un timer e non ritardi mediante loop da codice che per vari motivi potrebbero dare un periodo e quindi una frequenza poco stabile. All'uscita ci metterei almeno un operazionale inseguitore ad alta corrente o per cuffie.

Ciao giorgio

"F. Bertolazzi" wrote in news:12xii9tjvbp8d$. snipped-for-privacy@40tude.net:

Guarda bene lo span di quello screenshot che ha postato: 20Hz - 22kHz.

Ciao, AleX

AleX:

La scala è lineare o logaritmica?

Giorgio Padoan:

Se fa solo quello non vedo perché dopvrebbero esserci simili problemi.

A che scopo?

"F. Bertolazzi" wrote in news:4t675pxc24jr $. snipped-for-privacy@40tude.net:

IMHO lineare. Sarebbe anche peggio se fosse logaritmica (a meta span avresti circa 660Hz)

Comunque sia la terza armonica di 8kHz (24kHz) cade fuori del range visualizzato.

Ciao, AleX

AleX:

Vero. L'altra cosa certa è che il segnale non è in continua.

Concordo, meglio collegare con una resistenza l´uscita con l´ingresso della scheda audio. Comunque se il pic generasse un onda quadra a 8 kHz, la frequenza piú bassa dello spettro dovrebbe essere di appunto 8 kHz, a prescindere da tutto quello che ci puó essere sopra. Se si trova frequenze piu basse e dal pernacchio parrebbe proprio di si, presumo che il pic "oscilli" irregolarmente (forse a causa di interrupt e quant´altro) e molto piú in basso come frequenza.

Enne:

O forse il PIC si resetta a causa del cortocircuito presente sull'uscita.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required