mantenere pwm?

Se non vuoi acquistare dagli USA la trovi anche qui: http://www.watterott.com/en/Adafruit-16-Channel-12-bit-Servo-Driver
Watterott è distributore ufficiale Adafruit in Europa, a saperlo prima mi sarei risparmiato 50 gg si spedizione, dogana e iva. :frowning:

PaoloP:
Se non vuoi acquistare dagli USA la trovi anche qui: http://www.watterott.com/en/Adafruit-16-Channel-12-bit-Servo-Driver
Watterott è distributore ufficiale Adafruit in Europa, a saperlo prima mi sarei risparmiato 50 gg si spedizione, dogana e iva. :frowning:

grazie per il consiglio :wink: comunque penso che mi prenderò solo l'integrato... Non ho mai comprato una shield e non credo sia ancora arrivato il momento per fare questa esperienza :slight_smile:

sto guardando il datasheet del PCA9685 ed è abbastanza chiaro perchè mi appoggio a quello che dicono su adafruit per il suo utilizzo e la sua libreria, anche se chiaramente non posso provare ora...
per il discorso che dicevo prima che non mi piace comprare le cose già fatte, almeno che non siano troppo comlicate, sto cercando una versione dip di quel integrato o di qualcosa di simile. Su RS nella categoria "driver per display LED" ho trovato solo 2 integrati che mi sembrano interessanti:

Il TlC5940 è un integrato che può generare fino a 16 segnali con 4096 valori di PWM.
Può pilotare servo e tutto quello che necessita di segnali PWM.
http://arduino.cc/playground/Learning/TLC5940
http://code.google.com/p/tlc5940arduino/

L'unica cosa è che richiede 5 pin.

leo72:
Il TlC5940 è un integrato che può generare fino a 16 segnali con 4096 valori di PWM.
Può pilotare servo e tutto quello che necessita di segnali PWM.
http://arduino.cc/playground/Learning/TLC5940
Google Code Archive - Long-term storage for Google Code Project Hosting.

L'unica cosa è che richiede 5 pin.

ok grazie mille per la conferma! :wink: non avevo visto che c'era anche nel playground

mi piaciono i TlC5940: ho guardato la libreria e mi sembra piuttosto semplice da usare e si possono mettere anche in cascata

però non mi è chiara una cosa riguardo all'hardware: l'integrato può dare su ogni uscita 120mA quindi suppongo che si possa scaldare, nelle ultime pagine del datasheet ci sono le spiegazioni per la progettazione delle zone di dissipazione ma non viene detto niente per la versione dip, avete esperienza con questi integrati? secondo voi possono scaldarsi in modo significativo? a me basterebbero circa 80mA per uscita...

guardando questa immagine si nota come la corrente sulle uscite viene gestita da un'unica resistenza collegata all'integrato: http://tlc5940arduino.googlecode.com/svn/wiki/images/breadboard-arduino-tlc5940.png
non vorrei che questo creasse cose strane nel caso un'uscita richiedesse più o meno corrente rispetto alle altre...
poi non capisco come fanno a calcolare quella resistenza, cosa rappresentano quei 39,06V? :roll_eyes:

Solo che il TLC5940 non lavora autonomamente. Deve essere pilotato di continuo con due segnali (BLANK e GSCLCK) Il secono problemino é che non ha uscite Totem Pole ma uscite di corrente costante che mette a massa.
È meglio usare il PCA9685 che genera il clock per il PWM da solo.

Comunque Ti consiglio al posto di aggiungere un TLC di aggiungere un I2C Port expander o dei Shift-Register visto che vuoi andare questa via solo perché Ti mancano Pin ma non hai bisogno di tante uscite PWM.

poi non capisco come fanno a calcolare quella resistenza, cosa rappresentano quei 39,06V?

È un calcolo dove entrano la tensione di riferimento e il guadagno del circuito. Il calcolo per la resistenza per ottenere una certa correnete costante é semplice Rref = 39,06V/Iout

Ciao Uwe

uwefed:
Solo che il TLC5940 non lavora autonomamente. Deve essere pilotato di continuo con due segnali (BLANK e GSCLCK) Il secono problemino é che non ha uscite Totem Pole ma uscite di corrente costante che mette a massa.
È meglio usare il PCA9685 che genera il clock per il PWM da solo.

