TL;DR summary: advice needed on a LinuxCNC-based 3D printer project.

The background...

About a year ago, high-end DIY 3D printers outstripped the capabilities 
of Arduino-based controllers: the gymnastics required to stuff 
acceleration control into 8 bit microcontrollers appears to be a dead 
end. There's a notion of re-re-writing the Arduino firmware in 32 bit 
style for [ARM | Beagle | RPi | whatever] running on another generation 
of custom microcontroller boards.

Rather than waiting for more of the same, I want to explore what 
LinuxCNC can enable for an advanced (albeit Cartesian) DIY 3D printer, 
starting with a solid motion-control foundation plus all the other 
features LinuxCNC provides, the ones that would require serious firmware 
development for Arduino-based code.

For example...

Hard real time motion control, rather than interrupt-based motor 
handlers that go awry when userland code inadvertently disables 
interrupts to bit-bang an I2C peripheral.

Userland scripting, extensible language features, a G-Code dialect with 
loops / branching / subroutines, stuff like that.

Probing the build platform to correct for for height variation and 
misalignment: probekins.

I think a HAL-based extruder model that could include second- and 
third-order effects should provide better control than a simple 
linear/angular axis, particularly for a printer with multiple extruders. 
The plasma torch controller modules seem like good starting points.

Similarly, ladder logic offers interesting possibilities for an extruder 
"tool changer".

LinuxCNC offers a *much* better UI, with devices that aren't teleported 
from 1990. I want to get a Touchy interface running early, just to show 
it off, plus the usual gamepad jogging and suchlike.

Network-aware capabilities right out of the box, a real operating 
system, and enough compute power & storage to make everything work.

Plus all the topics I can barely pronounce when you folks discuss using 
them on your industrial machinery.

The hardware plan...

I'll start with a stock Makergear M2, which seems to be the most solid 
and well-designed DIY printer currently available. I'd prefer an 
enclosure to stabilize the ambient temperature, but that's basically a 
big box.

Once the stock M2 works well enough, replace its RAMBo controller with 
Mesa 5i25 + 7i76.

The 7i76 has enough robust digital outputs to drive SSRs for heaters and 
whatnot, with HAL components closing the temperature loops. The thermal 
time constants seem long enough to not require high-frequency PWM 
proportional control, which should simplify things.

It also has sufficient digital inputs for home switches, probe contacts, 
and stuff like that.

However, the printer controller also needs multi-channel thermocouple 
inputs, because thermistors seem underqualified for long-term 
measurements at 200+ C. I'd like to use a Mesa 7i87 for analog input, 
but it appears unsupported by the HostMot2 driver:
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Mesa_Cards

An alternative might be some Arduino love with this shield, although 
four channels seems limiting:
http://www.mlgp-llc.com/arduino/public/arduino-pcb.html

The Mesa 7i32 stepper driver board doesn't connect to the 5i25 at all. I 
don't know whether a Gecko G540 4 channel board (which is one axis shy 
of what I want) would make more sense than a quintet of M542H boards hot 
from the usual eBay vendor, but, for sure, blowing a single-channel 
board would be much less painful than taking out the Gecko.

Although I have some of those tiny Pololu drivers, I think they're 
underqualified for this job. I'd love to be proven wrong.

The goal is to produce a 3D printer with a contemporary control system 
that's easily extensible and isn't constrained by the quirks of DIY 3D 
history. Eventually, I want to tinker with better printer mechanics, in 
particular extruders, but the M2 should suffice for much of the 
proof-of-concept work.

I have the attention of a guy who knows his way around the innards of 
the latest accelerated-motion-control Arduino firmware. I'll get my M2 
running to show it's possible, then poke around at system improvements, 
after which he can build a similar setup and begin doing wonderful things.

What I need...

Guidance around my blind spots!

F'r instance, I'm sure I've missed a hardware gotcha. Are there more 
practical ways to drive five stepper axes, get a bunch of digital I/O, 
and read thermocouples?

Although I'm generally a big fan of lashing up surplus parts in my shop, 
I want to do this with reasonably standard hardware, so as to simplify 
building the next one. It's coming out of my pocket, however: the sky is 
*not* the budgetary limit.

I'll surely have a bunch more questions as I make progress over the next 
few months (the M2 will likely take several months to arrive), but I'd 
appreciate any advice in the interim.

Thanks...


-- 
Ed
softsolder.com

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to