jueves, 4 de septiembre de 2008

Microcontroladores


En wikipedia, encontramos esta definicion de microcontrolador...

Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado.

Son diseñados para disminuir el coste económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o mas Códec de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil.

Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de entrada/salida (puertos) y la memoria para almacenamiento de información.


Este tema es muy amplio y colocarlo aqui seria ya repetir mucho la informacion pero en este link encontraran informacion muy completa sobre los microcontroladores aqui se las dejo

http://www.geocities.com/picmaniaco


De todas maneras si consigo algo mas se los hago llegar por este medio...

Aqui les dejo los datasheets...


DATASHEET PIC16F84


DATASHEET PIC16F877

Motores de PaP O Paso a Paso

El motor de paso a paso es un dispositivo electromecánico que convierte una serie de impulsos eléctricos en desplazamientos angulares discretos, lo que significa es que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas de control. El motor paso a paso se comporta de la misma manera que un convertidor digital-analógico y puede ser gobernado por impulsos procedentes de sistemas lógicos.


Este motor presenta las ventajas de tener alta precisión y repetibilidad en cuanto al posicionamiento. Entre sus principales aplicaciones destacan como motor de frecuencia variable, motor de corriente continua sin escobillas, servomotores y motores controlados digitalmente.


Existen 3 tipos fundamentales de motores paso a paso: el motor de reluctancia variable, el motor de magnetización permanente, y el motor paso a paso híbrido.


El motor paso a paso está constituido, como la mayoría de motores eléctricos, esencialmente de dos partes:

  • Una parte fija llamada "estator", construida a base de cavidades en las que van depositadas las bobinas que excitadas convenientemente formarán los polos norte-sur de forma que se cree un campo magnético giratorio.
  • Una parte móvil, llamada "rotor" construida bien con un imán permanente o bien por un inducido ferromagnético, con el mismo número de pares de polos que el contenido en una sección de la bobina del estator; este conjunto va montado sobre un eje soportado por dos cojinetes que le permiten girar libremente.


Si por el medio del control que sea (electrónico, informático, etc.), conseguimos excitar el estator creando los polos N-S, y hacemos variar dicha excitación de modo que el campo magnético formado efectúe un movimiento giratorio, la respuesta del rotor será seguir el movimiento de dicho campo, produciéndose de este modo el giro del motor.


Estos motores poseen la habilidad de poder quedar enclavados en una posición o bien totalmente libres. Si una o más de sus bobinas están alimentadas, el motor estará enclavado en la posición correspondiente y por el contrario quedará completamente libre si no circula corriente por ninguna de sus bobinas.

En la Tabla de orden de fases (tabla 1), se puede observar en este caso concreto que el motor tendrá un paso angular de 90º y un semipaso de 45º esta segunda ocurre al excitarse más de una bobina.


Tabla de orden de fases.
En este caso concreto el motor tendrá un paso angular de 90º y un semipaso de 45º
(al excitarse más de una bobina)



Paso

Terminal 1

Bobina A

Terminal 2

Bobina A

Terminal 1

Bobina B

Terminal 2 Bobina B

Imagen

Paso 1

+Vcc

-Vcc



(Semi)

Paso 2

+Vcc

-Vcc

+Vcc

-Vcc



Paso 3



+Vcc

-Vcc

(Semi)

Paso 4

-Vcc

+Vcc

+Vcc

-Vcc

Paso 5

-Vcc

+Vcc



(Semi)

Paso 6

-Vcc

+Vcc

-Vcc

+Vcc

Paso 7



-Vcc

+Vcc

(Semi)

Paso 8

+Vcc

-Vcc

-Vcc

+Vcc


Comportamiento propio de los motores paso a paso:

Los motores paso a paso tienen un comportamiento del todo diferente al de los motores de corriente continua. En primer lugar, no giran libremente por sí mismos. Los motores paso a paso, como lo indica su nombre, avanzan girando por pequeños pasos. También difieren de los motores de CC en la relación entre velocidad y torque (un parámetro que también es llamado "par motor" y "par de giro"). Los motores de CC no son buenos para ofrecer un buen torque a baja velocidad sin la ayuda de un mecanismo de reducción. Los motores paso a paso, en cambio, trabajan de manera opuesta: su mayor capacidad de torque se produce a baja velocidad.

