Ronzio su cassa con il pwm

Salve ragazzi, vengo nuovamente a piangere sperando di capire che sta succedendo su una scheda che ho fatto; in pratica funziona tutto alla perfezione tranne una cosa che non so spiegarmi. Sulla scheda c'è lo wave shield potenziato con un amplificatore esterno e un altro modulo separato con dei led comandati in pwm tramite un potenziometro. L'amplificatore con lo wave shield suona da dio ma quando non deve riprodurre alcun suono sento un ronzio sulla cassa quando ruoto il potenziometro. La cosa strana inoltre è che questo suono indesiderato lo fa soltanto quando il potenziometro non si trova agli estremi della sua corsa, quindi quando arduino legge 0 o 255 come valore il rumore non si sente. Ho ricontrollato più volte schema elettrico e pcb ma non vedo niente di sbagliato difatti funziona tutto tranne questo inconveniente. Waveshield, scheda "madre", amplificatore e modulo led hanno soltanto la massa in comune come di regola; l'amplificatore lo alimento a parte ma anche qui la massa è in comune.... sapete darmi qualche consiglio per risolvere questo inconveniente oppure dirmi perchè si crea questo suono? Non è un proprio fruscio neppure rumore di fondo, sembra proprio un tono di una certa frequenza (scusate mi sono espresso malissimo). Saluti

Il PWM non è un vero segnale analogico. Con 0 e 255 non ti da il fastidio perché hai uno stato LOW o HIGH. Per togliere il disturbo causato dal PWM, devi usare un filtro RC Usa questo tool per calcolare il valore di R e C: http://sim.okawa-denshi.jp/en/PWMtool.php

Ciao Leo, dove dovrei mettere questo filtro? Sulla scheda c'è molta roba, considera che lo waveshield è gestito da un atmega tutto per sè mentre i led con il potenziometro hanno un micro a parte. Entrambi i microcontrollori comunicano via I2C e lo wave shield è indipendente dal resto dell'elettronica, riproduce dei file in base a delle variabili che arrivano dal master.

Ma non controlli l'altoparlantino dall'Arduino? Non ho capito bene, allora... Ma il ronzio lo senti solo mentre ruoti il pot? Se il pot è fermo lo senti o no?

Allora, con l'arduino (standalone master) svolgo una serie di attività, ci sono due servi, dei pulsanti, uno shift register, alcuni potenziometri sugli ingressi digitali; il master comunica con un altro atmega (standalone slave) tramite protocollo I2C inviando soltanto delle variabili, in pratica sullo slave c'è soltanto lo wave shield. Siccome lo wave shield di per sè ha un volume basso ho messo un amplificatore sull'uscita dello wave shield in modo da usare una bella cassa da 5W. Quindi tutto il lavoro lo compie il master, quando devo riprodurre un suono mando una variabile allo slave e lo wave shield fa il suo compito. Sul master un potenziometro l'ho usato per far accendere in pwm un gruppo di led montati su un pcb a parte ma di fatto collegati sulla stessa scheda. Funziona tutto alla perfezione, soltanto che quando il potenziometro che regola l'intensità dei led non si trova nei suoi punti estremi si sente questo suono, in modo continuo. Anche se lascio il potenziometro il suono continua, se la smette soltanto se i led sono del tutto spenti o completamente accesi.

Ma praticamente stai usando la coppia potenziometro analogico & pwm per controllare il volume in digitale? La spiegazione al fatto che agli estremi non hai fruscio è semplice: non hai frequenze! sono due segnali in continua, piatti, uno a 0V e l'altro a 5V; appena ti allontani dagli estremi hai variazione del duty cycle e quindi generi delle frequenze che, NON filtrate, passano sulla sezione audio; ci vorrebbe un bel contenitore metallico ed i PCB con grande piano di massa ad esso collegato, dovresti risovere; altrimenti manda lo schema (anche in MP) e vediamo dove si può intervenire.

EDIT: ora ho letto meglio e vedo che il pwm serve solo per alimentare un modulo LED, la cosa non cambia, è ovvio che le frequenze generate vengono captate dalla sezione di amplificazione, bisognerebbe proprio vedere lo schema.

ciao Pelletta

Teoreticamente attraverso la I2C non puó trasmettersi disturbi che potresti avere dato la comutazione dei LED col PWM.

Descrivici l' aliemntazione del Tuo progetto e che resistenze hai usato sul led.

Ciao Uwe

Ciao Uwe, ora che sto in fase test sto alimentando la scheda con un LM317 configurato per avere in uscita 7.2V visto che successivamente userò 6 batterie ricaricabili da 1.2V ciascuna; l'amplificatore lo sto già alimentando con un altro pacco batterie da 7.2V. Per il collegamento dei led ho fatto il classico schema, sto usando un transistor BC618 visto che ho più di un led come carico e le opportune resistenze per i led; anche tra uscita pwm di arduino e base del transistor c'è una resistenza di 8.2K

Percui l' Arduino master con i led e l'Arduino slave con la wavesheld sono alimentate entrambe dallo stesso Alimentatore di 7,2V collegate a Vin. L'amplificatore é alimentato con un suo pacco batterie. quale Waveshield hai? Ciao Uwe

Lo wave shield in questione è la versione 1.1 di Adafruit http://www.adafruit.com/products/94