Descargar

Un microcontrolador PIC al estilo Bartels por José Ferrero


Partes: 1, 2, 3

  1. Introducción
  2. Motores de pasos
  3. El circuito del microcontrolador
  4. La etapa de potencia
  5. El código en ensamblador
  6. Control y configuración del PIC
  7. Comunicación con el planisferio guide
  8. Descripción del mando manual
  9. Descripcion de los comandos de guiado

A.- Introducción

En el entorno de la afición astronómico-constructora, el montaje de un sistema electrónico-informático que permita realizar seguimiento y control en telescopios de construcción propia es y continuará siendo idea permanente. Además, se persigue que el conjunto sea preciso, fiable, relativamente simple, que su puesta en práctica esté al alcance del aficionado medio, y que su coste económico sea reducido en comparación con los sistemas comerciales al uso.

Precisión, simplicidad, economía y fácil puesta en escena son propiedades difíciles de hacer convivir en un mismo lugar. En la línea de conseguir aproximarlas en lo posible está este proyecto.

B.- ANTECEDENTES

El referente y motor de la presente iniciativa es, sin género de dudas, el ya clásico proyecto del astrónomo, constructor y programador americano Mel Bartels. Su trabajo sobre control y motorización de telescopios constituye la obra básica de consulta sobre el particular, tanto en su concepto global como en los detalles. Su profundidad y amplitud la hace difícilmente superable, y su flexibilidad de prestaciones indispensable para determinadas configuraciones. Lo que aquí se presenta constituye una adaptación de las ideas generales de Mel Bartels utilizando un microcontrolador.

C.- ESTADO ACTUAL DEL PROYECTO

En el momento de elaborar el presente documento, el proyecto ScoPic está compuesto por el hardware y software necesario para controlar una montura ecuatorial motorizada con dos motores de pasos unipolares, seguimiento por micropasos y desplazamiento a pasos completos, respondiendo además a los comandos básicos en formato Lx200 que efectúan correcciones de autoguiado.

También ScoPic responde a ordenes básicas de posicionado mediante el ejecutable ScoPic.exe, trabajando en conjunción con el programa de planetario Guide.

D.- LIMITACIONES

ScoPic tiene actualmente sus prestaciones limitadas a la utilización de motores de 200 pasos por vuelta, con un rango de tensión entre unos 4 a 12 voltios y una reducción total comprendida entre 2000 y 3000.

La restricción de su uso exclusivo a solo monturas ecuatoriales se adivina perpetua. No obstante, el código desarrollado para ScoPic podría constituir el punto de partida para un sistema más complejo aplicable a monturas altazimutales, basado necesariamente en la utilización de dos o más microcontroladores.

Debido a las restricciones impuestas por la aritmética de 8 bits del microcontrolador, actualmente los desplazamientos para posicionado se encuentran limitados a 35 grados de separación angular.

DESCRIPCIÓN DEL PROYECTO

1.- Motores de pasos

Pocas cosas se pueden decir aquí sobre motores de pasos que un aficionado constructor no pueda ya saber. Por otra parte, incluso para los menos informados sobre este menester de la motorización, resulta muy difícil no tropezar en la red con el ingente volumen de literatura sobre lo que son y cómo funcionan.

Así las cosas, nos limitaremos a resaltar las ventajas e inconvenientes que este tipo de motores presentan para nuestro propósito, sin entrar en su descripción pormenorizada.

Un motor de pasos, en adelante PaP, es aquel que permite transformar el impulso de una señal eléctrica en un preciso cambio de posición en su eje. La repetición de un ciclo determinado de impulsos se traduce en un movimiento de rotación continuo por el sucesivo posicionado de un elemento móvil sobre cada uno de los pasos, lo que les hace especialmente interesantes para proyectos donde se pretenda conseguir velocidades y posiciones exactas.

De los dos tipos de motores PaP existentes, utilizaremos los llamados unipolares, compuestos por un elemento fijo (estator), donde se alojan dos bobinas con una toma intermedia, y una parte móvil (rotor), formado por un determinado número de elementos magnetizados.

1.1.- PASOS COMPLETOS

El ciclo de excitación más simple, el de pasos completos, consiste en activar las bobinas una a una de forma secuencial según la tabla y esquema siguiente:

edu.red

A

B

C

D

1

0

0

0

0

1

0

0

0

0

1

0

0

0

0

1

Se obtienen así cuatro posiciones consecutivas, recorriendo lo que se llama un ciclo de excitación eléctrico completo. En un PaP diseñado para cuatro pasos por vuelta, el ciclo de excitación coincidiría con el ciclo angular de 360º , a razón de 90º por paso. Pero realmente los motores están pensados para dar más pasos por vuelta, entre 24 y 400, mediante la creación de polos intermedios en el rotor o estator. En consecuencia, para un motor de 200 pasos por vuelta se necesitan 200/4=50 ciclos eléctricos completos para completar el ciclo angular de 360º.

BOBINA A

……..

……..

BOBINA B

………

……..

BOBINA C

……..

……..

