Shop OBEX P1 Docs P2 Docs Learn Events
Prop-based CNC/3D printer - Page 10 — Parallax Forums

Prop-based CNC/3D printer

1810121314

Comments

  • babinda01babinda01 Posts: 54
    edited 2011-11-04 07:18
    Hi
    I would reference to the EMC2 CNC control for several reasons - mainly that it has been around quite a long time, and a lot of the popular "Hobby" cnc controls have taken their roots from the EMC interpreter, Mach3 which is a very very good and popular control, started from the EMC code (I am led to believe). Secondly there are quite a lot of docs and other information freely available for it i.e. http://linuxcnc.org/docs/html/gcode.html http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?CoordinateSystems.

    I am very inexperienced when it comes to programming micros and in particular the propeller chip, and so I may be wrong here - but I feel the correct place for compiling the gcode is on a pc, I just would have thought that there is not enough horsepower on a single chip to do all the required maths like cutter compensations etc etc needed for a decent CNC control system. Like I said I am very inexperienced here, so I would love to hear from others on this matter. But on the same hand I would have thought it would be very easy to process simple "move to this position in this time frame" commands. If the prop was going to do the interpreting of the gcode files, these files would need to be streamed from a pc in some for or other, so why not stream a precompiled version instead of actual gcode.


    Regards
    Andrew
  • StefanL38StefanL38 Posts: 2,292
    edited 2011-11-04 10:51
    If you feed the propeller-chip with a list of g-code-commands. this is sonething that the propeller-chip can do easily.

    If you imagine CNC was done on PCs with 286 16 bit 10MHz including a graphical preview of the toolpath an 32bit 8 core 80MHz Chip will do too.
    32kB RAM is way enough for some g-code-commands. The G-code could be streamed or be stored on an SD-card.

    Converting CAD-data to G-Code is too much for a propeller. (Though I guess that maybee some freak will even code something like this for the propeller)

    best regards
    Stefan
  • lonesocklonesock Posts: 917
    edited 2011-11-04 11:46
    A G-Code interpreter is completely doable on the prop. IMO doing the actual model slicing on the prop is very much a non-starter. For one thing, you would be severely thrashing your SD card, as using the entire prop's RAM would let you hold maybe 1000 triangles, with no room left for acceleration structures.

    My software generates a 3D signed distance field for the model, using some fine oversampling near the surface to get better detail, and then performs a "flattening" of the 3D SDF into each 2D SDF "slice", which lets me do things like inset operations quickly and easily. So, there may be faster ways to do it (in fact I'd love to find them and speed up KISSlicer even more) but I don't know of them. And the SDF way is pretty memory intensive.

    Regarding free CAD software, I don't really have any recommendations...most of my experience was 10 years ago in college (NASTRAN / PATRAN, AutoCAD). Since then I haven't really found any free 3D software that lets me make engineering models...there are lots of good modelers, for artistic types, but that's not me [8^) Alibre used to have a version that was free for personal use, which is how I first found it. That version is no longer available, though the low cost ($200) version is really nice. In terms of free, 123D is really my next exploration, once I have free time to play with it.

    Jonathan
  • lonesocklonesock Posts: 917
    edited 2011-11-04 11:54
    Andrew,

    Yep, that's basically it, but I would recommend adding a delta_time column, so you can combine all the straight line segments into a single segment. The prop is easily capable of doing a few divisions per ms, and it would save both SD card space and all the overhead of reading that much data from the card. The algorithm I was talking about automatically combines lots of very short paths (or a mixture with longer paths) into a simpler path of line segments, with the criterion that the simplified path never be more than X deviation from the original path.

    Jonathan
  • babinda01babinda01 Posts: 54
    edited 2011-11-04 17:16
    Jonathan

    Ok, I can see what you are saying now and yes it makes sense to me. I will have a play and see what I come up with.

    I can see some advantages to running the gcode straight from the prop. If it is capable of doing it great.

    I have played with the GRBL control running on a Arduino UNO, I must say I am VERY impressed with it. It runs very smoothly, the look ahead/planner seems to work quite well. The only limitation it seems to have is that it is only 3 axis whereas I would like to see at least 5 axis, it is limited to 40 odd thousand steps per second pulse rate - I would love to get this much higher for a servo drive application. All this from a small 8 bit chip........ The funny thing is I have also, tried the Smoothie control running on an MBed board (32bit Arm Processor), and the step rates aren't a great deal better than the GRBL.

    Anyway, keep up the great work guys.

    Regards
    Andrew
  • StefanL38StefanL38 Posts: 2,292
    edited 2011-11-05 04:07
    Jonathan wrote :
    I am VERY impressed with it. It runs very smoothly, the look ahead/planner seems to work quite well.

    it does have an ahead-planner? Wow! Where can I get the sourcecode from?
    please post a link

    best regards
    Stefan
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-11-05 04:26
    prof: there is quite a deal of info regarding hotends. The wade seems to have a lot going for it. There have been some levers made to make jit simpler. I suggest you check the build form to see what Phil has used as it seemed quite a good solution. Seems to be still plenty of room for improvement here.
  • prof_brainoprof_braino Posts: 4,313
    edited 2011-11-05 14:32
    Ok, "wasted" another day on "research". Found this video http://www.youtube.com/watch?v=B3D56IpACME&feature=player_embedded

    I'm thinking I want to baseline using an existing solution before tackling the prop implementation, other are encourage to move ahead while I catch-up.

    The video suggests Mendel Prusa, which is handy since that what I built.

    Suggested 3D modeling software is BLENDER and OPENSCAD to create STL files.

    Suggested slicing software is SKEINFORGE http://fabmetheus.crsndoo.com/wiki/index.php/Main_Page to generate G-code from the STL

    Suggested printer driver PC application is RepSwapper. This send the G-code command to the printer and runs the actual print operation.

    Any comments or alternatives? This is to describe a baseline to which we can compare a series of prop solutions.

    @ cluso99 - Good idea. I have printed parts for a modified Wade's Extruder as part of my kit, I just Dremeled a threaded rod by hand to get a hobbed bolt. I'll compare this to Phil's.

    For new readers: Turns out the Wade's Extruder is misleading, Wade only improved the filament feed mechanism, the heater and extruder (Hot End) is a separate issue. Sacha from PS1 recommends Maker Gear's hot end solution. http://www.makergear.com/products/operators-pack
    The page is confusing to me, in places they talk about a Super Pack but the thing we actually order appears to be "HotEnd Pack (.50mm Nozzle) for $75.00 USD"

    Last thing for me appears to be the electronics. Since babinda01 has an Arduino Uno running GRBL, I am thinking about Sanguino since I am getting impatient and can get an assembled unit for $99
    http://store.solidoodle.com/index.php?route=product/product&path=63&product_id=52
  • babinda01babinda01 Posts: 54
    edited 2011-11-05 15:13
    Hi

    The code for GRBL can be fount on their Github page https://github.com/simen/grbl/network. As you can see, there are quite a few branches, where others have been contributing. I have been using the stephanix code base, but I noticed that bpietroiu
    has added backlash compensation and several new gcodes in the last few days.

    Even though this is a project running on an Arduino, it has been written in pure C.

    I think this would be a great base to use for a start to a prop based solution, but I really have no idea of how to start.

    Github doesn't really like "Internet Explorer" so I use Google Chrome, but I am sure you can work it out.

    Hope this helps

    Andrew
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-11-05 18:15
    Prof: The Sanguino for $99 does not include the 4 Stepper Driver pcbs which are about ~$12 ea. My motherboard can use these stepper driverss when the time comes to move to a prop design.

    There are lots of info regarding the hobbled bolt and different methods of how to do it. The whole "hot-end" is an evolving process.
  • W9GFOW9GFO Posts: 4,010
    edited 2011-11-05 18:45
    Regarding 3D software, SketchUp is easy to learn and available to everyone. A free plugin enables exporting to STL format. Everything that I have 3D printed so far has been modeled with SketchUp.
  • prof_brainoprof_braino Posts: 4,313
    edited 2011-11-06 06:44
    W9GFO wrote: »
    Regarding 3D software, SketchUp.

    Your results look great. I'll add sketchup to the list and give it a try when I get to that point.

    Could folks post their list of software in their tool chain, so we can get a snapshot of several sets of options?

    @cluso99 - I have four of the pololu A4988 Stepper motor driver carrier boards and the A1200 motors per your recommendation. My thought is to start with a "standard" Arduino based modified Prusa, and use it to make a separate prop-based unit. I hope to do swap parts between machines to ensure compatibility, and do apples to apples comparisons during development, and maybe sell the spare when done.

    Does anyone have feel for porting Arduino C code to the prop, perhaps using Catalina? A big advantage of C is portability, but the differences of the prop may be significant enough to cause an impact.
  • wjsteelewjsteele Posts: 697
    edited 2011-11-06 07:43
    Sorry I haven't been around recently, I've been out at West Coast Customs working on a cool car project. Anyway, while I was out there I got the chance to use their gigantic water jet to do a little personal stuff. I cut a MakerBot Thing-o-matic chassis out of 3/16" alumimum (http://twitpic.com/78xr7i) which I plan on using as a basis for my prop based CNC machine.

    I personally use Sketchup as my design tool (with STL importer and exporter plug-ins added) as well as ReplicatorG as the software to drive my MakerBots. It is a known quantity and works quite well. Since it is open sourced, I think it would be a good place to start.

    One thing to keep in mind, the MakerBot guys did that we might look into as well is not interpreting the G-Code directly on the Prop, but instead using a binary format instead. That allows their little arduino to actually keep up with the stream of data. ReplicatorG generates the G-Code, but then it then gets compiled to the binary format (s3g) that the MakerBot (RepRap) electronics use. It seems to work quite well.

    If our prop based solution understood the s3g files, then it would be very simple to use the Sketchup/RepG package to drive it.

    Bill
  • prof_brainoprof_braino Posts: 4,313
    edited 2011-11-06 08:54
    The aluminum Makebot looks cool. G-code interpreter is also an interesting idea.

    I added a summary of who doing what to the first post in this thread. I want to make list of

    PC workstation (OS) PC applications -> format/protocol -> CNC (contoler, firmware)

    for each participant so we have examples of what options are being compared. Please post your setup to the thread and I'll add it to the list. A prop CNC solution has to be part of a PC based tool chain at this point, so it could help to know what tool chain configurations we are looking at. This could help more folks participate.
  • __red____red__ Posts: 470
    edited 2011-11-06 09:54
    Here is my current (as of today) snapshot:

    Hardware:
    MendelMax (http://www.mendelmax.com/) - Just finished this last night. According to the designer I have the first one completed in the world. :lol: I also built a scaled up version. Print area is more than a cubic foot.
    PCB Heated built plate (soon to be replaced by something meatier).
    Printing directly onto glass, no kapton.

    Electronics:
    RAMPS.

    Software:
    Firmware: Sprinter. Sprinter is by far the easiest and more newb tolerant.
    Skeiner: SFACT. I actively discourage people from using skeinforge. It is waaaaay too complex for your average bot operator. You can control every tiny variable, the problem is that getting it to print anything at all without having been one of the original plugin authors is a challenge. SFACT is 1/3 of the controls with 2/3rds of the controls automatically calculated from your 1/3. You can literally get great prints "out-of-the-box" just by entering one value (average filament diameter).
    CAD: Depending on the audience, either alibre of OpenSCAD. Anything I do which is published I do in OpenSCAD.

    Thanks,



    Red
  • GadgetmanGadgetman Posts: 2,436
    edited 2011-11-06 13:38
    I have OpenSCAD for #D creation and to export to .stl
    Pronterface(with SFACT included in the Windows Precompiled version) to control the Printer and to generate G-code.

    HW is RAMPS1.4(Ardunio Mega2560 at the bottom), running the latest Sprinter FW.
  • W9GFOW9GFO Posts: 4,010
    edited 2011-11-06 13:52
    Model in SketchUp, export to STL
    Open STL in MeshLab to check for/correct errors.
    ReplicatorG to generate gcode.
    Pleasant3D to view gcode toolpaths
    ReplicatorG to convert gcode into s3g format and save to SD card (I would prefer that a Propeller based solution operate directly from the gcode)
    Put SD card into Thing-O-Matic and print.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-11-06 17:58
    I am doing the electronics to use the propeller chip. Here is where I am at (with very limited time as yet)...
    • PCB Motherboard (1.75"sq) to house 4x Stepper Driver boards (Pololu, mine and others) - done but not tested (passive motherboard and connectors)
    • PCB Stepper Driver pcb (0.8x0.6" Pololu standard) using A4982 or A4984 TSSOP package - done but not tested
    • PCB Propeller pcb (1.75"sq) "BaseBoard1" general purpose prop based pcb - done and tested (plugs into stepper motherboard)
    • PCB Mosfet driver for hotend and heated platform, with thermistor sensor connections (2 ports) - design wip to plug into propeller BaseBoard1
    Mosfet pcb...
    I decided this should be on a separate pcb, just in case it fails. This is similar to the Stepper Driver pcbs. The heated platform and hotend will plug into this pcb via screw connections and crimp cables (like is used on cars to keep it cheap - many already have crimpers and crimps in their tool kits). These heaters draw lots of power, hence the screw connections. I intend to use an ATTiny84 to drive the mosfets and thermistors so as to make a cheap dual channel intelligent temperature controlled module that can also be used in other devices. This relieves the processor (propeller or atmega, etc) from the overhead of maintaining the temp. Just set and forget unless it is out of spec. The Attiny84 could be bypassed and controlled directly by the prop.

    I decided to use plugin modules so that the prop can be used for other things. I use cheap 1x pin headers for connectors between pcbs.

    The software should initially just take the normal pc files the same as the Sanguino, etc.

    I have used Blender with some success (drawing only, nothing actually produced from this).

    I have my own mini-mendel hardware design which is built mocked up in timber joints. I decided a tiny version would be my first mendel. This way, a heated platform is not required, and it could print parts for a later version. I will be re-using the stepper motors on a larger version, whatever that may be. The Prusa introduced some nice features to reduce the mechanics although I still believe there is more simplification possible. I dont agree with the 2 motors for the Z axis.
  • GadgetmanGadgetman Posts: 2,436
    edited 2011-11-07 01:12
    There are two reasons for the two motor design on the Z-axis.
    1. It removes the binding problem sometimes experienced on the original Mendel,(the belt jumping seps and so on) and...
    2. Frankly, it wasn't any more expensive when you start adding up the cost of the belt, pulleys, tensioners and all that malarkey.
    IF you can make a cheap, stable one motor design, yayy!

    The heated platform isn't size-dependent. It's materials-dependent.
    PLA works just fine without a HPB, while ABS needs it.
  • prof_brainoprof_braino Posts: 4,313
    edited 2011-11-07 07:38
    @cluso99 - your boards sound like a nice complete package. I would be interested in trying these out when we move from the standard version to a prop version. Ideally we would be able to swap out the saunguino and swap in the prop stack and get the same results.

    I don't know anything about the hot end yet, I'm just starting to build mine. Seems like it might be tricky, since there are a bunch of ways to do it. In addition to different nozzle sizes, it looks like folks are using higher temps and faster feed for higher print speed. This will be interesting.

    @Gadgetman - I also like the 2 Z motors better, it looks right on the Prusa. What about two motors for X axis and Y axis as well? Maybe not so much for printing, but if the design is modified for drilling, cutting etc.

    I will continue tracking different folk's configurations and see if I can get the full tool chain on the PC in the next couple days. I have an ubuntu system and a WXP system I can use. I'm iffy about this old iMac here, does anybody know if MAC OS8.6(? - the free one) can be used? Or, if somebody else wants to represent for Mac, that might be better.
  • sssidneysssidney Posts: 64
    edited 2011-11-07 13:42
    Here the software I've used (or at least played with) for creating models:

    Lightwave 3d
    - Commercial
    - download demo from: http://www.newtek.com

    Imagine
    - used to be Commercial now is free
    - download from:
    http://www.imagine3d.org/

    Blender
    - open source/free
    - download from:
    http://www.blender.org/

    Organica
    - used to be Commercial now is free
    - download from:
    http://www.imagine3d.org/modules/wfdownloads/viewcat.php?cid=6

    Wings 3D
    - open source/free
    - download from:
    http://www.wings3d.com/

    Google Sketchup
    - open source/free
    - download from:
    http://sketchup.google.com/intl/en/download/

    openscadd
    - open source/free
    - download from:
    http://www.openscad.org/

    sculptris
    - not open source but is currently free.
    - was bought by the same company that makes z brush
    http://www.pixologic.com/sculptris/

    xenodream
    - not an object editor like the others but can create 3d objects based on fractals
    - not free but they have a limited functionality demo version that works well for creating 3d objects.
    http://www.xenodream.com/

    Creo Elements
    http://www.ptc.com/products/creo-elements-direct/modeling-express/

    123d Sculpt
    - from autodesk
    - ipad app
    - download from itunes

    123d
    http://www.123dapp.com/
    - from autodesk
    - in alpha but free so far

    Some of these don't output to stl so you can use Blender or

    accuTrans 3d
    - commercial software but download is free
    - you can buy it if you like it
    - converts many different 3d files formats including stl.
    http://www.micromouse.ca/

    Meshlab
    -open source
    - download from:
    http://sourceforge.net/projects/meshlab/files/
  • prof_brainoprof_braino Posts: 4,313
    edited 2011-11-08 08:26
    __red__ wrote: »

    That is an awesome design. My second build (after I establish my baseline with the current design) will use the extruded parts. I have a set of NEMA 23 steppers that I think might work nicely.
    So you have two machines, a regular one and a bigger one? How scaled up is it, did you just scale all the specified lengths by 120% ?

    Thanks for the software recommendation. I will try SFACT and avoid skeinforge for the time being.

    Is OpenCAD compatible with commercial software? My resource is an architect that uses AutoCAD.

    @sssidney - Thanks for the list. As a beginner, I'm thinking of OpenSCAD and Blender, to keep scope manageable.
  • wjsteelewjsteele Posts: 697
    edited 2011-11-08 13:32
    As a beginner, I'd stay as far away from Blender as possible. Google's sketchup is far superior for simple 3D than any of the other tools I've found. If you're a good math guy and coder, then OpenSCAD is cool because you can "program" the objects... but it's not a designer tool (at least as far as I've delved into it.)

    Google also has some very easy to follow video tutorials on how to do the hard stuff. The one issue with Sketchup, however, is that it is not parametric, so the ease of scalling that OpenSCAD has is not so easy, but I can create an object and have it printed usually faster with Sketchup/RepG than any other tool chain I've found.

    Again, stay as far away from Blender as possible. To me, the reason it's called Blender is obvious, it looks like and feels like it was put through one compared to the other tools.

    Bill
  • W9GFOW9GFO Posts: 4,010
    edited 2011-11-08 13:37
    One thing about using SketchUp, set the units to inches but design in mm. If you use mm as your units inside SketchUp it will not handle small details properly. When you export to STL select the units that you set SketchUp to. RepG will then have it scaled properly. Does that make any sense?
  • wjsteelewjsteele Posts: 697
    edited 2011-11-08 13:38
    Here's a quick peek at the last thing I built on my MakerBot! :-)
    WP_000651.jpg




    Also, here is my alumimum chassis.
    WP_000565.jpg


    Bill
    1024 x 768 - 64K
    1024 x 768 - 116K
  • wjsteelewjsteele Posts: 697
    edited 2011-11-08 13:40
    W9GFO, I always design in Inches, but tell it to export in MM. When I open in RepG, it just works and is scaled correctly.

    Bill
  • W9GFOW9GFO Posts: 4,010
    edited 2011-11-08 13:48
    Hmmm, confused I am. You have SketchUp set to inches AND you design in inches but export in mm?

    Here is what happens when I try to revolve (follow me) a .5" diameter shape.

    inches01.jpg
    inches02.jpg
    597 x 596 - 23K
    597 x 596 - 25K
  • wjsteelewjsteele Posts: 697
    edited 2011-11-08 16:21
    W9GFO wrote: »
    Hmmm, confused I am. You have SketchUp set to inches AND you design in inches but export in mm?

    Yep... attached is a Sketchup Cone (built using a triangle that I followed around a 1/8" radius circle.) Then exported as an STL file in MM, then opened directly in RepG. No issues at all and the scale is perfect.

    I wonder what the issue with your setup is.

    Bill
    1024 x 768 - 65K
    1024 x 768 - 78K
  • W9GFOW9GFO Posts: 4,010
    edited 2011-11-08 18:42
    A cone works for me too. Try something with curves and see what happens.
  • W9GFOW9GFO Posts: 4,010
    edited 2011-11-08 18:46
    wjsteele wrote: »
    ... Then exported as an STL file in MM, then opened directly in RepG. No issues at all and the scale is perfect.

    Okay, that does make sense. The STL export is converting your inches to mm since the units are different. In my case I tell it to export in inches which is the same as it is drawn - therefore, no conversion.
Sign In or Register to comment.