Sei sulla pagina 1di 17

CONTROL DE VELOCIDAD DE MOTORES Modulacin por Ancho de Pulso (PWM): La Modulacin de Ancho de Pulso conocido como PWM (Pulse

Wide Modulation), bsicamente consiste en enviar a los terminales de control un tren de pulsos los cuales varan en mayor o menor medida el tiempo en que se mantiene el nivel alto de esos pulsos, manteniendo la frecuencia constante, as...

Con esta forma de control la cantidad de corriente sigue siendo la misma, la tensin no vara y en consecuencia el torque del motor se mantiene, que es justamente lo que estbamos buscando. Un ejemplo para generar un PWM es utilizando un Timer NE555 conectado como aestable, como muestra la figura:

Figura 11. Circuito para generar seal PWM con Timer 555.

Otro ejemplo para obtener una seal PWM se indica en la figura:

En el circuito de la figura 12 se puede reemplazar R1 por un pot

El tema de los pasos.


Estos motores tienen un parmetro que son los pasos, este parmetro define la resolucin que va a tener el motor, por ejemplo, un motor de 48 pasos por vuelta indica que cada paso significa un movimiento de 7 por paso, sin embargo, un motor de 200 pasos indica que cada paso es 1,8 , y este parmetro es critico a la hora de seleccionar el motor que queremos usar, aunque hay trucos para lograr pasos ms pequeos, de hecho se pueden dar medios pasos, as que podemos mover el motor la mitad de un paso usando un pequeo truco magntico, lo malo es que el consumo del motor se dispara y se calienta un poquito mucho.

Secuencia de control paso a paso.

Esta es la secuencia de control normal, ofrece un funcionamiento suave y es el modo a usar normalmente.

Secuencia de control de medio paso.

El control de medio paso se debe usar sol cuando tengamos la necesidad de obtener una resolucin mayor para alguna aplicacin en concreto.

NOTACION PARA NUMEROS


Decimal : D'100' ? .100 Hexadecimal : H'64' ? 0x64 ? 64 Octal : O'144' Binario : B'01101100' ASCII : A'C' ? 'C'

NOTACION PARA REGISTROS Y LITERALES


w : Registro W, similar al acumulador, es el registro de trabajo. f : Campo de 5 bits (fffff), contiene la direcci? n del banco de registros, que ocupa el banco 0 del ? rea de datos. Direcciona uno de esos registros. k : Representa una constante de 8 bits. d : Bit del c? digo OP de la instrucci? n. Selecciona el destino donde se guarda el resultado de una operaci? n. Si d=0, el destino es W, y si d=1 el destino es f. b : Determina la posici? n de un bit dentro de un registro de 8 bits, (o sea, tomar? valores entre 0 y 7)

SIMBOLOS

[] : Opciones. () : Contenido. => : Se asigna a ... <> : Campo de bits de un registro. E : Pertenece al conjunto ... Label : Nombre de la etiqueta. TOS : Cima de la pila con 8 niveles en la gama media. PC : Contador de programa que direcciona la memoria de instrucciones.

FLAGS Los Flags o banderas son marcadores, representados por bits dentro del registro STATUS, y son:

Z : Flag de cero, se pone a 1 cuando una operaci? n l? gica o aritm? tica da 0 (cero)como resultado. En cualquier otro caso se pone a 0. C : Flag de Carry, se pone a 1 cuando la operaci? n que le afecta sobrepasa el nivel de representaci? n del procesador, en nuestro caso es de 8 BIT's , de esta manera si sumamos a 0b11111111 un 0b00000011 el resultado ser? a 0b00000010 y el BIT de Carry pasar? a a 1.

DC : Flag de carry del nibble inferior, este se comporta igual que el BIT de Carry, solo que el l? mite de representaci? n son los 4 bits inferiores, de esta manera si tenemos 0b00001111 y sumamos 0b00000111, el resultado ser? 0b00010110 y el BIT de DC se pone a 1, el BIT de Carry estar?a 0 al no superarse los 8 bits y el de Z a 0 al ser el n? mero diferente de 0.

No te preocupes si te quedan dudas respecto a los FLAGS, ? stas se aclarar? n a medida que vayas avanzando en el tutorial. Ahora si, ya podemos empezar con el set de instrucciones:

W : es el registro de trabajo y almacena datos de forma moment? nea f : es la direcci? n de un registro, si es llamada apunta al contenido de ese registro d : es el destino donde se guarda el resultado de una operaci? n, si es 1 se guarda en el registro f, y si es 0 en W. OPERACIONES ORIENTADAS A REGISTROS Nemot? cnicos ADDWF ANDWF CLRF CLRW COMF DECF DECFSZ INCF INCFSZ IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF Operaci? n Estados afectados C,DC,Z Z Z Z Z Z Z Z Z C C C,DC,Z

f,d Sumar W y f f,d AND entre W y f f Limpiar f Limpiar W f,d Complementar f f,d Decrementar f f,d Decrementar f, saltar si cero f,d Incrementar f f,d Incrementar f, saltar si cero f,d OR entre W y f f,d Mover f f Mover W a F No Operaci? n f,d Rotar a la izquierda a trav? s del carry f,d Rotar a la derecha a trav? s del carry f,d Restar W de f f,d Intercambiar nibbles de f

XORWF

f,d OR exclusiva entre W y f

En este otro cuadro, a dem? s de f aparece b. que vendr? a a ser uno de los 8 bits del registro f OPERACIONES ORIENTADAS A BITS Nemot? cnicos BCF BSF BTFSC BTFSS f,b f,b f,b f,b Operaci? n Limpiar bit b de f Activar bit b de f Probar bit b de f, saltar si cero Probar bit b de f, saltar si uno Estados afectados

Por ? ltimo, aparece k que viene a ser una constante de 8 bit, es decir que k puede tomar valores entre 0 y 255, ? stos inclusive, seg? n la instrucci? n a utilizar

OPERACIONES ORIENTADAS A LITERALES Y DE CONTROL Nemot? cnicos ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN k k k K K K K Operaci? n Sumar literal k a W AND entre k y W Llamar subrutina Limpiar WDT Salta a direcci? nk OR entre k y W Cargar W con literal k Retornar de interrupci? n Retornar y cargar W con k Retornar de subrutina Estados afectados C,DC,Z Z -TO,-TD Z

SLEEP SUBLW XORLW

Ir al modo de bajo consumo K Restarle k a W K OR exclusiva entre k y W

-TO,-TD C,DC,Z Z

Potrebbero piacerti anche