Pages: [1] 2   Go Down
Author Topic: recherche composant timer...  (Read 1969 times)
0 Members and 1 Guest are viewing this topic.
Bretagne
Offline Offline
Edison Member
*
Karma: 11
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut à tous!

Je joue en ce moment avec des timers, et dans un projet que j'aimerais bien mener à termes pour l'été prochain, je cherche un CI qui me permettrait de bananer de la PWM autant que je veux.

Ce projet, c'est simplement un dimmer de leds 12V. J'ai récupéré tout un stock de leds 12V, et j'aimerais bien en faire des bandeux gérés par DMX. Le DMX demande pas mal de temps de traitement, d'où l'idée de confier la PWM à des composants externes, la PWM logicielle est impossible dans mon cas. Je ne veux pas coller un MEGA2560, ce serait du gâchis...

En gros, le composant idéal possèderait 8 entrées data (D0 à D7), une entrée "EN" de validation des datas, et il me suffirait de mettre mon octet dessus, une impulsion sur EN, et il se débrouille tout seul pour m'envoyer la PWM de rapport cyclique octet/255.

Quelques recherches m'ont amené sur le 82C54, qui possède 3 timers, mais c'est un monostable, qui génère une simple impulsion, mais ne fait pas de PWM. Dommage, niveau programmation, c'est exactement ce que je cherchais.

datasheet 82C54 : http://www.intersil.com/content/dam/Intersil/documents/fn29/fn2970.pdf

quelqu'un connaît un tel composant?

merci!
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



En gros, le composant idéal possèderait 8 entrées data (D0 à D7), une entrée "EN" de validation des datas, et il me suffirait de mettre mon octet dessus, une impulsion sur EN, et il se débrouille tout seul pour m'envoyer la PWM de rapport cyclique octet/255.

bonjour supercinci

en gros tu cherche un compo en entrée // et sortie PWM (pas important à ce stade, mais à quel taux de PWM ? )

à chaud je ne vois pas de candidats dediés

mais en limitation de tripaille , je chercherais un MCU (atmel/microchip autres)
le cahier des charges de base etant 8 pins DATA IN, 1 pin IN INH , 1 pin out PWM, VCC,GND (clock interne) soit 12 pins imperatives
en 14 pin à pas cher et facile à trouver on trouve surement déjà des bons candidats.

chez MCP par exemple un 16F505 doit etre suffisant
« Last Edit: September 20, 2013, 06:01:23 am by Artouste » Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 11
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Effectivement, on doit pouvoir programmer un petit AVR, dans l'idée, il me faut un max de PWM 8 bits, donc autant de pin EN que de canaux PWM, voire intégrer un démultiplexeur dans l'AVR (3 pins @ pour 7 canaux, 4 pour 15...)

Dans mes données DMX, je reçois 1 valeur 8bits par canal (sur 512 possibles), donc une PWM 8 bits, c'est nikel. Côté nombre de sorties, j'imagine bien un truc genre 32 canaux...
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Effectivement, on doit pouvoir programmer un petit AVR, dans l'idée, il me faut un max de PWM 8 bits, donc autant de pin EN que de canaux PWM, voire intégrer un démultiplexeur dans l'AVR (3 pins @ pour 7 canaux, 4 pour 15...)

Dans mes données DMX, je reçois 1 valeur 8bits par canal (sur 512 possibles), donc une PWM 8 bits, c'est nikel. Côté nombre de sorties, j'imagine bien un truc genre 32 canaux...
oui ou si tu veux rester sur du modulaire chercher un 10 pins en I/O
j'ai edité au dessus avec le 16F505 (0.50$/qty)  , mais il doit y en avoir d'autres et ailleurs

si tu veux faire un 32 canaux sur un MCU  , il te faut en mini 32 out , 8 in data, 6 INH (en mux) V GND , ça commence à etre usine à gaz
« Last Edit: September 20, 2013, 06:12:49 am by Artouste » Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 11
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dans l'idée, ce serait une carte "bus" sur laquelle on enfiche des cartes filles, donc le 82C54 collait très bien : une carte pour 3 sorties PWM...

