Proyecto: VEHICULO SEGUIDOR DE LUZ con Electronica Analogica

IMAG0104Hace poco llego la inquiedtud de desarrollar un prototipo de robot (vehiculo autonomo) que siguiera una fuente de luz, usando simplemente componentes basicos de electronica analogica y con un chasis o base formada por dos motores, derecho e izquierdo, y una rueda trasera sin traccion, lo que le dara movilidad en todos los sentidos al vehiculo.

Siguiendo el esquema basico de un robot, nuestro carrito debe estar dotado de:

sensores —> cerebro —-> actuadores.

Motores, Engranes y Rueda delantera.

Como sensores se utilizaran 2 Resistencias Dependientes de la Luz (LDR) para captar la luz de cada lado de el movil, el cerebro estara formado por 2 transistores BC547 en conjunto con un circuito integrado L293D  para el control de los dos motores DC  a usar como actuadores de nuestro movil. Los motores se acoplan a las ruedas por medio se sendas cajas reductoras de velocidad, formadas por engranes y piñones.

El diagrama del circuito de control del movil se muestra en la figura siguiente, el funcionamiento de este circuito es simple  y tratare de describirlo a continuacion.

SIGUE_LUZ_Q_L293

Diagrama Electronico de Control del SigueLuz

Como se observa del diagrama , el circuito es simple y de bajo costo, los LDR son los encargados de captar la luz de una fuente, al ‘ver’ una fuente de luz el LDR cambia su resistencia ( existe una relacion inversamente proporcional entre la intesidad de luz captada y el valor de la resistencia entre terminales del LDR).  Entonces cuando se ilumina el LDR  aumenta voltaje del divisor formado por el LDR y el POT, este voltaje excita la base del transistor llevandolo  a saturacion, circula corriente entre C-E y hay una caida de voltaje en la resistencia de emisor, esto hace que se presente un voltaje en el PIN ENABLE del L293d que hace mover el motor. El mismo principio de funcionamiento es valido para ambos LDR, por lo tanto se debera conectar el LDR izquierdo controlando el motor derecho y el LDR derecho controlando el motor izquierdo, esto para lograr el giro hacia la fuente de luz. Como se puede ver en el diagrama electronico, el POT forma un divisor de voltaje con el LDR, este POT se encarga se regular la sensibilidad del novil, es decir se debe ajustar a gusto para obtener el minimo valor de intensidad de luz con la que se movera el carrito.

IMAG0134IMAG0123

El circuito integrado L293D se utiliza para manejar las correintes necesacias pra la activacion de los motores DC, la conexion de este IC es la que recomienda el fabricante para el manejo de dos motores  DC,  hacia adelante y detener. Es de hacer notar que este IC tambien posee entradas para el manejo de reversa de cada motor, pero en esta aplicacion no se usan.

El prototipo del movil fue ensamblado en BreadBoard y se alimenta con 4 baterias AA recargables, las LDR se deben orientar de tal forma que cada una este orientada hacia cada lado del movil.

IMAG0109IMAG0117


Los resultados obtenidos fueron satisfactorios XD … el movil fue capaz de seguir una fuente de luz y detenerse en ausencia de esta. (ver videos adjuntos al final del ariculo). Como se observa el movil se mueve hacia la luz a una velocidad relativamente normal, es la velocidad de los motores + engranes. Esta velocidad no pude ser modificada por el circuito de control, en futuros proyectos se incluira en el control un MICROcontrolador, con lo cual sera posible el control de la velocidad como de mas caracteristicas del movil.

A continuacion se muestra el listado de componentes usados, los cuales son pocos y faciles de encontrar. Si ud. esta interesado en adquirir algunos de los componentes de este u otro proyecto aqui presentados, se puede poner en contacto con IngenieriaNacional (polancco@yahoo.com o otonielflores@gmail.com) .

  • 2 Resistores dependientes de luz. LDR
  • 2 Resistores variables de 10k
  • 2 Transistores BC547
  • 2 Resistores 100k
  • 1 IC L293D
  • 2 Motores DC 5V + Engranes reductores
  • 4 baterias AA
  • Rueda delantera sin traccion. (Rueda Loca)
  • Breadboard
  • alambre

IMAG0118 IMAG0126

Espero sus comentarios e ideas. ¡ Let Your Geek Shine ¡

Proyecto: TERMOMETRO AVR Atmega 8/48/88

prime_termoComo primer circuito con los microcontroladores AVR, se presenta en esta ocasion un termometro  basado en el ATmega48 de ATMEL. Este uC posee 4Kb de Flash, un oscilador inteno de hasta 10Mhz, 6 ADCs, 23 pines I/O y mas.

Este circuito presenta en tres displays de 7 segmantos la temperatura, en dos muestra las decenas y unidades , y en el tercer display muestra el simbolo C que representa la escala de medicion CELSIUS. El cerebro de este 02012006171termometro  es el ATmega48 que lee la salida analoga de un sensor de temperatura, esta lectura es procesada y desplegada en los displays (XXC) , ademas el uC  detecta si la temperatura sensada es mayor a un valor preestablecido activando una salida digital y haciendo sonar un Beep en un buzzer. El circuito funciona con 5Vdc con un consumo alrededor de los 400mA, los que bien pueden conseguirse por medio de una bateria de 9v y un regulador 78l05.

Como se menciono el termometro toma la temperatura ambiente por medio de un sensor, cuyo numero es LM35, el cual es un sensor de tres terminales,Vcc, Vout y Gnd, este sensor provee en su salida 10mV por 1 lm35cktgrado Celsius, osea, para una temperatura de 30ºC la salida del sensor entrega un voltaje de 300mVdc. Es esta salida la que se conecta a la entrada de un canal ADC del ATmega48, el cual se programa para tomar la lectura en milivoltios y transformarla a su representacion digital y mostrar la temperatura en tres display (decenas-unidades-letra); ademas el programa activa una alarma (led y buzzer) cuando la03012006219 temperatura sobrepasa un limite previamente establecido. El desempeño del circuito ha resultado satisfactorio, la temperatura mostrara es la correcta y activa el aviso (beep beep beep) al momento de aumentar sobre  el limite. Ver video al final de la nota.

El programa de control a sido escrito en lenguaje BASIC y se ha desarrollado utilizando el IDE BASCOM AVR.  Para detalles acerca del programa, pueden descargar el codigo original en .BAS dentro del .ZIP del enlance disponible en el BOX la barra lateral izquierda. El esquema electronico del hardware usado se muestra a continuacion.

Diagrama del Termometro ATmega48

Diagrama del Termometro ATmega48

La construccion del circuito es sencilla ya que son pocos elemnetos y disponibles en cualquier comercio de componentes electronicos. para el montaje se utilizan:
El tipo de display dependera de la version del programa que se descargue.

  • Microcontrolador ATMEGA48  (se puede utilizar tambien ATMEGA8 o ATMEGA88)
  • Un display AC/CC de tres digitos (o tres display AC/CC de un digito cada uno)
  • Un sensor LM35dz
  • 9 resistores de 330×1/4w
  • Dos leds (rojo y verde)
  • Un buzzer
  • Un LM78l05
  • Bateria de 9v

 

Si tienen dudas o consultas, por favor comenten ¡

Proyecto: PROGRAMADOR ISP STK200 para uC AVR

Como inicio dentro del mundo de desarrollo de proyectos embebidos basados en microcontroladores AVR, debemos posser un circuito interfase que nos servira para grabar, quemar o programar la memoria del uC con el programa de aplicacion especifico.

Es por eso que aqui se presenta la construccion de una interfase programadora para uC AVR familia Atmega. el circuito que se presenta se conoce como STK200 y permite la programacion de la memoria Flash de los micros ATMEGA via el puerto Paralelo del PC, la conexion al microcontrolador se realiza a traves de su interface ISP (MOSI, MISO, SCK). Este circuito a sido probado con excelentes resultados utilizando el IDE BASCOMAVR de la compañia MSCelectronics.

A continuacion se presenta el esquema electronico del programador. 

stk200_21

El PCB o circuito impreso de la implementacion del programador se presenta en la siguiente imagen, este diseño es compacto y practico, el conector al puerto paralelo del PC se monta sobre el mismo circuito impreso y la coneccion al microcontrolador se realiza por medio de un cable de 6 hilos. (MISO MOSI SCK GND VCC RESET)

pcb3

Los componentes  que se utilizan para fabricar este circuito son:

  • Conector DB25 macho, montaje en PCB 
  • Circuito integrado 74ls244 
  • Resistencia 100k x 1/4w 
  • Resistencia 330 x 1/4w 
  • Capacitor Ceramico 0.1uF 
  • Led miniatura 
  • Cable de 6 hilos
  • Conector hacia el uC, 6 pines
  • Tableta de cobre 
A continuacion se presentan algunas imagenes del programador construido y funcional.

Espero este circuito les sea de mucha utiliadad ¡ 

Si tienen alguna duda no duden en consultar :-D

Lee más »

Microcontroladores AVR

He aqui una breve descripcion de los microcontroladores AVR de ATMEL

de Wikipedia:

The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller (µC) which was developed by Atmel in 1996. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to One-Time Programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

The AVR is a Modified Harvard architecture machine with program and data stored in separate physical memory systems that appear in different address spaces, but having the ability to read data items from program memory using special instructions.

Basic Families

AVRs are generally classified into four broad groups:

  • tinyAVR — the ATtiny series
    • 1–8 kB program memory
    • 8–32-pin package
    • Limited peripheral set
  • megaAVR — the ATmega series
    • 4–256 kB program memory
    • 28–100-pin package
    • Extended instruction set (Multiply instructions and instructions for handling larger program memories)
    • Extensive peripheral set
  • XMEGA — the ATxmega series
    • 16–384 kB program memory
    • 44–64–100-pin package (A4, A3, A1)
    • Extended performance features, such as DMA, “Event System”, and cryptography support.
    • Extensive peripheral set with DACs

Estos microcontroladores poseen ciertas ventajas con respecto a los famosos PIC, los espacios de memoria FLASH y SRAM no estan segmentados en paginas como en los PIC, ademas la serie ATmega posee un oscilador interno que hace opcional el uso de un cristal externo, sumado a esto el costo de los AVR’s es menor.

Existen muchos IDE para desarrollo de programas para AVR’s , con diferentes compiladores desde ASM, C, C++ o BASIC.

Ademas su interfase de programacion ISP es simple y se puede implementar via diferentes puertos del PC.

AVR’s Rules !!!

Proyecto: Termometro PICAXE28X1

En esta ocasion se presenta un proyecto sencillo, un termometro, el cual muestra la temperatura en formato XXC o XXF, en Celsius o Farengeith.

El hardware del proyecto esta basado en el sensor de temperatura LM35, el cual es un sensor de tres terminales, en cuya salida se tiene 10mV por 1 grado Celsius, osea para una temperatura de 30ºC la salida del sensor entrega un voltaje de 300mVdc.

Teniendo en cuenta el funcionamiento del sensor, la salida de este se lee via el conversor analogo digital del microcontrolador PICAXE28X1, el cual se programa para tomar la lectura en milivoltios y transformarla a su representacion digital y  mostrar la temperatura en tres display (decenas-unidades-letra).

Por medio de un interruptor conectado a una entrada digital de microcontrolador, se puede elegir si la temperatura se muestra en ºC o ºF, la conversion entre escalas se realiza via software.

Ademas el microcontrolador se ha programado, para detectar si la temperatura sensada pasa de 30ºC se active una salida digital, con la caul se activa un led alarma. Esta linea digital tambien puede servir para activar algun otro dispositivo tal como ventilador o sirena.

A continuacion se muestra el esquema del circuito usado:

El programa cargado en el microcontrolador esta escrito en lenguaje Basic para Picaxe, usando el PICAXE Programming Editor.

El programa esta estructurado asi:

1 leer por medio del ADC del micro, el valor del voltaje analogo proveniente del sensor LM35, digitalizar el dato.

2 Conociendo que por cada 10mV leidos sera 1ºC, se calcula el valor real de la temperatura en el sensor, dado que se utilizara la resolucion de 10 bits para el ADC, se tendra que para cada posicion binaria su peso en mV sera de 4.88mV, sabiendo esto se aplica la ecuacion Temp_centigrados = ValordelADC*4.88/10.

3 Si ese valor de temperatura es mayor a 30º se activara la salida 1 del micro, es aqui donde conectamos la indicacion o alarma.

4 Si el interrurtor conectado en la entrada digital esta activo (on=1) se hara la conversion a Farengeith, usando la formula Temp_Real=9/5 Temp_centigrados + 32; si no, Temp_Real=Temp_centigrados

5 Mostrar en los display el valor de la Temp_Real por medio de una subrutina que utiliza el multiplexado para manejar tres display usando un solo bus para los datos de segmento y tres salidas para el encendido y apagado de cada unos de los displays.

6 Volver a tomar una nueva lectura y ejecutar esto infinitamente.

Ver codigo ¡

He aqui algunas imagenes de implementaciones basadas en este proyecto, realizadas por estudiantes de la Universidad Tecnologica de El Salvador.

Comentarios?

Proyecto: Matrix de Leds con PICAXE ¡

He aqui un pequeño proyecto basado en un microcontrolador PICAXE28X1, el objetivo del proyecto es desplegar en una pantalla mensajes personalizados, la forma de despliege es de tipo scroll.

A continuacion una descripcion breve, sin detalles tecnicos, acerca de como funciona el proyecto.

El diseño del circuito externo hace uso de las 16 salidas disponibles del microcontrolador,8 para controlar las columnas y 8 para manejar las filas, hay que notar que la pantalla esta constituida por una matriz de 64 leds (diodos emisores de luz) conectados en columnas y filas; tambien se hace uso del IC ULN2803 para amplificar la corriente que demandan los leds.

El diseño del programa que esta ejecutando el microcontrolador, se ha realizado en lenguaje BASIC para microcontroladores PICAXE, lo que ha hecho que sea sencilla para aquellos que ya hallamos programado en ASSEMBLER; el programa basicamente se encarga de eencendido secuencial de las columnas y el envio de informacion para el encendido de determinados leds en las filas, es este encendido de las filas el que hace que se formen letras y simpbolos en la pantalla.

Se adjuntan imagenes y video acerca del prototipo del proyecto.

PICAXE28x1 + LedMatrix8x8 = FUN ... XD
PICAXE28x1 + LedMatrix8x8 = +FUN ... XD
PICAXE28×1 + LedMatrix8×8 = FUN … XD

-D

Diagrama del Circuito :-D

Matriz de leds

Matriz de leds

PinOut de la Matriz

PinOut de la Matriz

Pinout2 de la matrix

Pinout2 de la matrix

EL codigo .BAS puede ser descargado del BOX azul ubicado en el lateral izquierdo del blog. el archivo se llama MANEJO_DE_MATRIZ_WORDPRESS.BAS

En espera de que este proyecto les haya parecido interesante, me despido ¡ espero publicar mas proyectos y tambien recibir sus colaboraciones.

Cualquier duda o consulta acerca del proyecto, por favor dejen sus comentarios ¡¡¡

Salu¡

otoniel.flores@mail.utec.edu.sv

Que es un MICROCONTROLADOR ?

Empezaremos definiendo que es un microcontrolador.

segun Wikipedia:

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

microcontrolador tipico

microcontrolador tipico

Bienvenidos ¡

Bienvenid@s a este blog.

Donde el principal objetivo es intercambiar/compartir todo aquello relacionado a aplicaciones con microcontroladores, asi como el estudio de estos.

En espera sea de mucha ayuda para todos, iniciamos con MICROCONTROLADORES2UTEC ¡