Sistema de control de motores de Corriente Continua
basado en el microcontrolador LM629

Desarrollo del Software

Descripción de los programas

Capítulo anterior / previous CAPITULO ANTERIOR   Ir al Índice ÍNDICE del Capítulo
 Sistema de control de motores de Corriente Continua basado en el microcontrolador LM629
Desarrollo del software
Descripción de los programas

Volver al Índice Comandos de usuario

Los comandos se pueden catalogar según su función:

1. - Iniciación

2. - Interrupciones de Control

3. - Filtros de Control

4. - Trayectorias de Control

5. - Lectura de registros

COMANDO TIPO DESCRIPCIÓN HEX Nº Bytes
RESET (1) RESET LM629 00 0
PORT8 " SALIDA 8 BITS 05 0
PORT12 " SALIDA 12 BITS 06 0
DFH " DEFINE INICIO 02 0
SIP (2) FIJA POSICION INDICE 03 0
LPEI " INTERRUPCION EN ERROR 1B 2
LPES " PARADA EN ERROR 1A 2
SBPA " FIJAR PUERTO DE RUPTURA ABSOLUTO 20 4
SBPR " FIJAR PUERTO DE RUPTURA RELATIVO 21 4
MSKI " INTERRUPCION ENMASCARABLE 1C 2
RSTI " INTERRUPCION DE RESET 1D 2
LFIL (3) CARGA DE PARAMETROS DEL FILTRO 1E 2 a 10
UDF (3) ACTUALIZACION DATOS DEL FILTRO 04 0
LTRJ (4) CARGAR TRAYECTORIA 1F 2 a 14
STT " COMENZAR MOVIMIENTO 01 0
RDSTAT (5) LEER BYTE DE ESTADO -- 1
RDSIGS " LEER REGISTROS DE SEÑALES 0C 2
RDIP " LEER INDICE DE POSICIÓN 09 4
RDDP " LEER POSICION DESEADA 08 4
RDRP " LEER POSICIÓN REAL 0A 4
RDDV " LEER VELOCIDAD DESEADA 07 2
RDRV " LEER VELOCIDAD REAL 0B 2
RDSUM " LEER SUMA DE INT. 0D 2


TABLA 3-6 Lista de comandos de usuario.


Volver al Índice Descripción

de los programas



Volver al Índice INICIO: Inicialización



Volver al Índice ESPERA:

Mantener reset al menos 1.5 milisegundos



Volver al Índice LECTURA_SB:

Lectura del Byte de estado



Volver al Índice CARGA de COEFICIENTES del FILTRO PID



Volver al Índice CARGA de TRAYECTORIA

Decodificación de palabra de control y envío de datos.



Volver al Índice CARGA de TRAYECTORIA



Volver al Índice DATOS de TRAYECTORIA:



Volver al Índice Gestión de interrupciones



Volver al Índice Posibles interrupciones del MPID

Al solicitar un RDSTAT, con motivo del envió por parte del MPID de una interrupción, obtenemos la información en el byte de estado compuesta por 8 bits.

De todos ellos, algunos son útiles tan solo en fase de depuración; otros son informativos y el bit 0 (Busy_bit), se utiliza como consulta.

A continuación se hace una breve descripción de cada uno, y se evalúa su uso o su enmascaramiento, con MSKI.

Hay que considerar que el enmascaramiento afecta a la generación o no de la interrupción HI, pero la información se genera en el BYTE en cualquier caso. Salvo el bit 7 y el 0, todos generan interrupción (HI) y se pueden limpiar, bit a bit o en grupo, con RSTI.

Todos son activos en lógica 1.

En definitiva, para una programación normal y ya depurada, solo nos interesa detectar la información de los bits 2, 4, 5 y periódicamente el bit 0.

Podemos enmascarar los bits 1, 3, 6 y 7 y prescindir del comando RDSIGS.

Esto nos deja como significativos en el byte de estado:

Trayectoria completada (bit 2), Desbordamiento (bit 4), Error de posición (bit 5), que pueden ser leídos bit a bit.

 Las combinaciones posibles serán:


MSB LSB
7 6 5 4 3 2 1 0 HEX
0 0 0 0 0 0 0 0 0h
0 0 0 0 0 1  0 0 4h
0 0 0 1 0 0 0 0 10h
0 0 0 1 0 1 0 0 14h
0 0 1 0 0 0 0 0 20h
0 0 1 0 0 1 0 0 24h
0 0 1 1 0 0 0 0 30h
0 0 1 1 0 1 0 0 34h
1 0 0 0 0 0 0 0 80h
1 0 0 0 0 1 0 0 84h
1 0 0 1 0 0 0 0 90h
1 0 0 1 0 1 0 0 94h
1 0 1 0 0 0 0 0 A0h
1 0 1 0 0 1 0 0 A4h
1 0 1 1 0 0 0 0 B0h
1 0 1 1 0 1 0 0 B4h

Para nuestro objetivo es suficiente considerar el byte de estado, que leemos y pasamos a acumulador con la subrutina Bit_b.



Volver al Índice Descodificación de interrupciones MPID (HI)



Volver al Índice Lectura de corrientes máxima y media



Volver al Índice Errores de corriente máxima y media

El programa ocupa unos 220 bytes, 250 aportando espacios de seguridad, e incluyendo los códigos de error del display, es decir 2 kbs, y la memoria dispone de 16 kbs, lo que supone 14 Kbs libres.

El MPID necesita como máximo 9 bytes en cada trayectoria mas 2 bytes para las corrientes estimadas por trayectoria, espaciando, 15 bytes, se pueden programar datos para unas 100 trayectorias, añadiendo un programa que las lea secuencialmente, y tras la depuración de datos y coeficientes de cada una.

/EA a nivel alto, el proesador ejecuta instrucciones desde la EPROM interna hasta 4096 (4Kbytes), y las superiores a externa.



Volver al Índice Tratamiento de tablas de datos:
 


Volver al Índice Diagrama de flujo típico


Volver al Índice TABLA de ERRORES

La tabla de indicadores de error / información y su tratamiento, si procede, queda como sigue:

SEÑAL SIGNIFICADO Tratamiento
0 Er_0 No hay problemas N/A
1 Er_1 Trayectoria completada con éxito  N/A (Informativo)
2 Er_2 Error de desbordamiento de datos  Nueva carga / Inicialización.
3 Er_3 Error de posición Inicialización.
4 Er_Imx  Error corriente máxima Reset MPID Reset manual
5 Er_Imd  Error corriente media Reset MPID Reset manual
6 Er_Tmp Temperatura  Reset.MPID Reset manual
7   No usado N/A
8   No usado N/A
9 Er-4 Error desconocido Reset MPID Investigar / Reset manual.

 

 Sistema de control de motores de Corriente Continua basado en el microcontrolador LM629
CREDITOS

Créditos

PROYECTO PARA LA OBTENCIÓN DEL TITULO DE BACHILLERATO + 4 DE CNAM FRANCIA
Autores:
Juan Antonio Pizarro Martín  e-mail
Julio Martín Rodríguez
Ángel Puerta Rubio

Ir al Índice CURSO 2001/2002
JAPM 2007

Ver el Perfil Profesional de Juan Antonio Pizarro Martín

CNAM ESPAÑA http://www.salesianosloyola.com/CNAM/INDEX.HTM

CNAM FRANCIA http://www.cnam.fr/36392593/0/fiche___pagelibre/

 

1
Hosted by www.Geocities.ws