BOBINA D

……

PASOS

1

2

3

4

5

6

7

8

…….

197

198

199

200

CICLO ANGULAR

1.8º

3.6º

5.4º

7.2º

9.0º

10.8º

12.6º

13.4º

…….

360º

CICLO ELÉCTRICO

1

2

……..

50

1.2.- MEDIOS PASOS

Cuando la corriente circula por una sola bobina, el rotor se alinea exactamente en el polo producido por el campo magnético de dicha bobina. Pero si se activan a la vez dos bobinas consecutivas, el rotor se posicionará en un lugar intermedio a las dos; tenemos entonces el motor funcionando a medios pasos.

edu.red

A

B

C

D

1

0

0

0

1

1

0

0

0

1

0

0

0

1

1

0

0

0

1

0

0

0

1

1

0

0

0

1

1

0

0

1

La utilización de medios pasos proporciona mayor suavidad de movimiento, a la vez que disminuyen los problemas producidos por fenómenos de resonancia. No obstante, las primeras pruebas con el Pic demuestran que con el movimiento a pasos completos se consigue una ligero aumento de velocidades, siendo el consumo parecido.

BOBINA A

BOBINA B

BOBINA C

BOBINA D

PASOS

1

2

3

4

5

6

7

8

……..

197

198

199

200

CICLO ANGULAR

0.9

1.8

2.4

3.6

……….

360º

CICLO ELÉCTRICO

1

2

……..

50

1.3.- MICROPASOS

Generalizando la idea expuesta en el apartado anterior, configurar un movimiento a micropasos consiste en dividir el intervalo que corresponde a un paso completo en un número finito de partes iguales, y conseguir que el rotor se vaya posicionando sucesivamente en cada una de ellas; se obtienen entonces las siguientes ventajas:

  • a) Se incrementa la resolución puesto que el ángulo de avance es más pequeño.

  • b) A bajas velocidades, se tiene un movimiento más suave.

  • c) El par o fuerza de arrastre resultante se mantiene.

En este proyecto vamos a utilizar 16 micropasos. Consideremos un ciclo eléctrico completo, que como hemos visto se corresponde con cuatro pasos. Un paso equivale por tanto a ¼ de ciclo eléctrico. Dividimos el paso en 16 partes iguales que llamamos micropasos, y aplicamos a la bobina A una corriente constante durante la mitad de un paso, mientras que al mismo tiempo en la bobina B aumentamos la corriente según la función trigonométrica seno . Durante la otra mitad del paso se invierte la situación, disminuyendo la corriente en A según la función seno y manteniéndola constante en B.

A

A

A

A

A

A

A

AB

B

B

B

B

B

B

B

B

A

B

A

B

A

B

A

B

A

B

A

B

A

MICROPASOS

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

PASO

¼

½

¾

1

ÁNGULO

11.25

22.5

33.75

45

56.25

67.5

78.75

90

78.75

67.5

56.25

45

33.75

22.5

11.25

0

% BOBINA A

100

100

100

100

100

100

100

100

98

93

83

71

56

38

20

0

% BOBINA B

20

38

56

71

84

93

98

100

100

100

100

100

100

100

100

100

El algoritmo se repite correlativamente con las bobinas B-C, C-D y D-A, completando el ciclo eléctrico completo.

1.4.- LA MODULACION EN ANCHURA DE PULSOS

La técnica que permite generar la onda de corriente adecuada en cada bobina se conoce por las siglas PWM, o modulación en la anchura de los pulsos. Si se conecta una bobina a una tensión Vcc por un tiempo determinado t, se obtiene una excitación constante igual a Vcc durante todo el intervalo t.

Vcc

ON

0

t

Pero si el intervalo de tiempo t se divide en partes, y durante el tiempo t se conecta y desconecta la bobina repetidamente, se obtiene una excitación igual a la media de conexiones (ON) y desconexiones (OFF).

Vcc

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

0

La tensión resultante es igual a Vcc/2

t

El comentario textual de Mel Bartels en su manual < ajustando el porcentaje de ON"s y OFF"s la corriente puede ser controlada de forma precisa > tiene importantes consecuencias para nuestro propósito. Porque no sólo hace posible generar la onda necesaria para los micropasos, sino que además permite controlar su amplitud. Esto último es fundamental para sobrealimentar los motores PaP en modo micropasos sin que el consumo sea excesivo, aprovechando la sobretensión para conseguir hacerlos girar más rápido en el modo de pasos completos o semipasos.

1.5.- ESTRUCTURA DE CADA MICROPASO

En nuestro proyecto, cada micropaso se divide en un PWM compuesto por un determinado número de ON"s y OFF"s, que llamaremos pulsos, seguidos por una pausa OFF de duración ajustable.

Una vez establecida la velocidad de seguimiento, la anchura de los pulsos y de la pausa se calculan de manera que ocupen el total del tiempo asignado a cada paso completo. Modificando convenientemente dicha anchura se puede llegar al equilibrio entre la suavidad de movimiento sin excesiva vibración y el mínimo consumo.

1 paso de divide en 16 micropasos. Cada micropaso contiene 100 pulsos ON-OFF y una pausa

pulsos

pausa

pulsos

pausa

pulsos

pausa

……….

…………..

………………………

………

edu.rededu.redtiempo asignado a un paso completo

1.6.- EL MOVIMIENTO A MEDIOS PASOS

A los PaP no les gusta girar muy deprisa. La velocidad máxima que se consigue a medios pasos o pasos completos no es excesiva. Pero, citando de nuevo el manual de Bartels, < la combinación en el uso de tensiones más altas que aquellas para las que está preparado el motor en caso de funcionamiento continuo, y el uso de rampas suaves de giro para el aumento y disminución de la velocidad, permite lograr velocidades más altas que las que se conseguirían sin utilizar estos mecanismos >. Sobre este particular volveremos en el apartado 5.

2.- El circuito del microcontrolador

Poco también se puede decir sobre microcontroladores que no esté disponible en la red. Aquí sólo procede por tanto un breve comentario de opinión.

Como su nombre ya lo indica, estos dispositivos incorporan en un solo chip los elementos necesarios para efectuar el control de un proceso lógico o repetitivo. Complementados con una etapa de potencia para automatismos donde sea necesaria, encontramos microcontroladores en multitud de escenarios, tanto en la industria como en la electrónica de consumo: telefonía, maquinaria, ocio, automóviles, televisión, etc., etc.

A grandes rasgos, un microcontrolador está compuesto por una unidad central de proceso CPU conectada a dos memorias ( instrucciones y datos ). La unidad de cálculo aritmético-lógica ULA y los puertos de entrada/salida completan un sistema similar al de ordenador pero con una estructura más simple.

Claro que la función que hace un microcontrolador la puede realizar mejor y más rápido un ordenador personal. Una computadora para la captura de imágenes digitales se nos antoja inevitable, pero el uso de un PC dedicado exclusivamente a la motorización puede parecer excesivo cuando lo que se desea es rapidez de montaje y simplicidad de uso.

Como el objetivo final de la motorización ecuatorial seguramente es el autoguiado y la simultánea captura de imágenes astronómicas, la sustitución del PC de seguimiento por un microcontrolador es deseable porque simplifica el sistema. La contrapartida evidente es el recorte de prestaciones y la imposibilidad actual del control en configuraciones altazimutales.

2.1.- EL MICROCONTROLADOR PIC 16F873 / 76

El 16F87x es un microcontrolador de la empresa Microchip Technology que presenta las siguientes características:

edu.red

  • Construido en tecnología flash, incorpora la posibilidad de programar en tiempo de ejecución y escribir en memoria incluso cuando se está ejecutando el código.

  • Trabaja con lógica de 8 bits y un conjunto de 35 instrucciones reducidas de 14 bits, detalle que limita y hace más complicada la programación de rutinas de cálculo con aritmética superior a 8. Para nuestro propósito, esto hace más tedioso tratamiento de las coordenadas que se trasmiten en los comandos Lx200 de posicionado.

  • Dispone de una memoria de programa de 4k u 8k, según modelo 873/876, con palabras de 14 bits. 192/368 bytes de memoria RAM y 128/256 bytes de memoria EEPROM, que nos permite almacenar las variables necesarias para configurar velocidades, pausas y anchos de pulso.

  • Dispone de 13 tipos diferentes de interrupciones, siendo fundamental en nuestro caso la interrupción por recepción serie y las interrupciones por temporización.

  • Tiene 22 entradas / salidas distribuidas en tres puertos A, B y C.

  • Su frecuencia de trabajo máxima es de 20 Mhz, y entre otras prestaciones más sofisticadas ( A/D, MSSP, PWM por hardware ), dispone de un USART completo que permite la comunicación del microcontrolador con un ordenador personal utilizando el puerto serie.

Según se muestra en el esquema, la electrónica necesaria para hacer funcionar el microcontrolador es mínima, reducida a los dos condensadores, el cristal oscilador y las resistencias protectoras en los puertos de entrada. Esto le hace especialmente interesante para un proyecto que pretende ser asequible al aficionado medio, sin excesiva complicación. Se puede realizar el montaje sobre una pequeña placa de matriz de puntos perforados y cableado al aire, tal como puede verse en la fotografía.

edu.red

Acompañan al microcontrolador otros dos circuitos integrados más: el adaptador de señales entre puertos TC232, y el driver ULN2803, que proporciona un inicial aumento de potencia suficiente sólo para pequeños motores. En general es necesaria una etapa de potencia posterior de la cual hablaremos en el siguiente punto.

La salida RC4 controla la base de un transistor en conmutación, el cual acciona un sistema de relés que permite añadir o eliminar resistencias a los PaP. De esta manera se puede conseguir una vibración y consumo mínimo en micropasos y una velocidad mayor a pasos completos.

2.2.- COMPONENTES

1 CI microcontrolador PICF876. 2 condensadores cerámicos 33 picofaradios.

Partes: 1, 2, 3
Página siguiente