Los motores paso a paso tienen una característica adicional: el torque de detención (que se puede ver mencionado también como "par de detención", e incluso par/torque "de mantenimiento"), que no existe en los motores de CC. El torque de detención hace que un motor paso a paso se mantenga firmemente en su posición cuando no está girando. Esta característica es muy útil cuando el motor deja de moverse y, mientras está detenido, la fuerza de carga permanece aplicada a su eje. Se elimina así la necesidad de un mecanismo de freno.

Si bien es cierto que los motores paso a paso funcionan controlados por un pulso de avance, el control de un motor paso a paso no se realiza aplicando en directo este pulso eléctrico que lo hace avanzar. Estos motores tienen varios bobinados que, para producir el avance de ese paso, deben ser alimentados en una adecuada secuencia. Si se invierte el orden de esta secuencia, se logra que el motor gire en sentido opuesto. Si los pulsos de alimentación no se proveen en el orden correcto, el motor no se moverá apropiadamente. Puede ser que zumbe y no se mueva, o puede ser que gire, pero de una manera tosca e irregular.

Esto significa que hacer girar un motor paso a paso no es tan simple como hacerlo con un motor de corriente continua, al que se le entrega una corriente y listo. Se requiere un circuito de control, que será el responsable de convertir las señales de avance de un paso y sentido de giro en la necesaria secuencia de energización de los bobinados.

Características comunes de los motores paso a paso:

Un motor paso a paso se define por estos parámetros básicos:

Voltaje

Los motores paso a paso tienen una tensión eléctrica de trabajo. Este valor viene impreso en su carcasa o por lo menos se especifica en su hoja de datos. Algunas veces puede ser necesario aplicar un voltaje superior para lograr que un determinado motor cumpla con el torque deseado, pero esto producirá un calentamiento excesivo y/o acortará la vida útil del motor.

Resistencia eléctrica

Otra característica de un motor paso a paso es la resistencia de los bobinados. Esta resistencia determinará la corriente que consumirá el motor, y su valor afecta la curva de torque del motor y su velocidad máxima de operación.

Grados por paso

Generalmente, este es el factor más importante al elegir un motor paso a paso para un uso determinado. Este factor define la cantidad de grados que rotará el eje para cada paso completo. Una operación de medio-paso o semi-paso (half step) del motor duplicará la cantidad de pasos por revolución al reducir la cantidad de grados por paso. Cuando el valor de grados por paso no está indicado en el motor, es posible contar a mano la cantidad de pasos por vuelta, haciendo girar el motor y sintiendo por el tacto cada "diente" magnético. Los grados por paso se calculan dividiendo 360 (una vuelta completa) por la cantidad de pasos que se contaron. Las cantidades más comunes de grados por paso son: 0,72°, 1,8°, 3,6°, 7,5°, 15° y hasta 90°. A este valor de grados por paso usualmente se le llama la resolución del motor. En el caso de que un motor no indique los grados por paso en su carcasa, pero sí la cantidad de pasos por revolución, al dividir 360 por ese valor se obtiene la cantidad de grados por paso. Un motor de 200 pasos por vuelta, por ejemplo, tendrá una resolución de 1,8° por paso.


Tipos de motores paso a paso


El motor de paso de rotor de imán permanente: Permite mantener un par diferente de cero cuando el motor no está energizado. Dependiendo de la construcción del motor, es típicamente posible obtener pasos angulares de 7.5, 11.25, 15, 18, 45 o 90°. El ángulo de rotación se determina por el número de polos en el estator.

El motor de paso de reluctancia variable (VR): Tiene un rotor multipolar de hierro y un estator devanado laminado, y rota cuando los dientes del rotor son atraídos a los dientes del estator electromagnéticamente energizados. La inercia del rotor de un motor de paso de reluctancia variable es pequeña y la respuesta es muy rápida, pero la inercia permitida de la carga es pequeña. Cuando los devanados no están energizados, el par estático de este tipo de motor es cero. Generalmente, el paso angular de este motor de paso de reluctancia variable es de 15°.

El motor híbrido de paso: Se caracteriza por tener varios dientes en el estator y en el rotor, el rotor con un imán concéntrico magnetizado axialmente alrededor de su eje. Se puede ver que esta configuración es una mezcla de los tipos de reluctancia variable e imán permanente. Este tipo de motor tiene una alta precisión y alto par y se puede configurar para suministrar un paso angular tan pequeño como 1.8°.