Surtout qu'avec l'alim et les mosfets, le boîtier sera assez grand (je pars de toutes façon sur un format 19", 1U si je peux en fonction de l'alim et des raccordements derrière...)
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dans l'idée, ce serait une carte "bus" sur laquelle on enfiche des cartes filles, donc le 82C54 collait très bien : une carte pour 3 sorties PWM...

Surtout qu'avec l'alim et les mosfets, le boîtier sera assez grand (je pars de toutes façon sur un format 19", 1U si je peux en fonction de l'alim et des raccordements derrière...)
ok
tu peux voir aussi à légèrement moduler les filles  smiley-mr-green

faire du 2voies avec un 20 pin ça doit etre possible (sans mux inutile là )
8+2+2
faire du 4 voies avec un 28 pin aussi (sans mux)
8+4+4
Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 11
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Au pire, un 328p peut me fournir 6 belles PWM et il me restera 14 pins pour data / adressage... mais je me disais qu'un composant tout fait eu été plus simple...
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Au pire, un 328p peut me fournir 6 belles PWM et il me restera 14 pins pour data / adressage... mais je me disais qu'un composant tout fait eu été plus simple...
bien d'accord , mais en logique cablée et à chaud je ne vois pas de compo //--->PWM

en clock interne (pas de BdT externe en "tripaille") , le 328P monte à quelle fréquence ?
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 25
Posts: 1904
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a bien un bidule qui s'appelle le FPGA qui permet de faire ce que l'on veut en logique synchrone et asynchrone.
C'est ce que je viens de commencer à regarder, mais la bête à l'air bien difficile à apprivoiser.
Je m'étais justement dit que ce serait sympa de faire dans un FPGA une dizaine (ou plus) de PWM à des fréquences différentes le tout géré en I2C pour pouvoir communiquer avec une carte Arduino.
C'est faisable mais au rythme où je progresse, et si je craque pas avant,  ce ne sera pas fini pour l'été 2014 mais plus probablement en 2015 ou 2016.

Un FPGA c'est un ensemble de "éléments logiques élémentaires" que l'on peut associer comme on veut. Les associations étant mémorisées dans un fichier binaire implanté dans une eeprom externe.

La difficulté est que pour obtenir ce fichier binaire on utilise un langage qui ressemble à de la programmation mais qui n'en est absolument pas, même si on utilise des boucles if,for,while on est vraiment au niveau du matériel : une variable "registre" est plus à considérer comme une bascule D-Latch que comme en C un registre de 8 bits manipulable à  volonté.
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a bien un bidule qui s'appelle le FPGA qui permet de faire ce que l'on veut en logique synchrone et asynchrone.
...
Bonjour 68tjs
oui d'accord avec toi , mais l'approche (idée--->"truc qui marche" ) sur base FPGA
n'est pas spécialement d'un abord facile en DIY , la chaine est "compliquée" (compo, environnement, base de test, autres ).
perso , dans ce cadre "ludique" , et à ce jour j'oublie  smiley-mr-green
je changerais peut etre un jour d'avis, mais je suis sur que ce ne sera pas aujourd'hui  smiley-cool
Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 11
Posts: 1298
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui, ces logiques programmables, on nous en avait parlé à l'école, c'était avant l'arrivée fulgurante des proc RISK. du coup, les procs ont gagné. Dans le but de faire de la PWM avec, je suis pas sûr que ça soit vraiment capable, car ça fait vraiment beaucoup de fonctions logiques à enchaîner...
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3014
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu es vraiment attaché à l'interface parallèle?

Parce qu'il y a des trucs comme ça http://www.ti.com/product/tlc5940 qui sont plutôt pas mal. Par contre en interface parallèle il n'y a rien avec PWM.
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3014
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


La difficulté est que pour obtenir ce fichier binaire on utilise un langage qui ressemble à de la programmation mais qui n'en est absolument pas, même si on utilise des boucles if,for,while on est vraiment au niveau du matériel : une variable "registre" est plus à considérer comme une bascule D-Latch que comme en C un registre de 8 bits manipulable à  volonté.
En VHDL ou Verilog, on peut écrire très bas niveau (en décrivant la bascule et la porte) mais on peut aussi écrire assez haut niveau. Dans ce cas les variables peuvent représenter un registre de taille quelconque. Un compteur s'écrit alors comme une addition et l'écriture n'est pas très éloignée du C.

Il y a des chaînes de développement gratuites. Pour ce faire la main c'est pas mal.

Le problème c'est plutôt le prix. Un petit FPGA coûte déjà assez cher comparativement à un microcontrôleur. Et du coup il est plus économique de faire 10 PWM avec interface SPI dans 10 ATtiny que dans un FPGA.
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Un petit CPLD (pas un FPGA, faut rester calme hein smiley-mr-green) serait un candidat idéal pour solutionner ton probléme smiley-wink

Je te conseille le XC9572XL de Xilinx.
Il coute quelque chose comme 3.5€ sur Farnell si tu veut te faire une carte maison, ou ~13€ en format breakout toute préte de Dangerous Prototypes.

Niveaux spec c'est du bon (tout en restant simple) :
- 72 "macrocells" (léger mais largement suffisant)
- inputs "5volt tolerant" (mais pas toutes attention !)
- prog par JTAG, soit avec un FT2232, soit avec une carte bus pirate (ou sinon avec n'importe quel "player XSVF" compatible Xilinx)

Niveau software c'est moins simple (c'est pas de la dév software, mais hardware).
-> Verilog, VHDL ou schéma (je te conseille le Verilog, mais surtout pas le mode schéma)
-> IDE "webpack ISE" de Xilinx (gratuit mais qui fait +6Go)

Si tu veut je peut te faire un morceau de Verilog et te le pré-compiler.
Donne moi juste tes spécifications concernant le fonctionnement et âpres un petit coup de simulation ça devrait être bon smiley-wink

NB: le Verilog peut sembler barbare et imbuvable aux premiers abords mais c'est vraiment pas compliqué en fait.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Moselle (FR)
Offline Offline
God Member
*****
Karma: 6
Posts: 925
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Je n'ai pas lu l'ensemble des éléments ci-dessus mais j'ai utilisé : http://www.nxp.com/documents/data_sheet/PCA9685.pdf
@+
[EDIT]
https://www.sparkfun.com/products/10136
« Last Edit: September 20, 2013, 10:32:13 am by icare » Logged

2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

Pages: [1] 2   Go Up
Jump to: