Taller de Minirobotica

En el trimestre de primavera 2010 se habre un curso de minirobotica en la DICIS de la UGTO, el cual suena interesante. Quien es el encargado es mi buen amigo Jorge De Anda, espero aprender mucho.

Proyectos Interesantes que he encontrado con PICs:

Control de un JoyStick de PlayStation con un 18f

Juego del Plato con un dsPIC

Magistral ejemplo de uso de pantallas nokia

Mini Zumo: Bit Bot en acción

Conexión USB con un pic18f

Raton PS/2 con dsPIC

Otros proyectos que pueden interesarte:

Amplificación de un Micrófono Electret (Micrófono tipo botón)

El curso ya acabo y aqui voy a colocar todo lo que he inferido acerca de lo que fue el taller: chips, programación, cableado, aditamentos, restricciones etc.

MATERIAL

Lo básico que necesitamos es:

  • 2  Plantillas de Experimentos (con 1 puede ser suficiente pero con 2 se podrá acomodar mejor el cableado)
  • 1 Microcontrolador Pic 16f887 de Microchip (es recomendable que tengas uno de repuesto)
  • 8 Leds   (como salida provisional de bits)
  • 8 Resistencias de 330 Ohms (para controlar la corriente de los bits)
  • 1 Fuente de Voltaje de 5.0 V (Pueden ser tres pilas de 1.5V colocadas en serie)
  • Compilador PCW o PICC de la empresa CCS (Para programar en C)
  • SoftWare MPLAB IDE v8.50 (Para programar en ensamblador y en C junto con PCW)
  • Mucho Alambre Telefónico para las conexiones con la plantilla

Material adicional:

  • 1 Pantalla LCD Alfa-Numerico (Se usa una de 20×2, para sacar datos y darles un formato mas claro)
  • 1 Zocalo Zif (Para sacar y meter sin esfuerzo el PIC)
  • 2 Potenciometros de 10k
  • 1 Transistor TIP 41 (se usa para el PWM)
  • 1 Dip-Switch de 4 switch
  • 2 Resistencias de 330 Ohms (Para la retro iluminación de la pantalla en mi caso)
  • 1 LM35DZ (Sensor de Temperatura)

Una pequeña Introducción


Los PICS (Nombre Común que se les da a los microcontroladores de Microchip, Wikipedia: Peripheral InterfaceController,controlador de interfaz periférico),
son básicamente microcomputadoras que tienen todo listo para trabajar.
Figura 1.1 – PIC 16f887 en diferentes encapsulados, en la parte de arriba es un encapsulado que es mejor conocido como de soldado superficial, ideal para placas donde se quiere optimizar espacios. En la parte inferior un encapsulado que es excelente para trabajar con prototipos en una plantilla y que permite un soldado rápido. Ademas de encapsulado,estos chips tambien pueden variar en pines.
Viendo las imágenes anteriores uno se podría preguntar: ¿y el raton? , ¿la pantalla? ¿y el teclado?. Bueno es que un PIC no es en realidad una computadora de escritorio o una laptop, cuando dije una microcomputadora me referia a que contiene todo lo básico para que un microprocesador  pueda realizar una rutina, (Memoria RAM, Memoria ROM, bus de datos, Reloj, etc.), la interfaz de los PICs  no es un ratón, una pantalla o un monitor (con esto no quiero decir que no sea posible adaptar un objeto de los anteriores para que el PIC pueda ser controlado). Los pines son la principal (en la mayoría de las familias de los mismos la única) forma  en que los PICs tienen de comunicarse con los dispositivos externos.  Los pines y su configuración varían de modelo a modelo y de familia a familia.
La familia de los PICs es muy amplia, han sido dos características que me han llamado mucho la atención: posibilidad de bluetooth y la de conexión USB.
Los PICs que se van a manejar a lo largo de este post son el pic 16f887 y 18f4550
He de recordarles que todos los datos aqui presentados son extraidos del datasheet, de  los respectivos dispositivos.
Listo aquí unas cuantas caracteristicas importantes de cada uno:
  • PIC16f887
  • Máxima frecuencia de reloj  externa hasta 20 MHz : en muchos casos el oscilador interno será suficiente (8 MHz) recuerda que subir esta frecuencia es subir el consumo de energía.
  • Manejo de Energía: permite encender o apagar por completo el microcontrolador, esto da la posibilidad de ahorrar energía.
  • Amplio Rango de Voltajes (2.2 – 5.5) :  una característica que te permite trabajar con voltajes muy bajos y con los ya acostumbrados voltajes TTL.
  • Protección de código: este pic tiene un fusible especial que hace que el código no pueda ser leído, esto no garantiza que alguien pueda crackear el código.
  • In Circuit Debugger (ICD): permite que por medio de un programador bien ajustado el pic pueda ir ejecutando instrucción por instrucción y que la computadora pueda ir viendo que linea se va ejecutando.
  • In Circuit Serial Programing (ICSP): permite por medio de 5 pines del PIC y un programador que tenga estas característica programar el pic sin necesidad de desmontarlo de algún sitio.
  • Corriente de operación de 22 uA en operación normal con 4 MHz.
  • 1 módulo Capture/Compare/PWM (CCP): de estas características la única que he manejado es el PWM (control de motores).
  • 1ADC : te la posibilidad de sensar señales analógicas de diferentes sensores, increíblemente util para procesar señales no digitales.
  • Comunicación serial I2C, SPI y USART: imprescindibles si quieres comunicarte con otros dispositivos (especialmente si son dispositivos comerciales).
  • Memoria EEPROM: memoria no volátil que te permite almacenar datos que no sean borrados con el reincido del PIC, aunque es poca (256 bytes), puede llegar a ser muy útil.
  • PIC184550
  • Contiene básicamente todas las características del 16f887
  • Frecuencia de Reloj Máxima de 48 Mhz (¿Quien dijo lento?), para llegar a esta frecuencia se tienen que hacer ciertos ajustes.
  • Especialmente optimizado para códigos hechos en C.
  • 2 módulos CCP.
  • Varios Modos de Manejo de Energía: en esencia es lo mismo que el 16f887 pero permite apagar bloques de manera mas controlada.
  • Compatibilidad con USB 1.0 y 2.0: si así como lo leyeron, puede establecer una comunicación USB con una computadora.
