Autor Tema: ¿es posible una PWM de 50HZ con PIC16f77A?  (Leído 5751 veces)

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

Desconectado diego_castano00

  • PIC10
  • *
  • Mensajes: 30
¿es posible una PWM de 50HZ con PIC16f77A?
« en: 04 de Marzo de 2006, 22:17:00 »
Hola estoy trabajando en un proyecto para mover unos servos y el manual (futaba) me indica una señal de control de 50HZ modulada por PWM (ancho de pulso), sera que es posible generar esta señal a esta frecuencia si trabajo con un PIC 16f877A  a 4MHZ, (ah uso MPLAB y e simulador PIC SIMULATOR IDE)

alguien tiene un ejemplo en assembler que me indique como saco la señal o un diagramita de flujo que me guie, tengo muy poco entendimiento del tema; eso de los registros ccp1con, pir, es poco lo que entiendo

graciasRebotado

Desconectado kain589

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 324
RE: ¿es posible una PWM de 50HZ con PIC16f77A?
« Respuesta #1 en: 05 de Marzo de 2006, 04:02:00 »
Ayer estuve haciendo los calculos porque tambien queria usar el pwm a 50 Hz, y los resultados me daban una frecuencia minima de aproximadamente 240Hz con un cristal de 4Mhz, lo hice para 8 bits, pero si no me equivoco aunque se haga para 10 bit tampoco saldra pues entonces se usa la frecuencia del cristal sin dividir por 4
Saludos desde Córdoba, españa

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: ¿es posible una PWM de 50HZ con PIC16f77A?
« Respuesta #2 en: 05 de Marzo de 2006, 09:53:00 »
Escrito originalmente por kain589
Ayer estuve haciendo los calculos porque tambien queria usar el pwm a 50 Hz, y los resultados me daban una frecuencia minima de aproximadamente 240Hz con un cristal de 4Mhz, lo hice para 8 bits, pero si no me equivoco aunque se haga para 10 bit tampoco saldra pues entonces se usa la frecuencia del cristal sin dividir por 4


Usar 10 bits solo aumenta la precisión del duty cycle pero no te cambia la frecuencia.  La frecuencia depende del PR2 que siempre es de 8 bits

Saludos
- 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 maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: ¿es posible una PWM de 50HZ con PIC16f77A?
« Respuesta #3 en: 05 de Marzo de 2006, 11:26:00 »
Escrito originalmente por diego_castano00
Hola estoy trabajando en un proyecto para mover unos servos y el manual (futaba) me indica una señal de control de 50HZ modulada por PWM (ancho de pulso), sera que es posible generar esta señal a esta frecuencia si trabajo con un PIC 16f877A  a 4MHZ, (ah uso MPLAB y e simulador PIC SIMULATOR IDE)

alguien tiene un ejemplo en assembler que me indique como saco la señal o un diagramita de flujo que me guie, tengo muy poco entendimiento del tema; eso de los registros ccp1con, pir, es poco lo que entiendo

graciasRebotado


Fijate lo siguiente:

En el datasshet puedes ver bien el período, del cual la frecuencia será el inverso.

Frec = 1 / PeriodoPwm

PeriodoPWM = (PR2 + 1) * 4 * Tosc * Prescaler Tmr2.

En el caso mas lento para 4Mhz tienes
PR2 = 255 ,
Tosc = 250nseg para 4 Mhz
Prescaler Tmr2 = 16

Esto hace que Frec = 244 Hz.


Entonces, o desciendes la frecuencia del Clock de tu microcontrolador o bien lo haces por software.

Saludos
- 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 diego_castano00

  • PIC10
  • *
  • Mensajes: 30
RE: ¿es posible una PWM de 50HZ con PIC16f77A?
« Respuesta #4 en: 05 de Marzo de 2006, 17:21:00 »
como lo hago por software, es que me dicen que no se puede, y que mas bien lo haga por retardos uno de 20ms y otro de 10 ms (50% duty cycle) pero para mi proyecto se necesita cambiar o seleccionar varios duty cycle (5%,6%,7%10%,15%...) y creo que me es mas facil manejando el modulo pwm del pic

entonces, sabes como hacerlo por software o que XT uso para obtener la frecuencia de 50HZ

Gracias por la respuesta
Avergonzado

Desconectado kain589

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 324
RE: ¿es posible una PWM de 50HZ con PIC16f77A?
« Respuesta #5 en: 05 de Marzo de 2006, 17:34:00 »
Si quieres poder variar de 1% en 1%, puedes crear una rutina que temporice 20ms/100= 200us, y poner a funcionar 2 variables pulsos_ciclo y pulsos_duty por ejemplo. Asi introduces 100 en pulsos_ciclo para que sea a 50Hz (20 ms) que te indica cuando debe ponerse a 1 la señal(cuando se ponga a cero la variable contadora de ciclo) y restaurar el valor al conmutar y pulsos_duty que despues de ponerse a 1 se decremente hasta ponerse a cero (la variable contadora) y que conmute a estado bajo la señal.
Los decrementos se hacen por interrupcion del timer, debes tener en cuenta el peso en tiempo de las rutinas para la actualizacion de las variables
Saludos desde Córdoba, españa

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: ¿es posible una PWM de 50HZ con PIC16f77A?
« Respuesta #6 en: 05 de Marzo de 2006, 19:19:00 »
Solo puedes lograr una frecuencia así usando un cristal de 1MHz. Puedes cambiarle el cristal a tu PIC.


 

anything