viernes, 25 de abril de 2008

Día Sexto (6°) - 25/04/08

Previamente habíamos tenido problemas con la programación debido a que desconocíamos la configuración básica del PIC, entonces en esta clase nos avocamos a entender esta última. Con ese fin, Mariano Foullier se sentó con nosotros y leyendo, tanto el datasheet del PIC como los archivos de ayuda del MicroCode Studio conseguimos los comandos que dejan al PIC listo para el programa principal. Estas lineas de código incluyen la configuración del clock y demás parámetros internos irrelevantes al caso. Algunas de estas cosas no podían ser programadas directamente en Basic ya que este lenguaje para este PIC carece de esas funciones, por eso procedimos a configurarlo en Assembler (las instrucciones las sacamos del Datasheet), mediante el comando ASM - ENDASM que permite insertar código en este lenguaje dentro del mismo compilador de Basic. De esta forma los programas comenzaron a ser funcionales. Esta configuración es el principio de cada programa. Agregando lo de la semana anterior obtuvimos el siguiente programa.

El programa anduvo a la perfección, nos dedicamos a hacer programas mas complejos. Para el final del día habíamos realizado un programa que manejaba 2 entradas digitales (Botones) y en función de que combinación era la presionada, el LED titilaba con distintas frecuencias. Aquí el programa.

El programa funcionó a la perfección. Dimos un gran avance con respecto a las clases anteriores

sábado, 19 de abril de 2008

Software Utilizado


En este apartado colocaremos los distintos tipos de Software que hemos ido utilizando a lo largo del proyecto. Iremos ampliando esta sección a medida que utilizemos nuevo Software. Los programas utilizados son:

  • MicroCode Studio

El MicroCode Studio es el IDE (Integrated Development Interface - Interfaz De Desarrollo Integrada) que utilizamos para programar el PIC. El lenguaje de programación con el que funciona este IDE es el BASIC que es un lenguaje diseñado para ser de fácil interpretación, es altamente humano en cuanto a esto. El compilador que utilizamos para poder traducir la programación de BASIC a lenguaje de máquina es el PicBasicPro cuyos archivos de ayuda y descripción (uno por cada Microcontrolador que puede programar) son muy útiles a la hora de configurar inicialmente a los Microcontroladores. Aquí un snapshot del MicroCode Studio:

  • MaxLoader

El MaxLoader es la herramienta de eeTools que nos permite bajar los programas compilados al PIC. Es de una interfaz sencilla que permite borrar, verificar, leer y programar memorias y Microcontroladores. Tiene un catalogo variado de Microcontroladores que permite programar y funciona con varias de las herramientas de grabación de eeTools como ChipMax, TopMax, etc. Aquí un snapshot del MaxLoader:


  • HyperTerminal

HyperTerminal es el programa de comunicaciones que nos permite comunicar al Microcontrolador con la PC, es un porgrama sencillo que permite utilizar distintos tipos de puertos para comunicaciones, en nuestro caso el COM1. El HyperTerminal permite setear muchas opciones de funcionamiento, como velocidad de transmisión, protocolo, etc. En nuestro caso usamos en protocolo N9600 (9600 Baudios, bytes negados y un bit de Stop). HyperTerminal es una apliación que se instala junto con Windows. Aquí un Snapshot del HyperTerminal:

Herramientas Utilizadas

En este apartado colocaremos los distintos tipos de Herramientas (y Hardware) que hemos ido utilizando a lo largo del proyecto. Iremos ampliando esta sección a medida que utilizemos nuevas Herramientas. Los programas utilizados son:

  • ChipMax

El ChipMax es el Hardware grabador de memorias utilizado para grabar la programación en el PIC. Es una herramienta proveída por eeTools. Consiste en un módulo de programación que tiene un zócalo en el cual se pueden colocar componentes de hasta 40 patas. Se conecta a la PC mediante un cable al Puerto Paralelo (Printer Cable al Parallel Port). Para programarlo se necesita el Software MaxLoader. El módulo contiene dos LED's indicadores, uno que indica si se está recibiendo alimentación "POWER" (va a 220V mediante un transformador), y el otro que indica si el módulo está escribiendo o leyendo datos dentro de un circuito integrado mediante la etiqueta "BUSY". El ChipMax es bastante rápido, programar el PIC toma de 4 a 7 segundos. Aquí una foto del módulo:

  • Osciloscopio

El Osciloscopio Digital (también llamado ORC por los antiguos Osciloscopios de Rayos Catódicos, CRO en inglés), es una herramienta que permite visualizar señales eléctricas tanto analógicas como digitales. Cabe aclarar que para interpretar las señales analógicas (Siendo el Osciloscopio Digital) es necesario convertirlas en valores digitales mediante un ADC (Analog To Digital Converter - Conversor Analógico Digital). Básicamente un Osciloscopio es un Tester que permite graficar los valores en función del tiempo. Consiste en un Display y una botonera que posee botones y diales que permiten obtener medidas y ajustar parámetros de medición. Posee 2 entradas o "Canales" (Channels) por las cuales ingresan las señales. Los terminales de medición (Puntas de Osciloscopio) son cables especialmente blindados para evitar la distorsión de la señal que viaja por el. Poseen una punta particular que permite engancharse a terminales, pins y cables. También un cable cocodrilo que es para conectar a la masa (0V) del circuito y así tener la referencia, el conector mediante el cual se ingresa al osciloscopio es un BNC. El que utilizamos nosotros es el modelo TDS 220 de la marca Tektronix. Aquí una foto del osciloscopio:

  • Tester (Multímetro)

