Estas son perspectivas del diseño preliminar de un motor BLDC de flujo axial y la transmisión para una bicicleta eléctrica.
domingo, 9 de octubre de 2016
domingo, 2 de octubre de 2016
Restauración de Bicicleta Playera
Este es un proyecto de
baja tecnología que empecé el fin de semana pasado, consistió en restaurar una
bicicleta playera que compré en el 2002 a $130. La tenía abandonada muy oxidada
y con las cubiertas destruidas.
1) La desamé por completo
2) Limpié todo con nafta y desengrasante.
3) Coloqué 2 rayos que faltaban y centré las ruedas
4) Lijado, lavado y pintado a soplete con convertidor de
óxido negro brillante (las llantas también las pinté)
5) Armado de ruedas
con cámaras y cubiertas nuevas.
6) Cambio de todos los
rodamientos y armado final.
sábado, 10 de septiembre de 2016
Controlador Para Motores BLDC 1.0
Sigo trabajando en el controlador para motores BLDC, armé una plaqueta experimental con la etapa de potencia, si bien eléctricamente no está muy bien, ya que monté los mosfets en zócalos (con la idea de experimentar con mosfets de mejor calidad y obviamente un buen disipador) y las borneras que estoy usando tampoco son recomendas; por otro lado reforcé muy bien las pistas por donde circula mas corriente. Les dejo una foto del montaje, del circuito y el código fuente.
sábado, 3 de septiembre de 2016
Controlador de Motor Brushless (BLDC) con Arduino Nano
Hoy estuve diseñando y fabricando un prototipo de controlador
para motores brushless (BLCD), usando componentes que tenía en casa.
domingo, 26 de junio de 2016
Algoritmo para detectar la línea laser
Sigo avanzando con el Escáner 3D SinapTec. Hoy desarrolle un primer algoritmo para detectar la línea laser, no se si va a ser el algoritmo definitivo, pero funciona relativamente bien, como para hacer las primeras pruebas.
sábado, 25 de junio de 2016
Avances en Escáner 3D SinapTec
Finalmente después de trabajar en la matemática y algunos
algoritmos, decidí que forma física va a tener el escáner 3D. Los elementos
necesarios son: una cámara estática que grabe video (webcam, smartphone,
etc.), una línea laser vertical estática, un patrón de calibración y una cama
con un patrón impreso.
Se filmarán videos con la pieza a escasear ubicada sobre la
cama y se moverá la cama usando los dedos, la misma se puede rotar, trasladar,
levantar, etc.; de forma tal que la línea laser se interfiera con al pieza a
escasear.
Pros:
1) Hardware mínimo y económico.
2) Pegando la pieza a la cama se podrían hacer uno o varios
escaneos con distintas posiciones de la cámara y el laser, sin necesidad de
hacer un alineado posterior de las nubes de puntos.
3) Al no trabajar en tiempo real se podrán procesar los
videos en cualquier computadora sin importar el poder de cómputo, simplemente
tardará mas o menos tiempo; y no hace falta que soporte OpenGL.
Contras:
1) Puede que la interpretación de la posición de la cama en
el espacio no sea lo suficientemente precisa para lograr escaneos de calidad.
2) Algoritmo más complicado que usando una cama giratoria.
3) Al trabajar con videos no se podrá ver en tiempo real
como se genera la nube de puntos.
El video es un ejemplo de cómo el programa interpreta el
patrón de la cama y de esta forma determina a partir de la información 2D de la
cámara, su posición en el espacio 3D. Está tomado con un smartphone viejo de
gama baja que solamente filma de 640x480
domingo, 19 de junio de 2016
Escáner 3D SinapTec - Primeros Experimentos
Este fin de semana largo empecé un nuevo proyecto, el diseño y construcción de un scanner 3D económico con el menor hardware posible.
Lo primero que hice fue trabajar en el álgebra y en los primeros algoritmos, si bien me queda bastante álgebra por resolver creo que ya tengo resuelta una de las partes mas complicadas.
En la imagen se ve una cuadricula, el soft detecta esa cuadricula con la que calibra la cámara, calcula las distorsión radial y la distorsión tangencial (apropósito uso una webcam de mala calidad para ver como resuelve la distorsión); luego dibuja los eje XYZ en perspectiva. Por último hago click en la imagen y calcula la posición donde hice click en la cuadricula (X, Y y Z=0).
Lo primero que hice fue trabajar en el álgebra y en los primeros algoritmos, si bien me queda bastante álgebra por resolver creo que ya tengo resuelta una de las partes mas complicadas.
En la imagen se ve una cuadricula, el soft detecta esa cuadricula con la que calibra la cámara, calcula las distorsión radial y la distorsión tangencial (apropósito uso una webcam de mala calidad para ver como resuelve la distorsión); luego dibuja los eje XYZ en perspectiva. Por último hago click en la imagen y calcula la posición donde hice click en la cuadricula (X, Y y Z=0).
La primer hoja de fórmulas muestra como llevar puntos 3D al plano de la imagen, algo así como realidad aumentada (lo que hice con los ejes dibujados), esta parte es la mas sencilla ya que OpenCv lo resuelve automáticamente, pero tuve que analizar como hacerlo manualmente para lograr el proceso inverso, es decir como a partir de puntos del plano de la imagen calcular punto 3D en el mundo real (lo que hace un escaner 3D); esto se ve reflejado en la segunda hoja de fórmulas.
domingo, 5 de junio de 2016
sábado, 4 de junio de 2016
SinapTec - 3D Printer Host 1.1 DISPONIBLE!!!
Ya está disponible la segunda versión del 3D Printer Host SinapTec,
esta versión tiene un visualizardor de Gcode muy sencillo y liviano. Otras funciones que
agregué son: el cálculo de las
dimensiones de la pieza a imprimir, el número de capas y también muestra las
cantidad de capas impresas (ejemplo: 10 de 100 capas).
Al igual que la versión anterior hay que tener instalado
Python 2.7.11 y PySerial 2.5
domingo, 29 de mayo de 2016
sábado, 28 de mayo de 2016
SinapTec - 3D Printer Host 1.0 DISPONIBLE!!!
Ya está disponible una primera versión del host que estoy
programando.
Para los que no vienen siguiendo el proyecto les comento que se trata es un host multiplataforma programado en Python, es un único archivo .py y una carpeta con los iconos, es super liviano y estable, ideal para PCs viejas con pocos recursos.
HostSinapTec10.zip
HostSinapTec10.zip
Está probado en Windows XP y Raspbian, pero debería
funcionar en muchos otros sistemas operativos. Para que funcione hay que tener
instalado Python 2.7.11 y PySerial 2.5
Por ahora lo probé con el firmware TeacCup, y simulé el
funcionamiento en Marlin.
El cuadro blanco grande no hace absolutamente nada es el
espacio reservado donde se va a graficar el gcode, pero esa función aún no está
desarrollada.
domingo, 22 de mayo de 2016
Interface Gráfica - Host Multiplataforma SinapTec
Está tomando forma la interface gráfica del host multiplataforma que estoy programando. Está hecha con Tkinter que es la herramienta que viene por defecto con Python para hacer GUIs, no es la mas potente, pero es robusta, no hace falta instalar nada mas; y no varía mucho la forma en que se visualiza en los distintos sistemas operativos.
El gráfico del GCode no es real, simplemente es una impresión de pantalla de gcode.ws a modo de ejemplo.
El gráfico del GCode no es real, simplemente es una impresión de pantalla de gcode.ws a modo de ejemplo.
En Raspbian:
En Windows XP:
domingo, 8 de mayo de 2016
3DPrinter Host Multiplataforma SinapTec 1.0
Hace tiempo que tenía ganas de aprender un nuevo lenguaje de
programación para usar en mis proyectos, ya que desde el 2003 no estudiaba nada
de programación. Después de averiguar sobre la infinidad de lenguajes que están
de moda me decidí por Python, me pareció que es el que mas se adapta a lo que
yo estaba buscando. Durante la semana pasada leí algunos manuales y para
practicar me pareció un buena idea hacer un host multiplataforma para
impresoras 3d, se que no es nada nuevo, pero resultó ser un proyecto de fin de
semana apasionante.
Por ahora funciona por la consola, y solamente tiene las
características indispensables:
1)
Hace un escaneo de los puertos disponibles
2)
Abre el puerto elegido y permite definir el
baudrate
3)
Permite enviar Gcodes y Mcodes por la consola
(ejemplo: send M105)
4)
Abre archivos Gcodes (ejemplo: open
archivo.gcode)
5)
Manda a imprimir (print)
6)
Archivo de ayuda (help)
7)
Cierra el archivo Gcode (close)
8)
Salir del programa (exit)
La idea es tener un algoritmo sencillo y robusto para a
futuro ir agregándole más funcionalidades como ser, una interface gráfica
multiplataforma (con wxPython o algo similar), visor de Gcodes 2D, seguirdor
del GCode mientras imprime, un algoritmo de estimación de tiempo de impresión,
visor de Gcode 3D, integración con slicers, visor de STL, etc.
Por ahora es todo un éxito,
funciona perfectamente tanto en Windows (XP) y Linux (Raspbian), el Gcode lo
generé con Slic3r y por ahora solamente lo probé con el firmware TeaCup. Más
adelante voy a probar con más sistemas operativos, slicers y firmwares.
Para los que estén
interesados les dejo el código fuente, solamente son 293 y está lleno de
comentarios para que cualquiera lo pueda entender (sin comentarios ni espacio
entre líneas son 173 líneas de código) en un solo archivo.
HostSinapTec10.py
HostSinapTec10.py
Para que funcione
obviamente tienen que tener Python (yo uso la versión 2.7)
y pySerial que es el
módulo que se encarga de la comunicación por puerto serie (yo tengo instalada
la versión 2.5)
Ejemplo Windows:
Ejemplo Raspbian:
sábado, 2 de abril de 2016
Boceto de Nueva Impresora 3d SinapTec Full Metal
El fin de semana pasado empecé a diseñar mi nueva impresora,
la idea es fabricar una X head YZ bed totalmente de metal. El render es de un
primer boceto rápido muy esquemático, lo que esta en azul es chapa de 1/8” (3,2mm)
cortada con laser y las chapas en celeste son chapas #18 (1,24mm) cortadas y
plegadas; para que sea mas liviana y económica. La idea es que todos los
mecanismos y electrónica queden ocultos. Les dejo una foto de las primeras
compras que hice durante la semana. Espero sus comentarios, críticas y sugerencias.
Características:
Volumen de impresión: 200x200x200
Hotend: de fabricación propia similar a mis otras impresoras
(doble fan de capa)
Extrusor: direct drive con motor de alto torque. (mas
adelante tengo la idea de hacer un extrusor doble)
Transmisión de movimiento XY: poleas y correas GT2 (me cansé
de pelear con las tanzas multifilamento)
Transmisión de movimiento Z: varilla roscada M4x0,7 con
doble rodamiento en los extremos para evitar Z wobble.
Guías: trefilado AISI304 de 8mm y rodamiento lineales lm8uu
o bujes de delrin.
Electrónica: SinapTec AT328.02 o RAMPS. La idea es que
dependiendo del presupuesto se pueda fabricar con o sin cama caliente, que se
le pueda agregar display autónomo y autolevel.
Suscribirse a:
Entradas (Atom)