Autor Tema: Ideas para generador de senoidal variable de muy baja frecuencia  (Leído 7553 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rakamail

  • PIC12
  • **
  • Mensajes: 54
Hola,

Voy a construirme un generador de onda senoidal de frecuencia entre 35 y 70 Hz, y su cuadratura y estoy intentando recopilar ideas. La más sencilla es la de generar una onda cuadrada y luego filtrarla para obtener una senoidal. Así tengo montado un oscilador con unos divisores y funciona muy bien, pero ahora necesito que la frecuencia sea variable.
Lo más sencillo sería tener en un PIC una rutina de retraso controlable para así ajustar la frecuencia de la señal cuadrada, y filtrarla externamente. La siguiente opción que tengo es la que aparece en un documento de Microchip (AN543). Otra sería la de montar una tabla para reconstruir la senoidal.

Este oscilador lo que haría sería controlar la frecuencia de entrada de un motor síncrono para controlar su velocidad con mucha exactitud.

Si alguno tiene alguna idea para la generación y sobre todo para la medida de una frecuencia (para obtener la señal de error) se lo agradecería.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #1 en: 25 de Abril de 2007, 17:35:38 »
Si tienes un hardware que ya te filtra una onda cuadrada a valores aceptables para convertirse en una senoidal, porqué no usas un PWM? Si solo harás eso, el PWM depende mucho de la frecuencia de clock del micro pero podrías usar un PWM por software.

Te lo aclaro porque el PWM depende en general del Timer2 al cual no se le puede agregar una base de tiempo externa, lo cual hace que el PWM sea muy veloz (en el orden de los Khz).  Por eso para bajas frecuencias tal vez debas bajar la frecuencia del micro o bien usar un PWM por software.


- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Rakamail

  • PIC12
  • **
  • Mensajes: 54
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #2 en: 26 de Abril de 2007, 02:30:07 »
Hola Maunix,

Sí, claro, el PWM es una alternativa, eso es sencillo, pero lo que más me preocupa es controlar su exactitud a bajas frecuencias, y su deriva. ¿Existe algún método para medir la frecuencia (la ya generada, la cuadrada) que no dependa demasiado del reloj? ¿Qué algoritmo puedo usar para comprobar que el motor está girando a su velocidad correcta?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #3 en: 26 de Abril de 2007, 11:38:22 »
Hola Maunix,

Sí, claro, el PWM es una alternativa, eso es sencillo, pero lo que más me preocupa es controlar su exactitud a bajas frecuencias, y su deriva. ¿Existe algún método para medir la frecuencia (la ya generada, la cuadrada) que no dependa demasiado del reloj? ¿Qué algoritmo puedo usar para comprobar que el motor está girando a su velocidad correcta?

No te entiendo.  El PIC es un sistema controlado por un clock, cómo quieres saber si anda bien o mal si es precisamente éste quien te genera la frecuencia?

Hay circuitos que te mandan una señal analógica en función de la diferencia de frecuencia de 2 señales (y a alguien se le ocurrió también luego hacer un PLL) pero en este (tu caso) debieras saber o tener una referencia de 70Hz para que tu circuito o bien una frecuencia inferior o superior y hacer una división de frecuencia (con un contador de desplazamiento) que te sirva como referencia.

Tomas la frecuencia de referencia con la que logras con tu pic y ahí obtienes una señal de error que será proporcional a la diferencia, pero como te dije antes, necesitas de esa referencia la cual deberá además cambiar cuando quieras cambiar la frecuencia de salida.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado josepunki

  • PIC10
  • *
  • Mensajes: 43
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #4 en: 26 de Abril de 2007, 11:48:17 »
que os parece la idea de integrar una onda "rampa" mediante AOs para generar la senoidal?? se que no es exactamente un seno pero se aproxima bastante, no?

Desconectado Rakamail

  • PIC12
  • **
  • Mensajes: 54
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #5 en: 29 de Abril de 2007, 17:32:06 »
El sistema que estoy pensando es para controlar la velocidad de giro de un motor de un giradiscos (un plato para vinilos). Mi objetivo es hacerlo lo más exacto posible, y contando con una medida de la velocidad real del motor. Un posible algoritmo es el siguiente: mido la velocidad del motor, la convierto en frecuencia, la comparo con el objetivo y actúo en consecuencia. Mi duda es cómo hacer que este proceso sea exacto. Tengo que pensar un poco más la idea para definir algo más.

¿Qué metodos/integrados hay para medir una frecuencia?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #6 en: 29 de Abril de 2007, 20:08:05 »
que os parece la idea de integrar una onda "rampa" mediante AOs para generar la senoidal?? se que no es exactamente un seno pero se aproxima bastante, no?

Me parece más práctico usar solamente un filtro pasabajo y ajustar el software para que el PWM genere la onda senoidal.  De todas formas, estas técnicas son algo molestas porque al variar mucho la frecuencia hay que hacer ajustes ya que la respuesta de un filtro no es lineal sino que suele ser exponencial.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #7 en: 29 de Abril de 2007, 20:19:50 »
La mejor opción es generar una onda cuadrada mediante el PWM de una señal de frecuencia elevada y dividirla mediante un divisor de frecuencia, al dividir la frecuencia también se divide el error, con lo cual obtenemos una precisión muy grande. Otro tema es el filtro, ya que al variar la frecuencia, también habria que variar la sintonización del filtro si queremos  que sea optima la respuesta del mismo, aunque con un filtro pasa bajos podria valer. Otra posibilidad es la que apuntas de generar la onda senoidal mediante un conversor digital-analógico (DAC) mediante una tabla con los valores preestablecidos.

Un saludo.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Rakamail

  • PIC12
  • **
  • Mensajes: 54
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #8 en: 30 de Abril de 2007, 04:38:01 »
Pero al usar un divisor pierdes resolución, ya que divides siempre por exponenciales de 2.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #9 en: 30 de Abril de 2007, 08:31:25 »
Pero al usar un divisor pierdes resolución, ya que divides siempre por exponenciales de 2.

Pero porqué el divisor agrega error?  Si la división es grande, un pequeño movimiento en la frecuencia base originará una pequeñisima variación en la frecuencia destino.

Por ej.

Si divides por 64, al sacar una frecuencia de 4480Hz, si divides por 64, te dará 70Hz.

Ahora bien, si la frecuencia de salida se corre un poco por ejemplo 4500Hz, la frec de salida será 70,31Hz

Como ves, la salida del pic varió 20Hz pero la frecuencia final solo 0.3Hz.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #10 en: 30 de Abril de 2007, 09:01:14 »
Estoy de acuerdo con maunix y tal y como digo en mi anterior post, no pierdes resolución si no que la ganas ya que si la frecuencia generada no es un múltiplo exacto de la frecuencia final, el error cometido se verá dividido por el divisor (valga la redundancia), con lo que ganaremos en precisión, ademas si tenemos en cuenta las dificultades que tiene el PIC para generar frecuencias bajas, con este método se verá solucionado.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado el_legal

  • PIC12
  • **
  • Mensajes: 65
    • LINAP SRL
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #11 en: 30 de Abril de 2007, 09:23:17 »
Si se utiliza un filtro pasa bajo no se obtendran buenos resultados, ya que la amplitud de salida va a depender de la frecuencia que se inyecte al mismo.
Para mi la mejor opcion , para hacer un generador senoidal, es hacer un recortador de señal triangular con diodos, este tipo de generador no cambia su amplitud con la frecuencia y se puede optener respuetas con una distorcion tan baja como se desee. El unico limitante que tiene es la velocidad de los diodos.
Si a alguien le interesa como hacerlo les subo un circuito.
"Si alguno quiere ser el primero, que se haga el último de todos y el servidor de todos."
 Mc 9.35

Desconectado Renatox_

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 541
    • máquinas cnc
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #12 en: 30 de Abril de 2007, 11:00:26 »
 Hola, puedes también generar una señal senoidal con un Inversor de Pulso Resonante, está en todos los libros de electrónica de potencia. Controlas la frecuencia disparando SCRs, la onda senoidal está bien definida, y el circuito no es difícil de construir.

 Para medir la velocidad en tiempo real también puedes utilizar un encoder, por ejm cada 10mseg mides la cuenta de pulsos y puedes hallar las RPM. También podrías usar un Resolver que te saca una señal senoidal cuya frecuencia varía con la velocidad del motor, también con un resolver puedes medir el ángulo en tiempo real.

 En un resolver la velocidad del motor se mide con la frecuencia y la posición angular se mide con la amplitud, por ejm a 45º la amplitud es máxima, pero a 90º es cero.

Saludos
control de movimiento

Desconectado Renatox_

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 541
    • máquinas cnc
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #13 en: 30 de Abril de 2007, 23:55:06 »
 Upss metí la pata arriba, revisé sobre resolver y estos reciben una frecuencia fija de un circuito externo, por tanto su frecuencia no cambia, lo que cambia es su amplitud y esta depende del ángulo del rotor, si es 0º puede ser 0v si es 90º puede ser 12v rms.

 Pero hay circuitos como los AD2S80, AD2S82, AD2S83 y un oscilador de referencia para los resolvers AD2S99 de Analog Devices, que permiten además de obtener la posición en formato digital hallar la velocidad de giro.

Saludos.
control de movimiento

Desconectado Rakamail

  • PIC12
  • **
  • Mensajes: 54
Re: Ideas para generador de senoidal variable de muy baja frecuencia
« Respuesta #14 en: 25 de Mayo de 2007, 15:26:46 »
Muchas gracias por vuestras aportaciones.

He estado estudiando un poco, y efectivamente maunix tiene razón: el error se reduce.

El_legal, parece interesante lo que dices, puedes poner un esquema del recortador de señal triangular que dices?

Renatox, revisaré los circuitos que mencionas.