Autor Tema: timer para un pwm  (Leído 2519 veces)

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

Desconectado bosstezo

  • PIC10
  • *
  • Mensajes: 9
timer para un pwm
« en: 12 de Mayo de 2005, 17:41:00 »
necesito diseñar un ckto q controle la velocidad de un motor dc pero q a la vez muestre su correspondiente velocidad en una pantalla lcd.
yo tengo la parte del programa del pwm pero me falta la parte de la velocidad.
pienso medir la velocidad de esta forma:
utilizar el timer0 configurado para 1seg. en ese segundo se debe reconocer unos pulsos constantes generados por un optoacoplador. este optoacoplador generará 8 pulsos cada vez q el motor complete una vuelta. una vez q el timer termine el seg de debe hacer la conversion de el numero de pulsos q se reconocieron a el valor de un minuto mediante conversiones matematicas.
la verdad es una idea bastante insuficiente pero la verdad es q hasta ahora estoy aprendiendo a utilizar los timers. estoy utilizando el pic 18f452.
mi pregunta es si voy por buen camino o si estoy muy perdido ¿cuantos timers tengo q utilizar?

agradeceria mucho a q me pudiera ayudar

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: timer para un pwm
« Respuesta #1 en: 12 de Mayo de 2005, 23:53:00 »
La idea es buena. Para medir la velocidad yo dibujé un círculo de plástico con varios diámetros en negro, le hice un agujero en el centro y lo pegué al eje del motor, luego puse un optoacoplador de ranura entre el círculo para medir los pulsos y al PIC.

Este proyecto ya se hizo y se llegó a buen puerto, me acuerdo porque ayudé a su realización. Búscalo que debe de estar aquí en este subFORO de C o en el de proyectos.

Un saludo

Desconectado bosstezo

  • PIC10
  • *
  • Mensajes: 9
RE: timer para un pwm
« Respuesta #2 en: 13 de Mayo de 2005, 10:08:00 »
Escrito originalmente por pocher
La idea es buena. Para medir la velocidad yo dibujé un círculo de plástico con varios diámetros en negro, le hice un agujero en el centro y lo pegué al eje del motor, luego puse un optoacoplador de ranura entre el círculo para medir los pulsos y al PIC.

Este proyecto ya se hizo y se llegó a buen puerto, me acuerdo porque ayudé a su realización. Búscalo que debe de estar aquí en este subFORO de C o en el de proyectos.

Un saludo


gracias. lo buscare y en cuanto lo tenga aviso resultados.Fumador

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: timer para un pwm
« Respuesta #3 en: 13 de Mayo de 2005, 20:11:00 »
Pues iba a poner un nuevo post pero creo que mi duda embona aqui ...

Estoy en un proyecto usando motores con PWM de los de modelismo (FUTABA S28) y en las webs encontre que se controlan de la siguiente manera ...

T = 20 ms (creo que puede variar de 11 a 20 ms)

El duty para posicionar 0° es 500 us

El duty para posicionar 180° es 2 ms

ahora ... si quiero una resolucion de 0.1 grados y tomando en cuenta el registro (8 bits) PR2

 Vamos a empezar utilizando un xtal de 4Mhz asi que vamos a las formulas :

                Tdel pwm = (1/clock)*4*t2div*(period+1)      despejo y obtengo:

                period = (Tpwm / ( (1/clock) * 4 * t2div)) - 1

                PR2 = (11 ms / ((1/4000000) * 4 * 1 )) - 1   =   10999    

                             ¬ _ ¬    (creo que no alcanza 1 byte de este registro)

y asi jugando y jugando llegue a la conclusion de que los valores mas       convenientes de Osc = 1.4000 Mhz con prescaler de 16 asi :

               PR2 = (11 ms / ((1/1400000) *4 * 16 )) - 1 = 239.625

ahora los dutys

               Duty = valor * (1 / 1400000) * ( 4 ) * t2div

               bueno, evitamos espacio de texto asi que   cha-chan ...

              valor1 = 11 para duty igual a .5 ms               valor2 = 43.75 para duty 2 ms

ahora  ... mi resolucion del motor seria de ... 180 / (43-11)  ...

              5.625 grados  es mucho  ... como logro aumentar la precision ???

Desconectado bosstezo

  • PIC10
  • *
  • Mensajes: 9
RE: timer para un pwm
« Respuesta #4 en: 16 de Mayo de 2005, 10:33:00 »
una pregunta mas... lo q pasa es q necesito realizar el programa en base a mc18 y pues no he encontrado ejemplos de programas con este sistema. en q foro o en q páginas podria conseguir ejemplos?? (sobre todo donde se utilizen los timers)

Desconectado YF-21

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 185
RE: timer para un pwm
« Respuesta #5 en: 21 de Mayo de 2005, 23:26:00 »
Parece que la solucion es un arreglo de timers asi se puede lograr una mayor resolucion