You are on page 1of 55

Ideal para utilizar en las bicicletas!

BALIZA LUMINOSA TIPO "AUTO FANTSTICO"

INTRODUCCIN: Una de las series mas vistas durante la dcada del 80 fue la llamada "El auto fantstico". Dicho automvil, entre tantas "maravillas", inclua en su frente un juego de luces que se movan en secuencia de izquierda a derecha. De mas esta decir que todos queramos algo parecido para nuestro auto! El presente montaje utiliza 6 LEDs para generar un efecto similar, y que se me ocurre puede ser una forma vistosa de baliza para utilizar en la parte trasera de nuestra bicicleta, y evitar ser atropellado si circulamos de noche. Dado el carcter "porttil" de nuestro proyecto, hemos elegido alimentarlo con una pila o batera de 9V. Todo el conjunto podr montarse en alguna caja que sea estanca, para protegerla de alguna eventual lluvia. El circuito: El circuito es de una sencillez extrema: un NE555 en modo biestable genera un tren de pulsos de unos 4 o 5 HZ (ajustables mediante el preset VR1), que se aplican a la entrada de CLOCK del CD4017B. Este integrado va cambiando el estado de sus salidas del 1 al 10, y mediante los diodos 1N4148 se conduce ese estado alto al LED correspondiente. Estos diodos son necesarios para crear el efecto de "ida y vuelta" de los LEDs.

Circuito elctrico de nuestra baliza luminosa. Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso (ver como fabricarlo aqu) y tambin un par de imgenes tiles para el montaje:

PCB

PCB terminado, con su serigrafa y el modelo virtual de la placa con los componentes montados.

Juguetes y bromas electrnicas

INTRODUCCIN: Con este proyecto inauguramos una serie de montajes destinados a ser utilizados como juguetes o bromas, sin mas utilidad practica que pasar un buen rato.

Un GRILLO electronico.

Uno de los ruidos o cantos generados por los animales, mas particularmente por los insectos, es el del grillo. Como todos saben, no es raro que este insecto pase toda la noche emitiendo su molesto chirrido, y cuando encendemos alguna luz para ver el origen del sonido, deja ce cantar. Esto hace la tarea de ubicarlo particularmente dificultosa. Eso si, ni bien volvemos a la cama y apagamos la luz, el grillo recomienza su "canto".

El mismo efecto puede lograrse electrnicamente, lo que explicaremos a continuacin: El circuito: El esquema elctrico del montaje propuesto es por dems sencillo. Utilizamos una LDR para detectar la presencia o ausencia de la luz, para que nuestro "insecto electrnico" sepa si debe o no cantar. Ni bien se apaga la luz, un temporizado construido sobre dos compuertas del CD4093B espera un tiempo (unos minutos) basado en el valor de laresistencia de 470K y el condensador electroltico de 1000uF/16V. Modificando esos valores podemos obtener tiempo mayores o menores. Una vez transcurrido ese tiempo, aparecer un estado alto en las entradas de las tercer compuerta del CD4093B, que a su vez controla el encendido de un oscilador basado en nuestro amigo el NE555, que es el que emite el sonido del grillo. Si se enciende la luz, la LDR disminuye su resistencia, y provoca que conduzca el transistor BC547B, con lo que el condensador de 1000uF de descarga y el sonido cesa. Si la luz se apaga otra vez, el ciclo se repite: se espera un tiempo para cargar el condensador, etc. Este es el esquema del circuito propuesto:

Circuito propuesto

Para que el amado del circuito sea lo mas fcil posible, hemos dibujado un circuito impreso (ver como fabricarlo aqu) y tambin un par de imgenes tiles para el montaje:

Diseo del PCB, listo para imprimir.

PCB del lado componentes, con la serigrafa de los componentes.

Vista virtual de la placa montada. En color azul, los "puentes" necesarios.

Proyectos para sistemas de seguridad y alarmas: SIRENA DE TRES TONOS Sonido de polica, bomberos o Ambulancia

INTRODUCCIN: El circuito descrito a continuacin puede usarse en juguetes (como vehculos para los nios) o como parte de un sistema de alarma (ver elDetector de Humo), y en muchas otras aplicaciones. El circuito: El circuito, basado solamente en componentes discretos muy comunes y econmicos, puede crear tres sonidos de sirena diferentes: polica, ambulancia y bomberos. Al alimentar el circuito, comienza a sonar como una sirena de polica. Si mantenemos presionado el pulsador SW1 el sonido cambia al de la sirena de un camin de bomberos. Y si presionamos el pulsador SW2, oiremos un sonido como el una sirena de ambulancia.

Si lo vamos a utilizar en un juguete, el circuito tal como se muestra mas abajo es demasiado potente. Reemplazando el transistor de salida por un BC337 ser capaz de manejar directamente un altavoz de hasta 200 mW (sobre 8 ). En este caso, el consumo de c orriente para una fuente de alimentacin de 9 o 12V es de, aproximadamente, 140 mA. y nuestros odos estarn a salvo. Si se necesita trabajar con un sonido ms elevado se recomienda utilizar el transistor BD136, tal como esta en el circuito, que puede trabajar con altavoces de hasta 5 W (sobre 8 ). El consumo de corriente para una fuente de alimentacin de 12V sera en este caso de unos 180 mA.

El circuito completo de nuestra sirena. Esta basado en un proyecto similar de la revista Elektor.

Circuito impreso sugerido. Listo para usar el mtodo de la plancha.

Placa de circuito impreso, lado componentes, con la posicin de cada componente.

Aspecto (virtual) de la placa con los componentes montados. La LDR debe montarse de manera que enfrente al LED.

Lista de componentes necesarios: 2 Resistencias de 2.2K, 1/4 de watt. 1 Resistencia de 470 ohms, 1/4 de watt. 1 Resistencia de 1K, 1/4 de watt. 3 Resistencias de 18K, 1/4 de watt. 2 Resistencias de 22K, 1/4 de watt. 1 Resistencia de 3.3K, 1/4 de watt. 1 Resistencia de 47K, 1/4 de watt. 1 Condensador electroltico de 10uF/16V. 1 Condensador electroltico de 2.2uF/16V. 1 Condensador electroltico de 470uF/16V. 2 Condensadores electrolticos de 100uF/16V. 1 Condensador cermico de 22nF. 1 Condensador cermico de 33nF. 4 Transistor BC457B. 1 Transistor BD136 (o BC337B). 2 Pulsadores para circuito impreso. 2 Bornera de dos tornillos. 1 altavoz adecuado. PCB, bateras, cables, tornillos, gabinete, etc.

Proyectos para sistemas de seguridad y alarmas: SENSOR DE HUMO

INTRODUCCIN: Una de las maneras posibles de detectar la presencia de humo se basa en comprobar la transparencia (o falta de ella) del aire. El proyecto que presentamos aqu tiene como funcin comprobar continuamente la luz que recibe una LDR de un LED ubicado enfrente, y en caso de que este valor disminuya, se cierran los contactos de un rele durante un cierto tiempo. Este proyecto puede resultar interesante para estudiantes y hobbystas, pero considero que para su uso en un sistema de seguridad es insuficiente, ya que no se tiene en cuenta la posibilidad de que, por ejemplo, se hayan "pegado" los contactos del rele o la LDR haya dejado de funcionar. Es por esto que uControl no se responsabiliza por posibles fallas o perdidas debidas al empleo de este circuito.

El circuito:

El circuito es sumamente simple: un LED, cuya corriente hemos limitado con una resistencia de 1K en serie, ilumina permanentemente a una LDR que se ubica enfrente. Esta LDR junto con el preset de 50K configuran un divisor de tensin que dispara el NE555 cuando la LDR esta a "oscuras". El nivel del disparo se ajusta mediante ese preset ("SENSIB" en el esquema) de manera de hacer mas o menos sensible el sistema.

El NE555, configurado como monoestable, permanece en reposo mientras la LDR esta iluminada. Cuando esta situacin cambia, se dispara, y su salida permanece en estado alto un tiempo que esta determinado por el condensador electroltico de 100uF/16V y el preset de 100K ("TIEMPO" en el esquema). La salida del NE555, a travs de una resistencia de 1K5 excita el transistor 2N3904, que a su vez permite que la bobina del rele se energice. Cuando el NE555 vuelve al estado de reposo, el transistor vuelve a bloquearse y el rele se desactiva. El diodo en paralelo con la bobina del rele esta para evitar que la corriente generada en la desconexin dae el transistor. El rele es del tipo inversor, as que podemos elegir conectar el tipo de alerta deseado en el borne "normal abierto" (una sirena, por ejemplo) o "normal cerrado" (una luz que se apagara en caso de incendio).

Hemos agregado un segundo LED, ("PILOTO" en el esquema) para que sierva como indicador de que el circuito esta alimentado, por si la disposicin del otro LED y la LDR son tales que no pueden verse con facilidad. En el esquema se ve una batera de 12V alimentando el circuito, lo que lo hace apto para su uso aun en cortes de energa. Los que no quieran gastar en bateras, pueden conectar este circuito a una fuente de alimentacin que entregue entre 9V y 12V de corriente continua bien estabilizados.

Circuito impreso sugerido. Listo para usar el mtodo de la plancha.

Placa de circuito impreso, lado componentes, con la posicin de cada componente.

Aspecto (virtual) de la placa con los componentes montados. La LDR debe montarse de manera que enfrente al LED.

Lista de componentes necesarios: 1 LDR 2 LEDs rojos 1 Rele inversor para circuito impreso 1 Preset de 100K 1 Preset de 50K 2 Resistencias de 1K, 1/4 de watt 1 Resistencia de 1K5, 1/4 de watt 1 diodo 1N4001 o similar 1 Transistor 2N3904 1 Circuito integrado NE555 1 Condensador electroltico de 100uF/16V 1 Bornera de dos tornillos 1 Bornera de tres tornillos PCB, bateras, cables, tornillos, gabinete, etc.

Placa entrenadora para PICs de 40 pines LINKS: [PDF] Vamos a describir la construccin de una placa central para microcontroladores de 40 pines, tales como el potente 16F877A o el 18F2420, entre otros. Este proyecto seria la continuacin lgica del que llamamos Placa entrenadora para PICs de 40 pines. Dentro de los microcontroladores de Microchips mas potentes en encapsulados de 40 pines se encuentra el muy difundido PIC16F877A, que posee 33 pines de entrada/salida, una memoria interna de 8 Kb y una EEPROM de 368 bytes. Tambin incluye un conversor analgico digital de 8 canales de 10 bits, sumamente interesante para proyectos que involucren lecturas de temperaturas, tensiones, etc. Los proyectos mas interesantes que involucren microcontroladores en general hacen uso de los mas grandes, debido a sus caractersticas avanzadas. Esta placa permitir que aprendamos a usarlos.

Fotografa del proyecto terminado.

El circuito de esta placa central de nuestro sistema de mdulos se diseo teniendo en mente la posibilidad de expansin. Para ello, la placa cuenta con 8 conectores molex de 10 vas, cada una con conexin a cuatro pines del micro, tal como hacamos en la placa para PICs de 18 pines. De hecho, y para que podamos utilizar los mismos mdulos en ambas placas, la disposicin de pines en estos conectores es la misma que utilizamos antes y que podemos ver en la imagen siguiente. De esta manera, cada conector dispondr de un pin con 5Voltios, uno de masa, y cuatro de datos, por lo que en cada conector tendremos publicado medio puerto del PIC.

Para evitar tener que sacar el microcontrolador para reprogramarlo, incluiremos en las placas centrales un conector conocido como ICSP (In Circuit Serial Programing) que permite la programacin del PIC mediante un simple cable conectado a nuestro programador.

Placa 40 pines En muchos casos, al depurar un programa se producen situaciones en los que el programa entra en bucles sin fin, o debido a algn desbordamiento interno deja de responder. Para ello, el pulsador RESET se encarga de llevar momentneamente el pin 1 del microcontrolador a GND, de manera de que el programa se reinicie. Si sacamos la cuenta, ocho conectores con 4 lneas de datos cada uno nos dan un total de 32 lneas de expansin. El PIC16F877A dispone de 33 lneas de I/O, y algunos micros de 40 pines tienen dos ms (en los pines 13 y 14, que el 16F877A utiliza para el oscilador). Estas tres lneas de E/S se encuentran ruteadas sobre la misma placa a tres jumpers, JP1 a JP3, que permiten la utilizacin de esos pines como entrada (un pulsador) o salida (un led). Respecto del oscilador externo, se encuentra construido sobre tres cristales y dos condensadores cermicos de 22 pF. Por supuesto, solo podemos utilizar un cristal por vez, para ello el jumper JP4 permite seleccionar el de 4MHz, el de 8MHz o el ms veloz de 20MHz. Si estamos utilizando algn PIC de la serie 18F, podemos

quitar este jumper y utilizar el oscilador interno, y aprovechar esos dos pines como E/S. Debemos ser cuidadosos con la colocacin de estos jumpers, ya que si lo hacemos de manera errnea muy posiblemente el microcontrolador no funcionara. Respecto de la alimentacin, esta resuelta mediante la utilizacin de un regulador de voltaje convencional, del tipo LM7805, y los condensadores respectivos, por lo que podemos conectar nuestra placa a una fuente de corriente continua de entre 7.5 y 24 voltios, cuidando la polaridad. Un led, indicado como POWER en la imagen, es el encargado de avisarnos que la placa se encuentra alimentada. Cuando diseemos algn modulo para conectar a esta placa, debemos recordar que la corriente mxima que entrega este regulador de voltaje es de aproximadamente un Amper. Si el consumo es mayor, deberemos dotar al modulo de su propia fuente de alimentacin.

Esquema de los puertos de la entrenadora. Microchip prev la programacin de sus micros sin quitarlos de la placa en la que estn colocados. Esto es posible gracias a las resistencias de 220 ohms que podemos ver en los pines PORTB.6 y PORTB.7 (Clock y Data respectivamente), mas la resistencia de 4700 ohms y el diodo 1N4148 que conectan el pin PORTA.4 (Vpp) a masa. De esta manera, si quitamos la alimentacin de la placa de pruebas, y conectamos el cable entre el programador y este conector, podremos enviar el programa seleccionado desde el ordenador al microcontrolador. Las resistencias en PORTB.6 y PORTB.7 ayudan a aislar el circuito que este conectado a ellas de las tensiones entregadas por el programador. No obstante, y segn que componentes haya conectados al conector C puede convenir quitar el cable plano que une al modulo en cuestin con la placa central, de manera de evitar inconvenientes. Las pruebas que hemos llevado a cabo se han realizado utilizando el programador USB GTP-PLUS, pero cualquier programador con conector ICSP servir. Tengamos cuidado al construir el cable que une el programador con nuestra placa, ya que si confundimos algn conductor podemos daar el microcontrolador o el programador (o ambos!).

Esquema elctrico del entrenador.

El conector ICSP Este conector de cinco pines es el encargado de permitirnos la programacin de los micros colocados en la placa sin necesidad de removerlos.

