¿Cómo puedo hacer un multivibrador astable de 50% de servicio linealmente sintonizable?

Quiero hacer un multivibrador astable con un ciclo de trabajo del 50% que se pueda ajustar con un potenciómetro para generar sonido, por lo que se desea precisión.

Mi primer pensamiento fue construir el estándar con transistores, pero eso requiere 2 resistencias que controlan la marca y el espacio por separado.

ingrese la descripción de la imagen aquí

El segundo pensamiento fue usar un temporizador 555. Hice el siguiente circuito con un potenciómetro para R3. El circuito afirma tener un ciclo de trabajo del 50 % y una frecuencia de 1,4/RC. Excepto que no satisface ninguna de esas afirmaciones.

circuito 555

Solo tiene 50% cuando Vout=Vcc, que no es el caso. Esta cosa no va de riel a riel. Tampoco es lineal. Si reduzco a la mitad la resistencia, la frecuencia es menos del doble.

Entonces la pregunta es si existe tal circuito. que realmente tiene un ciclo de trabajo del 50% y donde la frecuencia depende linealmente del tiempo RC? donde la frecuencia coincide estrechamente F = k R C

[editar] Para aclarar lo que quise decir con lineal. Cualquier tipo de relación sensata/relevante/simple entre resistencia y frecuencia servirá. Pero estaba pensando en algo que realmente hace F = 1 R C .

El punto es que quiero conectar varios potenciómetros con botones para hacer una especie de teclado. Ahora, si presiona 2 botones, obtiene resistencia paralela. Espero que esas resistencias paralelas resulten ser buenos armónicos. Es por eso que mencioné que 2 botones de la misma resistencia no hacen una octava (doble frecuencia) con el circuito 555.

[edit2] Pondré aquí algunos valores para el oscilador de relajación, que se espera que haga F = k R C , pero al igual que el circuito 555 anterior, este no parece ser el caso. C = 10 6

  • R=4,01k, f=136
  • R=3,13k, f=191
  • R=2,05k, f=290
  • R=1,30k, f=452
  • R=0,95k, f=602
  • R=0,56k, f=915
  • R=0,26k, f=1547

[edit3] El disparador Schmitt + circuito integrador propuesto por Andy Aka muestra un comportamiento similar a todos los demás, donde 2 resistencias sintonizadas a 400 Hz en paralelo solo dan 754 Hz, dos veces 200 Hz dan 392 Hz. este fue el problema principal con el circuito 555

Hacer lo que pide en la última oración (¿por qué no en la primera oración?) Es bastante difícil usando componentes analógicos (dependiendo de la precisión requerida, que por cierto no menciona). La solución obvia es usar un microcontrolador.
Aclare su frase 'es linealmente dependiente'. ¿Desea un cambio lineal en la frecuencia basado en un potenciómetro o voltaje de control, por ejemplo, 1 kHz por voltio, o qué?
Pregunta actualizada.
El 555 tiene un circuito de carga exponencial para el capacitor y por lo tanto, en su forma básica, naturalmente agrega un error adicional.

Respuestas (9)

El OP dice esto con respecto a su circuito 555: -

Si reduzco a la mitad la resistencia, la frecuencia es menos del doble.

Supongo que esto significa que la frecuencia que quiere el OP es proporcional a la inversa de la resistencia. Además, supongo que cuando el OP habla de un potenciómetro, de hecho quiere usarlo como un reóstato, es decir, un limpiaparabrisas y un extremo de la olla, también conocido como "una resistencia variable".

El uso del término "lineal" en la pregunta posiblemente sea engañoso.

Entonces, considere usar un integrador y un disparador schmitt como este: -

ingrese la descripción de la imagen aquí

Básicamente, se basa en que el condensador del integrador se carga y luego se descarga desde la salida del disparador Schmitt. Debido a que es un integrador, tendrá una rampa ascendente y descendente muy lineal debido a que la corriente que entra y sale del capacitor está determinada por la amplitud de la onda cuadrada y R3.

Hay muchos diseños basados ​​en este tipo de circuito y aquí hay otro: -

ingrese la descripción de la imagen aquí

