Microcontrôlleur

On 8 oct, 15:47, "JP"

| on en revient aux RC, non ?

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.

Reply to
Jean-Christophe
Loading thread data ...

Le 08/10/11 12:26, JP a écrit :

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.

15.800 16.900 18.300 19.900 21.800 23.900 26.100 28.400 30.800 25.600 23.800 22.200 20.800 19.800 19.100 18.700 18.800 19.300 20.200 21.300 22.800 24.500 26.300 28.300 30.500 32.700 23.700 22.300 21.300 20.600 20.200 20.200 20.600 21.300 22.400 23.700 25.200 27.000 31.300 30.400 29.600 29.100 28.800 28.800 29.100 29.600 30.400 31.400 32.600 33.900

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.

Reply to
Julien Arlandis

Le 08/10/11 13:42, Jean-Christophe a écrit :

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.

Reply to
Julien Arlandis

Le 08/10/2011 15:31, Jean-Christophe a écrit :

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...

jj

Reply to
jj

On 8 oct, 16:49, Julien Arlandis

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 )

Tu envisages quel budget pour ce petit bijou ?

Reply to
Jean-Christophe

On 8 oct, 17:50, jj

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 ...

Reply to
Jean-Christophe

On 8 oct, 17:05, Julien Arlandis

Ok.

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.

Reply to
Jean-Christophe

Le 08/10/2011 16:49, Julien Arlandis a écrit :

Si j'avais à faire cela j'utiliserai un FPGA du genre Xilinx, je pense que c'est encore ce qu'il y a de mieux pour ton appli.

H
Reply to
Habib

Le 08/10/11 18:05, Jean-Christophe a écrit :

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.
Reply to
Julien Arlandis

Le 08/10/11 18:11, Jean-Christophe a écrit :

Un retard temporel, il sera indépendant du signal.

Reply to
Julien Arlandis

On 8 oct, 18:58, Julien Arlandis

| veux-tu un d=E9phasage, ou un retard temporel ?

Ok, ca facilite les choses.

Reply to
Jean-Christophe

On 8 oct, 18:56, Julien Arlandis

| 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 !

Reply to
Jean-Christophe

Le 08/10/11 17:53, Jean-Christophe a écrit :

Dans un premier temps avant de passer à la conception, quel type de carte je pourrais utiliser pour piloter mes sorties depuis un PC linux ?

Reply to
Julien Arlandis

On 8 oct, 19:27, Julien Arlandis

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.

Reply to
Jean-Christophe

Le 08/10/11 19:25, Jean-Christophe a écrit :

Ç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 ?

Reply to
Julien Arlandis

On 8 oct, 19:39, Julien Arlandis

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 )

Reply to
Jean-Christophe

convertisseurs N/A en stockant directement l'information du signal dans le microcontrôlleur ça me va.

Cela va aussi générer un paquet d'harmoniques. Pas gênant ? Comment veut tu traiter tes retours de signaux ?

Reply to
JP

et 500 Khz.

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

Reply to
JP

"Julien Arlandis" a écrit dans le message de groupe de discussion : 4e8f1dee$0$3674$ snipped-for-privacy@news.free.fr...

Hello Julien,

pas de problème, il te faut seulement 50 de ces petites bébêtes underclockées:

formatting link

12.14 euros l'unité pour cinquante chez Farnell

Vincent

Reply to
Alatriste

ah zut, la clock n'est pas externe....

peut-être celui-là, alors:

formatting link

ou un autre....

Vincent

Reply to
Alatriste

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.