Motor Pwm

Páginas: 9 (2173 palabras) Publicado: 12 de noviembre de 2012
TTODO PARA EL PWM:

La lógica en la programaciónLa lógica en la programación del PWM

Muchas son las formas, algoritmos e ideas que podemos aplicar para programar nuestra rutina y este no es un caso particular. 

A cada uno de nosotros se nos ocurrirán formas más o menos complicada, más o menos largas de codificar y más o menos eficientes para escribir nuestro programa. pero todas igual deválidas.

Como la idea de este tutorial no es demostrar nada sino retransmitir lo poco que se sabe a fin de que se mejore el conocimiento medio de todos nosotros, lo que trataremos de hacer es reducir al máximo la complejidad sin hacerle mucho caso a la eficiencia, a fin de que cualquiera que lo lea lo pueda entender, aplicar y mejorar.
A ustedes les dejo el perfeccionamiento del firmware delPIC.

Tampoco consideraremos cual debería ser el tiempo óptimo del pulso, sino que ustilizaremos un tiempo bastante corto en el cual el motor no salte y además tenga tiempo suficiente para responder a la solicitud de movimiento. 

De igual manera y a fin de simplificar aun más las cosas, trataremos de no utilizar en la rutina de PWM interrupciones, watch dog ni TMR0.

Antes de empezar adiseñar la rutina deberemos establecer como vamos a conectar nuestro PIC con el mundo exterior y de que manera lo vamos a controlar.

Como circuito de práctica y lineamientos generales haremos que nuestro PIC cumpla con estas condiciones:

1 ) Controlaremos un motor DC
2 ) Usaremos una frecuencia de 4 Mhz
3 ) Usaremos la puerta B
4 ) Pin de control del motor RB4 (SALIDA)
5 ) Pin de controldel motor RB5 (SALIDA)
6 ) El pin RB6 indicará con un LED uno de los dos sentidos de giro (SALIDA)
7 ) El pin RB7 indicará con un LED el otro sentido de giro (SALIDA)
8 ) Haremos que el control sea externo es decir, desde un computador. Para esto usaremos los siguientes pines (ojo, porque a veces esto confunde un poco):
a. RB1: Recepción DESDE el Puerto Serial. (Deberá conectarse a la pata Tx delserial – pin 2 DB9). Este pin como ENTRADA.
b. RB2: Transmisión HACIA el Puerto Serial. (Debera conectarse a la pata Rx del serial – pin 3 DB9). Este pin como SALIDA. 
9) RB0/INT la dejamos en standby a ver si la usamos luego para indicar o producir algún evento.

Lógica de la rutina, el algoritmo:

Supongamos que tenemos una palabra de 8 bits para indicar el Duty Cycle de nuestros pulsos esdecir, un byte. Por consiguiente tendríamos 2^8 posibles valores = 256 (desde 0 hasta 255)

Lo que vamos a hacer es normalizar a 1 nuestra temporización. Esto quiere decir que si consideramos que 1 es el tiempo total de un pulso completo, podemos afirmar que:

TALTA= CICLO/256
TBAJA=1-TALTA

Donde CICLO varía desde 0 hasta 255. (El 256 del divisor indica los 256 posibles valores)

CICLOes una variable que usaremos al enviar el valor para la determinación del tiempo de alta. 

La idea es contar desde 0 hasta CICLO manteniendo la alimentación del motor encendida y el tiempo restante, hasta llegar a 256 se colocará la salida en 0.

Usemos el acumulador del PIC (W) como contador, teniendo entonces que:

W=W + CICLO con CICLO = 0, 1, 2, 3, …. 255 y conteniendo el valor deseadopor nosotros. 

Habíamos dicho que no usaríamos interrupciones ni desbordes de temporizadores, pero necesitamos una forma de saber cuando el contador llegó a 256 o mejor dicho, cuando terminó de dar una vuelta completa.

Una forma de hacerlo es utilizando la bandera de CARRY (bit de acarreo) del registro de ESTADO del PIC.

Con esto en mente:

1) Si CICLO vale 0, nunca ocurrirá un carry yla salida siempre estará a 0.
2) Si CICLO vale 1 el carry se activará cuando el acumulador W, luego de haber empezado a contar desde 0, llegue a 0xFF y pase de nuevo a 0x00 (de 255 a 0). Entonces la salida estará alimentando al motor la 1/256ava parte del tiempo total.
3) Si CICLO vale 2, W hará un rollover (giro sobre si mismo o vuelta) dos veces es decir, ocurrirán 2 carries y el tiempo de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Pwm Para Controlar Un Motor
  • Control de motor dc por pwm
  • Control De Motor Dc Pwm
  • PWM DOS MOTORES EN MICROCODE PIC
  • Control De Velocidad De Un Motor Mediante Pwm
  • control en discreto de un motor dc por pwm
  • Servo motor pwm with atmega
  • Control velocidad motor cc con pwm

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS