NiCr: CNC Hot Wire Cutter

Show off your FreeCAD projects here!
User avatar
JMG
Posts: 263
Joined: Wed Dec 25, 2013 9:32 am
Location: Spain
Contact:

NiCr: CNC Hot Wire Cutter

Postby JMG » Wed Dec 30, 2015 6:22 pm

Hi!

I'm happy to announce that I'm publishing my CNC Hot Wire Foam Cutter (or simply NiCr, way shorter name) as an OpenSource/Hardware project.

A little video about it:
https://www.youtube.com/watch?v=iOVO2aQ5I9E

It has been designed with FreeCAD and also uses it to create the toolpath from 3D shapes.

Some pictures of the machine inside FreeCAD:
Image
Image

It has several interesting features like coreXY motion, arduino&ramps electronics and more, I have published a more detailed description here:
http://linuxforanengineer.blogspot.com. ... /nicr.html

I hope to upload code and 3D parts soon (FreeCAD workbench is almost ready :) )

EDITED: Github repo: https://github.com/JMG1/NiCr
Edited 2: Workbench demo video https://www.youtube.com/watch?v=8snH_p_ ... e=youtu.be

Javier.
Last edited by JMG on Mon Jan 04, 2016 9:12 pm, edited 2 times in total.
FreeCAD scripts, animations, experiments and more: http://linuxforanengineer.blogspot.com.es/
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly
triplus
Posts: 5013
Joined: Mon Dec 12, 2011 4:45 pm

Re: NiCr: CNC Hot Wire Cutter

Postby triplus » Wed Dec 30, 2015 6:27 pm

Impressive.
DeepSOIC
Posts: 4693
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: NiCr: CNC Hot Wire Cutter

Postby DeepSOIC » Wed Dec 30, 2015 6:39 pm

Oh yes it is. Impressive. Should I start building one, I wonder...
User avatar
kwahoo
Posts: 186
Joined: Fri Nov 29, 2013 3:09 pm

Re: NiCr: CNC Hot Wire Cutter

Postby kwahoo » Wed Dec 30, 2015 8:01 pm

Whoa! This thing is huge!

If I understood well, an G-Code like code is generated in FreeCAD and interpreted by AVR? Can you share some info about buffering commands? Are you sending commands in packets, or full code before staring the cutter?
User avatar
JMG
Posts: 263
Joined: Wed Dec 25, 2013 9:32 am
Location: Spain
Contact:

Re: NiCr: CNC Hot Wire Cutter

Postby JMG » Wed Dec 30, 2015 11:34 pm

Thanks :)

DeepSOIC:
Should I start building one, I wonder...

The question is... how can you live without one? :lol:

kwahoo:
Yes, you understood correctly. The nicr code is generated inside FreeCAD and sent by serial to the machine, at least, that is how it works at the moment. You can see an example on my test machine here (code included):
https://www.youtube.com/watch?v=VHL-ju65lEk
The only thing that keeps it from working perfectly are the delays between instructions, but seems easy to solve.
Also, one thing that is high in my to-do list is to create the possibility of reading the code from a SD card, like 3D printers do.

Any help and ideas with this will be greatly appreciated :)
FreeCAD scripts, animations, experiments and more: http://linuxforanengineer.blogspot.com.es/
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly
User avatar
kwahoo
Posts: 186
Joined: Fri Nov 29, 2013 3:09 pm

Re: NiCr: CNC Hot Wire Cutter

Postby kwahoo » Thu Dec 31, 2015 3:45 pm

JMG wrote:The only thing that keeps it from working perfectly are the delays between instructions, but seems easy to solve.


I started thinking about converting G-code on PC and streaming discrete steps to AVR with some buffering. I haven't tested this method yet, but I will when I'll finish my micro-CNC prototype.
Image
User avatar
JMG
Posts: 263
Joined: Wed Dec 25, 2013 9:32 am
Location: Spain
Contact:

Re: NiCr: CNC Hot Wire Cutter

Postby JMG » Thu Dec 31, 2015 4:13 pm

converting G-code on PC and streaming discrete steps to AVR with some buffering.

In this video I'm sending the steps and direction directly (but without buffering) from a script that reads shape topology and transforms it to machine steps.

https://www.youtube.com/watch?v=InJrinMZe4A

The data sent is a binary number with direction and step. I've also used this script modified to address directly the parallel port, eliminating the need of an AVR at the expense of using an old motherboard with parallel port.

I'm sure there are a lot of ways of doing the same thing, my preference is to send human-friendly instructions because there are easier to debug (separates nicely the software inside the computer and the firmware in the AVR).


Nice project, those sliders are of the kind used in furnitures (like retractable keyboard trays)?


Javier.
FreeCAD scripts, animations, experiments and more: http://linuxforanengineer.blogspot.com.es/
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly
User avatar
JMG
Posts: 263
Joined: Wed Dec 25, 2013 9:32 am
Location: Spain
Contact:

Re: NiCr: CNC Hot Wire Cutter

Postby JMG » Sat Jan 02, 2016 12:16 am

Hi all.

The NiCr repository is here!! :D
https://github.com/JMG1/NiCr

The workbench Includes a .fcstd file with an example.


Javier.
FreeCAD scripts, animations, experiments and more: http://linuxforanengineer.blogspot.com.es/
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly
triplus
Posts: 5013
Joined: Mon Dec 12, 2011 4:45 pm

Re: NiCr: CNC Hot Wire Cutter

Postby triplus » Sat Jan 02, 2016 9:33 am

Animation.png
Animation.png (41.94 KiB) Viewed 6666 times


Looking good. I do get this:

Code: Select all

Traceback (most recent call last):
  File "...NiCr_Workbench/NiCrSimMachine.py", line 53, in onChanged
    self.addMachineToDocument( fp.FrameDiameter, fp.XLength, fp.YLength, fp.ZLength )
<type 'exceptions.AttributeError'>: 'FeaturePython' object has no attribute 'YLength'
Traceback (most recent call last):
  File "...NiCr_Workbench/NiCrSimMachine.py", line 53, in onChanged
    self.addMachineToDocument( fp.FrameDiameter, fp.XLength, fp.YLength, fp.ZLength )
<type 'exceptions.AttributeError'>: 'FeaturePython' object has no attribute 'ZLength'


When loading the provided example .fcstd file.
User avatar
JMG
Posts: 263
Joined: Wed Dec 25, 2013 9:32 am
Location: Spain
Contact:

Re: NiCr: CNC Hot Wire Cutter

Postby JMG » Sat Jan 02, 2016 10:16 am

Thanks triplus for testing! :)

That annoying error shows when loading a workbench within a saved document, I think that is related to the save/load mechanism of the python objects :? It is not critical and does not disturb the workbench behavior.
FreeCAD scripts, animations, experiments and more: http://linuxforanengineer.blogspot.com.es/
Open source CNC hot wire cutter project (NiCr): https://github.com/JMG1/NiCr
Exploded Assembly Workbench: https://github.com/JMG1/ExplodedAssembly