Velocidad de rotación

La velocidad de rotación viene definida por la ecuación:

donde:

  • f: frecuencia del tren de impulsos
  • n: nº de polos que forman el motor

Si bien hay que decir que para estos motores, la máxima frecuencia admisible suele estar alrededor de los 625 Hz. Si la frecuencia de pulsos es demasiado elevada, el motor puede reaccionar erróneamente en alguna de las siguientes maneras:

  • Puede que no realice ningún movimiento en absoluto.
  • Puede comenzar a vibrar pero sin llegar a girar.
  • Puede girar erráticamente.
  • O puede llegar a girar en sentido opuesto.


Para mas informacion ver el siguiente enlace: Motores PaP

lunes, 1 de septiembre de 2008

Interfaz de prueba del Puerto Paralelo

Acontinuacion, aqui les pondre un circuito que les servira para poder probar el puerto paralelo de la pc, este es un metodo para saber si las señales que se le envia al puertoestan llegando... este circuito lo usé y me funcionó...

Articulo escrito por Virgilio Gómez Negrete


Actualmente, la mayoría de los puertos instalados en las computadoras son de tipo multimodal configurables a través del BIOS de la máquina, en éste artículo me refiero expresamente al modo Normal (SPP), además de éste están las opciones Bidireccional, EPP versión 1.7, EPP versión 1.9 y ECP principalmente. El modo de operación Normal es el más elemental y solamente permite la escritura en las líneas de datos, patitas 2 a la 9 del conector DB-25 del puerto paralelo de la PC.

Eléctricamente, el puerto paralelo entrega señales TTL y como tal, teoricamente, se le puede conectar cualquier dispositivo que cumpla con los niveles de voltaje específicos de la lógica TTL, sin embargo el hardware del puerto paralelo está muy limitado en cuanto a su capacidad de manejo de corriente, por ésta razón se debe ser muy cuidadoso con el manejo de las señales del puerto, un corto circuito puede dañar permanentemente la tarjeta madre de la PC. Para disminuir lo más posible el riesgo de daños al puerto utilizamos un circuito integrado 74LS244 como etapa separadora y al mismo tiempo mejoramos la capacidad de manejo de corriente, de esta forma podemos conectar una serie de diodos emisores de luz (LED) que nos indiquen la actividad en las líneas de datos del puerto paralelo. El circuito se detalla en el siguiente diagrama:

Por cada línea de entrada que tomamos directamente del puerto paralelo existe una etapa amplificadora-separadora dentro del circuito integrado 74LS244 que nos permite trabajar con una tasa de entrega de corriente suficiente para desplegar en los diodos emisores de luz la información escrita en las líneas de datos del puerto. Además es posible habilitar ó deshabilitar el despliegue del nibble de orden inferior ó superior del byte escrito en el puerto. Colocando en un nivel lógico alto la patita 1 del CI 74LS244 inhabilitamos el despliegue del nibble de orden bajo, un nivel lógico alto en la patita 19 evita el despliegue del nibble de orden alto. Para comodidad, conecto las patitas 1 y 19 permanentemente a tierra de tal manera que sea posible visualizar la actividad en los diodos emisores de luz (LED). En el diagrama se especifican con números las correspondientes patitas del conector DB-25. Obviamente se requiere de una fuente regulada de 5 Voltios para operar éste circuito, además los siguientes materiales:

  • 1. Circuito Integrado TTL 74LS244.
  • 8. Diodos Emisores de Luz.
  • 8. Resistencias de 220 Ohms, 1/2 Watt.
  • 1. Cable y conector para el puerto paralelo.

Naturalmente lo más recomendable es probar el correcto funcionamiento del circuito antes de conectarlo al puerto paralelo de la PC. Ensamble el circuito, preferentemente en un circuito impreso, y conéctelo a una fuente regulada de 5 Voltios, conecte temporalmente un extremo de una resistencia de 10,000 Ohms a una línea de entrada, el resto de las líneas de entrada conéctelas a tierra. El otro extremo de la resistencia conéctelo directamente al borne positivo de la fuente de alimentación para inducir una señal TTL alta, el respectivo LED debe encender. Con un trozo de alambre conectado a Tierra, toque temporalemente el extremo de la resistencia que está conectado a la línea de entrada para inducir una señal TTL de lógica baja, el LED se debe apagar. Repita ésta operación para cada una de las ocho líneas de entrada. Una vez que ha verificado el correcto funcionamiento del circuito está listo para conectarlo al puerto paralelo de la PC.

En primer lugar apague la computadora y el circuito. Conecte el cable al puerto paralelo asegurándose que el conector esté firme en su sitio. Encienda el circuito y por último encienda la computadora, por regla general, el circuito de restablecimiento de la computadora coloca inicialmente en las líneas de datos del puerto paralelo un valor igual a 0x0h, por lo tanto todos los diodos deben estar apagados una vez que la computadora ha terminado su proceso de arranque, sin embargo, si algún diodo permanece encendido ésto no indica una condición de falla, es responsabilidad del software que Usted escriba para controlar el puerto inicializarlo con un valor adecuado antes de realizar cualquier otra operación.


Mas informacion en la pagina del autor

Conociendo el Puerto Paralelo de la PC Conector DB-25

En este apartado conoceremos el puerto paralelo de la pc, como esta conformado, como se le reconoce en la pc y mas o menos como funciona. en el próximo les pondré como se podría trabajar con él usando una interfaz...


El puerto paralelo de una típica PC utiliza un conector hembra de tipo D de 25 patitas (DB-25 S), éste es el caso más común, sin embargo es conveniente mencionar los tres tipos de conectores definidos por el estándar IEEE 1284, el primero, llamado 1284 tipo A es un conector hembra de 25 patitas de tipo D, es decir, el que mencionamos al principio. El orden de las patitas del conector es éste:

Los puertos de comunicación de la PC son de particular interés para el estudioso de la electrónica ya que le permiten utilizar una computadora personal para controlar todo tipo circuitos electrónicos utilizados, principalmente, en actividades de automatización de procesos, adquisición de datos, tareas repetitivas y otras actividades que demandan precisión.


Desde el punto de vista del software, el puerto paralelo son tres registros de 8 bits cada uno, ocupando tres direcciones de I/O consecutivas de la arquitectura x86. Desde el punto de vista hardware, el puerto es un conector hembra DB25 con doce salidas latcheadas (que tienen memoria/buffer intermedio) y cinco entradas, con 8 líneas de masa. La función normal es transferir datos a una impresora a través de las 8 líneas de datos, usando las señales restantes como control de flujo.
Es ideal para ser usado como herramienta de control de motores, relés, LED's, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas señales de control, algunas de salida y otras de entrada que también pueden ser usadas fácilmente.

Las PC's generalmente poseen solo uno de estos puertos (LPT1) pero con muy poco dinero se le puede adicionar una tarjeta con un segundo puerto paralelo (LPT2).



En reglas generales la dirección hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fácilmente en el setup de la PC o bien en el cartel que generalmente la PC muestra en el momento del booteo. Puede darse el caso que el LPT1 asuma la dirección 0x3BC (956 en decimal) y el LPT2 0x378, en ese caso habrá que tratar de corregir el setup y/o los jumper de las tarjetas en caso que sea posible. De lo contrario se puede modificar el software que veremos mas adelante para aceptar esas direcciones.

El puerto paralelo está formado por 17 líneas de señales y 8 líneas de tierra. Las líneas de señales están formadas por tres grupos:

  • 4 Puerto de control
  • 5 Puerto de estado
  • 8 Puerto de datos


En el diseño original el
puerto de control son usadas para la interfase, control e intercambio de mensajes desde el PC a la impresora.

El puerto de estado es usado para intercambio de mensajes, indicadores de estado desde la impresora al PC (falta papel, impresora ocupada, error en la impresora).

El puerto de datos suministran los datos de impresión del PC hacia la impresora y solamente en esa dirección. Las nuevas implementaciones del puerto permiten una comunicación bidireccional mediante estas líneas.

Cada una de estos puertos (control, estado, datos) puede ser referenciada de modo independiente mediante un registro.

Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la dirección hexadecimal 0X378 (888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal) cuando trabajamos con el LPT2. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se desee modificar uno se deberán escribir los ocho bits nuevamente.

Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la dirección hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la dirección 0x279 (633 en decimal) si trabajamos con el LPT2. La lectura será devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15.

NOTA: No recuerdo si el puerto de estado puede también transmitir como el puerto de datos o seria el de control... si alguien lo recuerda que lo comente... muchas gracias... porque lo comento porque si es así tendríamos 4 pines mas a disposición nuestra