Autor Tema: Enhanced PWM EPWM PIC PIC16F salidas duty independientes  (Leído 1133 veces)

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

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« en: 30 de Septiembre de 2015, 14:00:53 »
Estoy usando el PIC16F886 y necesito 3 salidas PWM por hardware de la misma frecuencia pero con diferente duty cada una.

Como el modo EPWM tiene 4 salidas independientes (P1A, P1B, P1C y P1D) pense que podría tener control del duty cycle de cada una sin importar que fuera a la misma frecuencia. Pero parece que este modo está más orientado a motores y no permite un control independiente de cada salida. ¿Cierto?
 

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2795
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #1 en: 30 de Septiembre de 2015, 14:18:00 »
Citar
Como el modo EPWM tiene 4 salidas independientes (P1A, P1B, P1C y P1D) pense que podría tener control del duty cycle de cada una sin importar que fuera a la misma frecuencia. Pero parece que este modo está más orientado a motores y no permite un control independiente de cada salida. ¿Cierto?

la verdad es que no lo se, pero ¿por que no los haces por software y arreglado? si el micro va sobrado para la aplicación te lo puedes plantear.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7805
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #2 en: 30 de Septiembre de 2015, 14:31:14 »
Creo que te confundiste y no son independientes, Si miras el diagrama solamente posee un punto de comparacion que es el modulo CCP1, eso segun si encuentra un match en el periodo o en el duty activa la salida, y luego hay una logica que maneja las salidas segun la señal que le dan estos comparadores, como bien decis esta esta mas pensado por ahi para una fuente o un motor. En el que podes implementar un puente H o medio puente. Pero no para que las 4 salidas sean independientes ( es decir que cada uno tenga un registro comparador de duty al menos)

Si vas con ese micro, entonces no queda otra que ir a un PWM por software.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #3 en: 30 de Septiembre de 2015, 14:42:25 »
Si pensé en un principio hacerlo por software, pero el EPWM aparentaba tener 4 registros independientes duty pero con frecuencia única.

Ahora confirmado que no es así, lo haré por software. ¡Gracias!

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 453
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #4 en: 30 de Septiembre de 2015, 14:55:52 »
Usa un atmega8 que cuesta menos y tiene los 3 PWM o el atmega88. si busca un pic con mas pwm sale mas caro.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #5 en: 06 de Octubre de 2015, 14:06:53 »
Usa un atmega8 que cuesta menos y tiene los 3 PWM o el atmega88. si busca un pic con mas pwm sale mas caro.
Gracias, lo tendré en cuenta.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4862
qui
« Respuesta #6 en: 06 de Octubre de 2015, 14:18:34 »
 :) el Atmega168 tiene 6 PWM y muy baratos.
si busca en el foro nuestros de Atmel alli vera como lo hago ;-)

Aqui te pongo 4pwm del Atmega168
$regfile = "m168def.dat"                                    ' aqui usamos el Atmega168 que posee 6 PWM Hw
$crystal = 8000000                                          'Interne Fuses  Clock Division by 8
$hwstack = 40
$swstack = 16
$framesize = 32
$lib "mcsbyte.lbx "                                         'usaremos la libreria byte para optimatizar el codigo

'Configuration de los puertos
Config Portb.1 = Output                                     ' LED1 Rojo
Config Portb.2 = Output                                     'LED2 Verde
Config Portb.3 = Output                                     'LED3 Azul
Config Portd.3 = Output                                     'LED4 Amarillo
Config Portd.2 = Input                                      ' irR TSOP1738
Config Rc5 = Pind.2                                         'aqui activamos la resistencia interna del puerto D2

'Config Timer1 y Timer2 para PWM . atencion Timer0 trabaja interno con el protocologo GetRC5 de Bascom
'Timer0 trabaja con el protocologo RC5
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Config Timer2 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
'Declaration Variable

Dim Pwmval1 As Byte                                         ' Variable para Pwm1(  PortB.1=OC1A )
Dim Pwmval2 As Byte                                         '  Variable para Pwm2( PortB.2-=OC1B)
Dim Pwmval3 As Byte                                         'Variable para Pwm(PortB.3=OC2A)
Dim Pwmval4 As Byte                                         'Variable para Pwm(Port.D=OC2B

cada pwm puede poner el Dusty como quiera.


Saludo
« Última modificación: 06 de Octubre de 2015, 15:06:18 por stk500 »

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2040
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #7 en: 06 de Octubre de 2015, 21:50:23 »
Tambien puedes utilizar un pic16F767 tiene tres pwm por hardware y resuelto el problema  :mrgreen:

Saludos

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: Enhanced PWM EPWM PIC PIC16F salidas duty independientes
« Respuesta #8 en: 07 de Octubre de 2015, 17:55:23 »
Grandes datos, gracias!


 

anything