lunes, 29 de agosto de 2011

nueva placa NP04


Esta nueva placa esta diseñada para aprovechar los dos tipos de pics mas comunes del mercado, la gama 16F628A y 16F88.
Esencialmente la diferencia entre dos pics esta en los puertos de transmisión y recepción de señales seriales (Tx y Rx) que en los 16F628 están en los pones 7 y 8 y en los 16F88 están en los pines 8 y 11.
Para permitir trabajar con los dos pics, se selecciona los dos jumpers al lado del MAX232, ademas, tiene un conector para aprovechar la la salida de tension del 7805 (5 volt y la salida directa).
Este PCB no trae el integrado UNL2803 lo que ahorra la instalación de borneras, leds y resistencias y facilita conectar la placa a servomotores y drivers para manejo de motores CC (L293D).
El pcb esta diseñado para tener un conector para cada puerto del pic,


Detalle de la placa armada para pruebas


Controlando dos servomotores futaba

Las dimensiones de la placa esta diseñadas para poder armarlo con un pcb de cobre de 5 cm x 10 cm (medida estandar en argentina).

Esquema de componentes.


diagrama echo con Kicad

Grafico 3D echo con Kicad

Vista de arriba del PCB



Video de control de dos servomotores.

Esta placa requiere de mas conocimiento de electrónica que las placas np03 pero tienen mas posibilidades porque no hay que usar el UNL2803 (que para mover servos o motores cc no sirve).

para descargar el proyecto echo con Kicad:

http://valentinbasel.fedorapeople.org/serie/placa-np-04.tar

el firmware para pic 16F628A:

http://valentinbasel.fedorapeople.org/pic-caro/pic-caro.0.5.tar

Por ahora no arme ningún firmware para los pics 16F88, y hay varias cosas que me gustaría mejorar de esta placa (programación ICPS para no necesitar un programador para el pic por ejemplo).

lunes, 22 de agosto de 2011

icaro 0.6.3

Ya esta lista la nueva versión del firmware para placas icaro np03, Actualizado para usar el compilador SDCC en ves de escribir directamente en assembler.
La ventaja de poder escribir en un lenguaje de alto nivel como C es la facilidad para mantener actualizaciones, modificaciones etc etc.
Esta nueva versión del firmware icaro (icaro06) tiene las siguientes mejoras:

1) mejorada el manejo de servomotores (sin dejar 1500 Ms entre instrucción)
2) capacidad de generar una onda cuadrada de frecuencia audible
3) Reescrito íntegramente en SDCC

Se actualizo el lenguaje icaro a su versión 0.6.3 que permite usar las instrucciones "pausa" y "audio".
En las versiones anteriores del firmware, para poder controlar un servomotor, se enviaba el carácter "m" , el valor de los grados del motor (0-255) y el puerto (1-8) y el micro quedaba en un bucle cerrado de 1500 ms, donde no se podia enviar ninguna otra orden (con peligro de colgar el pic). Con el nuevo firmware, se resuelve ese BUG permitiendo mover mas rapidamente el servo y activar mas de un servo al mismo tiempo (enviando la misma señal a ambos).
La capacidad de generar ondas sonoras fue a pedido de Adrian Frapiccini que me comento que podía serle util para un curso. Para poder generar sonidos, hay que conectar un parlantito directamente a una de las salidas de la placa y usar la función audio(), a diferencia de Arduino, no se enviá la frecuencia de la señal a reproducir, si no la longitud de onda en funcion de eso se puede calcular la frecuencia de sonido.

Robot controlado remotamente.

Este es una prueba del nuevo firmware, usado para controlar un robot movido por dos motores CC y con una camra movil controlada por dos servomotores futaba.

Se puede apreciar la cámara montada sobre dos servomotores


Otro detalle de los servos





video del robot circulando por la casa


El robot es controlado mediante X11vnc con una interface echa con pygtk y usando apicaro 0.2.
Para descargar la nueva version del firmware (echa con el software I4UC):

pic-caro.0.5

la nueva version del lenguaje icaro:

icaro.0.6.3.140811

El api para python actualizado:

apicaro.0.2