Esto es posible gracias a las resistencias de 1000 ohms que podemos ver en los pines PORTB.6 y PORTB.7, mas la resistencia de 2200 ohms y el diodo 1N4148 que conectan el pin PORTA.4 a masa. De esta manera, si quitamos la alimentacin de la placa de pruebas, y conectamos el cable entre el programador y este conector, podremos enviar el programa seleccionado desde el ordenador al microcontrolador. Las resistencias en PORTB.6 y PORTB.7 ayudan a aislar el circuito que este conectado a ellas de las tensiones entregadas por el programador. No obstante, y segn que componentes haya conectados al conector C puede convenir quitar el cable plano que une al modulo en cuestin con la placa central, de manera de evitar inconvenientes. Las pruebas que hemos llevado a cabo se han realizado utilizando el programador USB GTP-PLUS, pero cualquier programador con conector ICSP servir. Y si no disponemos de uno, por supuesto siempre existe la alternativa de remover el microcontrolador, programarlo, y volver a ponerlo en el zcalo. En estos casos, es posible que queramos gastar un poco mas de dinero y dotar a nuestra placa central de un zcalo ZIF (Zero Insertion Force) de manera de facilitar esta tarea. Construccin Lo primero es construir la placa base, para lo que utilizaremos el mtodo constructivo de circuitos impresos ya visto, a partir de un PCB virgen cobreado en una sola cara de unos 8 x 8 centmetros. Una vez realizada la placa, procedemos a agujerearla y limpiarla bien, para no tener dificultades con la soldadura. Luego procedemos a soldar los componentes, colocando primero los mas bajos, tales como el zcalo para el microcontrolador, los puentes, resistores y diodos, luego los pulsadores, LEDs y condensadores cermicos, y por ultimo la bornera, conectores, pines de bronce para los jumpers, condensador electroltico, etc. Debemos tener cuidado con la posicin de los conectores, ya que si los ponemos al revs luego no entraran correctamente los cables de expansin. Una vez realizadas todas las soldaduras, conviene dedicar unos minutos a asegurarnos de que no haya cortocircuitos que provoquen fallas. Para terminar con las soldaduras, debemos realizar tres puentes en el lado del cobre de la placa, utilizando para ello cables finos forrados para evitar cortocircuitos. La posicin de esos cables puede verse en la foto que acompaa el artculo. Si todo esta correcto, podemos aplicar a nuestra placa una capa de barniz en aerosol del lado de las soldaduras, de manera que se evite el contacto del cobre con el aire, para que no se sulfate. Aunque podemos montar la placa con solo un cristal y omitiendo los pulsadores, es conveniente tener todos los elementos a mano, ya que una vez que hayamos barnizado la placa para protegerla es mas difcil soldar

los componentes que nos hayan faltado.

Lista de componentes La lista de componentes que necesitamos para construir esta placa es la siguiente:

1 bornera para circuito impreso (alimentacin) 8 conectores molex de 10 vas 1 conector para ICSP, de 5 pines 1 zcalo DIP de 40 pines 3 condensadores cermicos de .1 uF 2 condensadores cermicos de 22 pF 1 condensador electroltico de 470uF/25V 1 LED rojo 3 LEDs verdes 4 pulsadores para circuito impreso 1 diodo 1N4148 1 diodo 1N4007 5 resistores de 220 ohms 1 resistor de 4K7 1 resistores de 470 Ohms 3 Resistores de 10K 1 Regulador de voltaje LM 7805 1 cristal de 4 MHz. 1 cristal de 8 MHz. 1 cristal de 20 MHz. Pines de bronce, puentes, jumpers, PCB virgen, etc.

Junto a la placa para controladores de 18 pines, el presente proyecto es una utilsima herramienta de aprendizaje, dado que ahora mucho tiempo de desarrollo al hobbysta. Este sistema de mdulos que proponemos justamente tiene esa funcin: permitir el desarrollo, experimentacin y prueba de programas o de cualquier idea que tengamos sin necesidad de construir un prototipo en cada caso. En breve veremos como construir una placa de entradas y salidas digitales, y una con cuatro reles, de manera de poder utilizar este sistema de mdulos para controlar cargas de hasta 10 amperes.

PCB recin terminado

Placa lista. Observar los puentes necesarios!

laca entrenadora para PICs de 18 pines LINKS: [PCB] [PDF]

Siempre que alguien ingresa al fascinante mundo de los microcontroladores PIC, se encuentra con la dificultad que presenta el armar sus prototipos. Efectivamente, muchas veces he odo a aficionados o estudiantes quejarse de que para probar un par de lneas de cdigo que han escrito para un PIC en particular, tienen que armar una tarjeta de circuito impreso, realizar soldaduras, comprar componentes, y e definitiva, perder una gran cantidad de tiempo. Pensado en ellos es que he realizado este proyecto, en el que describiremos paso a paso como crear un sistema de mdulos (en proyectos separados), totalmente compatibles entre si, que nos permitirn realizar practicas de programacin sin problemas.

Fotografa del proyecto terminado.

Estos mdulos comparten caractersticas comunes, de manera que sean compatibles entre si. Se componen de una placa central, destinada a albergar el microcontrolador y unos pocos componentes accesorios, tales como el regulador de tensin, cristal, etc., y una serie de conectores a los que se podrn conectar el resto de los mdulos perifricos mediante cables planos de 10 vas. Dado que hay PICs de 8, 18, 28 y 40 pines, lo ideal seria tener una placa central para cada uno de los modelos. Por razones de espacio, vamos a desarrollar una para los PICs de 40 pines, y una ligeramente distinta para los de 18 pines, dejando a consideracin del lector el desarrollo de las otras dos, tarea que le resultara sencilla si toma como base las dos publicadas. Los conectores de las placas centrales, como dijimos, servirn para unirla con los mdulos. Para que estos sean totalmente intercambiables, deberemos respetar en todos la disposicin de las seales en el conector. Por razones prcticas, que harn ms sencillos los PCB, cada conector solo utilizara seis de los diez cables disponibles, tal como se ve en las figuras que ilustran el articulo. De esta manera, cada conector dispondr de un pin con 5Voltios, uno de masa, y cuatro de datos, por lo que en cada conector tendremos publicado medio puerto del PIC.

Para evitar tener que sacar el microcontrolador para reprogramarlo, incluiremos en las placas centrales un conector conocido como ICSP (In Circuit Serial Programing) que permite la programacin del PIC mediante un simple cable conectado a nuestro programador.

Placa 18 pines La primera placa de nuestro juego de mdulos ser el corazn para microcontroladores de 18 pines, y es el motivo de este proyecto. Servir para hacer pruebas con los microcontroladores ms comunes, entre los que se encuentran la serie 16F628, 16F628A, 16F648, 16F648A, 16F818A y un largsimo etctera. Los microcontroladores de 18 pines ms modernos tienen la opcin de funcionar con un oscilador interno, lo que hace innecesario el uso de un cristal y condensadores externos. Es por este motivo que en esta placa, cuyas fotos ilustran el artculo, no los hemos incluido. Si por algn motivo quisiramos utilizar algn microcontrolador mas antiguo (como el 16F84A) que requiera de estos componentes, tranquilamente podramos hacer un modulo externo que los contenga, y enchufarlo en el conector que corresponda.

La placa en cuestin dispones de tres conectores de expansin, cuyos pines de datos son los siguientes: Conector A: PORTA.0, PORTA.1, PORTA.2, PORTA.3, +5V y masa. Conector B: PORTB.0, PORTB.1, PORTB.2, PORTB.3, +5V y masa. Conector C: PORTB.4, PORTB.5, PORTB.6, PORTB.7, +5V y masa.

En ellos se conectaran los cables planos que unirn esta placa con los mdulos de expansin.

Pegada al conector A hay una bornera en la que deberemos conectar la fuente de alimentacin, cuidando de que el positivo y negativo estn en la posicin correcta, segn la serigrafa que se puede ver en la foto de mas arriba. En caso de que conectramos al revs la fuente, el diodo que se encuentra detrs de la bornera proteger la integridad de la placa, pero por supuesto el circuito no funcionara. La placa posee su propio regulador de tensin se 5 volts, un LM7805 con los condensadores necesarios para su funcionamiento, por lo que la tensin de la fuente de alimentacin deber ser de entre 7.5 y 24 voltios. La mxima corriente que puede manejar el regulador de voltaje es de 1 Amper, deberemos tener esto presente a la hora de conectar mdulos a esta placa, ya que ellos tomaran la alimentacin de este regulador. Un LED rojo indica visualmente si la placa se encuentra o no bajo tensin. Como el lector habr notado, un PIC de 18 pines tiene un mximo de 16 pines de entrada/salida, sin embargo los tres conectores de expansin solo proveen conexin a 12 de ellos. Esto es as porque hemos incluido cuatro pulsadores y cuatro leds en la misma placa, conectados a 4 pines del PORTA (el 4, 5, 6 y 7), de manera que el lector pueda comenzar a utilizar esta placa sin necesidad de construir ningn modulo adicional.

Cada pulsador comparte el pin con un led, y un jumper (J1 a J4) permite seleccionar si el pin funcionara como entrada (usando el pulsador) o como salida (usando el LED). Las resistencias que podemos ver en esa zona de la placa se encargan de limitar la corriente que circula por los leds y de mantener el pin a masa mediante las resistencias de 10k cuando el pulsador esta abierto, evitando de esa manera disparos errneos debidos al estado flotante del pin.

El conector ICSP Este conector de cinco pines es el encargado de permitirnos la programacin de los micros colocados en la placa sin necesidad de removerlos.

Esto es posible gracias a las resistencias de 1000 ohms que podemos ver en los pines PORTB.6 y PORTB.7, mas la resistencia de 2200 ohms y el diodo 1N4148 que conectan el pin PORTA.4 a masa. De esta manera, si quitamos la alimentacin de la placa de pruebas, y conectamos el cable entre el programador y este conector, podremos enviar el programa seleccionado desde el ordenador al microcontrolador. Las resistencias en PORTB.6 y PORTB.7 ayudan a aislar el circuito que este conectado a ellas de las tensiones entregadas por el programador. No obstante, y segn que componentes haya conectados al conector C puede convenir quitar el cable plano que une al modulo en cuestin con la placa central, de manera de evitar inconvenientes. Las pruebas que hemos llevado a cabo se han realizado utilizando el programador USB GTP-PLUS, pero cualquier programador con conector ICSP servir. Y si no disponemos de uno, por supuesto siempre existe la alternativa de remover el microcontrolador, programarlo, y volver a ponerlo en el zcalo. En estos casos, es posible que queramos gastar un poco mas de dinero y dotar a nuestra placa central de un zcalo ZIF (Zero Insertion Force) de manera de facilitar esta tarea.

(Hacer click sobre la imagen para ampliar) Construccin La construccin de la placa principal para micros de 18 pines no tiene prcticamente dificultades. Lo primero

es construir la placa base, para lo que utilizaremos el mtodo constructivo de circuitos impresos basado en la transferencia de calor mediante una plancha comn, partir de un PCB virgen de unos 8 x 6 centmetros. Una vez realizada y perforada la placa, procedemos a soldar los componentes, colocando primero los mas bajos, tales como el zcalo para el microcontrolador, los puentes, resistores y diodos, luego los pulsadores, LEDs y condensadores cermicos, y por ultimo la bornera, conectores, pines de bronce para los jumpers, condensador electroltico, etc. De esta manera, no tendremos problemas. Una vez realizadas todas las soldaduras, conviene dedicar unos minutos a asegurarnos de que no haya cortocircuitos que provoquen fallas. Si todo esta correcto, podemos aplicar a nuestra placa una capa de barniz en aerosol del lado de las soldaduras, de manera que se evite el contacto del cobre con el aire, para que no se sulfate.

Lista de componentes La lista de componentes que necesitamos para construir esta placa es la siguiente: 1 bornera para circuito impreso (alimentacin) 3 conectores molex de 10 vas 1 conector para ICSP, de 5 pines 1 zcalo DIP de 18 pines 2 condensadores cermicos de .1 uF 1 condensador electroltico de 470uF/25V 1 LED rojo 4 LEDs verdes 4 pulsadores para circuito impreso 1 array de 9 resistores de 10K 1 array de 5 resistores de 10K 1 diodo 1N4148 1 diodo 1N4007 2 resistores de 1K 1 resistor de 2K2 4 resistores de 220 Ohms 4 Resistores de 100K 1 Regulador de voltaje LM 7805 Pines de bronce, puentes, jumpers, etc.

Control Electronico de Temperatura e Iluminacin


LINKS: [ESQUEMA ELCTRICO] [PCB] [PDF]

El proyecto que vamos a describir hace uso de un microcontrolador pequeo, de la familia 16F de Microchip y un sensor de temperatura Dallas DS1820 para mantener la temperatura (y opcionalmente la iluminacin) de un recinto dentro de los parmetros establecidos por su programa. Este tipo de circuitos es ideal para la utilizacin en hogares o, mejor an, en invernaderos o cmaras de cra de diferentes animales. Se pueden seleccionar los tiempos de encendido y apagado de las luces y del sistema de ventilacin, como as tambin seleccionar qu temperatura deseamos a lo largo del da. Como si fuera poco, el sistema se encarga de encender la calefaccin o el aire acondicionado segn corresponda.

Fotografa del proyecto terminado.

Adems del circuito completo y la explicacin paso a paso para su construccin, le brindaremos al lector un programa de ejemplo, realizado en el BASIC del PIC SIMULATOR IDE, que hace uso de todas estas posibilidades. Dicho programa, si bien no contempla todas las posibilidades del hardware propuesto, podr ser modificado fcilmente para adaptarse a situaciones particulares, ya que esta totalmente comentado. Como explicbamos antes, el centro del proyecto es un microntrolador de la empresa Microchip. Concretamente se trata del muy popular modelo 16F628A. Hemos utilizado como interfaz con el usuario un display de cristal lquido de dos lneas de 16 caracteres cada uno. Este se encarga de mostrar continuamente la hora, el programa elegido, la temperatura actual, la mxima y la mnima alcanzada, y tambin el estado (encendido o apagado) de cada una de sus salidas: calefactor, aire acondicionado, ventilador y luz. La temperatura se obtiene mediante un sensor DS1820, cuya principal caracterstica es que, en lugar de transformar la temperatura en una tensin (tal como hacen la mayora de los sensores de este tipo), posee un microcontrolador incorporado. Adems, al ser interrogado nos devuelve directamente la temperatura leda en forma de una serie de bits. Este sensor merece un captulo aparte, y ser objeto de algn artculo en el futuro. Incorpora una pequea memoria EEPROM interna que podemos

utilizar para almacenar las temperaturas ledas, alarmas configurables, y una serie de funciones que son muy valiosas y poco habituales en estos sensores. Su costo es muy razonable para lo que son sus caractersticas, y no supera los 5 euros. Existen dos pulsadores, que se utilizan para seleccionar el programa elegido y para resetear (poner en cero) las temperaturas mximas y mnimas registradas. Debido a que se lleva la cuenta del tiempo, se emplea un cristal de 4MHz que brinda una gran estabilidad en el tiempo, bastante mayor a la obtenida con el oscilador interno del microcontrolador. Todas las salidas que controlan los equipos que proporcionan el calor, fri luz y el ventilador se manejan mediante microreles, capaces de manejar una corriente mxima de 10A en sus contactos. Estos reles son inversores, por lo que se puede obtener la funcin inversa dependiendo de en que contactos conectemos el equipo en cuestin. Como las salidas del PIC no proveen la corriente suficiente para excitar el rele, se han intercalo una resistencia de 1K5 y un pequeo transistor que provee la corriente necesaria al rele. El diodo 1N4001 que protege al transistor de la corriente inversa que se genera en las bobinas de los reles al desenergizarse. La alimentacin de este circuito se realiza a partir de 12V de corriente continua, obtenidas de una pequea fuente universal como las que se pueden adquirir en cualquier comercio, y que sea capaz de proporcionar una corriente de unos 500mA. En el circuito podemos ver una etapa de alimentacin que se encarga de filtrar el rizado que pueda haber en la fuente mencionada, un diodo que nos protege de conexiones con la polaridad invertida, un clsico regulador de voltaje LM7805 que reduce los 12V a 5V, necesarios para alimentar el display y el microcontrolador, y por ultimo una resistencia que alimenta un LED utilizado como piloto, para saber que el circuito se encuentra alimentado.

Lado componentes, con las borneras en primer plano. No hay aspectos constructivos destacables respecto de otros proyectos similares que hemos encarado. Como siempre, empezaremos por fabricar nuestro PCB, para ello utilizaremos el mtodo de la plancha. Una vez terminado, procederemos con el armado de la plaqueta, colocando primero los componentes ms bajos (zcalo, resistores, diodos) y por ultimo los ms altos (transistores, condensadores, etc.). No es mala idea dar una mano de barniz en aerosol al lado cobre de la placa, para protegerla de la corrosin, ya que el cobre expuesto al oxigeno del aire se sulfata muy fcilmente. Uniremos elctricamente el display y los pulsadores de control mediante cables flexibles. Nosotros utilizamos un trozo de cable plano como el utilizado en las disqueteras o discos rgidos ATA antiguos, que separamos en conductores individuales en algunos casos, y en otros directamente soldamos el display a la placa principal mediante pines de bronce (ver fotos). Luego, antes de montar el microcontrolador, conviene alimentar la placa y medir con el multmetro (tester) que los pines 5 y 14 del zcalo tengan 0 y 5V. Es una buena idea conseguir alguna caja plstica para albergar todo el proyecto, a la que le montaremos los controles y el display sobre el frente. Para ello se puede usar una herramienta de altas RPM tipo Dremel, como las usadas por los hobbystas. En esta etapa entran en juego las habilidades manuales de cada uno. Por supuesto, el lector deber hacer las conexiones de los electrodomsticos implicados a las borneras de los reles. Deber ser cuidadoso en esto, recordando

siempre que esta manejando 110/220 Voltios de la red, que si no se respetan adecuadamente pueden resultar mortales. Tambin hay que prestar atencin al consumo de estos aparatos, ya que si superan los 10A proporcionados por los microreles deberemos intercalar un rele de mayor corriente en sus contactos. El autor NO se hace responsable por los inconvenientes o accidentes que puedan ocurrir al construir o utilizar este proyecto.

Vista del lado de soldaduras de la placa principal. El software Por supuesto, todo lo visto hasta ahora es completamente intil sin un software que lo haga funcionar. Como ejemplo, hemos confeccionado un software que se puede modificar con facilidad, ya que esta perfectamente comentado en el propio cdigo fuente, realizado con el BASIC del PIC SIMULATOR IDE (excelente entorno de programacin), del que existe una versin de prueba que podemos utilizar para compilar el cdigo propuesto. Las caractersticas que hemos implementado son las siguientes: Reloj de 24 horas, capaz de contar das, horas y minutos. Lectura de la temperatura entregada por el sensor. Las rutinas necesarias para esto se encuentran al final del cdigo, y pueden ser usadas en otros proyectos. Tres programas (fcilmente se pueden ampliar a muchos mas) que mediante el contenido de algunas variables comentadas en el cdigo permiten elegir que parte del

da el sistema mantendr la temperatura en el valor deseado, que parte tendr la iluminacin encendida, etc. Registro de las temperaturas mximas y mnimas, con posibilidad de resetearlas en cualquier momento. Seleccin del programa en curso mediante un pulsador. En el display se exhibe la leyenda P1, P2 y P3. El sistema protege el mecanismo del aire acondicionado, no permitiendo su encendido hasta que no hayan transcurrido al menos 5 minutos desde que se apago. El ventilador esta configurado para marchar cada vez que se enciende el calefactor, para que el aire del ambiente controlado tenga una temperatura uniforme (el aire acondicionado tiene su propio ventilador) Se escriben en la EEPROM el valor del programa en curso, la hora actual, estado de las salidas y temperaturas extremas censadas, por si ocurre algn corte de energa. En ese caso, al reiniciarse el sistema se comienza desde el punto en que se produjo el corte. Por supuesto, el programa tal como esta difcilmente coincida con la necesidad de todos los lectores, amen de que hay cosas que no son de todo correctas. Por ejemplo, si grabamos en la EEPROM cada minuto, en pocos meses habremos alcanzado el limite de su vida til. Es por eso que se lo puede tomar como un ejemplo de partida para sus propios programas, pero no mas que eso. Seria imposible publicar (por su extensin) un programa que contemple todas las posibilidades del hardware, como por ejemplo poner el reloj en hora, cambiar las caractersticas de cada programa desde el panel de control, etc. El autor del articulo emplea con xito este circuito para controlar salas de cra de semillas, regular la temperatura de oficinas, etc.

'Ejemplo de programacin del sistema de control electrnico de luz y temperatura. 'Versin con pulsador para seleccionar el programa 1,2 o 3'y Pulsador para resetear Max/Min '------------------------------------------'Declaracion de Variables Dim i As Byte ' Variable tipo Byte multiproposito Dim j1 As Byte Dim j2 As Byte Dim auxw As Word ' Variable tipo Word multiproposito Dim aux As Word ' Variable tipo Byte multiproposito Dim text(16) As Byte Dim tmax As Byte ' Valor de la temperatura Maxima Registrada en el ciclo Dim tmin As Byte ' Valor de la temperatura Minima Registrada en el ciclo Dim prog As Byte ' Programa en curso Dim dias As Byte ' Dias en curso Dim hora As Byte ' Hora en curso Dim minu As Byte ' Minuto en curso Dim segu As Byte ' Minuto en curso Dim paso As Byte ' Segundos entre lecturas de Temperatura. Dim pti1(3) As Byte 'Comienzo tiempo 1 Dim pti2(3) As Byte 'comienzo tiempo 2

Dim pte1(3) As Byte 'Temperatura Tiempo 1 Dim pte2(3) As Byte 'Temperatura Tiempo 2 Dim plu1(3) As Byte 'Luces Tiempo 1 Dim plu2(3) As Byte 'Luces Tiempo 2 Dim tiemp As Word 'Tiempo actual: Hora*60+Minutos Dim aireok As Bit '1 = puedo usar el aire Dim tiempf0 As Word 'tiempo que hace que prend el aire Dim comando As Byte 'Comando a enviar al DS1820 Dim tempe As Word 'Temperatura leida Dim tempeaux(3) As Byte 'Temperatura auxiliar Dim tempe1 As Byte 'PArte entera de la temperatura a mostrar Dim tempe2 As Byte ' Decimales de la tempertatura a mostrar Dim minua As Word ' minutos que lleva encendido el aire Dim minu0 As Word ' minutos que lleva apagado el aire 'Valor Inicial de las Variables -------------------------------------------'tmax = 0 'Valor de la temperatura Maxima Registrada en el ciclo 'tmin = 99 'Valor de la temperatura Minima Registrada en el ciclo 'prog = 1 'Programa en curso 'dias = 0 'Dias en curso 'hora = 0 'Hora en curso 'minu = 0 'Minuto en curso segu = 0 'Auxiliar, para calcular los minutos paso = 1 'Segundos entre lecturas de Temperatura. pti1(1) = 8 'Programa 1, tiempo 1 (Horas) pti2(1) = 16 'Programa 1, tiempo 2 (Horas) pte1(1) = 20 'Programa 1, Temperatura Tiempo 1 pte2(1) = 20 'Programa 1, Temperatura Tiempo 2 plu1(1) = 1 'Programa 1, Luces Tiempo 1 (1=ON) plu2(1) = 0 'Programa 1, Luces Tiempo 2 (1=ON) pti1(2) = 8 'Programa 2, tiempo 1 (Horas) pti2(2) = 16 'Programa 2, tiempo 2 (Horas) pte1(2) = 25 'Programa 2, Temperatura Tiempo 1 pte2(2) = 25 'Programa 2, Temperatura Tiempo 2 plu1(2) = 1 'Programa 2, Luces Tiempo 1 (1=ON) plu2(2) = 0 'Programa 2, Luces Tiempo 2 (1=ON) pti1(3) = 8 'Programa 3, tiempo 1 (Horas) pti2(3) = 16 'Programa 3, tiempo 2 (Horas) pte1(3) = 20 'Programa 3, Temperatura Tiempo 1 pte2(3) = 30 'Programa 3, Temperatura Tiempo 2 plu1(3) = 1 'Programa 3, Luces Tiempo 1 (1=ON) plu2(3) = 0 'Programa 3, Luces Tiempo 2 (1=ON) tiemp = 0 'Tiempo actual: Hora*60+Minutos. tiempf0 = 0 aireok = 1 minua = 0 'Minutos que lleva encendido el Aire.

'---- Leo los valores de la EEPROM ---Read 1, prog 'Programa actual

Read 2, dias 'Dias en curso Read 3, hora 'Hora en curso Read 4, minu 'Minuto en curso Read 6, tmax Read 7, tmin

