Tabla de contenido:

Generador de funciones: 12 pasos (con imágenes)
Generador de funciones: 12 pasos (con imágenes)

Video: Generador de funciones: 12 pasos (con imágenes)

Video: Generador de funciones: 12 pasos (con imágenes)
Video: CONVIERTE TU SMARTPHONE EN UN GENERADOR DE FUNCIONES || LABORATORIO DE ELECTRÓNICA 2024, Mes de julio
Anonim
Generador de funciones
Generador de funciones
Generador de funciones
Generador de funciones

Este instructable describe el diseño del generador de funciones basado en el circuito integrado analógico MAX038 de Maxims

El generador de funciones es una herramienta muy útil para los fanáticos de la electrónica. Es necesario para sintonizar circuitos de resonancia, probar equipos de audio y video, diseñar filtros analógicos y para muchos otros propósitos diferentes.

Hoy en día existen dos tipos principales de generadores de funciones; digitales, (basados en DSP, DDS…) que son cada vez más utilizados y analógicos, que fueron los orígenes.

Ambos tipos tienen sus ventajas y desventajas. Los generadores digitales pueden generar señales con frecuencia muy estable, pero tienen problemas para generar señales sinusoidales muy puras (lo que no es problema para los analógicos). Además, los generadores de funciones principalmente extendidos basados en el enfoque DDS no tienen un rango de generación de frecuencia tan grande.

Desde hace mucho tiempo quería diseñar un generador de funciones útil, que de alguna manera pudiera combinar algunas de las ventajas de ambos tipos de generadores (analógicos y digitales). Decidí basar el diseño en el chip Maxim MAX038 *

* Observación: Maxim ya no produce ni vende este chip. Es obsoleto. Todavía es posible encontrarlo en eBay, Aliexpress y otros sitios de componentes electrónicos.

También existen otros chips generadores de funciones analógicas (XR2206 de Exar, icl8038 de Intersil), pero tenía

un MAX038 disponible, y lo usé. Las características digitales del generador de funciones fueron realizadas por un chip Atmega328. Sus funciones son las siguientes:

  • controla la selección del rango de frecuencia
  • controla el tipo de señal (sinusoidal, rectangular, triangular, diente de sierra)
  • mide la amplitud de la señal
  • mide el desplazamiento de CC
  • mide la frecuencia de la señal
  • mide la THD de la señal sinusoidal en el rango de audio (esto aún debe implementarse)
  • muestra toda esta información en una pantalla LCD de 16x2 caracteres.

Paso 1: Descripción de MAX038

MAX038 Descripción
MAX038 Descripción

He adjuntado la hoja de datos MAX038. Allí se pueden ver los parámetros de chip más importantes:

♦ Rango de frecuencia de operación de 0.1Hz a 20MHz

♦ Formas de onda de triángulo, diente de sierra, seno, cuadrado y pulso

♦ Ajustes independientes de frecuencia y ciclo de trabajo

♦ Rango de barrido de frecuencia de 350 a 1

♦ Ciclo de trabajo variable del 15% al 85%

♦ Búfer de salida de baja impedancia: 0,1 Ω

♦ Desviación de temperatura baja de 200ppm / ° C

Otro requisito importante es la necesidad de suministro dual (± 5V). La amplitud de salida es fija (~ 2 VP-P con compensación de 0 V CC).

En la página 8 de la hoja de datos se puede ver el diagrama de bloques del chip. En la página 11 se puede ver el circuito más simple, que se puede utilizar para generar una señal de onda sinusoidal. Este circuito se tomó como base para el diseño del generador de funciones.

Paso 2: El circuito…

El circuito …
El circuito …

En la imagen se presenta el circuito del generador de funciones. Hice esta imagen con la mayor resolución posible para garantizar que cada valor de.dispositivo se pueda leer correctamente. Los esquemas parecen bastante complejos y, para entenderlos mejor, explicaré sus partes principales por separado. Muchos lectores podrían culparme de que el circuito es demasiado redundante. Eso es verdad. Al principio puede ver que contiene dos chips MAX038. La razón es que la PCB admite ambos tipos de paquetes SO y DIP. La redundancia se puede ver también en algunas funciones:

1) Los LED muestran el rango de frecuencia activa actual, pero también se muestra en la pantalla LCD;

2) Los LED también se utilizan para indicar el tipo de señal, pero también la pantalla LCD muestra esta información

El diseño se realiza de esta manera para permitir más flexibilidad al usuario: si lo desea, no podría usar la pantalla LCD o simplemente puede omitir la soldadura de los LED. Los he soldado para poder depurar la funcionalidad durante las fases de diseño.

También se puede notar que utilizo muchos opamps. Algunos de ellos se pueden omitir sin problemas, especialmente los búferes. En la actualidad, los amplificadores operacionales ofrecen una gran redundancia por sí mismos: en un paquete puede encontrar 2, 4 incluso 8 amplificadores separados, y esto a un precio relativamente bajo. ¿Por qué no usarlos?

También son redundantes los condensadores de filtrado: cada chip analógico utilizado tiene su propio banco de condensadores (tantalio + condensadores cerámicos para ambas fuentes). Algunos de ellos también pueden omitirse.

Paso 3: Explicación del circuito: fuente de alimentación (1)

Explicación del circuito: fuente de alimentación (1)
Explicación del circuito: fuente de alimentación (1)

Como dije, este generador requiere doble suministro. El voltaje positivo se crea mediante el uso del regulador de voltaje lineal 7805. El suministro negativo es generado por el chip 7905. El punto de toma central del transformador de 2x6V está conectado a la tierra común de la placa. Las fuentes de alimentación generadas, tanto las positivas como las negativas, se separan en analógicas y digitales mediante calzos. Dos LED indican la presencia de cada suministro.

Paso 4: Explicación del circuito - Control de rango de frecuencia (2)

Explicación del circuito: control de rango de frecuencia (2)
Explicación del circuito: control de rango de frecuencia (2)

Para cubrir un amplio rango de frecuencia se utiliza un banco de condensadores múltiples. Los condensadores tienen diferentes valores y definen diferentes subrangos de frecuencia. Sólo uno de estos condensadores se utiliza durante el trabajo: su placa inferior está conectada a tierra mediante un interruptor de transistor MOS. La placa inferior de los condensadores que se conectará a tierra está controlada por el Atmega328 mediante el uso del chip demultiplexor 74HC238. Como conmutadores MOS utilicé transistores BSS123. El requisito principal para este interruptor es tener un Ron bajo y la capacitancia de drenaje más baja posible. El control digital del banco de condensadores se puede omitir: la PCB contiene orificios para soldar los cables del interruptor giratorio mecánico.

Paso 5: Explicación del circuito: ajuste de frecuencia (3)

Explicación del circuito: ajuste de frecuencia (3)
Explicación del circuito: ajuste de frecuencia (3)

En la imagen se muestran los circuitos de control de frecuencia y ciclo de trabajo. Allí utilicé el opamp estándar LM358 (amplificador dual en un paquete). También utilicé potenciómetros duales de 10K.

El chip MAX038 genera una referencia de voltaje interna de 2,5 V, que se utiliza normalmente como referencia para todos los ajustes.

Este voltaje se aplica en la entrada inversora de IC8a y genera una referencia de voltaje negativa utilizada para el DADJ (ajuste del ciclo de trabajo). Ambos voltajes se aplican en el potenciómetro para el DADJ, cuya derivación central está amortiguada y aplicada al pin DADJ del chip MAX038. El puente JP5 se puede utilizar para desactivar la función DADJ, cuando está conectado a tierra. El control de frecuencia "Curso" se realiza cambiando la corriente hundida / originada en el pin MAX038 "IIN". Esta corriente está definida por la resistencia R41 y el voltaje de salida del amplificador operacional que amortigua la toma central del potenciómetro de control de frecuencia de curso. Todos estos pueden ser reemplazados por un solo potenciómetro (en conexión de reostato) entre los pines REF e IIN MAX038.