Aquí está el artículo que lo describe con más detalle. Para ajustarlo, puede convertir R3 en un potenciómetro como el siguiente: -

ingrese la descripción de la imagen aquí

O puede usar un potenciómetro en serie con la resistencia de retroalimentación positiva en el gatillo Schmitt. Incluso puedes poner el bote en lugar de R2.

Hay variaciones de este circuito que permiten la modulación de ancho de pulso, es decir, puede hacer que la onda triangular sea más parecida a una sierra.


NUEVA SECCIÓN sobre la elección del amplificador operacional.

El mayor problema en este diseño es el comparador. Idealmente, desea que cambie su salida de positiva a negativa en tiempo cero, pero eso no sucederá. Por ejemplo, el 741 es una mala elección porque tiene un gran retraso en sacar sus transistores de salida de la saturación. Es probable que se agreguen decenas de microsegundos al retraso de propagación más normal de aproximadamente un microsegundo.

Luego, el 741 tiene una velocidad de respuesta limitada en su salida a 0,5 voltios por microsegundo. Si tiene un suministro de +/- 15 V, los niveles de voltaje de salida típicos serán de +/- 14 V (cargado con una resistencia de 10k). Cambiar la salida de +14 voltios a -14 voltios toma 56 microsegundos y necesita hacerlo dos veces por ciclo de oscilación, eso es 112 microsegundos. Durante la mayor parte del tiempo mientras hace esto, el integrador no está moviendo realmente su salida de onda triangular, pero creo que podría contar con al menos 60 microsegundos agregados al ciclo de oscilación.

Además, cuando carga la salida, el nivel de voltaje de pp cae: la hoja de datos dice que el nivel de salida del 741 caerá de +/- 14 V con una carga de 10 k a +/- 13 V con una carga de 2 k.

Entonces, ¿qué significa 60 us en este diseño? El operador dice que redujo a la mitad la resistencia y esperaba 800 Hz pero solo obtuvo 756 Hz. La diferencia de tiempo entre un ciclo de 800 Hz y un ciclo de 756 Hz es de 73 us, es decir, probablemente todo se pueda atribuir a la limitación de la velocidad de respuesta.

Para mejorar esto, obtenga un amplificador operacional mucho mejor de alrededor de 10 V / us. Luego ejecútelo desde rieles de +/- 5V. Un amplificador operacional típico de este tipo podría producir una salida de +/- 4 V, es decir, un delta de 8 V y, debido a la mejora en la velocidad de respuesta, el "retraso" sería de aproximadamente 0,8 us, pero ¿qué significa esto? Compare esto con un error de 1 Hz en 800 Hz: este es un retraso de tiempo por ciclo de 1,6 us, por lo que ahora, al usar un amplificador operacional de velocidad de respuesta de 10 V/us, da un error de 1 Hz a 1600 Hz.

Para evitar el retraso de propagación adicional (común en muchos amplificadores operacionales) cuando sus salidas se saturan, se puede usar la retroalimentación negativa para limitar la salida del comparador a quizás +/- 2.5V. El uso de series consecutivas de zeners de derivación de precisión puede hacer esto pero, como siempre, el diablo está en los detalles de la hoja de datos, por lo que no voy a proponer nada duro y rápido para esta función, simplemente busque un amplificador operacional que salga rápidamente de la saturación o busque un comparador rápido con salida push-pull.

