¿Cómo es posible tener frecuencia en un circuito de CC?

1

Preface

Por favor, lea esto cuidadosamente. Le dedico mucho tiempo y realmente estoy intentando entender. He leído numerosos artículos sobre circuitos de CC y CA y he buscado en numerosos lugares para obtener esta respuesta, pero no estoy seguro de saber los términos correctos que están involucrados.

También, sí, he buscado en Google "¿un circuito de CC puede tener frecuencia?" Y las respuestas que obtiene son que los circuitos de CC tienen una frecuencia de 0.

Background

Estoy intentando construir un circuito que examine una frecuencia de entrada y la convierta a MIDI. Aquí está el esquema del circuito del sitio oficial de Arduino (que es incorrecto en al menos un lugar):

Explicacióndeerrores

Puedeverque,poralgunarazón,eldiseñadororiginaldibujólasalidadeOpAmp2apesardequenotieneentrada.

Miintentodeprueba

Desdequeestabaintentandoprobarelcódigodeeseartículo.SoloqueríaleeralgunosvaloresfueradeA0.Soloparavercómofuncionalacosa,asípodrécomenzaraaplicaringenieríainversaalcircuitoobviamenteerróneo.

Noreproducirétodoelcódigo,peroaquíestálaparteimportante:Nota:elcódigoesdelartículodondeobtuveelesquema( enlace )

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(11, OUTPUT);
  // Set available bandwidth between 75Hz and 600Hz
  meter.setBandwidth(75.00, 600.00);          
  // Intialize A0 at sample rate of 45kHz
  meter.begin(A0, 45000);                     
}

