Generador senoidal - Oscilador Bubba

Estoy tratando de simular un Bubba Ocsillator en MATLAB, Simulink. El problema es que no puedo generar la sinusoidal del circuito.

Este a continuación es mi circuito:ingrese la descripción de la imagen aquí

Y este a continuación es mi resultado (simulado durante 10 segundos):ingrese la descripción de la imagen aquí

Resultado ampliado (simulado durante 10 segundos):ingrese la descripción de la imagen aquí

Error recibido:ingrese la descripción de la imagen aquí

¿Qué hice mal? Cómo lograr una forma de onda sinusoidal pura de este oscilador bubba...

que pasa despues de eso.....
Lo que ves es el arranque del oscilador. Establezca más tiempo para la simulación.
Después de establecer 100 segundos como tiempo de simulación, la amplitud tiende a infinito y alrededor de 51 segundos, la derivada del estado en el tiempo 51.62098161663971 no es finita. La simulación se detendrá. Este es el mensaje de error.

Respuestas (5)

Ha creado un modelo ideal (OPAMP de ancho de banda infinito, voltaje de salida infinito, etc.) que es condicionalmente estable y lo ejecutó.

mira tu eje y, tiene un alcance de 1.5x 10 59 ¡GIGANTE!. Esto es lo que está causando una excepción... se ha quedado sin resolución para representar este "oscilador" inestable

ingrese la descripción de la imagen aquí

SI se usa un OPAMP más cercano a la realidad (+-15V, ganancia limitada a 100,000) se comporta

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

+1, muchas gracias, amigo, ¿puedes mostrarme los valores que has usado en tu circuito? Gracias una vez más.
uuur... exactamente igual que el tuyo (simulink es una basura al mostrarlos...) Tengo el archivo de diseño que puedo cargar. NOTA: necesitará Simscape-Electronics si desea un OPAMP de banda limitada
Lamento molestarlo, estoy usando MATLAB 2015 b, ¿puede cargar el archivo en la versión anterior si eso no es mucho problema, si no, no importa... gracias por la ayuda... * Archivo> Exportar modelo a> Anterior Versión *, en cualquier caso, ¿cuál es la ganancia de amplitud que usó en sus amplificadores operacionales?

Sí oscila, puedes ver que lo hace en el lado derecho de la gráfica. Si hace zoom en el lado izquierdo, también debería ver la oscilación, pero con una amplitud mucho menor.

Su concepto erróneo proviene del hecho de que primero debe comprender la teoría del funcionamiento de los osciladores .

Sugiero leer sobre el criterio de estabilidad de Barkhausen .

Esto establece que un oscilador oscila cuando la ganancia de bucle es mayor que 1 .

Para el oscilador Bubba este es el caso.

Sin embargo, cuando la ganancia de bucle permanece por encima de 1, la amplitud de la oscilación aumentará y seguirá aumentando.

Ha utilizado amplificadores operacionales ideales (sospecho) y eso significa que la amplitud de la oscilación aumentará y seguirá aumentando. Eso es lo que muestra tu trama.

En el artículo sobre el oscilador Bubba, el autor utiliza amplificadores operacionales reales . Estos amplificadores operacionales no pueden generar voltajes infinitos, por lo que en algún voltaje su voltaje de salida será menor de lo que idealmente esperaría . Y eso significa que la ganancia de bucle se vuelve más pequeña. Tal oscilador con amplificadores operacionales reales estabilizará la amplitud de su señal en el punto donde la ganancia de bucle es precisamente uno .

Y eso dará como resultado una amplitud estable.

Entonces, la solución a su problema es: use (modelos de) opamps menos ideales.

Por amplificadores operacionales reales , ¿te refieres a amplificadores operacionales de ganancia finita ? Lo siento, soy bastante nuevo en electrónica...
+1 Entonces, lo que están diciendo es que los amplificadores operacionales reales son como el primo más pobre de Bubba ... ;)
No, me refiero a amplificadores operacionales de ganancia finita, pero pruébelo y vea si ayuda, no lo hará. Lo que se necesita es una limitación en el voltaje de salida. En un amplificador operacional real, los transistores de salida se quedarán sin corriente/voltaje. Esto no es tan fácil de modelar (lo sé, lo he intentado). Podría poner un límite estricto en el voltaje de salida de los amplificadores operacionales como -10 < Vout < +10. Pero esto probablemente resultará en una onda sinusoidal distorsionada. Mejor sería usar una función tipo tanh(x) para que limite pero de forma continua.
@Trevor Sí, por extraño que parezca, este oscilador se basa en las propiedades no ideales de los amplificadores operacionales.
Bimpelrekkie - ese no es el caso. La única propiedad que es importante es una limitación de amplitud debido a los rieles de suministro de energía. Sorprendentemente, tal "limitación fuerte" causará solo una ligera distorsión porque el bucle se ajustará a una ganancia de bucle de unidad. Es posible una mejora drástica (reducción) de la distorsión cuando usamos dos pares de voltaje de riel de suministro diferentes y cuando la salida se toma del bloque con el voltaje de suministro más grande (efecto limitante en el bloque con voltajes de suministro más pequeños). Este efecto no se puede encontrar en la literatura.

Ha comenzado a oscilar. La amplitud crece exponencialmente. La simulación se detiene cuando alguna corriente, voltaje o variable interna alcanza el límite del rango numérico disponible.

Tome un par de diodos zener conectados en serie con los ánodos uno contra el otro. Inserte ese circuito limitador en paralelo con uno de los condensadores. La amplitud no crece más hasta el infinito.

Esta no es una buena solución si necesita una onda sinusoidal de baja distorsión. Un buen oscilador de onda sinusoidal analógica tiene un circuito de control especialmente diseñado que verifica la amplitud de salida y reduce la ganancia hasta que la amplitud de salida sea la deseada. El controlador busca continuamente la ganancia correcta pero tiene la inercia adecuada que evita la distorsión de los pulsos sinusoidales. En teoría de control lo llaman controlador PI. Necesita un componente controlado por voltaje que tenga ganancia, atenuación o resistencia variable. He visto en circuitos prácticos incluso una resistencia NTC utilizada aquí.

En Simulink, puede tomar un rectificador, alimentarlo desde su onda sinusoidal, bombear su salida a un integrador RC de tiempo constante prolongado y reemplazar uno de sus seguidores de voltaje con un circuito que normalmente tiene ganancia = 1, pero reduce la ganancia con una pendiente pronunciada tan pronto como ya que el voltaje en el integrador RC excede un cierto límite.

Desafortunadamente, no tengo Matlab ni Simulink, solo imitaciones de bajo costo, pero funciona allí.

Solo para agregar otra publicación más sobre esto. Aquí hay un circuito que realmente debería funcionar, usando un quad LT1631 y un solo riel de fuente de alimentación:

esquemático

simular este circuito : esquema creado con CircuitLab

La frecuencia de salida debe estar cerca de aproximadamente 1 2 π R C o cerca 15.9 kHz para los valores dados de R = 1 k Ω y C = 10 nF se muestra en el esquema anterior.

Aquí está la salida de LTSpice:

ingrese la descripción de la imagen aquí

Debería poder replicar resultados similares en su propio simulador.

(Para un arreglo más económico, pruebe el dispositivo de paquete cuádruple TI LMV324IPWR).

La ganancia es insuficiente para sostener la oscilación. Necesita una ganancia mínima de 4. Con las resistencias que se muestran (1.5M y 360k, su ganancia es mucho menor que eso).

He construido el circuito y NO funciona. De hecho, la mayoría de los circuitos osciladores bubba en Internet no pueden funcionar (excepto en un programa de simulación).

Sea mi invitado, constrúyalos con piezas reales en una placa de prueba y compruébelo usted mismo.