conversion numerique/resistance

Patrick 'Zener' Brunet a écrit :

je ne pense pas que l'attaque en tension soit impossible, mais il y a une autre voie plus simple pour simuler une R:

des switches indépendants avec un réseau de R en puissances de 2

avec 1 CD4066, tu as 4 bits, avec 2x CD4066 tu as 8 bits

sachant que la R max est de 10V/0.5ma = 5kohms

donc la série de R est

2.5k-1.25k-etc...

toutes les R sont montées en série et chacune se voit shuntée par un élément du cd4066.

cela ne fait que 8 résistances, attention à la résistance de déchet.

pour la fonction "log", une bonne vielle table est ce qui sera le plus simple, le plus rapide et aussi le plus souple, car si c'est pour linéariser l'éclairage en fonction de la tension, je ne pense pas qu'un vrai log soit le mieux. dans tous les cas, tu pourras ajuster la courbe au besoin exact.

JJ

Reply to
jj
Loading thread data ...

se

l ait

, et en

c une

l'ohmm=E8tre.

un MOSFET attaqu=E9 par une tension =E0 dynamique lin=E9aire donnera une r=E9sistance =E0 r=E9ponse =E0 peu pr=E8s logarithmique (cf n'importe= quel datasheet) ce qui est suffisant pour de l'=E9clairage. Et =E7a fait encore moins de cablage et de calculs :-) au pire, un ou deux ajustables sont n=E9cessaires pour caler la sortie PWM filtr=E9e sur la bonne zone de fonctionnement.

voil=E0.

seul inconv=E9nient auquel je peux penser : le MOSFET ne travaillera pas sur une tension alternative.

itiou, yg

--=20

formatting link
/
formatting link

Reply to
whygee

whygee se fendait de cette prose :

qu'i

J'ai rien compris au film ou il s'agissait d'utiliser le FET en résistance variable... en continu !? Que vient faire de la pwm là-dedans ?

--
LeLapin
Reply to
LeLapin

rte quel

=E7a vient faire une tensions =E0-peu-pr=E8s-analogique (apr=E8s filtrage RC) sur la grille du MOSFET pour que ce dernier travaille en r=E9gime lin=E9aire. Le tout est de "caler" la sortie pseudo-analogique du uC sur la bonne zone lin=E9aire.

un uC quelconque, une r=E9sistance (100K), un condo (100uF), un mosfet de fond de tiroir, =E7a suffira ?

_o/

--=20

formatting link
/
formatting link

Reply to
whygee

et vlan :-) (sans les virgules, =E7a a de la gueule)

yg

--=20

formatting link
/
formatting link

Reply to
whygee

On Jul 19, 6:16=A0pm, LeLapin

Sur un port de sortie binaire du uC, un signal PWM a travers un passe-bas donne une tension moyenne sur le Vgs d'un FET dont la resistance drain/source sert de resistance variable en fonction du rapport cyclique.

Reply to
Jean-Christophe

whygee se fendait de cette prose :

Je ne vois pas la logique de la chose. On a un octet multiplié par 3 et on veut moduler une résistance en série sur les trois signaux. Alors on a le choix entre un bizarre et laborieux multiplexage, je vois mal comment même mes analog switches cmos préférés donneraient une précision de 8 bits. (Bon, j'ai lu quelque part que la différention colorimétrique de l'oeil humain ne dépassait pas 4 bits par couleur), un DAC du genre AD 7524 constitué de switches analogiques sur des résistances on chip, ça c'est ma solution préférée si la commande numérique est prioritaire, ou bien un vague DAC embarqué (on chip) sur le µC ou en commande en tension avec un DAC sur un transistor FET. De plus il n'est pas nécessaire de fermer la boucle dans un tel montage, d'abord c'est lourd (au mieux un ADC en plus), mais en plus c'est inutile. Donc la pwm est une très mauvaise solution. Désolé.

--
LeLapin
Reply to
LeLapin

Jean-Christophe se fendait de cette prose :

Il n'y a pas de DAC sur le µC en, question ???

--
LeLapin
Reply to
LeLapin

"LeLapin" a écrit dans le message de news:XnF9C4DD7A9D3029lapinou@217.112.180.250...

rarement.

Reply to
Vincent Thiernesse

y'a peu de uC avec DAC.

yg

--=20

formatting link
/
formatting link

Reply to
whygee

salut, ba non, il n'y a pas de DAC sur mon µC (16f688) et pas de PWM non plus. je sais, je suis casse c....e :-) je vais pas mettre un core 2 quad pour faire varier une resistance quand meme !!! de plus je ne pense pas qu'il y ai un PWM dans un x86 ?????!!!!!!! merde alors, ils font quoi chez intel, pffffffff !!!!! bonne nuit, laurent

"whygee" a écrit dans le message de news:

4a639a50$0$294$ snipped-for-privacy@news.club-> Il n'y a pas de DAC sur le µC en, question ???