Paso 6: Explicación del circuito: control de amplitud, generación de señal SYNC … (4)

Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)
Explicación del circuito: control de amplitud, generación de señal SYNC … (4)

Como está escrito en la hoja de datos, la señal de salida del MAX038 tiene una amplitud de ~ 1 V con voltaje de CC igual al potencial de tierra.

Quería tener la posibilidad de controlar la amplitud de la señal y poder definir el desplazamiento de CC por mí mismo. Como característica adicional quería tener señal SYNC con niveles CMOS en paralelo con la señal de salida. Por defecto, el chip MAX038 genera dicha señal, pero en la hoja de datos leí que si esta función está habilitada (lo que significa: pin DV + conectado a 5V), se pueden observar algunos picos (ruido) en la señal analógica de salida. Lo más limpio posible y por eso generé la señal SYNC externamente. La PCB se realiza de manera que el pin DV + se pueda conectar fácilmente a la fuente principal. El pin SYNC se enruta al conector BNC; solo se debe soldar una resistencia de 50 ohmios. En este caso, se puede omitir el circuito de generación de la señal SYNC. Aquí, como puede ver, utilizo también potenciómetros duales, pero no están conectados en paralelo. La razón de esto es que mido la amplitud relativamente. El voltaje en el punto medio de un potenciómetro es detectado por el ADC Atmega328 y la amplitud de la señal se calcula en base a este valor. Por supuesto, este método no es muy preciso (se basa en la coincidencia de ambas secciones del potenciómetro, lo que no siempre ocurre), pero es lo suficientemente preciso para mis aplicaciones. En este circuito, IC2A funciona como búfer de voltaje. IC4A también. El amplificador operacional IC2B funciona como amplificador sumador: crea la señal de salida del generador funcional como suma del voltaje de compensación y la señal principal con amplitud ajustada. El divisor de voltaje R15. R17 genera una señal de voltaje adecuada para medir la compensación de la señal principal de CC. Es detectado por el Atmega328 ADC. El opamp IC4B funciona como comparador: controla el inversor de generación SYNC realizado por los dos transistores MOS (BSS123 y BSS84). El U6 (THS4281 - Texas Instruments) cambia la señal de salida generada por el MAX038 DC con 2.5 V y la amplifica 1.5 veces. Por tanto, la señal generada es detectada por el AVR ADC y procesada con el algoritmo FFT. En esta parte utilicé amplificadores operacionales de riel a riel de alta calidad con un ancho de banda de 130 MHz (TI - LMH6619).

Para que sea más fácil entender cómo funciona exactamente la generación de la señal SYNC, incluyo algunas imágenes de las simulaciones LTSpice del circuito. En la tercera imagen: la señal azul es el voltaje de compensación (entrada del IC2B). El verde es la señal de salida con amplitud ajustada. El rojo es la señal de salida del generador funcional, la curva cian es la señal SYNC.

Paso 7: Diseño de PCB

Diseño de PCB
Diseño de PCB

Usé "Eagle" para el diseño de la PCB. Pedí los PCB en "PCBway". Les tomó solo cuatro días producir las tablas y una semana para entregarlas. Su calidad es alta y el precio es extremadamente bajo. ¡Pagué solo 13 USD por 10 PCB!

Además de eso, podría pedir PCB de diferentes colores sin aumentar el precio. He elegido los amarillos:-).

Adjunto los archivos gerber de acuerdo con las reglas de diseño "PCBway".

Paso 8: soldadura

Image
Image
Soldadura
Soldadura
Soldadura
Soldadura

Primero soldé los dispositivos del circuito de la fuente de alimentación.

Después de probar el bloque de suministro, he soldado el chip Atmega328 con sus dispositivos de soporte: cristal de cuarzo, condensadores, tapas de filtrado y el conector ISP. Como ve, tengo un puente en la línea de suministro del chip AVR. Lo desconecto cuando programo el chip a través del ISP. Utilizo el programador USBtiny para ese propósito.