Comunque Ti consiglio al posto di aggiungere un TLC di aggiungere un I2C Port expander o dei Shift-Register visto che vuoi andare questa via solo perché Ti mancano Pin ma non hai bisogno di tante uscite PWM.

beh ma sono ancora in fase di progettazione, se è possibile avere molte più uscite pwm è meglio :slight_smile:
comunque a me andrebbe bene per quello che pensavo di fare, non avevo capito che necessitava di un continuo aggiornamento... quindi la frequenza del pwm non è predefinita?

uwefed:

poi non capisco come fanno a calcolare quella resistenza, cosa rappresentano quei 39,06V?

È un calcolo dove entrano la tensione di riferimento e il guadagno del circuito. Il calcolo per la resistenza per ottenere una certa correnete costante é semplice Rref = 39,06V/Iout

ahn ok, è a pagina 14 del datasheet, ma là usano numeri diversi

grazie mille per l'auto! :wink:

?R:

uwefed:
Solo che il TLC5940 non lavora autonomamente. Deve essere pilotato di continuo con due segnali (BLANK e GSCLCK) Il secono problemino é che non ha uscite Totem Pole ma uscite di corrente costante che mette a massa.
È meglio usare il PCA9685 che genera il clock per il PWM da solo.

Comunque Ti consiglio al posto di aggiungere un TLC di aggiungere un I2C Port expander o dei Shift-Register visto che vuoi andare questa via solo perché Ti mancano Pin ma non hai bisogno di tante uscite PWM.

beh ma sono ancora in fase di progettazione, se è possibile avere molte più uscite pwm è meglio :slight_smile:
comunque a me andrebbe bene per quello che pensavo di fare, non avevo capito che necessitava di un continuo aggiornamento... quindi la frequenza del pwm non è predefinita?

uwefed:

poi non capisco come fanno a calcolare quella resistenza, cosa rappresentano quei 39,06V?

È un calcolo dove entrano la tensione di riferimento e il guadagno del circuito. Il calcolo per la resistenza per ottenere una certa correnete costante é semplice Rref = 39,06V/Iout

ahn ok, è a pagina 14 del datasheet, ma là usano numeri diversi

grazie mille per l'auto! :wink:

di niente la prossima volta ti prestiamo anche la moto :wink:

Madwriter:

?R:
grazie mille per l'auto! :wink:

di niente la prossima volta ti prestiamo anche la moto :wink:

ahahah XD ok va bene :stuck_out_tongue:

?R:

Madwriter:

?R:
grazie mille per l'auto! :wink:

di niente la prossima volta ti prestiamo anche la moto :wink:

ahahah XD ok va bene :stuck_out_tongue:

in questi giorni la lestite-dislessica ha contaminato l'intero forum :grin:

?R:
non avevo capito che necessitava di un continuo aggiornamento... quindi la frequenza del pwm non è predefinita?

Lo fa in automatico la libreria che ti ho segnalato perché usa il timer 1 per spedire costantemente i dati al TLC.
Ovviamente ciò entra in conflitto con un codice che usa quel timer, ma puoi sempre usare il 2 o lo 0, se ti servono funzioni con i timer.

PS:
tornando al problema della R di limitazione, quella resistenza influisce su tutte le uscite del microchip per cui se imposti una corrente massima di, esempio, 30 mA, avrai 30 mA max su tutti i canali.

leo72:

?R:
non avevo capito che necessitava di un continuo aggiornamento... quindi la frequenza del pwm non è predefinita?

Lo fa in automatico la libreria che ti ho segnalato perché usa il timer 1 per spedire costantemente i dati al TLC.
Ovviamente ciò entra in conflitto con un codice che usa quel timer, ma puoi sempre usare il 2 o lo 0, se ti servono funzioni con i timer.

si supponevo si arrangiasse la libreria, quindi non mi crea molti problemi :slight_smile:

leo72:
tornando al problema della R di limitazione, quella resistenza influisce su tutte le uscite del microchip per cui se imposti una corrente massima di, esempio, 30 mA, avrai 30 mA max su tutti i canali.

si si quello l'ho capito :slight_smile:
per la dissipazione del calore, posso metterlo tranquillamente su uno zoccolo?
grazie ancora :wink:

?R:
per la dissipazione del calore, posso metterlo tranquillamente su uno zoccolo?

Io lo metto sempre su zoccolino. Anche perché il formato DIP non ha il pad per la dissipazione quindi è abbastanza inutile appiccicarlo al PCB, anzi staccandolo circola più aria (secondo me, eh).
PS:
cmq se vuoi stare tranquillo, nel datasheet c'è la formula per sapere la dissipazione massima in base ai canali da pilotare ed alla corrente max per canale. Basta che ti faccia 2 conti per vedere dove vai a cascare

leo72:

?R:
per la dissipazione del calore, posso metterlo tranquillamente su uno zoccolo?

Io lo metto sempre su zoccolino. Anche perché il formato DIP non ha il pad per la dissipazione quindi è abbastanza inutile appiccicarlo al PCB, anzi staccandolo circola più aria (secondo me, eh).
PS:
cmq se vuoi stare tranquillo, nel datasheet c'è la formula per sapere la dissipazione massima in base ai canali da pilotare ed alla corrente max per canale. Basta che ti faccia 2 conti per vedere dove vai a cascare

ok, la formula l'avevo vista ma anche se dovessi dissipare calore non saprei come fare, non ci sono altre soluzioni oltre a quella di metterlo sullo zoccolo o sulla scheda
comunque prima parlavi dei timer, ho guardato la libreria e mi pare di aver capito che viene usato anche il timer2 per il GSCLK (pin 3 arduino --> pin 18 tlc)
sto facendo un po' la conta dei timer per vedere se posso usare senza problemi la funzione tone :sweat_smile:

Ti stai facendo tanti problemi per la dissipazione del calore, ma cosa vuoi pilotare col TLC?
Ciao Uwe

uwefed:
Ti stai facendo tanti problemi per la dissipazione del calore, ma cosa vuoi pilotare col TLC?
Ciao Uwe

per ora dei led, ma mettendone 3/4 in parallelo per uscita avrei circa 70mA e su 16 uscite sono più di un amperè, da qualche parte devono andare...

?R:

uwefed:
Ti stai facendo tanti problemi per la dissipazione del calore, ma cosa vuoi pilotare col TLC?
Ciao Uwe

per ora dei led, ma mettendone 3/4 in parallelo per uscita avrei circa 70mA e su 16 uscite sono più di un amperè, da qualche parte devono andare...

http://code.google.com/p/tlc5940arduino/wiki/PowerDissipation

Saresti abbondantemente fuori specifica, se usi tutti e 16 i canali.
Ah, una cosa che mi dimenticavo: il TLC5940 "assorbe" corrente, non la fornisce. Per cui va usato con LED RGB ad anodo comune oppure collegando il negativo del dispositivo da comandare.

leo72:
Google Code Archive - Long-term storage for Google Code Project Hosting.
Saresti abbondantemente fuori specifica, se usi tutti e 16 i canali.

mmmm beh adesso che inizia a fare freddo se lo metto fuori all'aria aperta non dovrei avere problemi, o comunque se lo tengo in casa potrebbe rivelarsi utile per riscaldare l'amiente :grin:

leo72:
Ah, una cosa che mi dimenticavo: il TLC5940 "assorbe" corrente, non la fornisce. Per cui va usato con LED RGB ad anodo comune oppure collegando il negativo del dispositivo da comandare.

giusto, quindi non posso neanche usarlo per pilotare dei transistor, la cosa si fa complicata :~
se dimezzo il carico e raddoppio i tlc, dovrei rientrare negli standard... tanto se ne possono mettere tanti in cascata di quegli integrati, no?

comunque mi confermi che la libreria usa anche il timer2? volevo capire se potevo usare la funzione tone senza problemi...

grazie ancora per l'aiuto! :wink:

?R:
se dimezzo il carico e raddoppio i tlc, dovrei rientrare negli standard... tanto se ne possono mettere tanti in cascata di quegli integrati, no?

Sì, si possono mettere in cascata.
Ora però non mi ricordo quanti la libreria è capace di gestirne.

comunque mi confermi che la libreria usa anche il timer2? volevo capire se potevo usare la funzione tone senza problemi...

Sì, purtroppo usa anche il timer 2.