void loop() {
  float frequency = meter.getFrequency();
  Serial.prinln(frequency);
  if (frequency > 0)
  {
   // Find the index of the corresponding frequency
    int noteIndex = searchForNote(frequency); 
    int note = notePitch[noteIndex];         

Básicamente, todo lo que me importaba era leer la frecuencia que recibía del método meter.getFrequency () e imprimirla en el monitor de serie.

Preparé el siguiente circuito:

simular este circuito : esquema creado usando CircuitLab

(Ahora) Resultados obvios

Así que encendí el código, abrí el monitor de serie y comencé a girar la perilla del potenciómetro, pero como probablemente ya sabes, el monitor de serie solo imprime -1.0 (negativo 1.0).

No hay frecuencia en un circuito de CC

Al principio, estaba muy confundido. ¿Por qué nunca obtendría un valor diferente a pesar de que la entrada de voltaje estaba cambiando?

Entonces, me golpeó. No hay frecuencia en un circuito de CC.

La pregunta

¿Cómo podría el código leer la frecuencia fuera del circuito? ¿Cómo podría haber frecuencia en un circuito de CC? ¿Cómo es eso posible?

Entiendo que estoy ignorando totalmente el trabajo realizado por la entrada en el circuito original (micrófono a amplificador operacional), pero también entiendo que la entrada será solo una serie de corrientes y voltajes que simplemente se amplifican con la opamp de todos modos

¿Los pulsos se convierten en frecuencia?

¿Ese es el punto, que se convertirán en pulsos y esos pulsos tendrán una frecuencia?

EDITAR: Agregar código GetFrequency Puede ver el código fuente del ArduinoFrequencyMeter en: enlace

Aquí está la fuente del método getFrequency ():

float AudioFrequencyMeter::getFrequency()
{
  float frequency = -1;

  if (checkMaxAmp > amplitudeThreshold) {
    frequency = (float)(sampleRate / period);

    if ((frequency < minFrequency) || (frequency > maxFrequency)) {
      frequency = -1;
    }
  }

  return frequency;
}

Es interesante que si checkAmp no es mayor que el valor de amplitudeThreshold entonces volverá -1. Entonces, es probable que eso sea lo que está sucediendo en el caso en el que veo todos -1.

Pero, debido a la forma en que está el código, no puede diferenciar ese problema del problema de la frecuencia que se encuentra fuera del rango, ya que la frecuencia fuera del rango también devuelve el mismo valor.

Probablemente alteraré el código en algún punto y lo devolveré -1, -2, -3 para cada caso.

    
pregunta raddevus

2 respuestas

2

"DC" es muy parecido a decir "sin fricción". Hay dos formas de definirlos:

  1. DC es de frecuencia cero. Sin fricción es cero fricción.

  2. Cualquier frecuencia que sea demasiado pequeña para que nos importe (es decir, demasiado tiempo en el tiempo) es DC. Cualquier fricción que sea demasiado pequeña para que nos importe no tiene fricción.

La definición # 1 es una buena definición teórica. No hay ambigüedad sobre lo que significa: cero es cero. Es lo que encontrarás a menudo en los libros de texto.

La definición # 2 es más práctica. Ningún ciclo natural tiene frecuencia cero, ya que su período sería una cantidad infinita de tiempo. Todo sistema mecánico tiene alguna fricción. Pero en ambos casos, estos efectos pueden ser tan pequeños que no nos preocupamos por ellos. Así que podemos tratarlos como si fueran cero.

Entonces, ¿cuál es la frecuencia de corte para DC? Varía con cada problema, y es a veces una cuestión de opinión. Parte de ser un EE es saber cuándo puedes asumir que las cosas están en estado estable.

En cuanto a tu pregunta de Arduino ... Le das una señal y trata de determinar la frecuencia de la misma. No es magia; hay un algoritmo involucrado El algoritmo tiene una frecuencia mínima y máxima; tienes razón en que devuelve -1 si la señal parece estar por encima del máximo o por debajo de la frecuencia mínima.

He aquí por qué. Supongamos que el software puede leer frecuencias tan bajas como 1 Hz. Eso significa que en el peor de los casos, tendría que esperar 1 segundo (* nota 1) para encontrar la frecuencia.

Ahora suponga que cambia la frecuencia mínima a 0.1 Hz. El tiempo de espera en el peor de los casos será de 10 segundos. A 0.001 Hz, 1000 segundos. A medida que la frecuencia se acerque a la frecuencia cero "ideal" de DC, el tiempo de espera se volverá infinito.

No quieres esperar por siempre para que el algoritmo te diga que estás en DC. Por lo tanto, devolverá -1 a menos que haya encontrado una frecuencia en el rango correcto.

(* nota 1) Sí, tal vez 0.5 segundos debido a la tasa de Nyquist. Todavía no cambia mi argumento de que el tiempo de espera se vuelve infinito.

    
respondido por el Dr Sheldon
1

simular este circuito : esquema creado usando CircuitLab

Figura 1. Conexión del potenciómetro.

El circuito de prueba del potenciómetro está cableado incorrectamente. En la Figura 1a, si el potenciómetro se gira al mínimo, cortocircuitará el suministro de 5 V a GND. En su lugar, cabléelo como en la Figura 1b para que A0 pueda barrerse de 0 a 5 V. Solo 5 / 10k = 0.5 mA fluirán a través de R2.

  

¿Cómo podría el código leer la frecuencia fuera del circuito? ¿Cómo podría haber frecuencia en un circuito de CC? ¿Cómo es eso posible?

Es posible y es inherente a algunos diseños y está diseñado deliberadamente en otros circuitos.

Fuente de alimentación de CC

simular este circuito

Figura 1. Una fuente de alimentación de CC con alimentación de red proporciona una salida de CC pero con una ondulación de 100 o 120 Hz. (Tomado de mi respuesta a ¿Cómo funciona el condensador de filtro en un circuito rectificador? ).

Figura2.Resultadosdelsimulador.(Hagaclicparaampliar.)

  • Latrazaazulsuperiormuestraelvoltajefueradelafuentedealimentaciónysepresentaalacarga.Elcondensadorestácargadoencadasemiciclodelared,peroenloshuecosdondeelvoltajecae,elvoltajecae.ElresultadoesunvoltajedeCCconunaondulacióndeCA.

Amplificadoresdeaudio

simular este circuito

Los amplificadores de audio requieren una polarización de CC en la señal de audio (que es CA) cuando el amplificador se alimenta desde una fuente de alimentación de un solo extremo.

Figura 3. El amplificador operacional se alimenta desde una sola fuente, por lo que no puede aceptar señales de entrada negativas o voltajes negativos de salida.

La solución para la Figura 3 es:

  • Agregue el condensador de bloqueo de CC C1 en la entrada.
  • desvía el op-amp a la mitad del suministro con R1 y R2.
  • Amplificar con OA1. (En este caso, la ganancia es 1 y es solo un amplificador de búfer).
  • Elimine el componente de CC con C2.

Sistema de telefonía simple (POTS)

Figura4.A Teléfono rotativo GPO 746 transmite CA superpuesta a la potencia de 50 V CC.

Otro caso familiar es el teléfono estándar. El teléfono se alimenta a 50 V CC desde el intercambio, pero el audio se superpone al CC y se transmite por la línea.

    
respondido por el Transistor

Lea otras preguntas en las etiquetas