y'a peu de uC avec DAC.

yg

--
http://ygdes.com / http://yasep.org
Reply to
laurent

On Jul 19, 8:10 pm, LeLapin

Comment ca : "multiplie par 3" ? J'ai loupe un episode ? L'OP dit qu'il a une valeur sur "4 ou 5 bits" pour commander une resistance.

a le

=EAme

bits.

On a une valeur binaire sur "4 ou 5 bits" qui sert de consigne pour une resistance variable. Avec un peu de code, cette valeur pilote une (et une seule) sortie binaire du uC en mode PWM, la suite tu la connais : un passe-bas pour moyenner la tension sur la gate du FET, quelques resistances pour ajuster le point de fonctionnement et enfin la resistance variable se prend entre drain et source.

Un seul signal et non pas 3 signaux, pas besoin de DAC, ni de fermer la boucle (vu le peu de precision necessaire pour cette appli) La PWM est generee par un compteur hardware interne au uC dont l'horloge est derivee de celle donne par le quartz + diviseurs, le controle du rapport cyclique sera suffisament precis pour l'appli.

Je ne comprends pas ton objection au PWM : c'est a mon avis le plus simple montage externe au uC pour realiser le cahier des charges.

Reply to
Jean-Christophe

On Jul 19, 8:12=A0pm, LeLapin

On trouve plus souvent des ADC que des DAC, parce-que quand on exige pas trop de precision, on peut facilement realiser le DAC avec une sortie binaire en mode PWM :-)

Reply to
Jean-Christophe

On Jul 20, 12:23=A0am, "laurent"

Un PWM s'implemente facilement avec un des compteurs internes au uC et une interruption sur depassement du compteur.

Pour la mise au point, tu peux verifier le rapport cyclique avec un scope si tu en as un ... ou a defaut, la valeur moyenne de la tension avec un voltmetre apres le passe-bas.

Reply to
Jean-Christophe

us.

j'ai encore mieux, pas besoin de ressources HW ni d'IRQ, et j'ai d=E9j=E0 employ=E9 cette m=E9thode pour contr=F4ler 150W de LEDs = =2E.. par PIC :-) Un des ports (le port A sur le 688) est utilis=E9 avec une seule sortie et que des entr=E9es (on va voir pourquoi). Cette sortie est connect=E9e par une r=E9sistance (1M ?) =E0 la grille du MOSFET.

Le programme a certainement une boucle principale et plein d'endroits qui font rien : on peut ex=E9cuter une petite s=E9quence d'instruction qui va faire l'=E9quivalent de la PWM (en fait de la Pulse Density) :

movf intensite,w addwf accu, f rrf PORTA, f

=3D=3D> intensit=E9 est entre 1 et 255, c'est la lumi=E8re qu'on veut a= voir. =3D=3D> accu est une variable qui compte avec un rebouclage. =3D=3D> PORTA est le port o=F9 une seule des broches est en sortie (je laisse le soin d'imaginer ce qu'il se passe s'il y en a plus)= =2E

j'en ai fait une macro, avec laquelle j'ai saupoudr=E9 tout le code avec,= aux endroits o=F9 le registre W et le status peuvent =EAtre d=E9truits, et je tourne =E0 une telle fr=E9quence avec le code que la cellule RC est assez petite= =2E

Ca marche du tonnerre, m=EAme si on voit quand m=EAme des l=E9gers sauts de luminosit=E9 quand on change la valeur de intensite. Pour l'OP, il faudra ajouter 1uF sur la grille du MOSFET.

L'avantage de la densit=E9 d'impulsion c'est que c'est plus permissif que la PWM et la taille de la cellule RC est plus petite. En plus, la r=E9solution ne d=E9pend pas de la fr=E9quence de fonctionnem= ent du PIC, on peut utiliser une r=E9solution interne de 8 ou 16 bits, donc on peut travailler =E0 des vitesses plus basses (si besoin).

autre astuce : un haut-parleur (avec une r=E9sistance s=E9rie) ou un buzze piezo (encore mieux) et une LED (+ r=E9sistance)

bon, j'arr=EAte de faire le boulot des autres, je retourne au mien :-) qui voudrait beta-tester

formatting link
? :-D

yg

--=20

formatting link
/
formatting link

Reply to
whygee

Jean-Christophe se fendait de cette prose :

Zut oui je m'étais perdu dans les branches du fil, je pensais aux 8 bits x

3 couleurs avec variation aléatoire.

Dans ce cas là tu as effectivement raison.

--
LeLapin
Reply to
LeLapin

On Jul 20, 6:46 am, LeLapin

Allo LeLapin, entamez votre trajectoire de retour sur Terre :-)

Tu as vu, ils n'ont pas repondu a ma question sur le critere de choix des fonctions pour une trajectoire non-periodique. Tsss ...

Reply to
Jean-Christophe

