Stipled PWM fischio alimentatore

Ciao a tutti, seguendo quanto suggerito nel messaggio #2 di questo topic Qui ho collegato arduino uno al prodotto Adafruit e le sue uscite PWM alle strip led tramite un mosfet IRL540 con relative resistenze come da schema di pighixxx.
Il codice che eseguo è sostanzialmente il seguente:

void setup()
{
  Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40);
  pwm.begin();
  pwm.setPWMFreq(1600);
}

void loop()
{
  pwm.setPWM(0, 4096, 0);
  pwm.setPWM(1, 4096, 0);
  pwm.setPWM(2, 4096, 0);
  ...
}

e funziona sia in valori fissi che in fading (non molto bene ma questa è un'altra storia)
L'unica cosa che ho notato è che quando accendo contemporaneamente quattro o più strip led (un metro ciascuna) l'alimentatore (Stabilizzato 220/12V 30A) inizia a emettere un fischio più o meno intenso in base al valore PWM settato.
Il dubbio è questa cosa può danneggiare l'alimentatore o è solo un fastidio sonoro un po' come avviene pilotando delle ventoline in pwm? Questo fenomeno può aver ripercussioni negative sul consumo rilevato dal gestore? Tempo addietro ho letto sul forum che questa cosa può succede utilizzando dei triac senza zero crossing ad esempio

Ma usi TRIAC o MOSFET?

Mosfet IRL5450, la citazione del tria era solo per spiegare l'esempio dell'auento dei consumi rilevato dal contatore

Se per schema di Pighi si intende questo (pighixxx.com/test/wp-content/uploads/2014/10/159.png), potrebbero bastare dei "robusti" (qualche 100 uF o più) elettrolitici a bassa ESR tra il + e il source (occhio non tra + e drain che schioppa).

In questo modo parte dell'ondulazione, che raggiungerebbe a ritroso l'alimentatore sotto forma di continue variazioni di assorbimento, viene livellata in loco dai condensatori (e l'effetto è tanto più sensibile quanto più lunga è la tratta alimentatore->mosfet e quanto più alta è la corrente).

A dirla tutta poi secondo me l'ideale sarebbe anche mettere il mosfet il più vicino possibile al carico, in modo da non avere lunghe filature attraversate da correnti impulsive (che causano extratensioni e possibili emissioni EM).

Grazie @Claudio_FF, ho cercato su rs ma a bassa esr mi escono solo condensatori SMD che non credo di essere in condizione di utilizzare, forse sbaglio ricerca. Scusa la niubbaggine ma un condensatore tipo questo potrebbe andare bene giusto?
I mosfet sono posizionati su schede che sono abbastanza vicine al carico, mediamente ho circa 80/100cm tra mosfet e strip led, meno di così non riesco, le strip sono sotto scalini e le schede sono nascoste dopo una parete, spero non siano troppi altrimenti dovrei rivedere il tutto.

Se usi parecchi condensatori in parallelo riduci la ESR complessiva (stesso trucco usato in alcuni alimentatori switching) ... prendi una decina di 100u o 220u 25V minimi (tanto ormai per quello che costano) e mettili tutti in parallelo, vicino alle schede dei mosfet ... :wink:

Sicuramente si tratta di alimentatore farlocco (cinesata) da 5€. Posta il link a questo fantomatico alimentatore da 30A.

Comunque puoi tentare (sempre che tu non stia prelevando più corrente di quanto l'alimentatore può fornire) con filtri LC, uno per ogni striscia led.

Qui un link per calcolare L e C:(Sample)RLC Low-pass Filter Design Tool - Result -

Ad esempio con
C=10uf, L=100uH ed R0.1 ottieni una FC di circa 5kHz
fc = 5032.9212104487[Hz]

FC deve risultare inferiore alla frequenza del segnale PWM.
Per L, questa deve avere un nucleo e una sezione di filo adatta a sopportare la corrente richiesta dai led (occhio alla saturazione del nucleo).

Per C, puoi anche abbondare e inoltre aggiungi un C da 100nf poliestere (o ceramico), per l'elettrolitico la ESR si abbassa anche ponendo in parallelo più condensatori. In sostanza la ESR è una resistenza parassita che nel circuito equivalente del condensatore è posta in serie ad un terminale.

Edit: Anticipato da Ete, che ha dimenticato di consigliarti il C100nf di buona qualità.
PS: Se usi questa soluzione risparmi l'induttanza, ma fai sempre partire n cavi tanti quanti sono le strisce led (il filo funge da induttanza).

Ciao.

L'alimentatore è questo e si non credo brilli per qualità. propenderei per i condensatori in prima battuta, casomai poi passo alla solzuone proposta da @Maurotec
Visto che l'alimentatore alimenta la scheda che alimenta le varie strip led e che i condensatori vanno tra +12V (che è comune) e i source dei MOSFET che vanno a GND devo inserire i condensatori per ciascun mosfet o posso metterli in parallelo all'alimentazione generale?

Si quell'alimentatore è una cinesata da pochi Euro, uno decente con pari caratteristiche non lo paghi meno di 25-30 E prendendolo da un distributore generico.
U alimentatore switching fatto come si deve non "fischia" mai, se lo fa è un problema di componenti di scarsa qualità, in particolare gli induttori, i condensatori possono aiutare ma di certo non risolvono il problema.

Visto che l'alimentatore alimenta la scheda che alimenta le varie strip led e che i condensatori vanno tra +12V (che è comune) e i source dei MOSFET che vanno a GND devo inserire i condensatori per ciascun mosfet o posso metterli in parallelo all'alimentazione generale?

Bella domanda, non so risponderti con precisione, magari se fai una foto ci possiamo rendere meglio conto.
Anche impiegando il meglio alimentatore userei sempre 3 filtri LC per tre strisce (sempre se le correnti in gioco sono rilevanti).

Domanda: Il PWM a che frequenza lavora?

Si quell'alimentatore è una cinesata da pochi Euro, uno decente con pari caratteristiche non lo paghi meno di 25-30 E prendendolo da un distributore generico.
U alimentatore switching fatto come si deve non "fischia" mai, se lo fa è un problema di componenti di scarsa qualità, in particolare gli induttori, i condensatori possono aiutare ma di certo non risolvono il problema.

Sarei curioso di metterci il naso dentro, oltre ai componenti di scarsa qualità, azzardo l'ipotesi che vada in crisi l'anello di feedback e se fosse così il cestino è il posto più adatto per quel coso. Secondo te, dové il problema; Avvolgimenti trasformatore, nucleo sottodimensionato, ecc?

@fabpolli perché non lo apri l'alimentatore e ce lo mostri. Ovviamente servono foto alta risoluzione da ambo i lati della scheda.

Maurotec:
@fabpolli perché non lo apri l'alimentatore e ce lo mostri. Ovviamente servono foto alta risoluzione da ambo i lati della scheda.

Stasera appena arrivo a casa smonto e posto tutto. La board di Adafruit è settata così per la frequenza PWM:

pwm.setPWMFreq(1600)

nel frattempo posto lo schema della board che ho usato per interfacciare strip e pwm adafruit, che magari anhe il pcb ci mette del suo nel problema

OutInterface.zip (140 KB)

Se metti un po di condensatori in parallelo all'alimentazione, anche se non risolvera' il problema, un po aiuta, e male non gli fa ... non e' neppure necessario che siano tutti insieme, puoi anche sparpagliarli in giro per tutta la scheda, basta che siano fra massa e positivo comuni (si, anche qualche 100n non guasta) ... se riesci a farcene stare 5 o 6 da 220u, una parte del problema almeno dovresti riuscire a risolverla ... se ce ne stanno di piu, meglio ancora (quando si tratta di carichi che consumano una certa corrente, specie se pilotati PWM, abbodare con i condensatori sull'alimentazione non e' mai un male, anzi ;))

Come anticipato metto le foto che ho fatto all'alimentatore. Mi sono limitato per il momento alla parte superiore, se le foto non bastassero a determinare il grado di cineseria, che a questo punto penso si attesti a 14 su scala da 0 a 10, farò anche le foto alla parte sotto.

Sul lato c'è il selettore 110/230 e sulla scheda c'è un connettore bianco che ho staccato per eliminare il coperchio che alimenta la ventolina di raffreddamento.
Detto ciò con che criteri si può determinare in fase di acquisto se un alimentatore è valido o meno? Il prezzo è troppo aleatorio, a volte se ne approfittano e a costo alto non sempre corrisponde un buon prodotto.
Grazie e buon week-end

Vedendolo solo cosi non si puo dire molto, pero', cosi al volo, anche se e' solo una cosa "sospetta" e non una prova, vedo che sullo stampato sono previsti 4 condensatori molto piu grossi di quelli realmente montati ... ed anche lo spazio per l'induttanza mi sembrava previsto per una piu grande ... non vuol dire molto, ma non e' una cosa incoraggiante comunque ...

Etemenanki:
... vedo che sullo stampato sono previsti 4 condensatori molto piu grossi di quelli realmente montati ... ed anche lo spazio per l'induttanza mi sembrava previsto per una piu grande ...

... spesso e volentieri i Cinesi copiano lo stampato di un buon prodotto, ma poi, per abbattere i costi ... risparmiano sulla componentistica :confused:

Guglielmo

Oltre quanto detto da Ete, rimane da aggiungere che anche per il trasfo ne hanno previsto uno di maggiori dimensioni.

Quei quatto condensatori dovrebbero formare assieme al toroide un filtro CLC, se fosse così potresti sostituire i condensatori con qualcosa di maggiore qualità, aumentando ovviamente anche la capacità, il valore attuale di questi non riesco a leggerlo dalle foto, si vede solo 16v.

Seguendo il link al prodotto ho letto varie recensioni, una di queste mostra anche immagini oscillografiche, ora non ricordo ma il tipo che le ha eseguite mi pare dica che già con 14A va in crisi.
Inoltre nella descrizione del prodotto specificano 12v 20A, ma nel titolo parlano di 30A.

Comunque tornando al problema; o tenti di compensare con varie capacità distribuite come suggerito da Ete, oppure intervieni in modo radicale replicando un filtro CLC singolo (oppure n CLC).

L'obbiettivo è quello di sopprimere le armoniche di alto livello che si generano con onde quadre, diciamo che con 1600Hz ci sarà presenza di quinta (8000Hz) fino alla nona armonica (14400Hz) e queste sono frequenze udibili, se tornano indietro verso l'alimentatore possono fare pure "suonare", l'induttore toroidale.

In totale quante strisce devi controllare in PWM?
Ogni striscia quanti Watt consuma?

Ciao.

In totale sono 16 strisce da 1 metro che se accese in bianco totale (cosa che non farò) assorbono circa 900mA, dico circa perché alcune sono lunghe appena più di un metro quindi ho comunque ipotizzato 16A al massimo. la prossima settimana faccio l'ordine tra cui inserisco i condensatori, provo con quelli e poi vedo cosa succede, se non funziona o passo al CLC (che un poco mi spiazza in quanto non ne ho mai progettato uno) o cambio l'alimentatore. Se non avessi già le strisce per 12 dei 16 scalini forse sarei passato a qualcosa tipo neopixel che per fare scena sarebbero stati anche meglio

Maurotec:
possono fare pure "suonare", l'induttore toroidale

In qualche caso possono "suonare" anche i fili di collegamento.

fabpolli:
la prossima settimana faccio l'ordine tra cui inserisco i condensatori

Se non sbaglio quelli per alta temperatura (105°) hanno già di loro una ESR più bassa rispetto ai corrispettivi 85°.

La posizione andrebbe preferibilmente vicino ai punti dove ci sono gli elementi che commutano, visto che parliamo di parecchi ampere direi su ogni mosfet (poi qualche differenza la fa anche il cablaggio).

Questo è proprio un ottimo condensatore.
Una ESR da 30mΩ a 50mΩ lo trovi anche elettrolitico tradizionale, cioè non Polimero.

4 di questi li metti in sostituzione di quelli presenti dentro l'alimentatore, sempre che come capacità ci siamo, comunque c'è anche da 1500, 2200 ecc.

Ciao.

Grazie @MauroTec Per la segnalazione
@Claudio_FF allora provvederò ad inserire i condensatori per ogni mosfet per limitare al massimo le frequenze di ritorno