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