Tengo disponible un tutorial de microcontroladores Atmel AVR.
La idea es facilitar el inicio en este mundo para los que conocen el lenguaje C y tienen alguna noción de microcontrolares.
Luego de unos cuantos meses de leer sobre AVR, armar la entrenadora, aprender paso a paso desde un LED Blink, etc, voy a comenzar y publicar mi primer proyecto con micros AVR.
La necesidad
Poseer un control remoto universal, uno de verdad digamos, que soporte cualquier aparato sin que salga 600$ o más como el Logitech Harmony
Todo el que tiene un hijo, o no, sabe perfectamente que el destino de todo control remoto indefectiblemente es el suelo , pagar 600$ (~140 dólares) cada vez que sucede no creo que sea una buena inversión.
La función de estos controles es obvia, es controlar la mayor cantidad de aparatos del hogar, como el TV/VCR/Blue ray/HomeTheater/... He probado varios de los baratos y , uno medianamente bueno siempre le faltan 5 para el peso y porque no solucionar ese tema en lugar de tener estos controles sobre la mesa
Es por ello que buscando y buscando por la web me encontré con el UIRT y UIRT2, ambos hechos con PIC pero para puerto serie
http://www.fukushima.us/UIRT2/
La idea sería tener el código fuente y que funcione por USB ya que la pc que hace de HTPC en mi hogar no tiene puerto serie y además me sirve para el propósito de aprender a usar VUSB la biblioteca USB de los AVR que no tienen ese soporte por hardware.
USBTIR
Me maté con el nombre :) , las funciones que cumple este aparatejo serían:
* Recibir códigos de un control con un protocolo conocido el cual posea las mayoría de las posibilidades de los otros controles
* Procesar y mapear los códigos a otros protocolos (RC5, RC6, NEC, etc)
* Recibir y decodificar las señales de todos los protocolos conocidos
* Emitir la señal infrarroja con la frecuencia y tiempos especificados
* Permitir controlar una PC via simulación de mouse y teclado
* Aunque sea conectable por usb que funcione sin necesidad de PC (standalone)
Y aquí está como quedó el niño USBTIR
El "chasis" es un trabajo de enanos, hacer esas perforaciones/calados, AAAAA GRRR
Como se puede observar no soldé todos los leds infrarrojos, el motivo es que tal cual está funciona muy bien, y además pienso, a futuro, usar esas salidas por medio de un cable para equipos que no capten la señal fácilmente.
Un mini-video
Licencia
Los archivos e imagenes de este sitio se encuentran disponible bajo la licencia Creative Commons (Attribution-Share Alike 3.0 Unported)
Cual es el mejor amigo del hobbista electrónico microcontrolero? El programador de microcontroladores!
He aquí una versión modificada del programador de micros Atmel el USBasp
Las características de este programador son:
Soporta varios sistemas operativos (Linux, Mac OS y Windows)
Fácil de armar
Programa a 5kb/s y opcionalmente se puede bajar la velocidad
Graba micros trabajando a 2.4v a 5v (el programador no alimenta el target)
El funcionamiento básico es hacer de puente USB a interfaz SPI no tiene lógica de grabación como en el caso del PICKit2, el trabajo más pesado lo hace el soft del lado de la pc.
A futuro (no muy cercano) el autor tiene pensado agregarle debug por RS232.
Se puede comprar en su sitio oficial a 15 euros, eso creo.
Armar este puede costar unos 18 dólares.
Para grabar el Atmega8 se puede armar un sencillo programador paralelo o serial, en mi caso usé este
Una vez grabado el micro y seteado los fuses se coloca en el programador, se conecta el usb y a quemar código se a dicho.
Ahh, ojo con los fuses en AVR, algunos pueden dejar deshabilitada la programación via SPI y no van a poder hacer nada con el micro (salvo programarlo via programador paralelo).
Licencia
Los archivos e imagenes de este sitio se encuentran disponible bajo la licencia Creative Commons (Attribution-Share Alike 3.0 Unported)
Luego de otros meses de estar "unplugged" debido a obligaciones retomo el blog para continuar con mis experiencias.
Mucho a pasado con mis intentos de hacer el controlador dual de motores con IRFZ44N, para hacerla corta, no voy a continuar desarrollando para microcontroladores PIC.
Me decidí por la plataforma de microcontroladores AVR por muchas de sus ventajas -soportando sus desventajas- y para hacer mis prácticas necesité rediseñar mi entrenadora
Esta nueva entrenadora la pensé con las siguientes modificaciones:
La anterior Multiboard tiene disponibles puertos A, B, C, D y la mitad del E llegando hasta los mcu de 40 pines, la idea es que soporte micros QFN de 64 pines y que las MCUCards (ex PICCards) sean más anchas para poder dar espacio a una LPCxpresso o un módulo ZIF.
La fuente de alimentación incluida es un tema, no veo la necesidad de colocar dos reguladores con disipador ya que normalmente no se usa más de 1A. Por este motivo incluí un único regulador 7805 (5v) y el otro para 3.3v.
El max232 lo quité dejando esa conectividad como módulo, el cual podría ser un max, o un ft232, un conversor custom, etc.
Debajo de la MCUCard puse una memoria por i2c y un registro de desplazamiento para aumentar las I/O si fuera necesario.
Los cristales están muy alejados de los micros por eso voy a agregar la opción de incluir uno o varios en cada MCUCard.
Entonces, para dar soporte a micros de hasta 64 patas es necesario agregar 6 conectores más, entran 3 y 3 arriba y abajo de la placa.
Y por último están las salidas de 5v y 3.3v que sinceramente no he utilizado jamás y las volé.
Sin más palabras...
Hasta el momento tengo hecha esta MCUCard, es para micros AVR de 28 pines como el ATMEGA8
Esquemáticos
Mother
MCUCard28
Licencia
Los archivos e imagenes de este sitio se encuentran disponible bajo la licencia Creative Commons (Attribution-Share Alike 3.0 Unported)
Al recibir de regalo un mini-helicoptero tuve la experiencia más agradable al hacer volar este bichito de interior.
Pero luego de sus 10 minutos aprox. de vuelo intenté recargar la batería interna utilizando el cable ubicado en el mando infrarrojo:
La sorpresa fue grande al ver que las 6 (SEIS) pilas de 1.5v estaban agotadas luego de la primera carga
Entonces decidí abrirlo para saber cual era el motivo y que se podía hacer con ese diseño espantoso, me encuentro con un regulador 7805 en TO-92, algún tipo de microcontrolador funcionando a 5v (puede ser un PIC), luego a la izquierda acostado un transistor de mediana potencia, tal vez
El circuito de carga era cuanto menos deficiente, cargaba las baterías a una corriente constante y al caer la corriente por debajo de un nivel que no determiné cortaba, pero, sin medir el voltaje de la celda lo cual es PESIMO!
Entonces decidí hacer este cargador, no me llevó mucho más que dos días, no tiene mucho refinamiento y el diseño del pcb es así a las apuradas digamos
La cuestión es que ahora puedo cargar mi mini-helicoptero desde cualquier fuente o batería mayor a 9v (incluso puedo llevarme al campo una batería de plomo de 7Ah y tengo para varios vuelos sin despeinarme
Una vez armado el cargador requiere el ajuste de la salida (en vacío) a 4.2v
Este cargador es rápido, ya que realiza la carga de acuerdo a lo recomendado es decir, primero a corriente constante hasta que las celdas lleguen a 4.2v y luego a voltaje constante a 4.2v.
Para determinar el momento en que se debe cargar a voltaje constante se usa el otro ajuste el cual lo podemos establecer en 4.15v por ejemplo
Aquí en acción la carga, en un tester está la tensión de la batería del helicopterito y en el otro está la corriente aplicada
A medida que la batería toma carga gana voltaje y cae la corriente consumida.
El circuito se puede adaptar para pack de Lipo de 2S, 3S, con cargas hasta los 1.5A (límite del LM317).
Licencia
Los archivos e imagenes de este sitio se encuentran disponible bajo la licencia Creative Commons (Attribution-Share Alike 3.0 Unported)
Hola!!, luego de un par de años posteando esquemas y códigos me doy cuenta que hay muchas personas armando estos circuitos, sobre todo el programador usb, y me preguntaba si sería bueno poner a la venta microcontroladores programados, o bien las placas hechas con máscara antisoldante, perforadas, etc.
Si te parece interesante deja un comentario, de acuerdo a tu opinión ordenaré la fabricación de pcb, compraré componentes, etc.
Si bien la conectividad nació por los 70's con los proyectos ALOHA y ARPANET pasando por mejoras diversas hoy disfrutamos los beneficios de esta conectividad a todo, por tierra, aire, en un avión, etc, quien escribe recién hace un par de días pudo dar su primer paso con un PIC18F252 y un ENC28J60.
Experimento:
Montando sobre proboard el integrado que maneja la capa física y de acceso al medio (MAC), un conector RJ45 de dudosa calidad operativa, :), un router wireless y la multiboard logré levantar una conección telnet desde un celular con Android y encender/apagar una lámpara.
En el pic está corriendo una suerte de servidor TCP escrito en Jalv2.
Video:
En el celular ingreso
.[actuador][estado]#
donde
. indica inicio del "paquete"
[actuador] = a indica actuador 1, b actuador 2, etc
[estado] = 1 encender/0 apagar
# indica fin del paquete