El Tester (o Multímetro) es una herramienta que permite medir varios parámetros eléctricos, estos son:

  • Diferencia de Potencial Continua y Alterna (Tester en modo Voltímetro)
  • Intensidad de Corriente Continua y Alterna (Tester en modo Amperímetro)
  • Resistencia (Tester en modo Ohmetro)
  • Continuidad de Conductores y Diodos.

El Tester consiste en un display de 4 digitos, 4 terminales de entrada de señal (uno para Tensión/Resistencia/Continuidad, un común "common", uno para medir corrientes de hasta 200mA y otro para medir corrientes de hasta 10A) y 2 cables con puntas que son los que ingresan (en distintas combinaciones según la medición) a los terminales del Tester y una perilla central que permite variar el modo y la escala en la que mide el Tester. Cabe destacar que según el modo, las mediciones se efectúan distinto. Para medir Tensiones el Tester debe colocarse en Paralelo a los bornes de los cuales se quiere obtener la diferencia de potencial. Para medir Corriente el tester se coloca en serie al conductor o componente por el cual pasa el flujo a medir cerrando el circuito mediante el Tester (para medir corrientes hay que conectar uno de los dos terminales del Tester en otro conector). Para medir Resistencia o Continuidad los componentes deben estar desconectados y el Tester debe colocarse entre los bornes de los componentes. El tester que usamos nosotros es el Wavetek 15XL. Aquí una foto:

  • Fuente de Alimentación

La Fuente de Alimentación es el dispositivo que provee la energía eléctrica para el funcionamiento de los circuitos. Posee un transformador y un circuito rectificador que convierte la señal alterna de 220v a una continua cuyo valor es regulable dentro de las siguientes opciones: 3V/4,5V/6V/7,5V/9V/12V. La corriente máxima que permite entregar la fuente que utilizamos (que posee un fusible) es de 2A. La fuente es de la marca MW2122A. Aquí una foto de la fuente:


  • Protoboard
El Protoboard, o tableta experimental, es una herramienta que nos permite interconectar elementos electrónicos, ya sean resistencias, capacidades, semiconductores, etc, sin la necesidad de soldar los componentes. Esta lleno de orificios metalizados -con contactos de presión- en los cuales se insertan los componentes del circuito a ensamblar.
El Protoboard esta dividido en cuatro secciones, las dos externas están conectadas verticalmente (según la foto) y las dos internas, con cinco orificios cada una, están conectadas horizontalmente, los orificios están conectados internamente, por lo que no es necesario rehacer estas conexiones.

viernes, 18 de abril de 2008

Día Quinto (5°) - 18/04/08

Conseguimos el Entorno de Desarrollo (IDE) y el compilador. El programa utilizado para este fin es el MicroCode Studio. Aprendimos mas del lenguaje y su implementación. Comenzamos a programar pero fallamos en el pasaje al PIC debido a que no supimos utilizar bien el MaxLoader (Programa que transfiere la programación a través de la interfaz ChipMax). La programación era errónea también ya que nos salteamos todo el paso de la preparación del PIC (Setear en Clock interno, WatchDog, etc.). Quizá logramos hacer llegar la programación al PIC pero al llevarlo a Protoboard no conseguimos resultados prácticos (debido a lo anteriormente mencionado).

El programa consistía en hacer titilar un LED.
Como mencionamos previamente, se salteaba toda la parte de seteo del PIC por lo tanto el programa consistía de estas simples lineas de código:

LED VAR portb.0

start:
HIGH LED
PAUSE 200
LOW LED
PAUSE 200

GOTO start

viernes, 11 de abril de 2008

Día Cuarto (4°) - 11/04/08

Durante el transcurso del día recolectamos y leímos datos acerca del Microprocesador a utilizar. Nuestro tutor nos explico conceptos del funcionamiento electrónico básico del mismo, tales como las entradas analógicas, digitales, oscilador interno, etc.
Vimos el Hardware utilizado el año anterior para el lanzamiento. Recibimos un PIC 16F819 pero no comenzamos a programarlo porque carecíamos del Entorno de Desarrollo y el Compilador y de los conocimientos del Lenguaje utilizado (Basic).
Elegimos Basic por sobre C (a pesar de que apenas habíamos visto unos comandos básicos) porque lo consideramos mas simple, humano y dinámico.

viernes, 4 de abril de 2008

Día Tercero (3°) - 4/04/08

El día comienza con una charla sobre el Blog en la cual aprendimos a crearlo, mantenerlo y actualizarlo. Se habló de la importancia de este para la difusión del proyecto fuera del marco escolar.

Finalmente optamos por realizar el proyecto CAN-SAT. Nos reunimos con nuestro tutor (Edgardo Baez) a discutir y aprender los objetivos del proyecto y ver las opciones que había para realizar dentro del proyecto.
El profesor Ruben Bernardoni nos entregó los documentos del grupo que se había encargado el año anterior del proyecto.
Nos informamos de las distintas partes de las cuales estaba compuesto el proyecto, básicamente estas eran:
  • Sistema de comunicaciones con tierra
  • Programación del Módulo

Elegimos la programación del Módulo que va montado en el CAN-SAT. Esta consiste en la programación de las adquisiciones de los valores que obtienen los sensores y la programación de la secuencia de expulsión que consiste en expulsar la lata en el apogeo y abrir una compuerta para luego cerrarla y así tomar una muestra de aire de la alta atmósfera.