Comparateur de signal numérique

Portrait de Eostel

Bonjour à tous.

Petit nouveau, vous trouverez ma présentation ici: https://www.les-electroniciens.com/discussions/eostel

Bricoleur, mais pur débutant en électronique, je vous sollicite pour un peu d'aide pour mon projet.

Je souhaite réaliser le plus simplement possible un comparateur alimenté en 12v ou en 5v qui compare 2 signaux de type PWM (si j'ai bien compris, ce sont des signaux numériques sur 1 seul bit). Celui-ci doit ensuite renvoyer le signal PWM le plus important. Je ne connais hélas pas le fréquence d'horloge ni l'amplitude (égaux entre eux) de mes signaux PWM.

- Est-ce mesurable via un multimètre?

Pourriez vous m'aider à réaliser un montage capable de faire ceci??

Le but pour moi est d'apprendre et comprendre ce que nous allons réaliser (si j'en suis capable XD)

Eostel

Portrait de Walter

Salut,

si je ne dis pas de bêtise ton voltmètre te donnera la moyenne de temps actif rapporter sur l'amplitude.
C'est à dire si ton signal PWM est actif la moitié du temps avec une amplitude de 2V, le volt mètre indiquera 1V soit 50% de 2V.

Après pour te proposer un montage je ne vois pas vraiment ce que tu veux faire et avec quoi?
On peut te proposer un montage à base d'arduino qui lit le PWM sur une broche et le renvois sur une autre et affiche sur le moniteur série la fréquence du PWM.
Tu peux sûrement aussi juste brancher un galvanomètre en parallèle ton circuit qui utilise le PWM.

Mais cela correspond à ce que tu veux faire?
Quel est l'amplitude du PWM à lire et quelle est l'amplitude à restituer?

Portrait de Eostel

Bonjour,

merci pour ta réponse. Le montage comprendrait :

-2 entrées (A et B) de type PWM dont la moyenne de temps actif évolue

-1 sortie (C) de type PWM

-1 Alim 5V ou 12V au choix.

  Le but du montage est simplement d'identifier parmis ces 2 signaux d'entrée  lequel a la moyenne de temps actif la + importante et le rediriger vers la sortie.

Si moyenne de temps actif de A > à moyenne de temps actif B, alors C=A

Si moyenne de temps actif B > à moyenne de temps actif A, alors C=B

Vu que mes entrées PWM évoluent, la sortie C doit switcher de A à B ou de B à A selon si A>B ou B>A.

Les amplitudes A B et C sont identiques. Seule la moyenne de temps actif change entre A et B.

Pour le avec quoi: Le but serait pour moi d'acheter des composants et de les souder =) Concernant l'arduino,  y'a pas plus "simple"?

Eostel

Portrait de Walter

En analogique pure cela doit être sûrement possible, mais je ne serais pas trop comment faire.
Je partirais sur un lissage avec un condensateur, pour avoir une valeur moyenne de ton entrée, puis passer le résultat à un ampli op en comparateur qui actionne un transistor pour faire passer la bonne entrée en sortie.
Il faudrait que tu test le truc sur un simulateur.

Portrait de Eostel

Walter, 

Okay merci =) Existe t'il des simulateurs sur ordinateur gratuit? =)

Portrait de Walter

Oui il y en a plusieurs en générale dérivé de spice je crois, moi je connais partsim ou easyEda qui permet de gérer de A à Z ton schéma/PCB, sinon je crois que ltspice est apprécié.

Portrait de GEEK

Eostel Tu dis des signaux PWM de 5 volts ou 12 volts au choix mais au choix de qui ? A notre choix ou par un sélecteur ? Je veux dire par là si on te propose un système sous 5 volts cela te conviendrait-il ?

De plus est ce que ces signaux évoluent souvent et rapidement ou sont-il stables ?

Portrait de Eostel

Hello Geek,

Ah non le 5 ou 12v, ce serait la tension d'alimentation du circuit qui permet de sélectionner le signale dont la moyenne est la + forte.

Voici les caractéristiques des deux signaux d'entrées:

PWM Frequency: Target frequency 25 kHz, acceptable operational range 21 kHz to 28 kHz Maximum

voltage for logic low: VIL = 0.8 V

Absolute maximum current sourced: Imax = 5 mA (short circuit current)

Absolute maximum voltage level: VMax = 5.25 V (open circuit voltage)

Comme énoncé dans ce lien page 6/8: 

https://noctua.at/media/wysiwyg/Noctua_PWM_specifications_white_paper.pdf

Le voltage logique 0 est donc de 0.8V maxi et le haut logique (1) est donc de 5.25V maxi. (par contre ils parlent aussi de 3.3v dans le lien; je ne comprends pas ^^')

Les moyennes des signaux évoluent constamment de 0% à 100% de moyenne.

Portrait de GEEK

pour ce faire il te faut utiliser les entrées qui permettent des interruptions externes avec les attributs :

  • RISING : l’interruption est déclenchée quand la broche concernée passe de LOW à HIGH. Il s’agit également d’un événement.
  • FALLING : l’interruption est déclenchée quand la broche concernée passe de HIGH à LOW. Il s’agit encore d’un événement.

En faisant le rapport des créneaux bas et haut pour chacun des deux canaux tu peux en déduire le PWM le plus élevé et utiliser une sortie pour reproduire le PWM le plus élevé. Mais ne voyant plus de message de ta part j'ai laché l'affaire !

Portrait de Eostel

Bonjour,

Désolé de mettre du temps pour répondre. J'ai fait beaucoup de recherches sur le net. j'ai donc réussi a faire une ébauche du circuit! =) Je la met en fichier attaché. Pourriez vous la critiquer??

J'utilise 2 amplificateurs LM393, 2 filtres intégrateurs RC et 1 diviseur de tension. =)

http://zupimages.net/viewer.php?id=19/23/542u.png

J'espère avoir vos retours. Hate de savoir si ça peut marcher! =)

Portrait de GEEK

A mon avis, mais je ne suis pas d'un niveau très élevé en électronique, à mon avis donc avec ce système tu vas faire une compilation des deux signaux PWM et non le plus élevé, cela risque d'être complètement différent de ce que tu veux surtout si les fréquence des deux PWM sont différentes !

Pourquoi ne veux tu pas analyser les signaux avec une carte Arduino et générer le PWM le plus élevé sur une sortie ?