Como siguiente paso, soldé el chip de mux 74HC238, los LED indican el rango de frecuencia. Cargué un pequeño programa Arduino en el chip Atmega, que estaba probando la multiplexación. (vea el video debajo del enlace de arriba)

Paso 9: Soldar …

Soldadura…
Soldadura…
Soldadura…
Soldadura…
Soldadura…
Soldadura…

Como siguiente paso, soldé los amplificadores operando en modo DC (LM358) y los potenciómetros de ajuste de frecuencia y DADJ y verifiqué todas sus funciones.

Además, soldé los interruptores BSS123, los condensadores de determinación de frecuencia y el chip MAX039. Probé el generador funcional probando la señal en la salida de señal del chip nativo. (Puede ver mi viejo osciloscopio soviético, producido en 1986, todavía funcionando en acción:-))

Paso 10: más soldadura …

Más soldadura …
Más soldadura …
Más soldadura …
Más soldadura …
Más soldadura …
Más soldadura …

Después de eso, soldé el enchufe para la pantalla LCD y lo probé con el boceto "Hola mundo".

Soldé los otros amplificadores operacionales restantes, condensadores, potenciómetros y los conectores BNC.

Paso 11: software

Image
Image
Software
Software

Para crear el firmware Atmega328 utilicé el IDE de Arduino.

Para la medición de frecuencia utilicé la biblioteca "FreqCounter". El archivo de boceto y la biblioteca utilizada están disponibles para descargar. He creado símbolos especiales para representar el modo utilizado actualmente (seno, rectangular, triángulo).

En la imagen de arriba se puede ver la información que se muestra en la pantalla LCD:

  • Frecuencia F = xxxxxxxx en Hz
  • Rango de frecuencia Rx
  • Amplitud en mV A = xxxx
  • Desplazamiento en mV 0 = xxxx
  • tipo de señal x

El generador de funciones tiene dos botones en la parte frontal en el lado izquierdo; se utilizan para cambiar el rango de frecuencia (paso hacia arriba-paso hacia abajo). A la derecha de ellos se encuentra el interruptor deslizante para el control del modo, luego de izquierda a derecha siga el potenciómetro para el control de la frecuencia (rumbo, fino, DADJ), amplitud y el offset. Cerca del potenciómetro de ajuste de compensación se coloca el interruptor que se utiliza para conmutar entre la compensación fija de 2,5 V CC y la sintonizada.

Encontré un pequeño error en el código "Generator.ino" en el archivo ZIP: los símbolos de las formas de onda sinusoidal y triangular se intercambiaron. En el único archivo "Generator.ino" adjunto aquí, se corrige el error.

Paso 12: Por hacer …

Image
Image

Como último paso, tengo la intención de implementar una función adicional: la medición de la THD de la señal sinusoidal de frecuencia de audio en tiempo real utilizando FFT. Esto es necesario, porque el ciclo de trabajo de la señal sinusoidal podría diferir del 50%, lo que puede ser causado por desajustes internos de chips y otras razones y podría crear distorsiones armónicas. El ciclo de trabajo se puede ajustar con el potenciómetro, pero sin observar la señal en el osciloscopio o analizador de espectro es imposible recortar finamente su forma. Calcular la THD con base en el algoritmo FFT podría resolver el problema. El resultado de los cálculos de THD se mostrará en la pantalla LCD en el espacio vacío superior derecho.

En el video se puede ver el espectro de la generada por la señal sinusoidal MAX038. El analizador de espectro se basa en la placa Arduino UNO + escudo TFT de 2,4 . El analizador de espectro utiliza la biblioteca Arduino SpltRadex desarrollada por Anatoly Kuzmenko para realizar FFT en tiempo real.

Todavía no me decidí: usar esta biblioteca o usar la biblioteca FHT creada por Musiclabs.

Tengo la intención de utilizar la información obtenida de las mediciones del medidor de frecuencia para calcular la ventana de muestreo adecuada y suspender el uso de ventanas adicionales durante los cálculos de FFT. Solo necesito encontrar algo de tiempo libre para que esto suceda. Espero tener algunos resultados pronto….

Recomendado: