Welcome! Log In Create A New Profile

Advanced

3DPrinter Host Multiplataforma SinapTec 1.0

Posted by SinapTec 
3DPrinter Host Multiplataforma SinapTec 1.0
May 08, 2016 05:16PM
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

Para que funcione obviamente tienen que tener Python (yo uso la versión 2.7)

https://www.python.org/download/releases/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)

https://pypi.python.org/pypi/pyserial

Ejemplo Windows:



Ejemplo Raspbian:



Mi página: http://www.sinaptec.alomar.com.ar/

Edited 1 time(s). Last edit at 05/08/2016 06:42PM by SinapTec.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 22, 2016 01:02PM
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.

En WindowsXP:



En Raspbian (versión de Linux para Raspberry PI).:



http://www.sinaptec.alomar.com.ar/

Edited 1 time(s). Last edit at 05/22/2016 01:04PM by SinapTec.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 22, 2016 04:44PM
Lo podre usar para una cnc?


--
[maquinaslibres.tk]
[4232.cf]
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 22, 2016 08:05PM
Quote
qubotica
Lo podre usar para una cnc?

Está pensado para impresoras 3D, por el tema del manejo de las temperaturas, con pocas modificaciones se podría usar en un CNC.

¿Qué es lo que estás necesitando?, a lo mejor te sirve cualquier gcode sender.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 25, 2016 05:47PM
Aproveché el feriado para trabajar en el código, y felizmente puedo decir que ya estoy imprimiendo desde la interface gráfica de mi host, tanto en Windows como es Raspbian. Me faltan un montón de funciones pero las básicas ya funcionan todas.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 28, 2016 04:50PM
SinapTec - 3D Printer Host 1.0 DISPIONIBLE!!!

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

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

https://pypi.python.org/pypi/pyserial/2.5
https://www.python.org/downloads/release/python-2711/

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.

Espero que lo prueben y la devolución de la comunidad para ir mejorándolo y agregándole mas funciones.

Desde ya muchas gracias.

Edited 1 time(s). Last edit at 05/28/2016 04:54PM by SinapTec.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 29, 2016 04:58PM
Diego Navarro detectó un problema al usar el Host en Raspbian con un ArduinoMega, el host no detectaba los puertos tipo: ttyACM0

Acá está la versión con ese problema corregido:

HostSinapTec10.zip
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 29, 2016 05:16PM
Está tomando forma el visualizador de Gcode del Host Multiplataforma SinapTec


Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 31, 2016 07:46AM
Hola solo agrego por si alguno le pasa con el tema de requisitos... arranqué con una instalación limpia de raspbian y use de base la minimal, instalé python y pyserial, pero para que ande también hay que instalarle python-tk

Saludos!!!
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
May 31, 2016 08:25PM
Buen dato Diego, yo en mi Raspberry tenía instalado Pronterface que también usa PySerial así que no tuve que instalar nada. Me sorprende que hayas tenido que instalar python-tk, no recuerdo haberlo instalado y Pronterface usa wxPynthon no Tkinter. Si tengo algo de tiempo voy a instalar Raspbian en una SD limpia así documento todo el proceso.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
June 01, 2016 09:46AM
El tema es que tenia unos bardos y por las dudas me mande a instalar la version LITE (que viene sin nada) y fui instalando cosas a medida que necesitaba... Antes lo había probado en la versión full desktop y anduvo sin vueltas...
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
June 04, 2016 09:28PM
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).



HostSinapTec11.zip

Al igual que la versión anterior hay que tener instalado Python 2.7.11 y PySerial 2.5

https://pypi.python.org/pypi/pyserial/2.5
https://www.python.org/downloads/release/python-2711/

Edited 1 time(s). Last edit at 06/05/2016 09:01AM by SinapTec.
Re: 3DPrinter Host Multiplataforma SinapTec 1.0
June 05, 2016 10:21PM
3D Printer Host 1.1 – Corriendo en Varios Sistemas Operativos

Mac (gracias a Diego Navarro)



Raspbian (Linux para Raspberry PI)



Ubuntu 12.04.5 LTS (Linux)



Windows Clásico



Windows XP



Edited 1 time(s). Last edit at 06/06/2016 11:21AM by SinapTec.
Sorry, only registered users may post in this forum.

Click here to login