TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: jmg en 27 de Mayo de 2006, 07:08:45

Título: 8 PWM mediante PICS
Publicado por: jmg en 27 de Mayo de 2006, 07:08:45
Hola amios, aqui se suelen resolver todas las dudas respecto a los PIC que hay, la mia es un poquito curiosa, consta del proyecto fin de carrera de un amigote y es lo siguiente. Necesita hacer un barrido entre 0 y T, con un PWM hasta aqui muy sencillo. El problema es cuando se tiene que hacer 8 veces a la vez y desfasadas 1/8ton. El problema no es el desfase sino cuando las señales empiezan a solaparse. La cosa sale con un PIC y dos señales distintas de PWM, pero no sabemos si debemos utilizar 8 micros para tal cosa, si con 1 sólo sobraría.
Mi duda también es como comenzar esto. espero que alguién hubiese hecho algo parecido para que nos lo comente, gracias de antemano a todos los foreros.

Cuca da señales de vida------------------------------------
Título: Re: 8 PWM mediante PICS
Publicado por: Nocturno en 27 de Mayo de 2006, 12:09:04
Recuerdo que hace tiempo el paisano Dogflu66 publicó un proyecto de generación de varios PWM simultáneos con un sólo micro. No creo que llegase a 8, pero sí que manejaba 4 o 6 a la vez.
Busca por el foro y lo encontrarás.
Título: Re: 8 PWM mediante PICS
Publicado por: maunix en 27 de Mayo de 2006, 12:23:00
Hola amios, aqui se suelen resolver todas las dudas respecto a los PIC que hay, la mia es un poquito curiosa, consta del proyecto fin de carrera de un amigote y es lo siguiente. Necesita hacer un barrido entre 0 y T, con un PWM hasta aqui muy sencillo. El problema es cuando se tiene que hacer 8 veces a la vez y desfasadas 1/8ton. El problema no es el desfase sino cuando las señales empiezan a solaparse. La cosa sale con un PIC y dos señales distintas de PWM, pero no sabemos si debemos utilizar 8 micros para tal cosa, si con 1 sólo sobraría.
Mi duda también es como comenzar esto. espero que alguién hubiese hecho algo parecido para que nos lo comente, gracias de antemano a todos los foreros.

Cuca da señales de vida------------------------------------

Tal vez te sirva este link

http://www.todopic.com.ar/foros/index.php?topic=12136.new#new (http://www.todopic.com.ar/foros/index.php?topic=12136.new#new)
Título: Re: 8 PWM mediante PICS
Publicado por: GustavoT en 27 de Mayo de 2006, 15:57:31
El Rey del PWM es el 18F4431, con este tenes 4 pwm de 14bits (depende de la frecuencia) mas 2 PWM de 10bits comunes, en total 6 TODOS TOTALEMENTE INDEPENDIENTES, yo estoy usando uno de estos para armar un variador de velocidad para motores asincronicos trifasico , es lo masximo que vi en PICs, ahora tambien prodrias usar varios  F818 o F876 conectandolos con bus I2c  o SPI , tambien deberia andar bien.
Ahora no se para que queres tantas salidas PWM ?? 
por ahi si contas un poco mas del proyecto podriamos darte otra mano

Suerte
Gustavo T
Título: Re: 8 PWM mediante PICS
Publicado por: jmg en 28 de Mayo de 2006, 07:29:14
En principio agradecer la atencion que mostrais. Lo segundo el fin del proyecto con seguridad no lo se, ya lo he comentado que es un amigote que me ha pedido consejo y le estoy echando una mano. Con proteus, logro simular hasta 2 PWM,los dos que trae, y la simulación no me hace lo que quiero conseguir, este es el código:

void main (void){
long delta,value,delta2,value2;

float periodo;
   setup_ccp1(CCP_PWM);
   setup_ccp2(CCP_PWM);
   setup_timer_2(T2_DIV_BY_1,10,1);//creo que en vez de utilizar el timer2 debería de utilizar el 1
//pero esto setup_timer_1(T1_DIV_BY_1,10,1); me da problemas de compilación, concretamente me dicce que falta
//un parentesis
   setup_timer_2(T2_DIV_BY_1,5,1);
   delta=44;
 while(1){
            for(value=4;value<=delta;value=value+4){
               set_pwm1_duty(value);//value*4*(1/clock)*t2div=microsegundos=delta
               set_pwm2_duty(value/4);
                               //value=
                               //T=seteo del timer-->setup_timer_2(el valor introducido aqui)
               delay_ms(2);
            }

  for(value=delta;value>=4;value=value-4){
                set_pwm1_duty(value);//value*4*(1/clock)*t2div=microsegundos=delta
                                     //value=
                                     //T=seteo del timer-->setup_timer_2(el valor introducido aqui)
               delay_ms(2);
            }

         }
El primer for recorre T aumentando el tiempo en que el dispositivo está en uno. La opción de nocturno me a parecido buenísima, le echaré un vistazo al link que me has puesto maunix, y por supuesto voy a ver como funciona ese 18F4431, por que si es como dices es una maravilla. Gracias nuevamente desde Huelva.
Título: Re: 8 PWM mediante PICS
Publicado por: jfh900 en 28 de Mayo de 2006, 08:34:04
En esta página tienes una controladora de servos que maneja hasta 21 servos. El pic que utiliza es el PIC18F2220, espero que te ayude.

un saludo.

http://www.superrobotica.com/S310180.htm
Título: Re: 8 PWM mediante PICS
Publicado por: jmg en 29 de Mayo de 2006, 09:27:50
Muchas gracias a todos por vuestra rapida respuesta, le e echado un vistazo a la página jfh900, pero no es lo mismo el manejo de los moteores a lo que el chaval me a comentado pero muchas gracias, por lo que me he decidido es por el PIC18F4431 que tiene hasta 9 salidas de PWM, los voy a pedir por sample y mediante portoboard lo intentaré hacer funcionar. Nuevamente muchar gracias al foro por que la cantidad de ideas que hansalido en dos días por una pregunta es de agradecer. :-/