Conversión de CNC de puerto paralelo a USB
Si está buscando una máquina CNC pequeña y costosa para PCB y un rectificado ligero, la omnipresente máquina CNC Sherline es una buena opción. Sin embargo, hay un problema: por lo general, el controlador Sherline CNC se escapa del puerto paralelo. Si bien algunos de nosotros todavía tenemos un arma de Windows 98, [David] No. En su lugar, construyó una llave USB y escribió el programa para transformar este mini-CNC en algo utilizable por una computadora moderna.
Primero, el hardware. El núcleo de esta construcción es el dongle rt-stepper basado en el microcontrolador PIC18F2455. Con un mínimo de piezas, este chip convierte USB en un puerto paralelo para control en tiempo real. Es rápido, al menos tan rápido como el puerto paralelo de las computadoras portátiles antiguas en las que nos sentamos y conectamos directamente a la caja del controlador CNC del Sherline.
El software aquí es realmente brillante. la aplicación utilizada para controlar este dongle es un truco del proyecto EMC / LinuxCNC escrito con un hermoso y portátil Python. Esta aplicación genera los pulsos de paso, pero el dongle admite la sincronización; no se necesita kernel en tiempo real.
Hay muchas opciones para una máquina CNC de escritorio hecha para viajar en tablero de cobre, madera, latón y aluminio. El Othermill es excelente, e Inventables X-Carve y Carvey están más que listos para la tarea. Sin embargo, para algo pequeño y relativamente económico, el Sherline está bien cuidado y con este pequeño dongle puedes usarlo con una computadora moderna. Eche un vistazo a la demostración a continuación.
OLD_HACK dice:
Los molinos más antiguos y las placas de control apuntan a un circuito de control MSDOS en tiempo real.
LPT fue el último dispositivo externo de bajo nivel en una computadora accesible para el sistema operativo, y todavía lo usa el kernel EMC / LinuxCNC RT.
Este sencillo proyecto de controlador se ha llevado a cabo durante décadas porque funciona.Las pilas de programas de alojamiento USB son probablemente las peores para problemas latentes impredecibles dado el protocolo de capa física.
Por lo tanto, el búfer en los UART emulados aumentó a varios kB.Los diseñadores deben utilizar varias estrategias para fusionar la multitarea como comportamiento en torno a un sistema RT.
De hecho, RTlinux solo puede ofrecer latencia garantizada, y otros sistemas RT utilizan tareas de programación rápida.stefan_z dice:
Dado que pronto heredaré un 4030 de un amigo, con una computadora de principios de la década de 2000 conectada, ¿cuál sería la conversión fácil para deshacerse de la computadora? Creo que Arduino GRBL o Rasp podrían hacer bien el trabajo, como en "tener muchos GPIO para hacerlo". Gracias por explicar por qué USB es peor que LPT en este caso, siempre me lo he preguntado.
dbtayl dice:
BeagleBone Black + Machinekit. BBB tiene unidades en tiempo real que dan un ritmo asombroso mientras aún ejecutan Linux para todas las tareas de la interfaz de usuario.
hermano dice:
Estoy de acuerdo + muchas cabezas disponibles ... o si quieres tenerlo sin pensar: http://www.thecooltool.com/uploads/pics/Sandy_Box_imagesl_02.jpg
Ryan Turner dice:
Tenga cuidado con el firmware de impresión 3D, casi ninguno maneja la aceleración correctamente. GRBL usa un truco de "desviación de unión" porque el atmel de 8 bits no puede hacer suficientes matemáticas, y todos heredaron esa debilidad.
LinuxCNC, KFLop y Mach3 / 4 incluyen el redondeo angular adecuado y la aceleración de la curva en S, aunque Mach no le permite elegir entre los modos CV y de parada exacta.
Nitori dice:
Supongo aquí que la computadora host todavía está haciendo todas las matemáticas porque, si no recuerdo mal, el paralelo se usó como GPIO en un microcontrolador.
OLD_HACK dice:
Los módulos centrales de EMC / LinuxCNC hacen cosas que Mach3 no podría soñar con hacer, porque Windows DDK / SDK tiene una sincronización mucho menos estable de la API de sandbox y capas de planificadores de tareas.
La EMC fue creada originalmente por Darpa y en realidad puede causar problemas difíciles, como mantener una velocidad de corte constante en la curvatura del bazo.Sin embargo, Mach3 es más fácil de organizar, por lo que los aficionados piensan que están ahorrando tiempo ... pero se equivocan ... y no puedes discutir con ellos porque funciona de acuerdo con el nivel de su trabajo.
He visto a personas probar SBC (Raspberry Pi, etc.) con CNC, pero debido a que carecen de un RTC interno real, son igualmente problemáticos durante un tiempo.
Si bien Arduino y similares pueden hacer mucho por las impresoras 3D como un analizador de gcode, fueron diseñadas por aficionados ... así que haga muchas suposiciones inútiles sobre la física. No es adecuado para fresadoras CNC y nunca podrá operarlo de manera confiable por las razones mencionadas.
Quédese con el método informático LPT y dedique la máquina a conducir 1 y solo 1 molino.
Por último, una tienda real tendrá un mínimo de 2 amoladoras ... una con rosca de corte métrico ... y otra con rosca estándar estadounidense.
😉rrwakc dice:
Estoy usando el controlador cnc usb planet cnc mk3 / 4 para mi cnc de escritorio.
Nitori dice:
Quiero verlo realmente procesar algo en él, porque sería interesante ver cómo la latencia introducida por la pila USB afecta el producto final.
Mate dice:
No llamaría MS-DOS RTOS porque no está enhebrado y básicamente todas las interrupciones se pueden deshabilitar. No hay otra tarea que no sea el programa único. Pero eso suena a por qué fue tan efectivo.
Una computadora moderna se parece más a una colección de microcontroladores que a CPU y periféricos. USB es una de esas interfaces impulsadas por algo que se parece al menos un poco a un microcontrolador.
Parece que usar microcontroladores modernos que son mucho más rápidos que las computadoras de la era DOS para encender esto sería una mejor solución siempre que el "sistema operativo" no admita multihilo.
Chris dice:
Supongo que no veo qué ventaja tiene esto sobre el cable paralelo USB de 5 dólares de eBay
momus dice:
El puerto USB a paralelo de eBay funciona bastante bien para impresoras más antiguas, pero las latencias son mucho más altas que con el puerto paralelo "real" en el circuito base, lo que evita que genere exactamente las señales de rango khz necesarias para operar las contraseñas cnc correctamente.
Este proyecto, similar a GRBL, envía gcode al PIC, que genera las señales sin problemas latentes.
yetihehe dice:
No, este proyecto solo envía un tiempo de pulso a un dongle, no a un gcode completo. Gcode a pulsos se calcula por computadora, pero un dongle solo necesita mantener un temporizador y enviar esos pulsos a tiempo. De esa forma es mucho más económico y sencillo.
Camarada astuto dice:
No veo cómo un producto de $ 60 podría considerarse más barato que el GRBL hasta que DB25 HaD se cubrió a sí mismo hace 2,5 años.
https://la-tecnologia.com/2014/09/16/usb-to-db25-adapter-uses-grbl-for-parallel-port-cnc-communication/
darkspr1te dice:
Muchos adaptadores de USB a paralelo / centro de superficie plana tienen controladores difusos desagradables con problemas de sincronización y problemas de compatibilidad con programas que desean comunicarse directamente con el hardware. Los productos láser Mercury todavía sufren estos problemas, lo peor es el controlador de impresora que viene con el dispositivo (comprado el año pasado), sigue siendo Windows XP y no Win 7/8/10 con un catálogo de seguridad, el sistema operativo más nuevo no permite esto que Puerto USB. / driver combo en general, XP fue la última versión para permitir este comportamiento AFAIK. En ese caso usamos una máquina virtual de Windows XP y una impresora, el adaptador de puerto de impresora USB se entrega a la máquina virtual y comparte esa impresora a través de la red (red virtual), un truco completo en mi humilde opinión y no lo que yo esperaría. de un producto nuevo. Me refiero a que estamos en 2017 y un grabador láser nuevo viene con una pieza central y una serie de la vieja escuela (tenga en cuenta que la conexión en serie es tan lenta que a veces caduca o es un problema de firmware en el grabador láser). El adaptador FTDI pero el controlador de actualización de Windows se encargó de eliminar el PID y el VID.
METRO dice:
Este cable de $ 5 funciona con impresoras y SOLO impresoras. Copia una impresora centrónica y NUNCA ofrece acceso de bajo costo. Con el trato real, puede cambiar piezas directamente escribiendo el número exacto en la dirección correcta en la memoria, y puede hacerlo tan rápido como su CPU pueda escribir allí. (por lo tanto, la afirmación de que esta llave USB es más rápida es completamente ridícula y delata lo poco que el autor sabe sobre los primeros equipos informáticos). La razón por la que no puede agregar un puerto paralelo a una computadora a través de USB o similar es porque originalmente fueron mapeados / conectados directamente al espacio de direcciones físicas de la máquina. Ya no puede hacer eso a menos que su chipset lo admita. Tiene un puerto paralelo o no lo tiene.
Este es un buen truco, y es una interrupción decente para un dispositivo que tiene un conector paralelo que necesita pines encendidos y apagados, especialmente cuando se trata de una máquina mecánica que puede tolerar la latencia de nivel mecánico, pero no reemplaza el paralelo en todos. Puerto.
Fernando Cassia (@fcassia) dice:
"El omnipresente Sherline CNC"
Al salir de los EE. UU., Entré en “sherline cnc” en aliexpress y obtuve resultados de $ 2500 usd a uno por $ 25000 del tamaño de un camión pequeño. así que supongo que tampoco es el omnipresente cnc del chelín del que estás hablando. ¿Incluir un enlace era demasiado difícil?José I Romero dice:
Google es un motor de búsqueda mejor que aliexpress.
Miguel dice:
No soy de EE. UU., Pero cuando lo busqué, encontré esto.
http://sherline.com/product/8760-cnc-4-axis-driver-box/
http://sherline.com/sherline-vertical-milling-machines/huele a bicicletas dice:
La mayoría de nosotros compramos un manual más o menos y luego agregamos nuestros propios dispositivos electrónicos, lo que significa que el paquete está más cerca de $ 1400 USD más mucho trabajo. Por aproximadamente un 50% más de dinero, puede obtener un molino de tamaño completo, pero lo interesante del Sherline es que cabe en un espacio pequeño en lugar de requerir un piso de concreto y un techo de tres metros de altura, de ahí su ubicuidad.
Tweepy dice:
Nada puede superar a una tabla de suavizado calculando la aceleración / posición de un código G:
http://smoothieware.org/smoothieboard
Independiente, Ethernet o USB, porque no quiero una computadora gruesa cerca de mi enrutadorSean Semple dice:
Yo diría que tinyG y RbPi lo superan con mucha facilidad, y mucho menos un controlador DSP mach3.
Alex dice:
BeagleBone (o cualquier otro tablero) con Machinekit lo derrota. También viene con agradables interfaces remotas (control de tableta o teléfono).
Arthur Wolf dice:
No estoy seguro de como es tiene éxito, Smoothie tiene la mejor documentación (muy lejos), tiene interfaces remotas, es compatible con muchas más cosas (y trabaja activamente con desarrolladores de host / cámara para mejorarlo), es más / más fácil de configurar / hacer cosas raras, tiene una comunidad más grande, más funciones ...
Casi lo único que puedo ver es que MachineKit genera pasos más rápido, pero eso rara vez es increíblemente importante, y Smoothieboard v2 lo corrige pronto.
Tienes que leer Smoothie 🙂 Admito que apestamos para mostrar lo bueno que es.
Taylor dice:
Me gustaría usar algo así con dongles de programa de puerto paralelo más antiguos. Tengo algunos dispositivos y programas antiguos similares a este, pero necesita una computadora más antigua con puertos serie y paralelo. USB a serie funciona con el cable correcto, no solo alguien lo haría, USB a paralelo, no encontró una solución.
johnrpm dice:
Acabo de terminar de convertir mi sieg x1 de lappy con mach3 a headless con rampas y lcd, simplemente no tengo espacio para computadoras,
También he construido un equipo pequeño, también sin cabeza, la ventaja de las rampas con más repetidores es que puedo usar controladores de paso más grandes si es necesario.
Estaba buscando grbl en rampas con sd y lcd pero no pude encontrar, alguien sabe sobre un proyecto de este tipo, preferiría grbl en lugar de más repetitivo porque no tiene todas las impresoras 3d.DougM dice:
Sherline es buena pero Taig es mejor. No es que quiera empezar una guerra de marcas, pero hay alternativas.
Jimf dice:
No veo ningún código fuente disponible para el chip PIC. Ni siquiera un archivo hexadecimal para que programes tu propio chip. Vende un microcontrolador preprogramado.
Steven Clark dice:
Con un chip de conversión de nivel, pensaría en una Raspberry Pi con un módulo central personalizado como un servidor en funcionamiento.
Tú quieres dice:
Por $ 1200 y más por uno de estos pequeños molinos, prefiero comprar un ShapeOko o Carvey o similar con un taller mucho más grande, y son USB para arrancar.
DougM dice:
Corrígeme si me equivoco, pero ShapeOko y Carvey no muelen metal. Lo bueno de Taig y Sherline es que son pequeños "molinos reales".
huele a bicicletas dice:
Sí, estoy haciendo un trabajo que pone un contorno tridimensional en acero de 12 mm en este momento, en mi Sherline. No estoy * contento * con eso, pero construí media docena de ellos, y tienen una precisión de 0.1 mm. No es genial, pero no es algo que puedas hacer en cualquier lugar que haya visto.
drenehtsral dice:
Si solo tiene su adaptador de puerto paralelo colgando de su propio puerto raíz USB dedicado (sin concentradores entre él y el puerto raíz), puede usar transferencias isócronas muy lentamente (a expensas de tasas de transacción variables), o simplemente volar con transferencias masivas sabiendo que no hay disputa y que lo más que pueden tener que esperar son unos microsegundos.
Bob Barker dice:
Cuando tuve problemas con los puertos paralelos con mi Taig hace una década, la respuesta fue SmoothStepper: https://warp9td.com USB o Ethernet, integración con Mach3, IO expandido y pude hacer funcionar el molino a velocidades más altas.
Oliver Rew dice:
Solo he escuchado cosas buenas sobre estos tableros. Mi único problema es que solo parecen funcionar con Mach3 / 4. Ni siquiera publican especificaciones sobre el protocolo de comunicación para que la gente pueda escribir sus propios controladores.
Señor esponjoso dice:
Mi respuesta fue una tarjeta lavabit pci dual lpt en una máquina más moderna que ejecuta linuxcnc. Fue tan barato después de que investigué y rastreé la tarjeta correcta, compré dos, así que tengo una reserva. También proporcioné montones de IO con sus puertas dobles para ejes adicionales, sensores, interruptores, etc., ya que rápidamente me quedé sin pines en el primer tablero de la puerta.
lwatcdr dice:
Las tarjetas LPT bastante baratas parecen ser una de las cosas de las que los fabricantes realmente carecen. Parece una excelente manera de jugar con GPIO en una máquina de escritorio completa. Por supuesto, PI3 no es una mala máquina de escritorio.
Nitori dice:
Puede encontrar placas base tan nuevas como un zócalo AM3 que todavía tienen un puerto LPT.
Oliver Rew dice:
GRBL con un escape paralelo ($ 15 en tindie) hace básicamente lo mismo. Y con eso puedes transmitir GCODE desde cualquier computadora. Sin embargo, no tiene todas las características de LinuxCNC.
kbdhog dice:
Ciertamente no es ideal por algunas de las razones anteriores, creé el proyecto "LPTshield". fue hecho para otra persona que lo necesitaba para la artesanía de GRBL: estoy seguro de que es "demasiado" en cierto sentido y "no óptimo" por otras razones. Pero ... mi amigo CNC está feliz de jugar con él.
WFTDelta dice:
Intentaré esto. Lo que tengo es que mi molino Light Machines Spectralight (Sherline) requiere una tarjeta ISA para controlar el molino a través de un puerto paralelo. Algunas personas han invertido la tarjeta, pero solo funciona para unos pocos debido a los números de modelo. Todavía venden la tarjeta a la venta por casi mil dólares, pero luego intentan encontrar un circuito base capaz de operar la tarjeta y tener algo más que una piedra, no es probable. Planeo simplemente reemplazar los pasos y el controlador juntos. Terminé arruinándolo tratando de que funcionara.
Doug dice:
Tengo un molino Spectralight con la caja del controlador pero sin tarjeta de computadora. Fue bastante fácil comenzar a trabajar en un CNC de Linux con una computadora con un puerto paralelo. El truco consiste en proporcionar la salida del puerto paralelo a una placa de interruptores y luego al controlador. Hay información en Internet en el mapa de pines para usar.
Este chico dice:
Ahora, cuando hablamos de CNC y temas relacionados de todos modos, una pregunta rápida relacionada con la comunidad de usuarios de HaD CNC: ¿Qué programa usa para CAD / CAM y genera el código G / trayectorias de herramientas requeridas? Me equivoqué un poco con Solidworks y SolidCAM en la universidad y desde entonces no he encontrado nada amigable para usar aficionados.
Amigo CNC dice:
¿Qué pasa con X-Controller?
ru4mj12 (@ ru4mj12) dice:
Intenté usar adaptadores de puerto USB a paralelo en dispositivos más antiguos (que no son de impresora), ¡pero nunca funcionan! ¿Supongo que los controladores de impresora funcionan de manera diferente?
Idealmente, me conectaría a mis dispositivos de puerto paralelo a través de usb a una máquina virtual que ejecuta el programa original (winxp / 95) ... pero eso significa que el controlador usb tiene que interceptar el _inp / _outp, es decir, algo está leyendo / escribiendo 0x378 y apúntelo hacia / desde el puerto paralelo / conector db25.
¿Alguna sugerencia o pensamiento si eso es posible? ¡Encontré algunos sitios que parecen ser esperanzadores!
http://www.drdobbs.com/windows/direct-port-io-and-windows-nt/184409876?pgno=3
http://electrosofts.com/parallel/parallelwin.html
https://web.archive.org/web/20130823054744/http://hem.passagen.se/tomasf/UserPort/