Andy, leí su pregunta como que requiere un cambio lineal en la frecuencia con el potenciómetro. No creo que ninguno de sus ejemplos satisfaga este requisito. ¿Ellos?
@transistor esto es lo que el operador define como lineal: "Tampoco es lineal. Si reduzco a la mitad la resistencia, la frecuencia es menos del doble". Me parece que quiere ese tipo de respuesta, es decir, si la resistencia se reduce a la mitad, la frecuencia se duplica.
Entonces será una respuesta logarítmica binaria. Le pedí que me aclarara.
Traté de hacer el primer circuito en su respuesta, con el disparador y el integrador Schmitt. Pero me encontré con el mismo comportamiento en el que reducir a la mitad la resistencia no duplica la frecuencia. 2 resistencias paralelas sintonizadas a 400 Hz solo dan 756 Hz combinados, no 800 Hz.
que opamp usaste Tiene que ser rápido si quieres precisión.
Tenía algunos uA741 y LM358 en una caja, usé el uA741, que probablemente no sea una muy buena opción. Los estoy manejando con +15v y -15v, usando R1=22k, R2=10k, R3=0-4.7k C=1uF. Pero entonces estamos hablando de frecuencias inferiores a los kilohercios, así que pensé que la velocidad no sería realmente importante. Dicho esto, mi onda triangular se parece un poco a una tangente.
Mala elección de opamp. El opamp más rápido agrega un retraso insignificante cuando se conecta como un comparador. En la parte superior de mi cabeza, un 741 tarda varias decenas de microsegundos en salir de la saturación de salida positiva y girar hasta la saturación negativa. Ese es el primer problema. El segundo problema es que a medida que baja R para obtener una frecuencia más alta, está cambiando las condiciones de carga en el 741 de mierda y su voltaje de salida p/p cae un poco y lleva un poco más de lo que debería integrarse en la siguiente etapa. El diseño de osciladores realmente precisos como este requiere pensar un poco más en la elección del opamp.
Otra cosa es que el 741 tiene una velocidad de respuesta de salida de 0,5 voltios por microsegundo: pasar de +12 V a -12 V y viceversa son 48 microsegundos con solo empujar el pin de salida hacia arriba y hacia abajo. La diferencia de tiempo entre un período de 800 Hz y un período de 756 Hz es de 73 us, la mitad del error en la velocidad de respuesta de mierda. Agregue a esto los errores de propagación y amplitud mencionados en mi comentario anterior y tendrá su respuesta. Debe buscar un amplificador operacional con tiempos de subida mucho más rápidos y un retraso de propagación significativamente inferior a 1 us.
¡Ay! Muchas gracias. Aceptaré esta respuesta y miraré las hojas de datos de los amplificadores operacionales que venden en la Universidad. scintilla.utwente.nl/nl/stores/search?searchterm=opamp Los que tengo son solo restos de proyectos anteriores. Entonces, ¿estoy buscando una velocidad de respuesta baja y un retraso de propagación bajo?
Alta velocidad de respuesta ... Modificaré mi respuesta en consecuencia y posiblemente haré una sugerencia de opamp

Su oscilador 555 funcionará mucho mejor si usa una versión CMOS en lugar de la versión bipolar anterior (y solo carga la salida ligeramente). Si está obsesionado con un ciclo de trabajo del 50,0%, siga con un flip-flop (y regule bien el voltaje de suministro porque los cambios durante el ciclo afectarán el ciclo de trabajo. Eso funcionará con cualquiera de los circuitos del oscilador.

El siguiente es un circuito VCO de suministro único decente y muy barato de la hoja de datos LM324 :

ingrese la descripción de la imagen aquí

Puede usar otro de los cuatro amplificadores operacionales en el paquete como seguidor de voltaje para amortiguar el voltaje de entrada de un potenciómetro. Reemplace el BJT con un MOSFET para obtener un poco más de rango en el extremo inferior, pero el BJT es bastante bueno. La onda triangular tiene mucho menos contenido armónico que una onda cuadrada, por lo que podría ser preferible para producir audio.

El circuito anterior produce una frecuencia que es lineal con el voltaje, por lo que con un potenciómetro cónico B (lineal) + búfer obtendrá una frecuencia que aumenta linealmente con la rotación del eje del potenciómetro. La mayoría de los otros circuitos tienen un período que aumenta linealmente con la rotación del potenciómetro, por lo que la frecuencia es proporcional al recíproco del ángulo de rotación del eje del potenciómetro.

Si construye su oscilador para que funcione al doble de la frecuencia deseada, y luego coloca un flip-flop después para dividirlo por 2, la onda resultante tendrá un ciclo de trabajo del 50% todo el tiempo.

Eso aún dejaría el problema de que el circuito 555 no es realmente k/RC, pero tiene una respuesta no lineal. Posiblemente debido a la asimetría en la carga/descarga.

Tome su circuito 555 (u otro generador de frecuencia) y alimente su salida a un contador binario dividido por 2. Todos los circuitos integrados de contador en el mercado son una exageración total para una simple división por 2, pero aún costarán menos que su potenciómetro. El 4024 es una opción (divide por 1,2,4,8,16,32,64,128, es decir, 7 octavas de salida) pero hay muchas otras opciones. http://www.nxp.com/documents/data_sheet/74HC4024.pdf

[Actualización después de aclarar la pregunta]

esquemático

simular este circuito : esquema creado con CircuitLab

Una variación del circuito de retroalimentación de Andy aka con gatillo schmitt.

Cuando se suelten todos los interruptores, el integrador se desplazará lentamente a uno de los voltajes de suministro, según la compensación y la corriente de fuga.

Te divertirás tratando de afinar esta cosa.


[Respuesta original]

El microchip tiene la nota de aplicación TB3071 que proporciona una posible solución, pero requiere programar un chip.

En este informe técnico, se utiliza un PIC10F322 para implementar un oscilador controlado por voltaje (VCO) simple. Las frecuencias de salida varían de 16 Hz a 500 kHz, con una fuente de reloj generada internamente (no se requiere cristal externo). El VCO funciona con una tensión de alimentación de 2,3 a 5,5 V, con un consumo de corriente de aproximadamente 2,4 mA (5,0 VV DD).

Hay un VCO lineal analógico interesante en la página 27 de los amplificadores de diferenciación de corriente TI LM3900 . La frecuencia de salida es lineal con respecto a Vin. Puede hacer lo que usted requiere.

ingrese la descripción de la imagen aquí

El circuito integrador sugerido también parece tener un comportamiento de frecuencia no lineal, al igual que el 555 y el oscilador de relajación.
¿Porque? Las resistencias se alimentan a una tierra virtual para que el capacitor integrador se alimente con corriente constante. Reduzca a la mitad la resistencia entre la onda cuadrada y la entrada no inversora y la tasa de carga se duplica, duplicando la frecuencia de salida. OA1 realiza la función de activación Schmitt en los mismos niveles de voltaje, por lo que todo debería estar bien.
no se porque asi Pero eso es lo que veo cuando lo construyo. Sintonizo dos botones a 400 Hz, y cuando los presiono obtengo 756 Hz, no 800 Hz como esperaba. 200Hz+200Hz=392Hz. Estoy confundido.
Razones dadas en mi respuesta. Op usó un 741 y, como comparador, incurrirá en un retraso de aproximadamente 60us en el cambio de estado. ¡Esto explica el error! Se necesita un dispositivo rápido.

No puede tener una frecuencia linealmente proporcional a RC, pero puede tener el período así controlado. La frecuencia es entonces k/RC.

Podría probar un circuito basado en este boceto del reverso del sobre.

ADVERTENCIA, estos valores de componentes no harán un oscilador sensible, aunque bien puede simular que está bien, eran simplemente los valores predeterminados cuando creé el esquema. Tendrás que averiguar valores sensibles.

esquemático

simular este circuito : esquema creado con CircuitLab

Este es un oscilador de relajación. La retroalimentación positiva se logra a través de R2 y R3, con control de tiempo a través de R1 y C1.

Tenga en cuenta que este circuito, tal como se dibuja, requiere rieles dobles, ya que C1 y R3 van a tierra. Es sencillo modificarlo para operación de un solo riel con un punto de tierra efectivo.

La belleza de este circuito es que incluso si los valores bajos de R1 están cargando la salida del amplificador de tal manera que su salida cae, la caída se aplica tanto al voltaje en la resistencia de sincronización R1 como a la cadena de histéresis R2/R3, por lo que el período permanece . no se ve afectado por la impedancia de salida del amplificador. Lo mismo ocurre con las variaciones de los rieles de voltaje.

Este comportamiento contrasta con lo que sucedería si usara un inversor disparador schmidt, como el 74HC14, por ejemplo, en lugar de la combinación amplificador+R2+R3. Tiene una histéresis de entrada que es más o menos constante, independientemente del voltaje del riel y la caída de salida, por lo que esto afectaría la frecuencia. Tampoco obtendría un ciclo de trabajo del 50%.

Es razonable tener R2=R3, esto no proporciona una condición freq = 1/RC, pero no está muy lejos. Puede modificar la relación R2/R3 para obtener exactamente esa fórmula si lo desea. Hágalo ya sea analíticamente como un ejercicio, o juegue con valores en un simulador. Tiendo a lanzar un par de 10k o 100k en esas posiciones sin pensarlo más.

Deberá asegurarse de que la histéresis que elija con R2 y R3 se mantenga dentro del rango de entrada de modo común del amplificador. El amplificador predeterminado que aparece en el esquema es un TL081, que incluye el riel +ve pero no GND en su rango de modo común. Hay muchas otras opciones de amplificadores que pueden incluir conexión a tierra o ambos rieles, pero no son necesarios a menos que desee utilizar relaciones R2/R3 extremas.

ADVERTENCIAS

Este circuito es lineal y tiene un ciclo de trabajo del 50 % a primer orden, es decir, para cuando el amplificador operacional se comporta de manera ideal .

Los amplificadores operacionales reales tendrán una velocidad de respuesta finita y un producto de ganancia de ancho de banda. Una vez que el retraso después de la conmutación se convierte en una parte significativa del período, la frecuencia retrocederá desde la ley lineal que tenía a frecuencias más bajas. Use un amplificador operacional lo suficientemente rápido.

Aunque tanto la histéresis como la corriente de carga están controladas por el mismo pin, el valor de histéresis solo es relevante en el momento de la conmutación, mientras que la corriente de carga es válida durante todo el período. Si la salida del amplificador operacional varía durante el período, debido a que R1 y R2 consumen un exceso de corriente, o por un exceso de carga de salida, o por una ganancia no infinita, la frecuencia de salida no alcanzará la ley lineal a frecuencias más altas. . Mantenga el valor mínimo de R1 lo suficientemente alto.

Si las resistencias se vuelven demasiado grandes, las corrientes de compensación tomadas por el amplificador se convertirán en una fracción significativa de las corrientes que pasan a través de las resistencias y distorsionarán el ciclo de trabajo lejos del 50%.

Hay mejores diseños que tienen menos defectos, trabajando en modo de corriente en lugar de voltaje, por ejemplo, si se necesita una mejor linealidad a altas frecuencias.

Oh, parece prometedor. Lo intentaré y aceptaré si funciona. Tendré que pensar un poco sobre la situación de R2=R3 y tal vez resolver algunas ecuaciones diferenciales. Esto parece útil en.wikipedia.org/wiki/…
sí, ese enlace del oscilador de relajación es un buen descubrimiento, ¡no creo que necesites ir tan lejos como las ecuaciones diferenciales!
Entonces, ¿puede aclarar un poco la situación R2 = R3? ¿El objetivo es alcanzar el centro del rango de voltaje opamp?
R2 y R3 establecen la histéresis por su relación, que establece el valor k en la ecuación freq = k/RC, y deben elegirse para mantener el voltaje de entrada en el opamp CMR. Si R3 = 0.1R*R2, entonces la frecuencia es alta y los voltajes de entrada solo oscilan ligeramente a ambos lados del riel medio. Si R3 = 10*R2, el voltaje de entrada se acerca mucho a los rieles y la frecuencia es baja. R2 = R3 es perfectamente razonable, pero no te da k=1. Dado que tanto la histéresis como la tensión R1 dependen de la misma tensión en los terminales de salida, debería dar un 50 % m/s, incluso para pequeños errores de tensión de escala media. ¡Mira esto por favor!
Eso influiría en K, pero sin importar el valor de K, si f=k/RC, entonces f/2=k/2rc. Pero el suyo no es el caso. Si sintonizo el circuito sugerido a 440 Hz, mido una resistencia de 1,32 kOhm. Pero 0.66kOhm produce solo 829Hz en lugar de 880Hz. Esta es la parte desconcertante para mí. No podría importarme menos k.
Esto no funcionará a menos que OA1 tenga un voltaje de suministro negativo
Absolutamente, ¿qué parte de 'este circuito necesita dos rieles' no entendiste?
@Pepijn a primer orden, se aproxima a lineal, pero hay una serie de factores que distorsionarán la ley para que no sea lineal. Estos incluyen la velocidad de giro de la salida del amplificador y el ancho de banda de ganancia, lo que producirá un mayor subimpulso en la frecuencia esperada a medida que aumenta la frecuencia. Sospecho que las compensaciones de entrada y las corrientes de polarización podrían alejar el ciclo de trabajo del 50%. Si desea una linealidad exacta y un ciclo de trabajo exacto, puede utilizar técnicas de síntesis digital. Lo que también funciona sorprendentemente bien es un 74HC123 monoestable como discriminador de frecuencia, en un circuito de retroalimentación con un VCO.
Sí, necesito probar un opamp mejor. El uA741 tiene una ciénaga terrible y GBP. Aprendiendo... De hecho, descubrí que a frecuencias más bajas la aproximación es más cercana.
@ Pepijn 741? Caray, ¿siguen por aquí? Lento. TL071/081 son más de un orden de magnitud más rápidos. El costo y el consumo de energía aumentan a medida que aumenta la velocidad. ¿Qué tan cerca de lineal quieres? ¿Ha mirado la supuesta linealidad de la sección VCO de un PLL HC4046 (probablemente no 50% ms), la sugerencia en otra respuesta de seguir el VCO por una división por 2 es a prueba de balas? Un comparador dedicado debería moverse más rápido por el mismo $ y mA.

Para un control lineal preciso, desea construir un oscilador rc de una manera que asegure que el capacitor no se cargue resistivamente más de lo necesario, por lo que tanto los comparadores como los búfer de salida deben ser preferiblemente dispositivos de entrada FET.

Para un ciclo de trabajo exacto del 50%, el divisor de frecuencia ya sugerido es definitivamente la mejor solución.

Si también se desea una buena forma de diente de sierra, cargue el capacitor desde una fuente de corriente o desde un voltaje que sea muy alto en comparación con la amplitud del capacitor.

Lo que está pidiendo se llama un convertidor de voltaje a frecuencia (VFC). Esto se puede usar con una resistencia variable configurada como un potenciómetro

esquemático

simule este circuito : esquema creado con CircuitLab En lugar de perder el tiempo con los temporizadores, opte por un VFC real, como el Fairchild KA331 , que está disponible en Digikey.com por menos de un dólar. Dependiendo de la cantidad de circuitos de soporte que desee proporcionar, puede obtener linealidades VFC de .01%, que es mucho mejor que la linealidad de su potenciómetro.

Y, como se ha sugerido, divida por dos la salida para obtener exactamente un ciclo de trabajo del 50 %. Mientras quieras una onda cuadrada.

Si realmente desea una salida de onda cuadrada (50% del ciclo de trabajo), comience con un oscilador de ciclo de trabajo arbitrario y divida la salida por dos.

Ahora el problema es solo hacer un oscilador con frecuencia controlable. Eso es fácil con muchos diseños candidatos que ya existen. He aquí algunas posibilidades:

  1. Configure un comparador con histéresis y aliméntelo desde un capacitor que se carga a través de una resistencia a un voltaje variable. Cuando el límite alcanza el umbral alto, la salida se dispara y descarga fuertemente el límite a tierra. La forma de onda de la tapa será un diente de sierra redondeado con un tiempo de subida lento y un tiempo de caída rápido. El circuito emite un pulso durante el tiempo de caída. Esto entra en un flip-flop configurado como dividido por 2, que produce la salida final.

  2. Igual que el n. ° 1, excepto que la tapa se alimenta desde una fuente de corriente ajustable. Esto permitirá un control más lineal del período, y la forma de onda del límite será un verdadero diente de sierra (la parte ascendente será lineal, no una caída exponencial como antes).

  3. Igual que el n. ° 1, pero en su lugar se ajusta la resistencia al suministro fijo. Esto cambia la constante de tiempo y la pendiente promedio de la parte ascendente del "diente de sierra" exponencial.

Hay muchas otras topologías de circuitos para hacer un oscilador de frecuencia ajustable. Varían según el parámetro que se está ajustando y cuán lineal o no se asigna al período o la frecuencia.

Nuevamente, el truco principal aquí es seguir el oscilador con un divisor 2x para que su ciclo de trabajo nativo pueda ser el que resulte conveniente.