Como puede verse, las características de los PICs son bastante extensas (seguramente mas extensas que lo que originalmente pensabas) y me atrevo a decir que estas características agregadas no son triviales, seguramente con el avance del tiempo se han ido agregando y con seguridad se irán agregando mas.
Estos pequeñines son muy versátiles, tiene muchas características muy interesantes, y siendo sincero yo creo que los microcontroladores son el puente ideal entre la programación y el hardware, he querido revisar otros microcontroladores de otras compañías pero no he podido, pero en cuanto tenga una comparativa la pongo.
¿EN QUE MOMENTO NECESITO USAR UN PIC?
Una pregunta que me gusta mucho hacer, porque encapsula algo que un ingeniero debe de tener en cuenta, ser practico y con decisiones prudentes.
Siguiendo con el tema, el profe que nos dio el curso dio la siguiente imagen como explicación:

Figura 1.2 - Esquema donde se ilustran las características por las cuales un PIC (o microcontrolador en general) tiene ventajas con respecto a los otros sistemas digitales.

Un PIC puede ser una excelente recurso para hacer ciertos tipos de tareas, para la cuales una computadora es muy cara o demasiado robusta como para ser considerada, y hasta cierto punto inútil . Supongamos un ejemplo:
  • Se tiene una carnicería, donde la prioridad es mantener la temperatura a cierto nivel, en el cual la carne no sufra algún daño, a pesar de que el refrigerador de la carnicería tiene su propio control de refrigeración, al dueño le interesa tener seguridad extra y quiere que sea avisado de forma inmediata para hacer una acción correspondiente. El dueño quiere alguna forma viable y económica para hacer esto, y te pregunta a ti experto en tecnología y electrónica, ¿Cual es la mejor opción?.

Bueno pues veamos que se puede hacer:

  • Comprar una computadora, de alguna forma ponerle internet, comprar una tarjeta para hacer la interfaz entre un termómetro digital y la computadora. Cada vez que ocurra el evento no deseado mandar un correo.

Detalles:

  • Costo del internet.
  • Costo de la computadora.
  • Puede que el mensaje no sea leído a tiempo.

Detalles:

  • Tarjeta FPGA muy cara, se puede considerar sobrecapacitada para este trabajo.
  • El lenguaje VHDL puede ser mas difícil de aprender que el lenguaje ensamblador o que el lenguaje ANSI C.

Detalles:

  • Yo no le veo detalles, es la solución mas amena y simple.

*Sparfun.com hace envíos a México, si tu no quieres arriesgarte por el envío puedes hacer una cotización por el producto en Cosas de Ingeniería y ellos se encargan de traerlo.

Creo que el ejemplo fue claro, ¿Para que hacer un gasto excesivo si con algo muy sencillo se puede lograr?, es ahí donde entran los microcontroladores.

Un excelente recurso que se puede adquirir es el siguiente libro:

Figura 1.3 Un excelente recurso que explica con muchos detalles técnicos el funcionamiento, programación y datos curiosos sobre los PICs

Aunque es especifico del PIC 16f84, la explicación de la arquitectura y funcionamiento del lenguaje ensamblador es también aplicable a otros PICs, su precio en México es de alrededor de los $290 pesos, pero en mi opinión es un libro que vale mucho mas que eso.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: