Autor Tema: PWM en un 16f84a  (Leído 7049 veces)

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

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
PWM en un 16f84a
« en: 21 de Mayo de 2006, 19:58:21 »
he estado tratando de hacer que varie el ciclo activo en pic pero lo unico que consigo esque , al aumentarle el siclo activo solo aparecen mas siclos en HIgh  y que a la medida que aparecen mas se van uniendo y haciendo pulsos mas largos,pero No puedo consegir que solo a un pulso, aumentarle su ciclo activo,

¿puedo controlar un motor de tres fases con el PWM del pic16f84a?
saludos

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: PWM en un 16f84a
« Respuesta #1 en: 21 de Mayo de 2006, 20:21:34 »
Hola Axel_18, lamento informarte que el 16F84A no posee PWM por lo que no podras controlar un motor brushless, aparte este tipo de motores necesita de 3 fases para ser controlado, o sea 3 PWM, por lo que solo con 1 no haras gran cosa.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: PWM en un 16f84a
« Respuesta #2 en: 21 de Mayo de 2006, 21:02:46 »
que pic me recomendarias para trabajar con un brushless?? y otra cosa  los 3 pwm tienen que estar defasado 120º para poder controlar el brushless y si es asi, estos serial las fases pero, puedo contolar un brushless sin un pwm, me explico utilizando un P.H.  y sincronizando los pulsos en la gate de  los transistores ???

por ejemplo

t1     t2      t3          t4      t5      t6
1       0      0            1      0        0
1       0       0           0     0          1
0       1       1           0       0        0
0       0       1            0     0         1
0        1       0           0     1         0
0        0        1         0       1        0

esto seria correaspondiente a la imagen

saludos

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: PWM en un 16f84a
« Respuesta #3 en: 21 de Mayo de 2006, 23:16:49 »
Hola Axel_18, te suguiero que rebises un poco el foro, lo que me preguntas ya esta todo respondido, por ejemplo aca tienes un link:

http://www.todopic.com.ar/foros/index.php?topic=11836.0

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: PWM en un 16f84a
« Respuesta #4 en: 22 de Mayo de 2006, 00:37:00 »
grax chaly29 pero no encuentro en ningunaparte que`pic puedo utlizar para generar un pWM

un saludo  :-) :-)

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: PWM en un 16f84a
« Respuesta #5 en: 22 de Mayo de 2006, 09:34:43 »
Hola Axel_18, puedes usar un 16F628A que anda muy bien para este caso, yo es usado este y no tube grandes problemas.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado delirio

  • PIC12
  • **
  • Mensajes: 64
Re: PWM en un 16f84a
« Respuesta #6 en: 24 de Mayo de 2006, 02:32:20 »
el unico que posee 3 PWM implementados en su hardware es el 16f777.
yo implementé sobre un 16f84 un PWM para pilotear un lampara, pero nunca con tres sobre el mismo micro.
Suerte.

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Re: PWM en un 16f84a
« Respuesta #7 en: 27 de Mayo de 2006, 01:57:57 »
holaa

estuve provando el pic 16f628a  en el proteus y la verdad obtuvelos mismos resultados que con el pic 16f84a.
lo programe en basic  utilizando el PWm, claro esta
un saludo

este es el codigo
Código: [Seleccionar]
   x var word
 
  inicio:     
   
    if portb.5=1 then
   
    pause 100
    x=(x+10)
   
    endif
       
    pwm   portb.3,x,10
    goto inicio
     

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: PWM en un 16f84a
« Respuesta #8 en: 27 de Mayo de 2006, 06:19:47 »
Dudo que puedan controlar 3 PWM con basic o C, yo e controlado 9 PWM independientes pero con .asm.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PWM en un 16f84a
« Respuesta #9 en: 27 de Mayo de 2006, 12:22:17 »
Dudo que puedan controlar 3 PWM con basic o C, yo e controlado 9 PWM independientes pero con .asm.

Un saludo.

Atte. CARLOS.



Creo que es posible manejar tantos PWM como uno quiera siempre y cuando la precisión no sea el primer punto.

No importa si es C o ensamblador, se puede hacer con ambos solo que en ensamlador (sobre todo en los 16F) como se es más directo uno aprovecha mucho mas los ciclos de reloj y puede obtener mas frecuencia de PWM funcionando a menos MHz.

Ejemplo

Cada PWM tendrá 3 variables.
PWMxCiclos --> contador de la cantidad de ciclos que pasaron desde que comenzó de nuevo el PWM
PWMxPreriodo --> cantidad de ciclos que dura el PWM
PWMxCicloActivo --> cantidad de ciclos que dura el PWM en alto.

Donde periodo y ciclo activo sean por ejemplo variables de 8 bits y donde CicloActivo sea <= a Periodo (porque cicloactivo no está expresado en procentaje sino en ciclos de instrucción).

Luego

1) Usar una interrupción con un timer, fijado por ejemplo en 500us
2) Al llegar ese tiempo se enciende un flag de otra variable
3) Ese flag de la variable es el encargado de incrementar todos los contadores PWMxCiclos de los PWM.
4) Se verifica si PWMxCiclos >= PWMxPeriodo en cuyo caso se pondra en 0 el contador y en Activo la SALIDA y sigue con el PWM siguiente,  sino va a 5)
5) Se verifica si PWMxCiclos es > PWMxCicloActivo si es así lo pone en BAJO la salida por terminar el duty cycle

De esa forma se pueden tener un PWM por cada pin que se tenga en el PIC, pero por supuesto como dije antes a mas PWM menor será la frecuencia final que se podrá obtener y además la aplicación está prácticamente dedicada a esto.   

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 Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: PWM en un 16f84a
« Respuesta #10 en: 27 de Mayo de 2006, 16:28:02 »
Hola maunix, aparte de la presicion tambien esta el problema de la frecuencia que se puede alcanzar, para darte una idea con 9 PWM en .asm y en cristal de 4Mhz solo se puede alcanzar una frecuencia maxima de alrededor de 100Hz para una resolucion de 8 bit, por lo tanto si esto mismo lo hacemos en C creo que esa frecuencia se veria reducida notablemente y habria que ver si ya es de utilidad para el proyecto deseado.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PWM en un 16f84a
« Respuesta #11 en: 28 de Mayo de 2006, 11:44:55 »
Hola maunix, aparte de la presicion tambien esta el problema de la frecuencia que se puede alcanzar, para darte una idea con 9 PWM en .asm y en cristal de 4Mhz solo se puede alcanzar una frecuencia maxima de alrededor de 100Hz para una resolucion de 8 bit, por lo tanto si esto mismo lo hacemos en C creo que esa frecuencia se veria reducida notablemente y habria que ver si ya es de utilidad para el proyecto deseado.

Carlos es así, tal cual como tú lo dices y yo no he dicho nada en contrario.

Tal vez leíste mi post velozmente, pero fíjate mis frases anteriores.

No importa si es C o ensamblador, se puede hacer con ambos solo que en ensamlador (sobre todo en los 16F) como se es más directo uno aprovecha mucho mas los ciclos de reloj y puede obtener mas frecuencia de PWM funcionando a menos MHz.

y luego

De esa forma se pueden tener un PWM por cada pin que se tenga en el PIC, pero por supuesto como dije antes a mas PWM menor será la frecuencia final que se podrá obtener y además la aplicación está prácticamente dedicada a esto. 

Como ves estoy totalmente de acuerdo contigo.

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 Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: PWM en un 16f84a
« Respuesta #12 en: 28 de Mayo de 2006, 13:07:06 »
Hola maunix, y perdona tienes razon, no se que e leido.

Un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PWM en un 16f84a
« Respuesta #13 en: 28 de Mayo de 2006, 22:36:26 »
Hola maunix, y perdona tienes razon, no se que e leido.

Un saludo.

Atte. CARLOS.

No Problem, 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)


 

anything