Les fr=E9quences qu'il veut utiliser vont au-del=E0 de 40 kHz.
Oui, avec un seul RC, mais on peut en chainer plusieurs.
Oui, c'est s=FBr que l=E0 on est pas dans une appli courante ! Mais on peut r=E9aliser des d=E9phasages avec des lignes strip sur du PCB (capas et/ou inductances) pour des valeurs tr=E9s faibles.
Je rectifie, j'ai besoin d'une résolution comprise entre 10 Mhz et 20 Mhz en ce qui concerne les déphasages ce qui donne un pas de temps compris entre 50 et 100 nano-secondes (et non pas 0,1 ns comme je l'ai affirmé). Les déphasages ne devraient pas dépasser les 100 micro-secondes, voici typiquement la liste des déphasages que je dois injecter pour un matériau donné, exprimé en micro secondes.
Le signal sera généré dans une bande de fréquences comprises entre 1Khz et 500 Khz.
Désolé, je me suis emmêlé les pinceaux avec les unités, une résolution temporelle de 100 ns conviendra pour un premier prototype, si on peut partir directement sur du 50 ns ce serait un plus.
L'idée est bonne, mais 50 retards avec une résolution de 100 ns, ça nous fait un déphasage maxi de seulement 5 micro-secondes, il faudrait dans ce cas diminuer la résolution temporelle mais dans ce cas je perds le phénomène que je veux observer.
dommage qu'il ne nous en dise pas plus, par exemple s'il s'agit de générer des impulsions, c'est beaucoup plus simple de générer des retards qu'avec des signaux analogiques...
Ah, c'est d=E9ja plus accessible en terme de faisabilit=E9.
Donc il serait possible de num=E9riser ce signal pour traiter les retards par uP, avant de reconvertir en analogique pour les =E9tages de puissance, ce qui serait sans doute plus souple. Si cela ne n=E9c=E9ssite qu'un convertisseur A/N en entr=E9e il faudrait quand m=EAme 50 convertisseurs N/A en sorties ! A ces vitesses et fr=E9quences, serait-il envisageable de multiplexer un seul convertisseur N/A vers 50 sorties ?
Rien qu'avec un uP pilot=E9 par quartz avec un PLL inclus pour monter l'horloge interne =E0 40 MHz tu aurais d=E9ja un pas de 25 ns : c'est pas si mal. ( m=EAme s'il faudra s=E9rieusement optimiser le code )
Sinon pour des retards purement analogiques compris entre 15 us et 100 us y'a toujours les cellules RC avec R=3DRds d'un FET pilot=E9 par uP, et dans ce cas il faut 50 cellules [ capa + FET ] le tout =E9tant pilot=E9 par un uP qui peut tourner moins vite. Dans ce cas c'est la qualit=E9 des C et des FET qui devra =EAtre au top.
Pour ce qui est de l'encombrement et du poids, si toute cette cuisine doit tenir dans le volume et le poids d'une pi=E8ce d'un Euro ;o)
- Diam=E8tre =3D 23,25 mm
- Poids =3D 7,5 g Si on y loge 50 cellules, cela laisse pour une seule un carr=E9 de 2,9 mm de c=F4t=E9 pour un poids de 0,15 g ? ( plut=F4t que de surface, il vaudrait mieux parler du volume )
Bonne question : faudrait connaitre la forme de ces signaux. Si ce sont des impulsions rectangulaires ca simplifie tout ! Si ce sont des sinusoides pures on peut les g=E9n=E9rer directement depuis le uP via un DAC. Si la forme est arbitraire mais p=E9riodique, il reste la ressource de l'impl=E9menter dans la RAM du uP via une table d'ondes, qui pourrait m=EAme =EAtre t=E9l=E9charg=E9e depuis un PC ...
Mais il y a un d=E9tail qui me chiffonne un peu : veux-tu un d=E9phasage, ou un retard temporel ?
La diff=E9rence est qu'un d=E9phasage donn=E9 n'aura pas la m=EAme dur=E9e temporelle suivant la fr=E9quence du signal, tandis-qu'un retard temporel pur sera toujours le m=EAme pour toutes les composantes spectrales du signal.
Mais elles peuvent l'être, en fait ça n'a pas vraiment d'importance, j'ignorais que ça simplifiait le problème à ce point !
Donc résumons nous avons un signal impulsionnel qui doit être transmis à
50 composants avec 50 retards temporels différents. Les retards temporels s'étendent sur une plage de 0.1 à 100 micro-secondes avec une résolution de 0.1 microseconde.
| des impulsions rectangulaires ca simplifie tout !
Je ne te suis plus : il =E9tait question de retarder un signal qui est en toute g=E9n=E9ralit=E9 arbitraire ; une sinusoide, un signal p=E9riodique quelconque, voire m=EAme un signal non-p=E9riodique ...
Ca simplifie =E9norm=E9ment, dans le sens o=F9 il n'est m=EAme plus question de d=E9phaser un signal analogique ni besoin de convertisseur A/N et N/A, etc. et on retombe dans du tout-num=E9rique.
Donc, g=E9n=E9rer des impulsions binaires ayant des timmings relatifs pr=E9cis et variables.
Ergo : un uP avec une vitesse d'horloge interne >=3D 50 MHz suivi de chips d'interface pour 50 sorties binaires vers les 50 =E9tages de puissance pilotant les 50 transducteurs. Et du code assembleur pour garder une vitesse correcte.
C'est tr=E9s faisable, et pour un co=FBt moindre qu'au d=E9but !
D'autres usagers de fsp sauront mieux que moi. ( pour 50 ns de r=E9solution, va falloir s'accrocher )
Personnellement je ferais d=E9ja un proto de carte =E0 uP avec port s=E9rie (RS232, USB, Ethernet, etc) pour la com avec le PC, puisque de toutes facons il faudra bien y passer.
Ça aurait été l'idéal mais si on peut faire l'économie des 50 convertisseurs N/A en stockant directement l'information du signal dans le microcontrôlleur ça me va.
Donc j'ai une microprocesseur avec 50 millions de cycles par seconde, si je veux générer disons 50 signaux à 100 Khz j'aurais besoins de 5 millions de cycles par seconde, et les 45 millions de cycles restants me servent à calculer mes déphasages? C'est comme ça que ça fonctionne ?
Dans le cas d'impulsions rectangulaires, plus besoin de stocker la forme du signal, puisque les sorties d'un uP sont binaires, donc d=E9ja rectangulaires.
Comment aboutis-tu =E0 ces 5 MHz ? Ce qui compte est l'intervalle minimal de rafraichissement des sorties binaires, donc du retard minimal que tu as fix=E9 =E0 15 us, ce qui correspond =E0 une fr=E9quence d'environ 66,7 kHz (et pour un signal =E0 100 kHz tu as bien un refresh =E0 100 kHz)
Tu n'as pas besoin de faire du calcul au sein m=EAme du uP, le mieux est de charger la table des 50 d=E9lais depuis le PC vers le uP, qui se charge ensuite de mettre =E0 jour les sorties en fonction des timmings d=E9crits dans cette table.
Le plus simple serait m=EAme de traduire les d=E9lais (exprim=E9s en micro-secondes) en nombre de cycle machine du uP, ou en valeurs brutes pour ses timers internes, puisque tu connais sa fr=E9quence d'horloge ; cela all=E8gera encore sa charge de travail.
Je pensais =E0 un autre truc : En sortie, les =E9tages de puissance auront forc=E9ment des dispersions de caract=E9ristiques ( temps de mont=E9e, capacit=E9s parasites, etc ) qui peuvent rendre probl=E9matique le respect strict de la *synchronisation* entre deux sorties ... et ces sorties ne seront plus en phase relative. ( que je suppose primordiales pour ton appli )
Il faudrait savoir de combien de puissance ( courant et tension ) tu as besoin pour commander chacun de ces transducteurs.
D'ailleurs, =E0 y penser, as-tu s=FBr que ces transducteurs eux-m=EAmes respecteront entre eux une r=E9solution relative de 50 ns ? ( dispersion des inerties, etc )
Donc je suppose que tes transducteurs ne sont pas montés sur le même substrat, car ton retard maximum peut être supérieur a la période de ton signal dans certains cas
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.