Académique Documents
Professionnel Documents
Culture Documents
Générateur de fonction
Répondre « Précédent Suivant »
J'aime
Vous allez me demander pourquoi commencer un nouveau projet alors que je n'ai pas fini le précédent, ni celui encore d'avant...
Je n'arrive pas à finir mes projets car en fait, je n'ai rien pour les tester !! Tout simplement. Donc tant que ça se limite à la théorie, aucun problème. Par contre, pour la réalisation, nada !
Je vais recevoir un oscilloscope d'ici 2 semaines ! (Enfin ! J'en pleurerais de joie ). Du coup, la chose qui me manque maintenant, c'est un générateur de fonction pour tester mes montages !
ça tombe bien car le but de ce projet est justement de concevoir un générateur de fonction
Citation
Mais c'est un générateur de fonction sur patte que tu vas nous faire ??
Et bien non ! ça n'a rien à voir avec un robot ! Mais ça reste de l'électronique tout de même et ça pourra même (peut-être) servir ou inspirer d'autres personnes
Le but du projet
[Important] Le projet aura pour but de réaliser un générateur de fonction permettant de générer des signaux sinusoidaux, triangle et carré principalement.
[Accessoire] La génération de signaux dent de scie et PWM pourra être envisagé si cela ne complique pas inutilement le montage.
[Important] Ne disposant pas d'alimentation symétrique, l'alimentation se fera à partir du secteur 220V.
[Important] On mettra en place des protections sur-intensités pour protéger le générateur et les appareils connectés à celui-ci.
[Important] Les technologies utilisées seront choisis pour avoir un générateur simple à concevoir, sans réglage particulier.
Une partie alimentation permettant de générer les tensions continues utiles au montage
Une partie génération des signaux permettant de générer les formes des signaux
Une partie amplification de puissance permettant d'amplifier les signaux
Cette partie conditionne les deux autres. Il est donc normal de commencer à spécifier celle-ci d'abord.
Tout d'abord, je vais passer rapidement sur es solutions analogiques que je n'ai finalement pas retenue.
Le principe de la première solution est de générer des signaux triangulaires et rectangulaire asservies entre eux à l'aide d'un générateur de Miller par exemple. C'est à la fois un montage simple
et très efficace.
Le gros défaut de cette solution est qu'il est par contre très difficile de générer un signal sinusoïdale de bonne qualité. La solution consiste à générer un signal sinusoïdale à partir du signal
triangulaire en utilisant les propriétés de non linéarité de certains composant. (voir conformateur à diodes ou conformateur à étage différentiel).
Quoi qu'il en soit, ces conformateurs demandent une conception complexe ainsi que des réglages très fins afin de fournir un signal sinusoïdal de bonne qualité. Cette solution à donc été mise de
côté.
La seconde solution consiste à utiliser un générateur sinusoïdale de type oscillateur à pont de Wien. Ce type d'oscillateur permet de générer un signal sinusoïdal de bonne qualité. A partir de ce
signal, il est très facile de générer un signal carré. Par contre, le problème ici consiste à générer un signal triangulaire qui à première vu ne sera pas très précis... Bien que non creusé à fond,
cette solution à aussi été mis de côté car obtenir un générateur sinus-rectangle-triangle performant semble à première vue très compliqué.
La troisième solution utilise des circuits intégrés tout fait. Ces circuits sont de qualités moyennes, largement suffisant pour ce projet, mais j'ai aussi mis la solution de côté car elle ne me plait
tout simplement pas.
Je me suis finalement penché vers une solution numérique pour la génération des signaux. J'utiliserais donc un microcontroleur qui génèrera un signal numérique sur 8 bits ou plus de mes
fonctions. Ce signal sera envoyé à un convertisseur numérique/analogique de même résolution.
Cette solution permet de pouvoir générer tout types de signaux (sinus, triangle, rectangle, dent de scie, PWM, etc.) de manière extrêmement simple et efficace.
Le microcontroleur pourra éventuellement être adapté en fonction des goûts de chacun (Arduino, PIC, etc.)
Permettre de choisir le type de signal parmi les choix suivants : Sinus, Triangle, Rectangle, PWM, Dents de scie
Permettre un réglage de la fréquence grossier et fin
Permettre un réglage du rapport cyclique des signaux PWM et Dents de scie (de 1 à 99% minimum)
Permettre de mettre le générateur en mode stand-by
L'alimentation du µC sera de 5V et celle du convertisseur N/A sera de -5V à 5V
L'affichage de la fréquence et du rapport cyclique se fera sur un petit écran LCD
Un ampli de classe A à l'avantage de déformer très peu le signal, mais possède l'inconvénient de consommer beaucoup, même au repos.
Un ampli de classe B à l'avantage d'avoir un très bon rendement et ainsi de ne pas consommer beaucoup au repos mais est beaucoup plus complexe à mettre en œuvre si l'on veut une
déformation correcte.
Un ampli de classe D est clairement trop complexe à mettre en place pour ce type de générateur.
Mon choix s'est porté vers un ampli de classe AB un peu spécial qui asservi les transistors push-pull afin que ceux-ci soit tous juste en conduction même au repos. Ce qui permet d'avoir une
déformation du signal extrêmement faible et de consommer très peu.
Permettre un réglage de l'amplitude pour avoir une amplitude comprise entre 10mV et 10V (avec possibilité de choisir la plage d'amplification)
Permettre un réglage de l'offset de -5V à +5V pour des signaux ne dépassant pas 6V d'amplitude
Permettre au moins à 10V d'alimenter un haut-parleur 16 ohm (6.25Watt soit 625mA)
L'alimentation de l'ampli sera de -15V ; +15V
La partie alimentation
Je vais designer cette partie autour de régulateurs linéaires de tensions classique (LM7815 par exemple)
Si une sur-intensité est détecté, la tension chutera afin de rester dans le domaine de spécification
++
Black Templar
J'aime
D'après notre cahier des charges fonctionnel, l'alimentation devra se faire à partir du secteur 220V, 50Hz.
Pour générer une tension continue inférieure à 30V à partir de cette tension sinusoïdale 220V, je vais utiliser un transformateur qui aura deux utilités.
La première sera de produire un signal d'amplitude plus faible que 220V et la seconde sera d'isoler le secteur du reste du montage pour plus de sécurité. Un fusible sera ajouté en cas de pic
d'intensité non prévu.
Comme nous souhaitons réaliser une alimentation symétrique + /-15V, on choisira un transformateur avec deux secondaires afin de pouvoir générer une tension positive et une autre négative.
Les deux secondaires seront reliés en séries et la masse sera placée au point milieu. Ainsi, on génère deux signaux sinusoïdaux déphasés de 180°.
Maintenant, afin d'avoir un signal uniquement positif sur le la sortie positive et uniquement négative sur la sortie négative, on va mettre en place un redresseur à diode. Une diode permet de
faire passer le courant dans un seul sens. Ainsi, on peut choisir de ne garder que la partie positive ou que la partie négative du signal.
Avec uniquement deux diodes, on isole la partie positive du signal positif et on isole la partie négative sur la branche négative. On remarque que l'on perd la moitié du signal !! Afin de pouvoir
récupérer l'intégralité du signal, on rajoute au montage deux autres diodes qui permettront de récupérer la partie positive de la branche négative ainsi que la partie négative de la branche
positive.
Afin d'avoir une tension continue, en sortie à la place du sinus redressé, on place des condensateurs de filtrage qui vont emmagasiner l'énergie lors de la phase positive du sinus et restituer
l'énergie lors de la phase négative, lorsque la tension sera trop basse pour alimenter la charge.
On a ainsi une tension positive et négative fluctuant légèrement. Plus le condensateur de filtrage est gros et moins il y a de fluctuation.
A partir de ce signal, nous allons pouvoir mettre en place une régulation performante qui sera l'objet du prochain numéro ^^
++
Black Templar
J'aime
Par soucis de simplicité et d'efficacité, la régulation se fera autour d'un régulateur de tension intégré.
Un tel régulateur possède 3 pattes : une entrée sur laquelle on met la tension à réguler, une patte relié à la masse et une sortie qui fournit la tension régulé. (Plus simple, tu meurs !)
Comme on souhaite un débit maximum de 1 ampère un régulateur 15V de type 7815 et -15V de type 7915 suffisent (leurs courant de sortie maximum est justement de 1A !)
Au plus simple, on a donc le montage suivant (les entrées corresponde aux sorties filtrées du montage précédent) :
D'après les caractéristiques du 7815 et du 7915, pour un fonctionnement optimal, il faut que la tension d'entrée soit supérieure à la tension de sortie +2V ! Il faudra prendre en compte cette
caractéristique pour dimenssionner le tranformateur (ce que nous ferons plus tard)
Ce montage peut être amélioré ! Pour cela on ajoutera des condensateurs de découplages afin de gommer les dernières petites oscillation résiduelles éventuelles en sortie du régulateur.
Afin de prévenir de tout retour de courant qui pourrait endommager le régulateur, il convient d'ajouter une diode entre la sortie et l'entrée du régulateur. Ainsi, le courant de retour ne passera
pas par le régulateur, mais plutôt par la diode.
J'aime
Bonne continuation
J'aime
Bref Y a longtemps j'avais acheté un XR2206 et bien que disposant d'un géné ancien je me lance dans la réalisation du géné wobulé de Elektor 1990; j'ai la doc ; tu préfères tout faire ?
J'aime
Bonsoir
Intéressant bien sur, je suis dessus aussi mais je n'arrete pas de me répeter qu'il ne faut pas ré-inventer la roue quand la Rolls existe déjà
Bref Y a longtemps j'avais acheté un XR2206 et bien que disposant d'un géné ancien je me lance dans la réalisation du géné wobulé de Elektor 1990; j'ai la doc ; tu préfères tout
faire ?
Hello !
Ton module semble remplacer ma partie génération de fonction. Du coup, ça remplace un DAC et un µC. Le gain de temps ne sera donc pas énorme.
Refaire cette partie moi même me permettra de faire un truc que je controle à 100% (et si je veux inventer de nouvelles formes d'onde, il me suffira de reprogrammer le µC (exemple PWM et
dents de scie))
ça me permettra en plus de tester le taux de distorsion de mes signaux générés en numérique !
Donc oui, je vais refaire cette partie. Mais ton module est très intéressant
++
Black Templar
J'aime
J'aime
Je suis encore en train de réfléchir aux solutions pour cette partie. Je vais déjà mettre sur papier ce que j'ai.
Tous les calculs se font donc à l'aide d'une simple loi d'ohm !
D'après le cahier des charges fonctionnel, la chute de tension de l'alim ne doit pas dépasser 0.5V lorsque le courant débité est de 1A.
On a donc la tension aux bornes de la résistance qui est égale à 0.5V lorsque l'intensité qui la traverse est de 1A. La résistance aura donc pour valeur maximale R=U/I = 0.5+1 = 0.5 ohm.
Maintenant, pour limiter le courant, il suffit de regarder quand la tension aux bornes de la résistance dépasse 0.5V ! Pour cela, on utilise un simple comparateur de tension.
Avec ce montage, on rencontre un problème : c'est que le seuil de tension dépend de la tension de sortie du régulateur ! Vous me direz que celle-ci est censée être fixe, mais en réalité, si l'on
détecte une surintensité, on essayera de faire chuter la tension de sortie du régulateur afin que le courant débité ne dépasse pas un ampère. Donc, on ne peut pas se permettre d'avoir un
montage dont la tension seuil de détection des surintensités varie avec la tension d'alimentation !
Dans notre montage, la tension seuil est celle qui arrive sur la borne inverseuse du comparateur. Cette tension vaut V_regulateur * R2/(R1+R2) et doit être égale à V_regulateur - 0.5V.
On a donc R1/(R1+R2) = 0.5/V_regulateur. Le choix des résistances dépend bien de la tension de sortie du régulateur. (ce qui n'est pas top)
Du coup, ce qu'il faudrait, c'est réussir à déterminer la différence de tension entre la sortie du régulateur (avant la résistance de shunt) et la sortie de l'alimentation (après cette résistance).
Pour cela, j'utilise un amplificateur différentiel.
Le comparateur est remplacé par un amplificateur opérationnel. Dans cette configuration, la tension de sortie de l'ampli op est égal à la différence entre la tension de sortie du régulateur et la
tension de sortie de l'alim, le tout multiplié par un facteur R2/R1.
La sortie de l'AOP est donc V_shunt*R2/R1.
Cette tension ne dépend donc plus de la tension de sortie du régulateur et pourra être comparé à une référence généré indépendamment.
La référence qui servira à la comparaison devra valoir V_shunt_max*R2/R1, soit 0.5*R2/R1
Comme dans ce projet, on va devoir générer une tension de 5V, il semble donc pertinent d'utiliser cette tension comme référence. Ainsi, 0.5*R2/R1 = 5V nous permet de déterminer R2/R1 = 10.
Il ne nous reste plus qu'à comparer la tension en sortie de l'ampli op avec la référence de 5V.
Ainsi, dès que l'intensité de sortie est trop importante, la tension en sortie de l'ampli-op dépasse 5V et le comparateur passe en état haut. Sinon, le comparateur reste dans l'état bas.
La prochaine fois, j'essayerais de faire chuter la tension de mon alim si une sur-intensité est détecté.
++
Black Templar
J'aime
J'aime
Pas de problème avec les tensions de déchets car j'ai mis le seuil à 5V justement pour ça.
Deuxièmement, je suis bien tenté d'alimenter mes AOP, non pas avec la tension 15V régulé (car si surintensité, alors chute de tension), mais avec la tension filtré juste après mon pont de diode
(donc entre 19 et 20V).
Mais il faut que j'étudie le comportement de l'AOP à une tension de polarisation non parfaitement stabilisé... Normalement, ça devrait le faire, mais je préfère être sûr !
J'aime
Partir 3 : Suite
Grâce à cette détection, on est donc en mesure de contrôler un transistor de puissance qui pourra, soit laisser passer le courant, soit le bloquer totalement ou partiellement.
On a donc réussi à mettre en place un asservissement en courant en rajoutant une résistance et un transistor !!
Si la charge demande trop de courant, le seuil est dépassé et le transistor commence à se bloquer, ce qui fait chuter la tension de sortie du générateur et limite donc le courant jusqu'à ce que
celui-ci soit tout juste inférieur à 1 Ampère.
Si la charge demande que peu de courant, le transistor est totalement passant.
Maintenant, un exemple avec une charge de 100ohm. Ici, la charge consomme moins que la limite. Le transistor est donc complétement passant.
C'est là que l'on se rend compte qu'il y a un problème ! En effet, la tension de sortie de l'alimentation est tombée à un peu plus de 12V au lieu des 14.5V attendu…
Ceci est dû au transistor qui possède une tension entre le collecteur et l'émetteur à la saturation non nul (ici de 2.5V).
C'est un gros problème car d'après notre cahier des charges, la tension de sortie de l'alimentation ne peut pas être inférieure à 14.5V à courant maximum !!! Nous ne respectons donc plus le
cahier des charges.
Pas de panique, je vous montrerais comment réutiliser ce que l'on a mis en place ici afin de corriger ce problème.
A bientôt,
Black Templar
J'aime
De plus, on viens de m'orienter vers un composant fort sympathique : le UA723 qui permet d'avoir une référence en tension très stable avec une limitation en courant !!! Il suffirait donc de le
brancher sur un transistor en mode "ballaste" pour ainsi avoir une régulation performante.
Ce qui nous ferait économiser plein de composant et simplifierait le montage
Je vais lire les datasheet du 7815 et du UA723, je laisse décanter pendant la nuit et je repasse demain ^^
++
Black Templar
J'aime
J'aime
S'il s'agit de faire une limitation d'intensité alors un simple montage (pas mal ce circuit lab avec run DC sweep : VOUT=0 pour 1,4A) suffit mais tout comme le schéma avec l'ampli
op, il y a oscillation le courant passant alors entre valeur max et min.
Le 723 n'amènera rien de plus car lui aussi passera de min à max, la commande se trouvera mal alimentée
Je pense m'orienter sur cette solution définitivement lorsque j'aurais bien compris comment générer une tension négative à parti de ce circuit.
Pour le montage à ampli op, voir le choix de l'ampli en fonction des limites de tension en mode commun et sa réjection : les variations d'une même tension appliquée aux 2
entrées provoquent une variation de la sortie ce qui n'est plus alors du différentiel: la mesure ne fonctionne pas.
Lorsqu'une même tension est appliqué aux deux entrées du différentiel, la sortie n'indique en effet pas 0V, mais vient se placer à la tension de déchet. Mais ce n'est pas important car je ne
souhaite pas faire une mesure précise, mais juste détecter les surintensités (lorsque la différence est de 0.5V, la sortie sera à 5V)
Il serait peut être meilleur de se contenter de la limitation interne du 7815 mais de protéger l'étage de sortie :
Dans la mesure où tu as envisagé de réaliser un étage de sortie AB(assimilable à un ampli BF) il est plus facile de protéger l'étage push pull avec le même principe (VCE sat < VBE)
(vraiment pas mal ce circuitlab!)
Oui, mais dans ce cas, quid du court circuit non pas du BGF, mais de la sortie +/-15V directement ? (sortie qui est laissé à disposition de l'utilisateur)
Du coup, je suis obligé de mettre en place une protection directement sur la partie alimentation.
Merci à toi,
Black Templar
J'aime
J'aime
Pour le XR2206, j'ai regardé un peu comment ça fonctionnait. C'est un petit CI fort sympathique qui à l'air de permettre pas mal de chose de façon très simple et pour 4€, pourquoi s'en priver.
Mais après, ça dépend des goûts de chacun.
Je n'ai pas encore figé la solution en ce qui concerne la génération des signaux.
Je me reposerais les bonnes questions le moment venu !
J'aime
pour le compteur je voulais dire: le circuit pourra t il aussi être utilisé en fréquencemètre ?
J'aime
Black Templar 09 avril 2012
'hmnrobots', (le) 09 Avr 2012 - 08:10 AM, a écrit :
j'ai testé l'overcurrent protection de la datasheet Motorola :protection série en PNP adaptable pour l'alim négative (vraiment pratique ce circuitlab pour un test rapide et le
partage)
Oui, j'ai testé ton idée et elle marche très bien. Le seul problème, c'est que je ne peux pas ajouter de témoin lumineux pour indiquer les surintensités (ou avec des astuces dégelasses et
compliqués)
(La méthode que tu propose, c'est une alim à découpage n'est-ce pas ?)
pour le compteur je voulais dire: le circuit pourra t il aussi être utilisé en fréquencemètre ?
Non, ce n'est pas une fonctionnalité de prévu, mais comme il y a un µC, il suffira de programmer la fonction s'il y a encore des pins de libres ! (après, ce n'est pas non plus un oscilloscope avec
rendu spectrale...)
Bon, je me suis posé pas mal de question quant à cette régulation et protection surintensité ce WE.
Voici le fruit de ces réflexions.
Revenir à la base.
Sur ce constat, j'ai essayé de refaire un asservissement en tension classique et de rajouter un simple transistor + shunt pour faire la protection sur-intensité.
Le montage est simple, la partie positive et négative sont les même (au type de transistor NPN / PNP près)
Par contre, comme précédemment, il est impossible d'allumer une LED.
Finalement, ce n'est pas si simple que ça d'avoir quelque chose de performant et simple !
A suivre
Black Templar
J'aime
Le principe est simple. J'applique au collecteur du transistor la tension filtré. Si je veux avoir du 15V au niveau de l'émetteur, je dois donc appliquer une tension de 15.6V sur la base du
transistor (la tension base/émetteur étant d'environ 0.6V.
Dans ce cas, c'est le transistor qui va dissiper par effet joule de l'énergie afin d'abaisser la tension. Ainsi, si on applique à l'entrée une tension de 20V et que l'on veut en sortie une tension de
15V, on abaisse la tension de 5V. Si on autorise au maximum un ampère de débit, la puissance dissipée par effet joule sera de 5Vx1A soit 5 Watt. Ce petit calcul nous servira lorsque l'on devra
calculer la taille du radiateur.
En pratique, on utilise souvent une diode Zener afin de réaliser ce type de régulation.
(R1 sert à délivrer un courant de polarisation à la Zener)
La sortie sera donc imposé à 15V.
Dans notre cas, j'ai choisi de remplacer la zenner pas une autre solution plus fiable et qui assure que la tension de sortie soit toujours fixe.
Je mets donc en place un asservissement en tension à l'aide d'un amplificateur opérationnel.
R1 et R2 forme un diviseur de la tension de sortie.
La tension arrivant sur la borne inverseuse de l'AOP vaut donc Vout*R2/(R1+R2)
Cette tension est comparé à une tension de référence Vref.
L'AOP force la sortie pour arriver à V_entrée_inverseuse = V_entrée_non_inverseuse. (c'est la définition d'un AOP)
Ainsi, on a Vref = Vout*R2/(R1+R2)
R1/R2 = Vout/Vref – 1
Si on prend une tension de référence de 5V et que l'on veut une tension de sortie de 15V, le rapport R1/R2 = 2.
Donc avec R1 = 22k et R2 = 11k, la tension de sortie est asservie à 15V.
J'aime
Pour la protection surintensité, je vais reprendre plus ou moins le même principe que j'ai décrit au post #8, mais en utilisant uniquement un seul amplificateur opérationnel (l'ampli différentiel
et la comparaison se faisant en même temps).
On a donc V- = Vin*R2/(R1+R2)
V+ = Vout*R4/(R3+R4) + Vref*R3/(R3+R4)
Vout = Vin – I_limit*Rshunt
On aimerait mesurer la tension aux borne de la shunt quelque soit la tension d'entrée. Ainsi, on essaye de supprimer Vin du calcule. Pour cela, on se rend compte que l'on est obligé de prendre
R1=R3 et R2=R4, ce qui nous donne :
Vref*R3/(R3+R4) = I_limit*Rshunt*R4/(R3+R4)
I_limit = Vref/Rshunt * R3/R4
Si l'intensité traversant la shunt est inférieur à I_limit, U1 par en saturation negative, sinon, i lest en saturation positive.
On est donc bien en mesure de détecter les sur intensités avec ce montage !
Il ne nous reste donc plus qu'a intégrer cette détection à la régulation et à permettre la chute de tension en cas de surintensité
Partager Partager
Répondre « Précédent Suivant »
Réponse rapide
Ajouter
Version complète