Pages: [1]   Go Down
Author Topic: Pilotare N led RGB con segnali PWM  (Read 1594 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti smiley
Avrei bisogno di un consiglio per il seguente progetto:
definito un blocco come un PCB con un led RGB ad alta potenza (e relativa elettronica tipo resistenze, ecc..) controllato in PWM per ciascun colore, devo poter controllare N blocchi (N numero variabile a livello di HW ma definito nel firmware una volta deciso) in modo indipendente.

Qual'è l'idea più furba da usare per realizzare una cosa di questo tipo? Arduino ha solo poche uscite PWM, quindi a questo punto sarebbe forse più sensato usare un PWM digitale in cui io invio i dati in formato numerico per ciascun canale e lui si occupa di generare i segnali sulle uscite?

Spero che qualcuno sappia aiutarmi smiley
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ti consiglio questa discussione: http://arduino.cc/forum/index.php/topic,133308.0.html
io ho usato dei tlc5940 e mi sono trovato bene, ma non ho capito bene cosa devi fare e se sono l'opzione piùadatta a te
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Avevo dato un'occhiata ai TLC5940 però forse preferirei gestire il tutto via I2C, perchè potrei avere maggior espansione e più semplicità a livello logico (ogni integrato ha un suo address e ciascuno ha 16 uscite...) quindi avevo mezzo addocchiato il PCA9685.
Trattandosi di led ad alta potenza mi sa che però devo utilizzare la configurazione con MOSFET, perchè ciascun canale può superare i 100mA di corrente.
Logged

BZ (I)
Online Online
Brattain Member
*****
Karma: 251
Posts: 21279
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dipende dalla struttura e disposizione dei LED.

Visto che sono LED alta potenza ogni LEd deve avere il suo driver. A secondo del modello di driver utilizzato si puó pensare come pilotarli.
Ci dai piú informazioni sul LED e sul driver usato?

Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non ho ancora acquistato nulla, sono ancora in fase progettuale smiley
Per i led pensavo a quelli RGB 1W. Per il driver invece non saprei, non ne ho mai usati con questi led, sono realmente necessari?
Logged

BZ (I)
Online Online
Brattain Member
*****
Karma: 251
Posts: 21279
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: Dani88
Per il driver invece non saprei, non ne ho mai usati con questi led, sono realmente necessari?
Vedi un po Tu. I LED devono essere alimentati con una corrente limitata per non romperli. Per 1 W serve una corrnete (somma tra i 3 colori) di ca 300mA. Arduino non é capace di fornirli, neanche il TLC5940, PCA9685 o altri integrati simili.

Incominciamo con la domanda: quale LED vuoi usare.

Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No certo, non pensavo di alimentarli con arduino o con gli IC sopra citati smiley
Su una lampada RGB che avevo fatto avevo messo
+5V---(resistenza)---(LED-R)---(transistor/mosfet)----GND
+5V---(resistenza)---(LED-G)---(transistor/mosfet)----GND
+5V---(resistenza)---(LED-B)---(transistor/mosfet)----GND
Il led era sempre ad alta potenza con correnti di circa 100/120mA su ciascun colore e ciascuna resistenza era dimensionata per la corrente richiesta da ogni diodo visto che cambia in base al colore

Per il/i LED non saprei come ti ho detto, direi che in linea di massima le correnti da gestire sono simili a quelle sopra riportate, però non saprei dirti la sigla dei led che andrò ad usare.
Avevo però in mente di pilotare con il PCA dei mosfet
Logged

BZ (I)
Online Online
Brattain Member
*****
Karma: 251
Posts: 21279
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok
col PCA9685 puoi pilotare i transistori/MOSFET.
http://www.adafruit.com/products/815
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si avevo dato un'occhiata al datasheet e infatti preferirei il PCA dato che mi sembra molto più facile da usare con i transistor/mosfet (c'è anche il diagramma nel datasheet).
A questo punto avrei qualche altra "domanda":
1) se uso più PCA, nel datasheet parla di usare clock esterno per far si che siano tutti sincronizzati. Nel mio caso però direi che non ha molta importanza giusto? Cioè supponiamo di avere 2 led rgb entrambi che devono generare un rosso a media intensità, dunque un'onda con un duty al 50%. Se i due PCA non sono sync avrò degli sfasamenti sull'onda del PWM immagino (corretto?) però direi che a livello visivo questo non risalti in alcun modo, dovrebbero essere entrambi accesi a media intensità
2) avevo lavorato in passato con pwm e motory brushless e avevo riscontrato il problema di "fischi" con duty inferiore al 100%. Dal momento che la frequenza del PCA è circa 1KHz (quindi spettro udibile) avrò problemi di questo tipo anche in questo progetto? O è un "problema" solo dei motori?
3) mi conviene piazzare il PCA sulla board dove sara messo anche arduino e gli altri componenti della parte logica e mettere i transistor, resistenze e led ciascuno su un blocco che faccia anche da dissipatore?
Logged

BZ (I)
Online Online
Brattain Member
*****
Karma: 251
Posts: 21279
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1) La frequenza PWM non é importante. Non vedi differenze se la frequenza é leggermente differente.
2) Il fischio oppure qualsiasi rumore é un onda di densitá diversa nell aria perché qualcosa sposta l' aria dato il suo movimento meccanico. Un LED o un Transistore non hanno niente che si potrebbe muovere. Un motore é diverso perché la forza esercitata dalla corrente sposta (piega) delle parti del motore. La corrente PWM accelera il rotore con la frequenza PWM. Tutto questo si sente.
Poi esiste il fenomeno della magnetostrizione. Nei nateriali ferromagnetici si orientano i magnetini elementari nel campo magnetico applicato e percui cambia la lunghezza del pezzo nell'ordine da 10 a 30 µm/m. Questo cambio di lunghezza si sente se avviene con una frequenza nel campo udibile per l'orecchio umano.
3) dipende dalla disposizioni e distanza dei LED.
 
Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sei veramente gentilissimo smiley
Grazie per le numerose info!! Ora inizierò a buttare giù il progetto lato HW (appena trovo una libreria per eagle che abbia il PCF sennò la devo fare io) e poi il software smiley
Logged

Pages: [1]   Go Up
Jump to: