Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!: 
https://forum.bidouilleur.ca/index.php?action=register Les demandes d'inscription sont révisées quotidiennement.

Auteur Sujet: Generation d'un signal triangle à  partir d'un signal d'horloge  (Lu 3749 fois)

guigui

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Generation d'un signal triangle à  partir d'un signal d'horloge
« le: septembre 24, 2019, 12:25:10 pm »

Bien le bonjour à  tous,

Je cherche à  transformer un signal horloge carré entre 0 et 5V fourni par un microcontrôleur PIC en un signal triangle idéalement entre -1.6V et +1.6V.
Je travailles à  une fréquence de 750 kHz pour le moment car il s'agit d'une fréquence facile à  sortir sur la fonction CLKREF du PIC.

Je suis parvenu à  obtenir un signal quasi-triangulaire en réalisant un filtre passe RC mais je perds beaucoup d'amplitude et j'ai bien entendu un décalage DC.

J'ai donc essayé de supprimer le décalage DC en ajoutant un second filtre RC passe-haut cette fois mais je rencontre deux problème :

L'amplitude en sortie du second filtre est trop faible et un léger décalage DC subsiste.

Je suppose que le problème est lié aux valeurs de composants que j'ai utilisé mais je n'en suis pas sûr.



But du montage :
Le signal triangle obtenu est destiné à  alimenter le comparateur intégré au PIC pour réaliser par la suite  un ampli de classe D pour de l'audio.

Pourquoi des filtres et pas un crystal ou un 555?
J'ai choisi cette solution car le projet terminé contiendra de toute manière un PIC car je compte le rendre pilotable depuis un PC (réglage du gain notemment).
J'essaye donc simplement de réduire le nombre de composant en utilisant le signal horloge du PIC ainsi que le comparateur intégré pour faire le hachage en entrée.

D'autre-part, je n'ai tout simplement pas de crystal ou de 555 sous la main :)

Je comprends que le filtre passe-bas pour créer le signal triangle sera très certainement dépendant de la fréquence, mais qu'en est-il du passe-haut?

J'ajouterais ici le schéma du filtre une fois de retour à  la maison.

IP archivée

Yffig

  • Invité
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #1 le: septembre 24, 2019, 01:17:23 pm »

Bonjour,
Je pense qu'un simple intégrateur avec Amp Op basse tension (genre LVxyz  de chez Texas Instruments par ex.) sur le signal carré suivi d'un condo pour supprimer la composante continue devrait te suffire, non ?
Cordialement
IP archivée

Yffig

  • Invité
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #2 le: septembre 24, 2019, 01:53:15 pm »

Re...
En plus si ça se trouve, la compensation en fréquence interne de l'ampli op peut, à  cette fréquence, suffire à  intégrer toute seul  ;). Resterait juste à  trouver le bon rail to rail low voltage adéquat
IP archivée

guigui

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #3 le: septembre 24, 2019, 02:00:46 pm »

Bonjour Yffig,

Effectivement j'ai pensé à  cette solution que j’envisage comme solution de repli si un filtre simple est insuffisant.
Ceci dis, je n'ai sous la main que des UA741 de chez ST et je n'ai pas encore essayé.

Comme mentionné j'essaye d'abords de trouver une solution faite de composants passifs, car cela ne me semblais pas très compliqué d'arriver à  mes fins avec un passe-bande.
Mais étant débutant, il est possible que je me trompe.


Comme promis, voici le schéma du montage que j'ai réalisé.
La partie passe-bas fonctionne très bien et j'obtiens un beau triangle sur l'oscillo, mais si j'ajoute le passe-haut, j'ai une amplitude de seulement quelques millivolts au lieu des 1.2V simulés par LT-Spice.
IP archivée

Yffig

  • Invité
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #4 le: septembre 24, 2019, 02:34:14 pm »

Re..
Tu as une demi période de 0.5/750KHZ ~0.67µs
Tu veux passer de -1.6v à  +1.6v en 0.67µs soit 3.2V/0.67µs et donc un slew-rate d'un peu moins de 5V/µs;
Un TL081 fait 13V/µs, mais un µA714 ...0.5V/µs ne fera jamais ton affaire.
Comme tu utilises LT-Spice, essaie déjà  un intégrateur avec le large choix d'ampli op rail-to-rail qu'il te propose.
Je regarde ta simulation dans la soirée et je te reviens.
Cordialement
IP archivée

Yffig

  • Invité
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #5 le: septembre 24, 2019, 03:09:46 pm »

ReReRe..
Juste une remarque:
Quand tu soumets à  la communauté pour analyse une simulation Spice, joins aussi le fichier .asc de ta simulation, ça aide  ;)
IP archivée

guigui

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #6 le: septembre 24, 2019, 03:32:56 pm »

Ah désolé j'étais occupé et je n'ai pas vu que tu souhaitais essayer la simu.

Voici le fichier  :)
IP archivée

Yffig

  • Invité
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #7 le: septembre 24, 2019, 04:56:55 pm »

