Question:
Son générateur - Bubba Oscillator
Dravidian
2017-10-03 23:55:24 UTC
view on stackexchange narkive permalink

J'essaye de simuler un Bubba Ocsillator sur MATLAB, Simulink.Le problème est que je ne suis pas capable de générer la sinusoïdale à partir du circuit.

Voici mon circuit: enter image description here

Et voici mon résultat (simulé pendant 10 secondes): enter image description here

Résultat zoomé (simulé pendant 10 secondes): enter image description here

Erreur reçue: enter image description here

Où me suis-je trompé?Comment obtenir une forme d'onde sinusoïdale pure à partir de cet oscillateur bubba ...

Que se passe-t-il après cela .....
Ce que vous voyez est le démarrage de l'oscillateur.Définissez plus de temps pour la simulation.
Après avoir défini 100 sec comme temps de simulation, l'amplitude passe à l'infini et à environ 51 sec, * La dérivée d'état au temps 51,62098161663971 n'est pas finie.La simulation sera arrêtée. * Ceci est le message d'erreur.
Cinq réponses:
JonRB
2017-10-04 01:00:36 UTC
view on stackexchange narkive permalink

Vous avez créé un modèle idéal (OPAMP à bande passante infinie, tension de sortie infinie etc ...) qui est conditionnellement stable & l'a exécuté.

regardez votre axe y, il a atteint 1,5x \ $ 10 ^ {59} \ $ ÉNORME !.C'est ce qui cause une exception ... son manque de résolution pour représenter cet "oscillateur" instable

enter image description here

SI un OPAMP plus proche de la réalité est utilisé (+ -15V, gain limité à 100 000) il se comporte

enter image description here

enter image description here

+1, merci beaucoup mon pote, pouvez-vous s'il vous plaît me montrer les valeurs que vous avez utilisées dans votre circuit ... Merci encore
uuur ... exactement le même que le vôtre (juste simulink est nul pour les afficher ...) J'ai le fichier de conception que je peux télécharger.REMARQUE: vous aurez besoin de Simscape-Electronics si vous voulez un OPAMP à bande limitée
https://ufile.io/fp62o
Désolé de vous déranger, j'utilise MATLAB 2015 b, pouvez-vous télécharger le fichier dans la version précédente si ce n'est pas beaucoup de problèmes, sinon, peu importe .. merci pour l'aide cependant ... * Fichier> Exporter le modèle vers> PrécédentVersion *, en tout cas quel est le gain d'amplitude que vous avez utilisé dans vos amplis opérationnels?
https://ufile.io/lyvkj
Bimpelrekkie
2017-10-04 00:08:07 UTC
view on stackexchange narkive permalink

Il oscille, vous pouvez le voir sur le côté droit de l'intrigue. Si vous effectuez un zoom avant sur le côté gauche, vous devriez également voir l'oscillation, mais à une amplitude beaucoup plus petite.

Votre idée fausse vient du fait que vous devez d'abord comprendre la théorie de fonctionnement des oscillateurs.

Je suggère de lire sur le critère de stabilité de Barkhausen.

Ceci indique qu'un oscillateur oscille lorsque le gain de boucle est supérieur à 1.

C'est le cas pour l'oscillateur Bubba.

Cependant, lorsque le gain de boucle reste supérieur à 1, l'amplitude de l'oscillation augmentera et continuera d'augmenter.

Vous avez utilisé des amplificateurs opérationnels idéaux (je suppose) et cela signifie que l'amplitude de l'oscillation augmentera et continuera d'augmenter. C'est ce que montre votre intrigue.

Dans l'article sur l'oscillateur Bubba, l'auteur utilise les opamps real. Ces amplificateurs opérationnels ne peuvent pas générer des tensions infinies, donc à une certaine tension leur tension de sortie sera less que ce à quoi vous vous attendriez idéalement. Et cela signifie que le loopgain devient plus petit. Un tel oscillateur avec les opamps real stabilisera son amplitude de signal au point où la boucle est précisément one.

Et cela se traduira par une amplitude stable.

La solution à votre problème est donc: utilisez (des modèles de) amplificateurs opérationnels moins idéaux.

Par ** amplis opérationnels réels **, voulez-vous dire * ampli-op à gain fini *?Désolé, je suis assez nouveau dans l'électronique ...
+1 Donc, ce que vous dites, c'est de vrais amplis op, c'est comme le cousin le plus pauvre de Bubba ....;)
Non, je veux dire des amplis op à gain fini, mais essayez-le et voyez si cela aide, ce ne sera pas le cas.Ce qu'il faut, c'est une limitation de la tension de sortie.Dans un vrai opamp, ce seront les transistors de sortie à court de courant / tension.Ce n'est pas si simple à modéliser (je sais, j'ai essayé).Vous pouvez mettre une limite ** dure ** sur la tension de sortie des amplificateurs opérationnels comme -10
@Trevor Oui, curieusement, cet oscillateur ** repose ** sur les propriétés non idéales des amplificateurs opérationnels.
Bimpelrekkie - ce n'est pas le cas.La seule propriété importante est une limitation d'amplitude due aux rails d'alimentation.De manière surprenante, un tel "hard-limit" ne provoquera qu'une légère distorsion car la boucle s'ajustera à un gain de boucle de l'unité.Une amélioration drastique (réduction) de la distorsion est possible lorsque nous utilisons deux paires de tension de rail d'alimentation différentes et lorsque la sortie est prélevée sur le bloc avec la tension d'alimentation la plus grande (effet de limitation dans le bloc avec des tensions d'alimentation plus petites.) Cet effet est introuvable.dans la littérature.
user287001
2017-10-04 00:27:51 UTC
view on stackexchange narkive permalink

Il a commencé à osciller. L'amplitude croît de façon exponentielle. La simulation est arrêtée lorsqu'un certain courant, tension ou variable interne atteint la limite de la plage de nombres disponible.

Prenez quelques diodes Zener connectées en série avec les anodes l'une contre l'autre. Insérez ce circuit de limitation en parallèle avec l'un des condensateurs. L'amplitude ne croît plus à l'infini.

Ce n'est pas une bonne solution si vous avez besoin d'une onde sinusoïdale à faible distorsion. Un bon oscillateur sinusoïdal analogique a un circuit de contrôle spécialement conçu qui vérifie l'amplitude de sortie et réduit le gain jusqu'à ce que l'amplitude de sortie soit souhaitée. Le contrôleur recherche le bon gain en continu mais a une inertie appropriée qui empêche la distorsion des impulsions sinusoïdales. Dans la théorie du contrôle, ils l'appellent contrôleur PI. Il a besoin d'un composant commandé en tension qui a un gain, une atténuation ou une résistance variable. J'ai vu dans des circuits pratiques même une résistance NTC utilisée ici.

Dans Simulink, vous pouvez prendre un redresseur, l'alimenter à partir de votre onde sinusoïdale, pomper sa sortie vers un intégrateur RC à longue durée constante et remplacer l'un de vos suiveurs de tension par un circuit qui a normalement un gain = 1, mais réduit le gain avec une forte pente dès que la tension dans l'intégrateur RC dépasse une certaine limite.

jonk
2017-10-04 01:39:19 UTC
view on stackexchange narkive permalink

Juste pour ajouter un autre article à ce sujet.Voici un circuit qui devrait réellement fonctionner, utilisant un quad LT1631 et un seul rail d'alimentation:

schematic

simuler ce circuit - Schéma créé à l'aide de CircuitLab

La fréquence de sortie doit être proche d'environ \ $ \ frac {1} {2 \ pi RC} \ $ ou proche de \ $ 15.9 \: \ textrm {kHz} \ $ pour les valeurs données de \ $ R = 1 \: \ textrm {k} \ Omega \ $ et \ $ C = 10 \: \ textrm {nF} \ $ montrés dans le schéma ci-dessus.

Voici la sortie de LTSpice:

enter image description here

Vous devriez pouvoir reproduire des résultats similaires dans votre propre simulateur.

(Pour un arrangement moins cher, essayez plutôt le boîtier quadri-pack TI LMV324IPWR.)

Stephen Mendes
2019-08-09 05:48:35 UTC
view on stackexchange narkive permalink

Le gain est insuffisant pour maintenir l'oscillation.Vous avez besoin d'un gain minimum de 4. Avec les résistances indiquées (1,5M et 360k, votre gain est bien inférieur à cela).

J'ai construit le circuit et il ne fonctionne PAS.En fait, la plupart des circuits d'oscillateur bubba sur Internet ne peuvent pas fonctionner (sauf dans un programme de simulation).

Soyez mon invité, construisez-les avec de vraies pièces sur une maquette et voyez par vous-même!



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...