viernes, 4 de marzo de 2011

¿Como programar un pic?

Programación del PIC

Para transferir el código de un ordenador al PIC normalmente se usa un dispositivo llamado programador. La mayoría de PICs que Microchip distribuye hoy en día incorporan ICSP (In Circuit Serial Programming, programación serie incorporada) o LVP (Low Voltage Programming, programación a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 (En algunos modelos pueden usarse otros pines como el GP0 y GP1 o el RA0 y RA1) como reloj y datos y el MCLR para activar el modo programación aplicando un voltaje de 13 voltios. Existen muchos programadores de PICs, desde los más simples que dejan al software los detalles de comunicaciones, a los más complejos, que pueden verificar el dispositivo a diversas tensiones de alimentación e implementan en hardware casi todas las funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las órdenes al PIC que se desea programar. Uno de los programadores más simples es el TE20, que utiliza la línea TX del puerto RS232 como alimentación y las líneas DTR y CTS para mandar o recibir datos cuando el microcontrolador está en modo programación. El software de programación puede ser el ICprog, muy común entre la gente que utiliza este tipo de microcontroladores. Entornos de programación basados en interpretes BASIC ponen al alcance de cualquiera proyectos que parecieran ser ambiciosos.
Se pueden obtener directamente de Microchip muchos programadores/depuradores (octubre de 2005):

Un buena recopilación de herramientas de desarrollo para PICs puede encontrarse Aquí. (Mayo de 2009).

 Programadores

  • PICStart Plus (puerto serie y USB)
  • Promate II (puerto serie)
  • MPLAB PM3 (puerto serie y USB)
  • ICD2 (puerto serie y USB)
  • ICD3 (USB)
  • PICKit 1 (USB)
  • IC-Prog 1.06B
  • PICAT 1.25 (puerto USB2.0 para PICs y Atmel)
  • WinPic 800 (puerto paralelo, serie y USB)
  • PICKit 2 (USB)
  • PICKit 3 (USB)
  • Terusb1.0
  • Eclipse (PICs y AVRs. USB.)

Depuradores integrados

  • ICD (Serie)
  • ICD2 (Serie ó full speed USB - 2M bits/s)
  • ICD3 (High speed USB - 480M bits/s)

 Emuladores

  • Proteus - ISIS
  • ICE2000 (puerto paralelo, convertidor a USB disponible)
  • ICE4000 (USB)
  • PIC EMU
  • PIC CDlite

Emulador Proteus

Proteus es una compilación de programas de diseño y simulación electrónica, desarrollado por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los módulos VSM y Electra.

ISIS

El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta algúno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchos otros componentes con prestaciones diferentes. Los diseños realizados en Isis pueden ser simulados en tiempo real, mediante el módulo VSM, asociado directamente con ISIS.

 El módulo VSM

Una de las prestaciones de Proteus, integrada con ISIS, es VSM, el Virtual System Modeling (Sistema Virtual de Modelado), una extensión integrada con ISIS, con la cual se puede simular, en tiempo real, con posibilidad de más rapidez; todas las características de varias familias de microcontroladores, introduciendo nosotros mismos el programa que controlará el microcontrolador y cada una de sus salidas, y a la vez, simulando las tareas que queramos que lleve a cabo con el programa. Se pueden simular circuitos con microcontroladores conectados a distintos dispositivos, como motores, lcd´s, teclados en matriz, etc. Incluye, entre otras, las familias de PIC's PIC10, PIC12, PIC16, PIC18, PIC24 y dsPIC33. ISIS es el corazón del entorno integrado PROTEUS. Combina un entorno de diseño de una potencia excepcional con una enorme capacidad de controlar la apariencia final de los dibujos.

 ARES

ARES, o Advanced Routing and Editing Software (Software de Edición y Ruteo Avanzado); es la herramienta de enrutado, ubicación y edición de componentes, se utiliza para la fabricación de placas de circuito impreso, permitiendo editar generalmente, las capas superficial (Top Copper), y de soldadura (Bottom Copper).

 Forma Manual

Ejecutando ARES directamente, y ubicando cada componente en el circuito. Tener cuidado al DRC, Design Rules Checker (Verificador de Reglas de Diseño)

 Forma Automática

El propio programa puede trazar las pistas, si se guarda previamente el circuito en ISIS, y haciendo clic en el ícono de ARES, en el programa, el programa compone la Netlist

 Método 1 (Autorouter)

  1. Poner SOLO los componentes en la board
  2. Especificar el área de la placa (con un rectángulo, tipo "Board Edge")
  3. Hacer clic en "Autorouter", en la barra de botones superior
    1. Editar la estrategia de ruteo en "Edit Strategies"
  4. Hacer clic en "OK"

 Método 2 (Electra Autorouter)

Utilizando el módulo Electra (Electra Auto Router), el cual, una vez colocados los componentes trazará automáticamente las pistas realizando varias pasadas para optimizar el resultado.
Con Ares además se puede tener una visualización en 3D del PCB que se ha diseñado, al haber terminado de realizar la ubicación de piezas, capas y ruteo, con la herramienta "3D Visualization", en el menú output, la cual se puede demorar, solo haciendo los trazos un periodo de tiempo un poco más largo que el de los componentes, los cuales salen al empezar la visualización en 3D.

http://www.labcenter.com/products/vsm_overview.cfm

PROTEUS es un entorno integrado diseñado para la realización completa de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño, simulación, depuración y construcción. La suite se compone de cuatro elementos, perfectamente integrados entre sí:

* ISIS, la herramienta para la elaboración avanzada de esquemas electrónicos, que incorpora una librería de más de 6.000 módelos de dispositivos digitales y analógicos.


* ARES, la herramienta para la elaboración de placas de circuito impreso con posicionador automático de elementos y generación automática de pistas, que permite el uso de hasta 16 capas. Con ARES el trabajo duro de la realización de placas electrónicas recáe sobre el PC en lugar de sobre el diseñador.
Manuales:  
 
 
 
Videos:
 
 
 
http://www.youtube.com/watch?v=sdDjhBAtJvI&feature=mfu_in_order&list=UL

jueves, 3 de marzo de 2011

REGULADOR DE VOLTAJE

Un regulador de voltaje (también llamado estabilizador de voltaje o acondicionador de voltaje) es un equipo eléctrico que acepta una tensión eléctrica de voltaje variable a la entrada, dentro de un parámetro predeterminado y mantiene a la salida una tensión constante (regulada).
Son diversos tipos de reguladores de voltaje, los más comunes son de dos tipos: para uso doméstico o industrial. Los primeros son utilizados en su mayoría para proteger equipo de cómputo, video, o electrodomésticos. Los segundos protegen instalaciones eléctricas completas, aparatos o equipo eléctrico sofisticado, fabricas, entre otros. El costo de un regulador de voltaje estará determinado en la mayoría de los casos por su calidad y vida útil en funcionamiento continuo.

Regulador de voltaje 7805

78xx es la denominación de una familia de reguladores de tensión positiva, de tres terminales, Vi voltaje de entrada, Vo voltaje de salida y la pata central la masa o común, con especificaciones similares y que sólo difieren en la tensión de salida suministrada y en la corriente que es capaz de dar ante una demanda de ello depende las letras que intercala detrás de los dos primeros digitos:
  • 78xx (sin letra): 1 amperio
  • 78Lxx: 0,1 A
  • 78Mxx: 0,5 A
  • 78Txx: 3 A
  • 78Hxx: 5 A (híbrido)
  • 78Pxx: 10 A (híbrido)
Especiales:
  • 78S40: Regulador de conmutación
La tensión de salida varía entre 5 y 24 voltios dependiendo del modelo y está especificada por los dos últimos dígitos.
Por ejemplo, el 7805 entrega 5V de corriente continua. El encapsulado en el que usualmente se lo utiliza es el TO220, aunque también se lo encuentra en encapsulados pequeños de montaje superficial y en encapsulados grandes y metálicos (TO3).
La tensión de alimentación debe ser un poco más de 2 volts superior a la tensión que entrega el regulador y menor a 35 volts. Usualmente soporta corrientes de hasta 1A aunque diversos modelos hay en el mercado. El dispositivo posee como protección un limitador de corriente por cortocircuito, y además, otro limitador por temperatura que puede reducir el nivel de corriente. Estos integrados son fabricados por numerosas compañías, entre las que se encuentran National Semiconductor, Fairchild Semiconductor y STMicroelectronics.
La serie de reguladores de tensión positiva 78xx se complementa con la 79xx, que entrega tensiones negativas, en sistemas donde se necesiten tanto tensiones positivas como negativas, ya que la serie 78xx no puede ser usada para regular tensiones negativas.
El ejemplar más conocido de esta serie de reguladores es el 7805, que provee 5V, lo que lo hace sumamente útil para alimentar dispositivos

Las características estándar de los principales modelos son las encontradas en la siguiente tabla.

7803 7805 7806 7808 7809 7810 7812 7815 7818 7824
Vout 3,3V 5V 6V 8V 9V 10V 12V 15V 18V 24V
Vin - Vout
2,2V - 30V



2,5V - 23V 2,6V - 20V

Temperatura de operación 0 - 125 °C 0 - 125 °C
0 - 125 °C 0 - 125 °C

0 - 125 °C

Imax de salida 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A
La serie 78TXX soporta una corriente de hasta 3A[1] y la serie 78MXX soporta solo hasta 0.5A.




http://www.youtube.com/watch?v=lETIpI78cHA&feature=related

PRACTICA 1

diagrama o esquema






Material utilizado

Led



Regulador de voltaje 7805





Protoboard
Capacitor
Adaptador para pila
Resistencia de 330 ohms
Cable para protoboard
Si tenemos 7, 9 o 12 voltios pero lo que necesitas son 5 voltios, este circuito nos sirve. Un regulador barato y común es el 7805.
En el nivel de circuito, el "común" va directamente a tierra y la salida es 5V.

Nota: del diodo a través del regulador es opcional, que protege a el regulador contra alguna regresion de voltaje o por algun corto.

El regulador también debe estar equipado con un pequeño disipador.



                                http://www.youtube.com/watch?v=vMCxYirdhaE&feature=related

martes, 1 de marzo de 2011

¿que es un PIC?

Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.
El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de E/S, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.
En 1985 la división de microelectrónica de General Instrument se separa como compañía independiente que es incorporada como filial (el 14 de diciembre de 1987 cambia el nombre a Microchip Technology y en 1989 es adquirida por un grupo de inversores) y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluidos (módulos de comunicación serie, UARTs, núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en lenguaje ensamblador, y puede ser 12, 14 o 16 bits, dependiendo de la familia específica de PICmicro).


Arquitectura central
La arquitectura del PIC es sumamente minimalista. Esta caracterizada por las siguientes prestaciones:
  • Área de código y de datos separadas (Arquitectura Harvard).
  • Un reducido número de instrucciones de largo fijo.
  • La mayoría de las instrucciones se ejecutan en un solo ciclo de ejecución (4 ciclos de clock), con ciclos de único retraso en las bifurcaciones y saltos.
  • Un solo acumulador (W), cuyo uso (como operador de origen) es implícito (no está especificado en la instrucción).
  • Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de operaciones matemáticas y otras funciones.[1]
  • Una pila de hardware para almacenar instrucciones de regreso de funciones.
  • Una relativamente pequeña cantidad de espacio de datos direccionable (típicamente, 256 bytes), extensible a través de manipulación de bancos de memoria.
  • El espacio de datos está relacionado con el CPU, puertos, y los registros de los periféricos.
  • El contador de programa esta también relacionado dentro del espacio de datos, y es posible escribir en él (permitiendo saltos indirectos).
A diferencia de la mayoría de otros CPU, no hay distinción entre los espacios de memoria y los espacios de registros, ya que la RAM cumple ambas funciones, y esta es normalmente referida como "archivo de registros" o simplemente, registros.



Hay dos arquitecturas conocidas; la clásica de von Neumann, y la arquitectura Harvard, veamos como son...

Arquitectura Von Neumann Dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control).


Arquitectura Harvard Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias, ésta es la estructura para los PIC's.


El procesador o UCP
Es el elemento más importante del microcontrolador. Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, decodificarlo y ejecutarlo, también realiza la búsqueda de los operandos y almacena el resultado.
Esta vendría a ser la memoria de instrucciones, aquí es donde almacenaremos nuestro programa o código que el micro debe ejecutar. No hay posibilidad de utilizar memorias externas de ampliación. Son 5 los tipos de memoria. pero sólo describiré dos:
  • Memorias EEPROM. (Electrical Erasable Programmable Read Only Memory - Memoria de sólo lectura Programable y borrable eléctricamente) Común en el PIC 16C84. Ésta tarea se hace a través de un circuito grabador y bajo el control de un PC. El número de veces que puede grabarse y borrarse una memoria EEPROM es finito aproximadamente 1000 veces, no es acaso suficiente...?. Este tipo de memoria es relativamente lenta.
  • Memorias FLASH. Disponible en el PIC16F84. Posee las mismas características que la EEPROM, pero ésta tiene menor consumo de energía y mayor capacidad de almacenamiento, por ello está sustituyendo a la memoria EEPROM.
La memoria de programa se divide en páginas de 2,048 posiciones. El PIC16F84A sólo tiene implementadas 1K posiciones es decir de 0000h a 03FFh y el resto no está implementado. (es aquello que se ve en gris)

Cuando ocurre un Reset, el contador de programa (PC) apunta a la dirección 0000h, y el micro se inicia nuevamente. Por esta razón , en la primera dirección del programa se debe escribir todo lo relacionado con la iniciación del mismo (por ejemplo, la configuración de los puertos...).

Ahora, si ocurre una interrupción el contador de programa (PC) apunta a la dirección 0004h, entonces ahí escribiremos la programación necesaria para atender dicha interrupción.

Algo que se debe tener en cuenta es la pila o Stack, que consta de 8 posiciones (o niveles), esto es como una pila de 8 platos el último en poner es el primero en sacar, si seguimos con este ejemplo, cada plato contiene la dirección y los datos de la instrucción que se está ejecutando, así cuando se efectúa una llamada (CALL) o una interrupción, el PC sabe donde debe regresar (mediante la instrucción RETURN, RETLW o RETFIE, según el caso) para continuar con la ejecución del programa.
Tiene dos zonas diferentes:

1. RAM estática ó SRAM: donde residen los Registros Específicos (SFR) con 24 posiciones de tamaño byte, aunque dos de ellas no son operativas y los Registros de Propósito General (GPR) con 68 posiciones. La RAM del PIC16F84A se halla dividida en dos bancos (banco 0 y banco 1) de 128 bytes cada uno (7Fh)




Antecedentes e historia de los microcontroladores.
En el año 1969, un equipo de ingenieros japoneses de la compañía BUSICOM llegó a Estados Unidos con una idea, ellos deseaban usar para sus proyectos pocos circuitos integrados de los que se usaban en las calculadoras. La proposición se hizo a INTEL, y Marcian Hoff era el responsable del proyecto. Ya que él era quien tenia experiencia trabajando con una computadora (PC) PDP8, se le ocurrió pensar en una solución fundamentalmente diferente en lugar de la construcción sugerida. Esta solución presumía que la función del circuito integrado se determinaría por un programa almacenado en él. Eso significaba que la configuración sería más simple, pero que requeriría mucho más memoria de lo que requería el proyecto que propusieron los ingenieros japoneses.
Después de un tiempo, aunque los ingenieros japoneses probaron soluciones más fáciles, la idea de Marcian ganó, y el primer microprocesador nació. Para transformar esta idea en un producto ya fabricado, Federico Faggin, se unió a INTEL, y en sólo 9 meses tuvo éxito. INTEL obtuvo los derechos para vender este "bloque integrado" en 1971. Primero, compraron la licencia de la compañía BUSICOM, que no tenía idea del tesoro que poseían. Durante ese año, apareció en el mercado un microprocesador que se llamó 4004, este fue el primer microprocesador de 4 bits con velocidad de 6 000 operaciones por segundo. No mucho tiempo después de eso, la compañía americana CTC pidió a INTEL y Texas Instruments que hiciera un microprocesador de 8 bits. Aunque después a CTC no le interesó mas la idea, Intel y Texas Instruments siguieron trabajando en el microprocesador y el primero de abril de 1972, el microprocesador de 8 bits
aparece en el mercado con el nombre de 8008. Podía direccionar 16 Kb de memoria, con un set de 45 instrucciones y una velocidad de 300 000 operaciones por segundo. Este microprocesador es el predecesor de todos los microprocesadores de hoy. Intel mantuvo sus desarrollos y saco al mercado el procesador de 8 bits bajo el nombre 8080, el cual podía direccionar 64Kb de memoria, con 75 instrucciones, a un precio de 360 dlls.
En otra compañía americana, Motorola, comprendieron rápidamente lo que estaba sucediendo, así que ellos sacaron al mercado su microprocesador de 8 bits, el 6800. Su constructor principal era Chuck Peddle, y junto con el procesador, Motorola fue la primera compañía en hacer otros periféricos como el 6820 y el 6850. En ese momento muchas compañías reconocieron importancia de los microprocesadores y empezaron sus propios desarrollos. Chuck Peddle
abandonó Motorola para unirse a la Tecnología MOS y se mantuvo trabajando intensamente en el desarrollo de los microprocesadores.
Un evento muy importante tuvo lugar en la historia de microprocesadores en una exhibición de WESCON en 1795 en Estados Unidos. La Tecnología MOS anunció que estaba comercializando los microprocesadores 6501 y 6502 a 25 dlls. cada uno, y que los compradores podrían adquirirlos inmediatamente. Esto era tan extraordinario, que algunas personas creyeron que era un escándalo, considerando que los competidores estaban vendiendo el 8080 y el 6800 a 179
dlls. cada uno. Intel y Motorola bajaron sus precios en el primer día de la exhibición como una respuesta a su competidor, 69.95 por microprocesador. Motorola reclama a la Tecnología de MOS y a Chuck Peddle el haberles copiado su 6800. La Tecnología MOS suspende la fabricación del 6501, pero siguen produciendo el 6502. Los 6502 eran microprocesadores de 8 bits, 56
instrucciones y la capacidad de direccionar 64Kb de memoria directamente. Para reducir el costo, el 6502 se vuelve muy popular, así que se instala en las computadoras tales como: KIM-1, Apple I, Apple II, Atari, Comodore, Acorn, Oric, Galeb, Orao, Ultra, y muchas otras. Y muy pronto aparecieron varios fabricantes del 6502 (Rockwell, Sznertek, GTE, NCR, Ricoh, y Comodore quienes toman la Tecnología MOS) el cual estaba en su momento de apogeo y se vendía a una velocidad de 15 millones de procesadores por año. Otros, sin embargo, no se rindieron. Federico Faggin deja Intel, y empieza su propio Zilog Inc.
En 1976, Zilog anuncia el Z80. Durante la fabricación de este microprocesador, Faggin toma una decisión giratoria. Sabiendo que ya se han desarrollado muchos programas para 8080, Faggin sabia que muchos se quedarían fieles a ese microprocesador. Así que decide diseñar un nuevo
procesador que pueda ser compatible con 8080, o que sea capaz de desarrollar todos los programas que ya se habían escrito para el 8080. Además de estas características, se agregaron muchas otras para que el Z80 fuera un microprocesador muy poderoso. Podía direccionar 64 Kb de memoria, tenía 176 instrucciones, un gran número de registros, una opción para refresco de
memoria dinámica de la RAM, mayor velocidad de trabajo etc. El Z80 fue un gran éxito y todos cambiaron del 8080 al Z80. Puede decirse que el Z80 fue el microprocesador comercializado más exitoso de ese tiempo. Además de Zilog, también aparecieron otros nuevos fabricantes como Mostek, NEC, SHARP, y SGS. Z80 estaba en el corazón de muchas computadoras como en Spectrum, Partner, TRS703, Z-3 etc.

En 1976, Intel propone una versión mejorada del microprocesador de 8 bits, al cual nombró 8085. Sin embargo, el Z80 era tan bueno que Intel perdió la batalla. Aunque más procesadores aparecían en el mercado (6809, 2650, SC/MP etc.), ya todo estaba decidido. Ya no había grandes mejoras departe de los fabricantes para hacer algo nuevo, así que el 6502 y el Z80 junto con el
6800 permanecieron como los representantes principales de los microprocesadores de 8 bits de ese tiempo.
Aunque en toda esta historia, se mencionan erroneamente microprocesadores, la realidad, es que las primeras PCs, emplearon microcotroladores, los cuales, como ya vimos, cuentan con un procesador y memoria. Posteriormente, se dio el paso a los microprocesadores, que no cuentan con la memoria, en el mismo circuito integrado, y los microcontroladores, tienen su aplicacion en aparatos electrodomesticos automoviles, en la industria, entre otros.

En 1980 aproximadamente, los fabricantes de circuitos integrados iniciaron la difusión de un nuevo circuito para control, medición e instrumentación al que llamaron microcomputador en un sólo chip o de manera más exacta