Re^4  ;)
Effectivement tu utilises 2 cellules RC passe bas série (RC=0.22µs chacune soit 723KHz de fréquence de coupure haute mais la combinaison des 2 ne te donne pas fc= 723Khz à  - 6dB...) puis une cellule RC passe bas (RC=2.35µs soit Fc basse de 68KHz).
Grosso modo ce que tu obtiens en sortie c'est un filtrage passe bande de qualité grossière qui:
- rejette la valeur moyenne de ton signal carré (le passe haut)
- laisse passer surtout ta fondamentale à  750KHz puis atténue les harmoniques impairs du signal carré (rappel: l'amplitude de ces harmoniques varie en 1/(2k+1) donc diminue lentement avec la fréquence.
Ton signal n'est pas triangulaire même si il y ressemble et ton amplitude crête crête va varier avec la fréquence d'entrée (et bien sûr les 2 premières constantes de temps):
Sur ta simulation j'ai +1.04v et -1.12v, et avec les 2 condos de 100 pF passés à  50 pF j'ai +1.70v/-1.97v.
Je te cite:
"Je suppose que le problème est lié aux valeurs de composants que j'ai utilisé mais je n'en suis pas sûr."
C'est donc non seulement les valeurs de composants mais aussi la fréquence de fonctionnement qui joue sur les niveaux.
"Je comprends que le filtre passe-bas pour créer le signal triangle sera très certainement dépendant de la fréquence, mais qu'en est-il du passe-haut?": bin, le passe haut tant qu'il est de fréquence suffisamment inférieure à  tes 750Khz n'a pour rôle que d'éliminer la composante continue. Il n'est pas critique.

Même ma proposition de passer par un simple intégrateur ne satisfera pas ton besoin.
Je crois que ce que tu veux faire c'est un "mauvais" ampli classe D mais je reconnais que c'est pédagogique.

Je te recommande les deux vidéos YT suivantes:
- d'abord la partie classe D des 2 bricolos d'"Incroyables Expériences": https://www.youtube.com/watch?v=bRGRYZX_AT4,
- et la critique que Jipihorn en a fait: https://www.youtube.com/watch?v=BDFuKRfLV-Y. Celle ci peut paraître un peu méchante mais,vu ce que Jipihorn sait faire et faire comprendre, je comprends qu'il soit "furax" sur cette vidéo.

Cordialement
Yffig
IP archivée

guigui

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #8 le: septembre 24, 2019, 05:28:29 pm »

Ah c'est justement la vidéo d'Incroyables Experiences qui m'a inspiré ce petit projet :)
Je me disais que c'était un bon début pour apprendre.

Je suppose que le signal "pseudo-triangle" doit déformer le gain en sortie par rapport à  un triangle parfait, étant donné que la légère courbe va déformer le rapport cyclique en sortie du comparateur si j'ai bien compris.
Ce qui fait que le résultat sera un "mauvais" ampli.

En revanche je ne connais pas encore la vidéo de Jipihorn, je vais la regarder :)

IP archivée

loulou31

  • Administrator
  • Hero Member
  • *****
  • Messages: 568
    • Voir le profil
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #9 le: septembre 25, 2019, 11:13:00 am »

  Bonjour,

La c'est l'occasion rêvée de faire de la vraie électronique : avec un RC on ne fait pas des triangles... mais des exponentielles! Oui n'importe quelle courbe a des parties droites sur une petite partie mais bon.....oui tu a bien un triangle bien droit à  partir de ton acre mais il fait quelques mV!

Pour faire une tension en forme de  triangle le mieux est d'injecter un courant constant dans une capa.  Un courant fixe de -I injecté en permanence et un commuté de 2*I sur la moitié de la période 2*I -I = I. Il faut deux genés de courant un positif de 2*I avec un PNP sur le +VCC et une négative de valeur -I avec un NPN sur le -VCC, un des deux étant commandé par l'horloge. C'est le principe dans tous les genes de fonction type XR2206, et aussi les anciens genes analogiques : HP, Wavetek........ Après il faut un étage suiveur à  faible courant d'entrée.
Oui, le plus simple avec un ampli op de course en montage intégrateur, mais bon si tu veux te pencher sur le  fonctionnement des transistors c'est peut être l'occasion....

                Jean-Louis
IP archivée

guigui

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Generation d'un signal triangle à  partir d'un signal d'horloge
« Réponse #10 le: octobre 01, 2019, 07:46:32 am »

EDIT : j'ai enfin ajouté les fichiers LT-Spice.

Bonjour,

J'ai regardé la vidéo de Jipihorn qui est effectivement très intéressante.
Je me doutait qu'il y'avait quelque-chose de suspect au niveau du pont en H mais je n'avais pas encore réfléchis à  l'étage de sortie pour l'instant.

Mon but avec ce projet est avant tout d'expérimenter et d'apprendre un peu l'analogique, je ne m'attends pas à  obtenir une qualité de son exceptionnelle bien entendu.

Loulou31 : Effectivement je n'avais pas pensé à  des sources de courant constant.
J'envisage actuellement la solution que vous proposez et j'ai cherché des montages.

J'ai trouvé des schémas extrêmement simple pour des sources de courant constant avec un MOSFET en contre-réaction et une résistance.
Il se trouve que j'ai des MOSFET sous la main.
J'ai donc ajouté les modèles SPICE de ceux-ci dans LT-Spice et essayé les montages que j'ai trouvé.

Cela semble fonctionner et obtiens un courant limité dans la résistance.
Ceci dit, je ne comprends pas comment ajouter une charge.

Une fois de plus je l'ai pas les simulations sous la mains au moment où je rédige ce message mais j'ajouterais le tout d'ici quelques heures.
« Modifié: octobre 08, 2019, 01:20:46 pm par guigui »
IP archivée