Autor Tema: Generador de frecuencia variable  (Leído 5400 veces)

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

Desconectado iNoXSteeL

  • PIC12
  • **
  • Mensajes: 75
    • La web de InoX
Generador de frecuencia variable
« en: 19 de Febrero de 2010, 14:29:33 »
Hola a todos,

Trato de hacer un generador de frecuencias bajas, desde los 25Hz a 400Hz, variando el duty cycle desde un 25% a un 90%. Todo esto lo quería hacer con una resolución de 8 bits, pero me encuentro con muchos problemas ya que también quiero manejar con el mismo pic un display GLCD.

Si hago el conteo, con un timer y una variable para que a la máxima frecuencia tenga un 255, tendría una frecuencia de timer de 102KHz (cristal 10MHz), pero si hago esto, permanece en la interrupción continuamente, no llega a mostrar nada en un display (para la prueba uso un lcd 20x2), si bajo la precarga del timer (si la pongo casi al máximo, no salen las cuentas), funciona bien el display pero la frecuencia no me sirve o su resolución es muy baja.. :5]

Si uso PWM por hardware, no puedo hacer un ajuste fino de las frecuencias, ya que algunas para ajustar el duty la resolución es muy baja, y si trato de obtener más resolución me paso de frecuencia..

Seria posible hacerlo?

Gracias de antemano.

Un saludo.

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: Generador de frecuencia variable
« Respuesta #1 en: 19 de Febrero de 2010, 16:26:44 »
Hola! Sí se puede... me parece que yo usaría 2 timers, uno para disparar el ciclo y su duración me determinaría la frecuencia y otro para controlar el cambio de estado, es decir el duty cicle... así las interrupciones que serían dos intervienen con unas pocas instrucciones en los flancos, por así decirlo...
Mientras que en el bucle principal te dedicas a leer los sensores o mandos y escribir en las salidas o actuadores...
     

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Generador de frecuencia variable
« Respuesta #2 en: 19 de Febrero de 2010, 16:51:27 »
En la pagina de microchip hay una nota de aplicacion donde se generan 2 señales senoidales con pwm por hardware y una por software, para el control de un motor de induccion. Por ahi puedes sacar alguna idea.
ww1.microchip.com/downloads/en/AppNotes/00843a.pdfww1.microchip.com/downloads/en/AppNotes/00843a.pdf

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Generador de frecuencia variable
« Respuesta #3 en: 19 de Febrero de 2010, 17:08:23 »
Si quieres un generador varato y funcional, la mejor opción es utilizar un C.I. especifico: XR2206.

Una página donde tienes el circuito eléctrico y el circuito impreso.

http://www.webelectronica.com.ar/montajes2/nota07.htm

Si quieres realizar el generador con un PIC como trabajo didáctico, para aprender y como proyecto, no he dicho nada.

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 iNoXSteeL

  • PIC12
  • **
  • Mensajes: 75
    • La web de InoX
Re: Generador de frecuencia variable
« Respuesta #4 en: 20 de Febrero de 2010, 10:59:45 »
Hola,

Menta, como dices sería interesante pero no lo acabo de cojer, te importaría poner un pequeño ejemplo para orientarme?

Pablomaniera, gracias por el enlace, es más o menos una aplicación similar, lamentablemente está en ensamblador del cual no tengo conocimiento.

jfh900, esa fué la idea inicial, ya que es más sencillo, pero también quiero generar trenes de pulsos con una tabla de senos, entonces ya no me valdría.

Gracias nuevamente.

Un saludo!

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: Generador de frecuencia variable
« Respuesta #5 en: 22 de Febrero de 2010, 11:15:04 »
Hola iNoXSteeL.. disculpá la demora, pasa que se me rompió la antena de internet que está en mi terraza... no sé cuando me la reparen  :(
Con gusto te daré un ejemplo... pero quiero que me aclares algo...
Trato de hacer un generador de frecuencias bajas, desde los 25Hz a 400Hz, variando el duty cycle desde un 25% a un 90%. Todo esto lo quería hacer con una resolución de 8 bits, pero me encuentro con muchos problemas ya que también quiero manejar con el mismo pic un display GLCD.
Yo entendí que quieres generar una señal digital, es decir una señal cuadrada y variar el duty y la frecuencia de esta señal con buena resolución...
Bueno, me equivoqué, al ver cómo lo interpretaron otros chicos que respondieron... quieres sacar señales senoidales? hacer un generador de señales tipo instrumental?
Detallame más eso.
Otra cosa: qué pic usarás y cuál compilador y versión del mismo...

Si hago el conteo, con un timer y una variable para que a la máxima frecuencia tenga un 255, tendría una frecuencia de timer de 102KHz (cristal 10MHz), pero si hago esto, permanece en la interrupción continuamente, no llega a mostrar nada en un display (para la prueba uso un lcd 20x2), si bajo la precarga del timer (si la pongo casi al máximo, no salen las cuentas), funciona bien el display pero la frecuencia no me sirve o su resolución es muy baja.. :5]
Acá me parece que poner 255 como variable en el timer  :? con un cristal de 10Mhz normalmente Fosc interna 2,5Mhz qué divisor de frecuencia usas???
     

Desconectado iNoXSteeL

  • PIC12
  • **
  • Mensajes: 75
    • La web de InoX
Re: Generador de frecuencia variable
« Respuesta #6 en: 22 de Febrero de 2010, 17:42:55 »
Hola Menta, primeramente gracias por tu atención, te cuento..

Lo de generar onda cuadrada lo tengo solucionado, con un cristal de 20MHz y el timer0 incremento una variable con la que controlo el duty y la frecuencia. He tenido que generar una frecuencia con el timer para que a la máxima que quiero obtener tenga 100 pasos. Eso si, para obtener la mayor frecuencia desactivo el display cuando tengo en marcha la salidas de onda cuadrada y listo.

Ahora quiero incorporar una función como bien dices para generar senoidales, lo que quiero hacer es mover un puente con 4 igbt, para ello tengo que usar 2 salidas para los correspondientes drivers, en una salida un tren de pulsos con la media onda "positiva" y en el otro los a la inversa.

En esto último tengo que buscar más información para hacer los cálculos de la tabla de valores, aunque quizá haga que el pic genere la tabla cuando no funcionen las salidas de onda.

Un saludo.