'Inicializo Puertos AllDigital TRISA = %00010000 '0 = salida TRISB = %11111111 '0 = salida PORTB = 0 ' PORTB todo en 0 'Declaro los "alias" a usar en el programa: Symbol ds1820pin = PORTA.4 'Puerto en que se conecta el DS1820 Symbol ds1820rw = TRISA.4 '1=Leer DS1820 / 0=Escribir DS1820 'Estado inicial Reles y Display. ------------------------------------------Symbol ventilador = PORTA.3 Symbol luz = PORTA.2 Symbol frio = PORTA.0 Symbol calor = PORTA.1 Symbol pprog = PORTB.6 Symbol preset = PORTB.7 ventilador = 0 luz = 0 frio = 0 calor = 0 'Configuro el puerto para el LCD: Define LCD_BITS = 4 Define LCD_DREG = PORTB Define LCD_DBIT = 0 Define LCD_RSREG = PORTB Define LCD_RSBIT = 5 Define LCD_EREG = PORTB Define LCD_EBIT = 4 Define LCD_RWREG = 0 Define LCD_RWBIT = 0 'Inicializo el LCD Lcdinit 0 'Cursor apagado WaitMs 500 Lcdout "Cont. automatico" Lcdcmdout LcdLine2Home Lcdout "(www.neoteo.com)" WaitMs 5000 Lcdcmdout LcdClear 'Veo si es la primera vez que se conecta el aparato, para 'poner la eeprom en cero If prog = 255 Then prog = 1

Gosub cambioprog Endif 'Veo si se pulso la tecla de cambio de programa-------'Lcdout "P", #prog For i = 1 To 25 Gosub leopulsadores WaitMs 40 Next i '---------------------------------------------------------'-- CUERPO DEL PROGRAMA '---------------------------------------------------------loop: 'Calculo la "hora" actual (cantidad de minutos)-------tiemp = hora * 60 + minu 'Leo la temperatura del sensor -----------------------Gosub init1820 'Inicializo el sensor y... comando = 0xcc '..salteo la ROM. Gosub write1820 comando = 0x44 'Comienzo la conversion A/D de la temperatura Gosub write1820 WaitUs 2000 ' Espero a que termine la conversion Gosub init1820 'Inicializo el sensor y... comando = 0xcc '..salteo la ROM. Gosub write1820 comando = 0xbe 'Pido que me envie lo que calculo el sensor... Gosub write1820 WaitMs 750 ' Espero ... Gosub read1820 'Me lo devuelve en tempe1 y tempe2 'Actualizo y muestro Tempe1, TMax y TMin -------------If tmax < tempe1 Then tmax = tempe1 Write 6, tmax Endif If tmin > tempe1 Then tmin = tempe1 Write 7, tmin Endif

'Actualizo Hora y Minu , y los muestro ---------------segu = segu + paso If segu > 59 Then minu = minu + 1 Write 4, minu segu = 0 If minu > 59 Then minu = 0

hora = hora + 1 Write 3, hora If hora > 23 Then dias = dias + 1 Write 2, dias tiempf0 = 0 hora = 0 Endif Endif Endif

'Enciendo/Apago la luz, Aire, etc del programa en curso auxw = pti1(prog) * 60 If tiemp < auxw Then 'Estoy en la primera parte del dia 'Enciendo/Apago la luz------------------------------------------If plu1(prog) = 1 Then luz = 1 Else luz = 0 Endif 'Enciendo/Apago fuente de calor---------------------------------If tempe1 < pte1(prog) Then calor = 1 'ventilador = 1 Endif If tempe1 = pte1(prog) Then calor = 0 'ventilador = 0 Endif If tempe1 > pte1(prog) Then calor = 0 'ventilador = 0 Endif 'Enciendo/apago fuente de FRIO -----------------------------------------If tempe1 > pte1(prog) And aireok = 1 Then 'si hace calor.... frio = 1 '..lo enciendo y ventilador = 0 Endif If tempe1 < pte1(prog) Then frio = 0 ventilador = 1 tiempf0 = tiemp 'Tomo nota de la hora de apagado aireok = 0 Endif

Else 'Estoy en la segunda parte del dia 'Enciendo/Apago la luz------------------------------------------If plu2(prog) = 1 Then luz = 1

Else luz = 0 Endif 'Enciendo/Apago fuente de calor---------------------------------If tempe1 < pte2(prog) Then calor = 1 'ventilador = 1 Endif If tempe1 = pte2(prog) Then calor = 0 'ventilador = 0 Endif If tempe1 > pte2(prog) Then calor = 0 'ventilador = 0 Endif 'Enciendo/apago fuente de FRIO -----------------------------------------If tempe1 > pte2(prog) And aireok = 1 Then 'si hace calor.... frio = 1 '..lo enciendo y ventilador = 0 Endif If tempe1 < pte2(prog) Then frio = 0 ventilador = 1 tiempf0 = tiemp 'Tomo nota de la hora de apagado aireok = 0 Endif

Endif '---Fin analisis Programa ------'--------------------------------------------------'Veo si pasaron 5 minutos de la ultima vez que se 'apago el aire aux = tiempf0 + 4 If tiemp > aux Then aireok = 1 Endif If tiemp > 1438 Then 'casi medianoche aireok = 1 Endif '--------------------------------------------------Lcdcmdout LcdClear Lcdcmdout LcdLine1Pos(1) Lcdout "P", #prog, " " If luz = 1 Then Lcdcmdout LcdLine1Pos(5) Lcdout "L" Endif If frio = 1 Then Lcdcmdout LcdLine1Pos(6)

Lcdout "F" Endif If calor = 1 Then Lcdcmdout LcdLine1Pos(6) Lcdout "C" Endif If ventilador = 1 Then Lcdcmdout LcdLine1Pos(7) Lcdout "V" Endif Lcdcmdout LcdLine1Pos(9) Lcdout "00:00:00" If minu > 9 Then Lcdcmdout LcdLine1Pos(15) Else Lcdcmdout LcdLine1Pos(16) Endif Lcdout #minu If hora > 9 Then Lcdcmdout LcdLine1Pos(12) Else Lcdcmdout LcdLine1Pos(13) Endif Lcdout #hora If dias > 9 Then Lcdcmdout LcdLine1Pos(9) Else Lcdcmdout LcdLine1Pos(10) Endif Lcdout #dias 'Veo si se movio la llave de cambio de programa-------Gosub leopulsadores Lcdcmdout LcdLine2Home Lcdout "T:", #tempe1, " M:", #tmax, " m:", #tmin, " " WaitMs 180 Goto loop

End leopulsadores: 'Veo si se pulso la tecla o es un ruido ------If pprog = 1 Then WaitMs 50 If pprog = 1 Then prog = prog + 1 If prog = 4 Then prog = 1 Endif Gosub cambioprog Endif Endif

'Veo si se resetearon TMax y TMin If preset = 1 Then WaitMs 50 If preset = 1 Then tmax = 0 tmin = 99 Endif Lcdcmdout LcdLine2Home Lcdout "T:", #tempe1, " M:", #tmax, " m:", #tmin, " " Endif Return cambioprog: 'Muestro el programa actual en el display Lcdcmdout LcdClear Lcdcmdout LcdLine1Pos(1) Lcdout "P", #prog Write 1, prog tmax = 0 'Valor de la temperatura Maxima Registrada en el ciclo tmin = 99 'Valor de la temperatura Minima Registrada en el ciclo Write 6, tmax Write 7, tmin dias = 0 'Dias en curso hora = 0 'Hora en curso minu = 0 'Minuto en curso Write 2, dias Write 3, hora Write 4, minu segu = 0 'Auxiliar, para calcular los minutos tiempf0 = 1 ventilador = 0 luz = 0 'Rele Luces frio = 0 'Rele Frio calor = 0 'Rele Calor Return '------------------------------------------------'Inicializa el DS1820 '------------------------------------------------init1820: ds1820rw = 0 ' Pongo el pin como salida ds1820pin = 0 'Pongo en cero el pin del DS1820 WaitUs 500 ' Espero mas de 480 us ds1820rw = 1 ' Pongo el pin como entrada WaitUs 100 ' Espero mas de 60 us a que "reaccione" WaitUs 500 ' Espero a que finalice de enviarme el estado Return '------------------------------------------------'Envia comandos al DS1820 '------------------------------------------------write1820: For aux = 1 To 8 'Recorro los 8 bits de "Comando" If comando.0 = 0 Then Gosub write0 Else

