transformation signal carré en signal continu
#1
Posté 16 mars 2012 - 11:00
la question que je vais vous poser l'a déjà été ici mais n'ayant pas obtenu de réponse, je tente ma chance sur ce forum.
J'ai à la sortie d'un TSOP un signal continu de 5V quand je ne détecte rien et un signal carré de environ 833Hz à 50% de cycle (pas vraiment en fait mais a peu près...)
Ce que je voudrais c'est avoir en sortie un signal haut si rien n'est détecté et bas si le beam IR est détecté... Je pourrais alors inverser ce signal avec un 4069 et j'aurais quelque chose de propre!
Mais je ne sais pas du tout comment m'y prendre pour passer d'un signal carré à un signal bas, tout en pouvant repasser en signal haut si l'entrée est continue.
je ne sais pas si j'ai été clair donc voici un schéma :
Si vous avez une solution ne réclamant pas de µcontrôleurs, je suis toute ouïe
Merci beaucoup!
#2
Posté 16 mars 2012 - 11:44
Après, si tu dois être réactif (genre 10ms max), cette technique sera un poil délicat à mettre en place (dans le choix du filtre RC surtout en fait...)
Par contre, tu t'en fous d'être précis (que tu autorises 20ms de réactivité ou plus), alors normalement cette technique est simple et efficace.
++
Black Templar
Mon site internet : http://ferdinandpiette.com/
#3
Posté 17 mars 2012 - 12:02
Je vais prendre mes renseignements sur tout ça (ça me fera reviser la physique en plus )
un filtre passe bas en gros ça transforme un signal type pwm en signal continu correspondant à la tension moyenne?
#4
Posté 17 mars 2012 - 12:21
Un filtre passe bas, ça laisse passé les basses fréquences et ça atténue les hautes.un filtre passe bas en gros ça transforme un signal type pwm en signal continu correspondant à la tension moyenne?
Donc avec une fréquence de coupure assez basse (comparé à la fréquence de ton signal), oui.
Ta fréquence de coupure, c'est 1/(2piRC).
Ici, ton signal est à 800Hz, dois donc prendre une fréquence de coupure inférieure
Par exemple, pour fc = 100Hz (avec 3.3kohm et 447nF), ton condensateur se chargera ou se déchargera complétement en 8ms. Comme ton signal carré ne reste que 600µs dans le même état (haut ou bas), la capa n'aura pas le temps de se charger ou de se décharger complétement. Du coup, la tension de la capa sera la tension plus ou moins moyenné.
Si t'as un oscillateur carré et un oscillo, je t'invite à faire l'expérience
++
Black Templar
Mon site internet : http://ferdinandpiette.com/
#5
#6
Posté 17 mars 2012 - 12:40
voici ce que j'ai fait (simu avec Yenka):
Je n'ai pas vraiment fait de calculs, je l'ai fait au tâtonnement. J’espère que les petites oscillations de la tension moyennée ne perturberont pas le comparateur...
#7
Posté 17 mars 2012 - 12:53
Par contre, tes valeurs de composants sont un peu exotiques !
Avec 15ohm, ton signal devra te fournir pas mal de courant pour charger le condensateur !
Et 1mF pour la capa, c'est énorme ! On utilise ce genre de capa pour lisser des grosses puissances.
Pour avoir les mêmes résultats, mais avec des valeurs plus classiques, essaye les couples 1500ohm/10microFarad ou encore 15kohm/1microfarad
++
Black Templar
PS : perso, j'aurais pris un truc du genre 10kohm et 220nanoFarad
EDIT : dis moi, c'est pour alimenter une led ton montage ?? Car si c'est le cas, il vaut mieux passer par un transistor !! En effet, alimenter une led grâce à un signal provenant d'un capteur, ce n'est pas top (ce n'est même pas bien du tout) car ce n'est tout simplement pas fait pour ça ! Le capteur n'est pas assez puissant pour driver une LED !
Mon site internet : http://ferdinandpiette.com/
#8
Posté 17 mars 2012 - 02:38
J'ai essayé les valeurs que tu m'as conseillé, mais ça n'a pas l'air de marcher:
R=10kO, C=220nF:
ça ne marche pas du tout
R=1.5K, C=10µF:
là ça va à peu près mais les variations sont un peu grandes et les tensions très petites...
R=15k, C=1µF:
ça ne marche pas non plus...
j'ai regardé un peu sur le net mais je n'arrive pas trop à comprendre comment déterminer Fc (je crois que c'est la fréquence à partir de laquelle on atténue, c'est ça?). Toutes les infos que je trouve concernent des signaux sinusoïdaux et pour le filtrage d'un PWM je trouve des montages à base d'ampli-op...
#9
Posté 17 mars 2012 - 03:38
Je ne sais pas ce que c'est comme simulateur, mais il n'a pas l'air de bien fonctionner !
J'ai refais la simu avec mes valeurs (10k et 220nF) et ça marche bien.
Les signaux sinusoïdaux ou quelconque, c'est la même chose. (De toute façon, tout signal peut être considéré comme une somme de sinus/cosinus !)j'ai regardé un peu sur le net mais je n'arrive pas trop à comprendre comment déterminer Fc (je crois que c'est la fréquence à partir de laquelle on atténue, c'est ça?). Toutes les infos que je trouve concernent des signaux sinusoïdaux et pour le filtrage d'un PWM je trouve des montages à base d'ampli-op...
Les montages à ampli-op, je suppose que ce sont aussi des passes-bas ?? Donc ça revient au même aussi.
Enfin, tu as bien compris, Fc, c'est bien la fréquence à laquelle l'atténuation se produit. Dans notre cas, fc vaut 1/(2.pi.R.C)
Pour voir les choses d'un autre angle, on peut regarder ça en terme de charge/décharge d'un condensateur. RC représente la constante de temps du filtre. On sait que le condensateur est chargé à 5 fois RC.
Donc si 1/(5.R.C) > 2.f_alim, alors le condensateur aura le temps de se décharger et de se charger à chaque période ton signal pwm ! Ce que l'on ne veut pas. Il faut donc prendre une constante de temps plus grande pour que le condensateur se charge plus lentement.
Avec mes valeurs, on a une constante RC qui vaut 2.2ms. Le condensateur sera chargé au max au bout de 11ms. Or ton signal PWM est à 800Hz. Ton signal passe de l'état bas à l'état haut et inversement tous les 0.6ms
11ms >> 0.6ms, tout va bien.
Plus RC augmente et plus ton signal est bien lissé, mais plus tu perds en réactivité ! Tout est une histoire de compromis
Mon site internet : http://ferdinandpiette.com/
#10
Posté 17 mars 2012 - 06:05
tout d'abord merci pour tes explications, elles sont claires et détaillées, c'est tout ce qu'il me faut ! J'ai utilisé Yenka pour la simulation car Proteus ne marche plus, il m'affiche une erreur à la simulation dès que mon schéma comporte un oscilloscope ou un autre appareil de mesure --'
Si chez toi ça marche, c'est que c'est bon ; j'utiliserai ces valeurs.
Je testerai tout ça au lycée quand j'aurai un oscilloscope et je te dirai.
Encore merci pour tout !
PS :
EDIT: d'après ton schéma, on a environ 8ms de temps de réaction et on règle Vseuil à 4V, c'est ça?
#11
Posté 17 mars 2012 - 06:43
Non, j'utilisais SIMetrix avant, mais je viens de découvrir LTSpice qui à l'air juste surpuissant !PS : qu'est-ce que tu utilises, toi, pour la simulation, MPlab ?
En fait, 8ms, c'est le temps de charge ou de décharge complète du condensateur.EDIT: d'après ton schéma, on a environ 8ms de temps de réaction et on règle Vseuil à 4V, c'est ça?
Si on se contente de regarder le schéma et si on prend une tension de seuil de 4V, dès que le signal passera de 5V à un signal PWM, la réponse s'effectuera en un peu plus d'une miliseconde. (le temps qu'il faut pour que la tension de sortie soit complétement sous les 4V.)
J'ai refais une simu où tu passe d'un signal d'entrée 5V à une PWM puis de nouveau à 5V pour que tu comprennes bien ce qu'il se passe.
Tu vois en fait qu'il y a 2 temps de réaction : tr1 et tr2. Les deux sont inférieurs à 8ms !
Si tu avais pris une tension de seuil à 4.9V (ce qu'il ne faut pas faire !), tu aurais eu tr1 très petit et tr2 un peu inférieur à 8ms
Dans cette simu, il y a un petit problème (qui n'est est pas vraiment un en fait ^^), c'est que les oscillations font repasser une fois la tension de sortie au dessus de la tension seuil de 4V ! De ce fait, tu pourrais croire que le signal est repassé à une tension continue de 5V alors qu'on est toujours en PWM.
Tu as 3 solutions pour résoudre ce problème :
- Augmenter le couple RC, ce qui augmentera ton temps de réaction, mais réduira les oscillations.
- Augmenter la tension seuil afin que la première oscillation ne repasse pas au dessus de celle-ci. Ton temps de réaction moyen sera le même.
- Au moment où tu compares ta tension de sortie à la tension de seuil, tu peux mettre en place un Trigger de Smith qui est un comparateur à seuil : si la tension passe en dessous d'un certain seuil, alors tu bascules au niveau bas, maintenant, s'il passe au dessus d'un second seuil plus important que le premier, tu rebascules au niveau haut ! Ainsi, si tu as de petites oscillations, celles-ci ne te feront pas basculer inopinément. Si tu utilises un microcontroleur, c'est super simple à programmer (il faut définir deux seuils au lieu d'un (exemple 3.8 et 4.2V)). Si tu utilises un comparateur type LM311, c'est aussi très simple, il faut que tu fasses une rétroaction positives à l'aide de deux résistances. (ce sont les résistances qui déterminent tes seuils).
++
Black Templar
EDIT : voila le code :
Version 4 SHEET 1 880 680 WIRE 48 96 48 80 WIRE 112 96 48 96 WIRE 240 96 240 80 WIRE 240 96 192 96 WIRE 48 144 48 96 WIRE 240 160 240 96 WIRE 48 256 48 224 WIRE 144 256 48 256 WIRE 240 256 240 224 WIRE 240 256 144 256 WIRE 144 272 144 256 FLAG 144 272 0 FLAG 240 80 out FLAG 48 80 in SYMBOL res 208 80 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R1 SYMATTR Value 10k SYMBOL cap 224 160 R0 SYMATTR InstName C1 SYMATTR Value 220n SYMBOL voltage 48 128 R0 WINDOW 3 -105 183 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName V1 SYMATTR Value PULSE(5 0 1 1n 1n 625u 1.25m 8) TEXT -58 332 Left 2 !.tran 0 1.02 0.997
Mon site internet : http://ferdinandpiette.com/
#12
Posté 17 mars 2012 - 11:34
j'ai téléchargé LTspice et refais le schéma car je ne trouvais pas où copier le texte ^^ mais c'est vrai que ce logiciel est génial, je n'ai eu aucun soucis... Le seul truc qu'il lui manque c'est peut-être des bibliothèques en plus.
voici une capture d'écran; j'ai augmenté C à 330nF parceque le temps de réaction dont j'ai besoin n'est pas à la ms près et que la solution du trigger de Schmitt me parait un peu lourde...
vraiment merci, tu m'as beaucoup aidé!
#13
Posté 18 mars 2012 - 06:58
Tu mets le code dans un fichier, tu lui donnes l'extension .asc et tu l'ouvres avec ltspicej'ai téléchargé LTspice et refais le schéma car je ne trouvais pas où copier le texte ^^
Mon site internet : http://ferdinandpiette.com/
#14
Posté 21 mars 2012 - 10:53
On reste alors avec des signaux logiques.
http://hmnrobots.blogspot.fr/
#15
Posté 21 mars 2012 - 11:00
On reste alors avec des signaux logiques.
le monostable doit pouvoir aussi se faire avec un 555
De plus:extrait du datasheet 1738
After each burst which is between 10 cycles and 70 cycles a gap time of at least 14 cycles is neccessary.
donc il ne faut pas générer continuellement le signal de commande des leds
http://hmnrobots.blogspot.fr/
#16
Posté 22 mars 2012 - 07:31
Par contre le signal de commande des LEDs n'est pas émis continuellement: il y a 600µs de pause et 600µs de signal haut (voir ici)
Je veux bien (si c'est possible) deux/trois explications sur ta solution
EDIT: ça y est, j'ai compris: un monostable c'est une temporisation donc si je met une tempo un poil plus lente que mon signal bas le monostable se réactivera avant la fin. il faudra donc attendre cette tempo complète pour la réactivation... Pas bête!
Merci!
#17
Posté 22 mars 2012 - 09:45
Si tu envoie un signal à 1 Khz (1ms) sur l'enrée de déclenchement du monostable redéclenchable alors toutes les 1ms il repart pour 1,1ms donc tant que le signal à 1 Khz est présent le monostable reste à 1.
Si le signal 1 Khz s'arrête, alors le monostable n'est pas redecleché est retombe à 0 après 1,1ms.
La détection est donc très rapide et fournit directement un signal logique
Bien sur, il est possible de reproduire ceci par programme
http://hmnrobots.blogspot.fr/
#18
Posté 22 mars 2012 - 10:26
Si on regarde bien, le principe est assez similaire : C'est aussi basé sur un filtre RC qui détermine le temps de bascule et ça rajoute des composants autour (composant qui remplace le comparateur) !
Mon site internet : http://ferdinandpiette.com/
#19
Posté 22 mars 2012 - 10:31
#20
Posté 22 mars 2012 - 11:08
datasheet: http://pdf1.alldatas.../SN74123N3.html
EDIT: il faudra que je mette une porte NON entre la sortie du TSOP et l'entrée du monostable nan?
Répondre à ce sujet
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users