On Jul 20, 1:53 am, whygee

... par PIC :-)

Un programme avec "plein d'endroits qui font rien" ... ? Le seul exemple que je connaisse est celui de la thread d'attente d'un multitache, mais je doute qu'il s'agisse de cela.

voir.

A quel endroit du programme est incremente 'accu' ?

aux endroits

.

Pour la structure du programme c'est pas optimal, il serait plus clean que la sortie soit commandee en un seul endroit : une routine d'interruption ne coute rien et garantit une periodicite correcte - contrairement au "saupoudrage", sans parler de l'economie d'espace memoire pour le programme. Si ton soft ne fait rien d'autre a la rigueur c'est jouable, mais dans le cas ou d'autres routines vont tourner de temps a autre (comme une com serie/usb ou un refresh I/O) alors le delai induit va retarder d'autant l'action sur la sortie. Puisque celle-ci alimente la capa d'un passe-bas, la tension va varier en fonction de la charge de travail du uC ...

Ah, et d'ou vient ce defaut ?

Ben c'est toujours un mode de commande par decoupage ...

ent du PIC,

Seulement pour une frequence de travail inferieure ou egale a de la BF.

Hem ...

C'est pas mon boulot :-)

Reply to
Jean-Christophe

si si, =E7a arrive, j'ai d=E9j=E0 vu =E7a ;-)

moi j'ai mis la macro aussi aux endroits o=F9 il se passait qqc, afin d'=E9viter toute saute de luminosit=E9.

t avoir.

addwf accu, f ^ (oui je sais c'est vicieux mais c'est comme =E7a, les PIC)

la macro accumule la luminosit=E9, et le bit de carry va dans le bit 0 du= port A. plus la luminosit=E9 est forte, plus le bit de carry sera =E0 1 souvent.

ec, aux endroits

e

ite.

le "saupoudrage" permet d'=E9taler le spectre. Quand on hache 150W en basse tension, le risque de se transformer en =E9metteur radio n'est pas loin. Malgr=E9 les filtrages. Donc le "saupoudrage" dans le code permet d'=E9viter d'avoir toute l'=E9nergie concentr=E9e sur 1 ou 2 raies et ses harmoniques, ce qui au final devrait =E9viter au client de voir une brigade de r=E9pression des EMI d=E9barquer chez lui...

En tout cas, en consid=E9rant une fr=E9quence minimale d'impulsion de 50Hz (=E0 puissance minimale), =E7a fait une fr=E9quence d'ex=E9cution de la macro de 50*256 =3D 12,8KHz. Il y a des cas o=F9 ce n'est pas possible =E0 tenir avec une IRQ car sinon le code d'entr=E9e et de retour d'IRQ devient la charge principale du PIC :-/

pas vraiment... j'en suis pas =E0 mon premier prog asm :-)

pas n=E9cessairement, si on fait bien son boulot :-P

ts

simplement parce que l'oeil est sensible =E0 beaucoup plus que 256 niveaux de luminosit=E9. Si on augmente la luminosit=E9 trop lentement, on voit donc les "pas" interm=E9diaires. Mais =E7a va encore, c'est pas moche. y'a que les techniciens pour interpr=E9ter =E7a comme une tare technique. Avec 16 niveaux de luminosit=E9, =E7a serait par contre trop "cru", trop =E9vident.

La PWM c'est connu donc =E7a rassure. Ce n'est pourtant pas la seule et unique solution.

effectivement. Avec un saupoudrage de environ 1 macro de 3 instructions toutes les 5 ou =

6 instructions, j'arrivais =E0 une fr=E9quence de d=E9coupage de 300KHz (=E0 mi-puissance=

donc fr=E9quence maximale) avec l'osc interne =E0 8MHz. C'=E9tait bienvenu puisque j'avais du bon courant =E0 d=E9couper, et avec la PWM =E7a aurait fait des filtres (inductances + condos) de taille et prix inacceptables. Bon, depuis j'essaie de changer de m=E9thode et de repousser le probl=E8m= e l=E0 o=F9 il n'en est plus un ;-) Suite au prochain num=E9ro, avec une m=E9thode justement assez proche des pr=E9occupations de ce thread.

ben quoi ? tant qu'=E0 pas =EAtre pay=E9, autant faire des trucs pour soi= ;-P

allezzzzzz, =E9change de bons proc=E9d=E9s ? :-P

@+ yg

--=20

formatting link
/
formatting link

Reply to
whygee

Jean-Christophe se fendait de cette prose :

Moi je verrais bien une sorte de "pong 3D" dont les 3 axes sont chacune des couleurs primaires. Et l'algo c'est du pong : rebondir sur les murs mais en

3D. Pour améliorer le tout je mettrais une situation de départ (position/vecteur) aléatoire ou pseudo (ou dans une table).

De rien :D

--
LeLapin
Reply to
LeLapin

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.