Gosub write1 Endif comando = ShiftRight(comando, 1) Next aux Return '------------------------------------------------'Envia un cero al DS1820 '------------------------------------------------write0: ds1820rw = 0 ' Pongo el pin como salida ds1820pin = 0 WaitUs 60 'hay que mantener bajo el pin mas 60 us ds1820rw = 1 Return '------------------------------------------------'Envia un uno al DS1820 '------------------------------------------------write1: ds1820rw = 0 ' Pongo el pin como salida ds1820pin = 0 WaitUs 1 'hay que mantener bajo el pin menos de 15 60 us ds1820rw = 1 WaitUs 60 'espero el resto del tiempo... Return '------------------------------------------------'Lee temperatura del DS1820 '------------------------------------------------read1820: For aux = 1 To 16 ' los 16 bits de temp (word) tempe = ShiftRight(tempe, 1) Gosub readbit Next aux 'Calculo la temperatura(tempe1) y las decimas (tempe2) tempe1 = ShiftRight(tempe.LB, 1) tempe1 = 128 - tempe1 If tempe.0 = 1 Then tempe2 = 0 Else tempe2 = 5 Endif Return '------------------------------------------------'Lee un bit del DS1820 '------------------------------------------------readbit: tempe.15 = 1 ds1820rw = 0 ' Pongo el pin como salida ds1820pin = 0 WaitUs 1 ds1820rw = 1 If ds1820pin = 1 Then

tempe.15 = 0 Endif WaitUs 60 Return

El proyecto terminado, corriendo el programa de ejemplo.

Robot Hexpodo
Introduccin: El presente articulo trata sobre un proyecto bastante ambicioso, consistente en la creacin de una plataforma de hardware libre para realizar practicas de programacin robtica. Concretamente, se va a desarrollar un robot hexpodo, con cada una de las patas compuesta por tres articulaciones, movidas por servos HITEC311. Debido a que los fines de este proyecto son completamente educativos, a lo largo del articulo vamos a explicar claramente como construir cada una de las partes que lo componen. Se ha adoptado una estructura completamente modular, por lo que partes del proyecto pueden ser adaptadas fcilmente a otros proyectos similares. La parte electrnica tambin se ha conformado mediante mdulos, y se incluyen los esquemas elctricos y diseo de los circuitos impresos implicados en el proyecto. Respecto del software, vamos a proporcionar una serie de programas bsicos para que el robot sea capaz de caminar y de obtener datos del entorno (medir distancias, por ejemplo), aunque la idea es que cada uno utilice esta plataforma para crear sus propios programas.

El hexpodo, en construccin

El hexpodo necesita 18 servos para las articulaciones de sus seis patas, y henos empleado otro para la "cabeza", que consiste bsicamente en un sensor de distancia ultrasnico, que al ser movido por el servo mencionado hace las veces de un sonar, devolviendo la distancia que hay entre el robot y los obstculos que tiene delante o en cualquier direccin dentro del rango de 180 grados que puede ser apuntado el medidor ultrasnico gracias al servo.

Materiales y herramientas Contrariamente a lo que puede parecer a primera vista, los materiales utilizados en la construccin de este robot, as como las herramientas implicadas en esta tarea no son ni caros ni difciles de conseguir. Se han utilizado bsicamente los servos, que resultan irreemplazables, dado que su uso simplifica enormemente la mecnica del robot. Si en lugar de servos se utilizaran motores de corriente continua convencionales o motores paso a paso, tendramos que resolver el problema de las reducciones, control de posicin, etctera, que ya estn resueltos dentro del servo.

El modelo de servo elegido es el HITEC modelo 311, por que es el de mejor relacin precio/prestaciones que se pudo conseguir. Este servo, cuando es alimentado con 4.8 V proporciona un torque de 3.30 kg., aunque puede ser alimentado con tensiones de hasta 6.0 v., en cuyo caso el torque conseguido es algo mayor. Tanto el cojinete de salida como los engranajes son de nylon. La ficha de conexin elctrica que se encuentra en el extremo del nico cable que tiene Aspecto del servo HS-311 el servo cumple a la vez la recin salido de la caja. funcin de alimentacin y de control de su posicin. Estos tres conductores estn sealados con colores, donde el amarillo es el encargado transportar la seal de control, el rojo corresponde al positivo y el negro al negativo.

En la caja del servo podemos encontrar todos los accesorios de montaje necesarios.

En la caja provista por el fabricante podemos encontrar una buena variedad de platos y brazos de montaje, adems de los tornillos y separadores de goma necesarios, tal como puede verse en las fotos que acompaan el articulo.

Dimensiones del servo Hitec HS-311 Si los servos que utilizamos son de algn otro modelo o fabricante, deberemos tener en cuenta que todas las medidas de las piezas a fabricar estn basadas en las del HS311, por lo que ser necesario adecuarlas a los servos que se consigan. Otro punto a tener en cuenta es el torque, dado que pude ser tentado comprar micro servos, que son algo mas econmicos y mas pequeos, pero que posiblemente sean incapaces de levantar el peso del robot terminado.

Para la construccin del chasis y de la parte mecnica de las patas, hemos utilizado aluminio, obtenido en una fabrica de aberturas metlicas (puertas y ventanas), debido a que en estas empresas se utilizan una gran variedad de perfiles, algunos de los cuales tenan una seccin que era til a nuestro proyecto. El resto de los materiales son tornillos con la cabeza roscada, obtenidos de los brackets que se proporcionan (o proporcionaban) con muchos modelos de motheboards para la conexin de diversos perifricos.

Mini torno Dremel y sus accesorios.

Para el montaje de las placas electrnicas que controlan el comportamiento y los movimientos del robot se utilizan los materiales comunes en estos casos, y estn detallados mas adelante. Las herramientas son las mas bsicas. Hemos utilizado una sierra para metales, lima, pinzas y alicates, un soldador y pinza de puntas, y un mini torno marca Dremel, que si bien no es indispensable ayuda mucho en el corte y acabado de las piezas de aluminio, agujereado de los PCB, etc.

De mas esta decir que la herramienta en la punta de este torno gira a 30.000 rpm, y si por error nos toca las manos seguramente nos provocara una herida, as que recomendamos trabajar con cuidado y con los ojos protegidos por anteojos. El chasis El chasis es la pieza de nuestro robot que sirve de soporte a todas las dems estructuras que lo componen, incluidas las patas, cabeza, bateras, electrnica, etc., por lo tanto debe ser fuerte, a la vez que liviano. Como no se puede ir a la tienda y comprar un chasis para un hexpodo, partimos de una pieza de aluminio de 510 x 120 milmetros, de dos capas unidas por 3 tabiques verticales. Esta pieza se utiliza como parte constructiva de puertas de aluminio, y tiene un espesor total de unos 8 milmetros, siendo cada capa de aluminio de un milmetro de grosor. La estructura interna le proporciona una gran rigidez a la vez que mantiene el peso dentro de limites aceptables.

Estos agujeros son ligeramente menores que los tornillos, por lo que al atornillar el mismo tornillo (que es de acero) ira formando la rosca sobre el aluminio (que es mas blando). Usaremos los cojinetes de goma y las piezas de bronce que vienen con los servos para fijarlos, de forma que proporcionen una cierta elasticidad a la unin servochasis, que pueda absorber las vibraciones de las patas. Si es necesario, deberemos cortar la punta del tornillo que asoma por debajo del chasis, para evitar Accesorios del servo que queden bordes filosos que nos puedan lastimar al manipular el hexpodo. Sobre esta pieza se montan los servos que forman la primer articulacin de las patas, y el que sostiene y permite rotar la cabeza. Para ello es es necesario realizar cortes y agujeros que permitan fijarlos al chasis. Si vemos las medidas del HITEC HS-311, vemos que su largo es de unos 40 milmetros, por lo que las ranuras para alojarlos deberan ser de entre 41 y 44 milmetros para que entren con holgura. Luego, con una broca de 1 Mm. practicamos los agujeros necesarios para que sirvan de tuerca a los cuatro tornillos de fijacin de los servos.

En la foto se puede ver que adems de los 7 cortes para los servos se han mecanizado las cuatro esquinas del chasis. Esto es para permitir que las patas traseras, y sobre todo las delanteras, tengan un radio de giro mayor. Esto permite que, por ejemplo, el robot se pare sobre las cuatro patas traseras y pueda levantar las delanteras y ponerlas por delante de la cabeza. Con la programacin adecuada, esta posicin podra servir para que el hexpodo levante objetos usando las dos patas delanteras como si fueran una pinza.

Anatoma de una pata (Hay un video disponible explicando la construccin de la pata)

La parte ms complicada de la construccin mecnica del hexpodo son las patas. Para evitar el tener que dibujar planos detallados de cada pieza, hemos utilizado fotos y sobre ellas dibujado las lneas de cota y las medidas, lo que hace muy fcil de entender como debemos cortar y ensamblar las piezas. Lo primero que hicimos fue mecanizar las piezas de color rojo, con forma de cruz, que acompaan a los servos y que pueden verse en las fotos. Elegimos esta pieza por ser la de cuerpo ms generoso, ya que deber soportar el peso del robot sobre ella. Para dejarlas listas para usar, simplemente con la sierra o un alicate cortaremos tres de los cuatro extremos, y con el Dremel puliremos los cortes para que los bordes queden redondeados. En la imagen podemos ver las lineas negras indicando los lugares por donde se debe cortar, y marcadas con una X las partes que descartaremos por ahora. Como explicbamos antes, se utilizaron perfiles de aluminio disponibles comercialmente para intentar que el maquinado necesario de las piezas sea mnimo. En el caso de las patas, los perfiles utilizados son los de la figura de abajo, bsicamente un perfil U con un ancho de 22 milmetros y un alto de 3 milmetros, y otro que tambin es muy parecido a una U, al menos una vez mecanizado.

Los servos empleados disponen de un eje en uno solo de sus lados, por lo que debemos realizar una pieza de aluminio que se pegara a la base del servo con cinta adhesiva de doble faz, y a la que se atornillara un tornillo con cabeza roscada sobre el cual se atornillara a su vez el tornillo que har de segundo eje del servo. Esta pieza tiene 40 milmetros de largo, y un agujero a 8.5 milmetros de un extremo. En este agujero, que deber ser de un dimetro ligeramente menor al de los tornillos de

cabeza roscada que hayamos recuperado de los brackets, ya que har las veces de tuerca de los mismos. Al momento de pegar esta pieza al servo debemos cuidar que este agujero quede alineado con el eje del servo de manera que la pieza que pivotee sobre el lo haga en forma perfectamente perpendicular a el. Puede ser una buena idea, si estn disponibles, utilizar las tuercas de los tornillos de cabeza roscada para dar mayor solidez a la unin con la base de aluminio. El servo as preparado ser el que montemos sobre el chasis, constituyendo la articulacin de la para que le permite el movimiento desde atrs hacia delante y viceversa. Este montaje se realizara utilizando los tornillos y bujes de goma que vienen con el servo.

Medidas y detalles del montaje de la pata.

Articulacin de la cadera

La segunda pieza se obtiene realizando 5 agujeros a una de las piezas de aluminio blanco que se ve en las fotos, con una forma parecida a una U, cuyo espesor es de aproximadamente un milmetro y su ancho unos 20 milmetros. Los dos agujeros de uno de los extremos son necesarios para fijar esta pieza a la de color rojo que se atornilla al servo, y que hemos preparado antes. Los tornillos que usamos para este fin salieron de un par de lectoras de CD-ROM que no funcionaban. El agujero que esta en el otro de los extremos de la pieza es la que permite pasar libremente al tornillo que, atornillado en la cabeza del tornillo con cabeza roscada, hace las veces de segundo eje. Este tornillo del tipo de los que se utilizan en las PC para fijar las lectoras de CD-ROM o disketeras de 3 al gabinete.

Los ltimos dos agujeros de esta pieza sirven para unirla a otra igual a ella, montada a 90 grados, y a la que se une el siguiente servo. Estos dos agujeros los hemos practicado a unos 10 milmetros uno del otro, y los hemos hecho ligeramente mas pequeos que los tornillos empleados, de forma de que el aluminio haga las veces de tuerca al forzar los tornillos en ellos. Los tornillos usados en esta etapa son los que habitualmente se emplean en los gabinetes de las PC para montar las tapas, con un paso de rosca algo mayor a los usados como segundo eje. La pierna del robot esta construida con dos servos solidarios entre si. Uno de los extremos de la pierna se une a la articulacin que montamos sobre el chasis, haciendo las veces de cadera, y permitiendo que la pierna se mueva desde arriba hacia abajo y viceversa; y el otro se une a la pieza que describiremos mas adelante y que forma la rodilla y el pie de la pata.

La forma de unir ambos servos entre si no puede ser ms sencilla: basta con cortar dos piezas de la U de aluminio que usamos antes para hacer la base del primer servo. Una de ellas de un largo de 95 milmetros, sobre la que se practicaran dos agujeros, uno en cada extremo, a unos 8,5 milmetros del final de la pieza, en las que se atornillaran los tornillos de cabeza roscada que harn las veces de segundos ejes de estos dos servos. Una vez puestos en su lugar estos tornillos, utilizando si es necesario las tuercas correspondient es, procedemos a pegar sobre ella (del lado cncavo) los servos, mediante tiras de cinta doble faz de buena calidad.

Detalles y medidas de la ultima porcin de la pata del hexpodo.

Los servos deben quedar uno pegado al otro, y se atornillaran entre si utilizando para ello la segunda pieza a construir, de 15 milmetros de largo y cuyas medidas y separacin entre los 4 agujeros que tiene se puede ver en las fotos que acompaan el articulo. Como decamos antes, el extremo superior de la pierna se atornilla al servo que esta sobre el chasis mediante una pieza en forma de U, tal como se ve en las fotos. El otro extremo es el del servo que hace las veces de rodilla, y que se une a la pieza que describimos a continuacin. El ultimo tramo de la pata, que va desde la rodilla hasta el pie esta construido doblando y uniendo entre si dos planchuelas de aluminio de un milmetro de espesor, una de ellas de 13,5 milmetros, y la otra de 14 milmetros. Ambas planchuelas, una vez dobladas tal como se ve en la foto, se perforan en cinco puntos, dos de ellos servirn para pasar sendos tornillos que mantendrn las piezas unidas entre si; otros dos (en la planchuela mas corta) sirven para unir mediante dos tornillos la pata al servo, mediante la pieza plstica de color rojo que mecanizamos antes. Por ultimo, un agujero realizado en la planchuela mas larga servir para que un tornillo pase a travs de la planchuela y se rosque sobre la cabeza del tornillo roscado que esta en la Detalles y medidas de la ultima porcin de la pata del pieza de la base del servo (ver mas adelante) haciendo la vez hexpodo. de eje. Como detalles de terminacin, que pueden dejarse al gusto o habilidad de cada uno, se corto la cabeza del tornillo que esta en el extremo de la pata, y se cubrieron partes de la misma con spaghetti termocointraible del utilizado para aislar conductores elctricos.

La decisin de usar el spaghetti se debi a que las planchuelas utilizadas para esta parte de la pata provenan de un perfil L cortado, cuyos bordes no quedaron todo lo prolijos que nos hubiera gustado.

Para cada pata necesitamos tres servos, tres piezas plsticas rojas debidamente mecanizadas, 6 tornillos pequeos (recuperados de una lectora de CD-ROM en nuestro caso), 3 tornillos de cabeza roscada con sus respectivas tuercas (obtenidos de los brackets), 3 tornillos de PC de rosca fina, y 4 tornillos de PC de rosca gruesa. En cuanto a las piezas de aluminio, necesitamos dos U grandes, de dos centmetros de ancho cada una (ver fotos), y un tramo de la planchuela en forma de U utilizada en la base de los servos y como unin entre los mismos. Si sumamos los pedazos utilizados de este perfil, y lo desperdiciado en los cortes, encontraremos que con unos 16 centmetros de ese material nos alcanza (por pata).

Perfil de aluminio utilizado. Las medidas estn en milimetros. Queda por resolver el ordenamiento de los cables, que como veremos mas adelante, una vez que hayamos ubicado las placas electrnicas de control sobre el chasis, los cortaremos de la medida adecuada y los ajustaremos con precintos o espagueti termocontraible.

A la izquierda, un video de una de las patas terminada, antes de ser montada sobre el chassis de aluminio.

CONTINUARA EN UNOS DAS...

MIENTRAS TANTO, UNAS FOTOS PARA IR MIRANDO:

You might also like