/* */
Showing posts with label 3D Printing. Show all posts
Showing posts with label 3D Printing. Show all posts

Wednesday, June 18, 2014

Packages (not tied up with strings)

If you don’t monitor the Machinekit group (you should), over the weekend John Morris announced the availability of binary packages for Machinekit and it’s required dependencies (at least the ones that are not already in the Debian archives).

If you’re trying to build a minimal system (particularly helpful on the BealgeBone with it’s limited eMMC rootfs), this is welcome news indeed!

I will be updating my build scripts and the resulting images to use the pre-built packages soon, meaning you’ll be able to simply “apt-get update” and “apt-get upgrade” to get the latest official Machinekit release.  Until then, feel free to add the pre-built packages to your existing install, the run-in-place development version and the installed packages should work side-by-side and should not interfere with each other.  Instructions can be found at the package repository website.

If you run into any problems, let us know on the Machinekit list.

Thursday, June 5, 2014

CRAMPS Kits Available!


I am pleased to announce that I have a limited number of CRAMPS V2.1 DIY Kits available for sale.  This includes a PCB and all the parts required to build a functioning board.  Assembly details are on the RepRap wiki, and the design files are on github.  Please review the known issues, and be sure that you are comfortable soldering 0603 surface-mount chip components prior to ordering a kit.

I apologize in advance for the somewhat clunky shopping cart, but it is the best open-source solution I could find that dynamically calculates shipping rates based on destination (which is required, since the rates for international package shipments vary dramatically).  Yes, you will have to create yet another web account you will likely never use again, but it keeps me from having to charge everyone some obscene amount like $25 for shipping.

I currently have about 20 kits available, and I do not expect to make any more (it is a LOT of work!), so act quickly if you want one.  Also, I am doing this to help with the adoption of the CRAMPS design, so there is a one-kit-per-person limit.

Wednesday, May 21, 2014

Updated Machinekit Images

After receiving a BeagleBone RevC with 4GB on-board eMMC, I noticed the latest images have grown to the point they are essentially unusable on a 4GB device.

I have updated the Machinekit images to exclude the previously required documentation build dependencies, which saves over 1GB of space on the images!  There is still a lot more room to be recovered once ARM binary packages become available, but for now the space savings means you can comfortably run Machinekit on a 4GB uSD card or the built-in 4GB eMMC on a RevC ‘Bone.

Thursday, May 15, 2014

CRAMPS Kits?

The CRAMPS V2.1 circuit boards are fabricated and heading my way.  I am planning to sell the bare boards for a nominal cost (under $5), but I may get motivated and sell some DIY kits that include all the parts needed to assemble your board.  The kit would probably be around $50-60, which is pretty much my cost for the parts in low volume, and I’d only be able to make about 10-20 kits total (before I run out of circuit boards).

So a quick informal poll:  If you are interested in buying a bare PCB or a DIY kit for the new CRAMPS board, send me a direct email and if I get enough interest kits I’ll try to put some together.  Sending me an email places you under no obligation to actually buy anything, nor does it guarantee you’ll actually get a kit should I decide to make some.

I am also working on getting someone to build and sell assembled boards, but that is a process that will likely take another couple months.  The kits would probably be available in 2-4 weeks, depending on how long it takes the PCBs to arrive and if I find any problems with the first prototypes.

Saturday, May 10, 2014

Velocity Driven Extrusion


Bas de Bruijn has been working on controlling his 3D printer with Machinekit, and has implemented a unique way to control the extruder.  Rather than make the extruder a fourth axis as is done in most setups, Bas is modeling the extruder behavior and automatically controlling the extruder motor velocity based on the movement of the conventional XYZ axis.

The problem with using a traditional 4-axis coordinated move for extruding plastic is the extruder behavior is non-linear.  Typically not enough plastic is extruded at the start of the move while pressure builds in the extruder and too much is extruded at the end of the move.  This problem is made worse by any changes in velocity along the move, as may be required by the acceleration constraints of the machine.  The retract and precharge settings in most slicer programs help with this issue to some extent, but cannot truly match the extruder behavior.

By dynamically controlling the extruder velocity, Bas can start with a simple linear mapping of movement speed to extruder speed (how a standard 4-axis coordinated move would work), and enhance that by adding terms to compensate for changes in speed and acceleration.  Changing the model used to drive the encoder only requires changes to the HAL file for the machine, allowing complex control theories to be tested quickly and easily without writing code.  Based on the print results Bas is already achieving, it looks like this approach is already working pretty well, and there is still much room for improvement.

Keep watching Bas’ blog for updates, and let me know if you are doing anything unique with Machinekit!

Thursday, May 8, 2014

CRAMPS V2.1






I finally got around to finishing the updated version of the CRAMPS board.  This version focused on simplifying the design as much as possible, and I really like the end result.  It feels much closer to the original RAMPS for the Arduino Mega in spirit than the previous 1.0 version and the RAMPS-FD.

Changes in this version include:

  • No fine-pitch surface mount parts, so the board is much easier to hand assemble
  • No servo outputs
  • SPI expansion header changed to allow use as extra GPIO if needed
  • Expansion headers modified to support an additional 3-axis add-on board (the CRAMP3)
The design files remain on github, and the home page for the design is still the CRAMPS page on the RepRap wiki.  A BOM file including Mouser and Digi-Key part numbers is also available via Google docs.  The boards  have been ordered, and should arrive before the end of May.

While the design is fully open, not everyone wants to build their own boards from scratch.  I am working on getting someone to build and sell completed boards, so stay tuned for updates!

UPDATE: 2014.05.12 – The first batch of 20 boards has shipped, now the 0-30 day wait for a “registered air parcel” begins.

Tuesday, March 25, 2014

CRAMPS Update


I have been building up the second CRAMPS board to verify the low-cost PCBs from off-shore really work as expected.  Since I’m doing another build anyway, I have been documenting the process with pictures and have created a CRAMPS 1.0 page with assembly details, ECOs, and other board details on the RepRap Wiki.  Follow along there if you’re interested in tracking progress or are building your own board.  If you are interested in building up a board and can hand-solder the six fine-pitch SMT parts, send me an email and I’ll try to get you a bare PCB.

Meanwhile, work is progressing on the next version of the CRAMPS board thanks to Murry Lindeblom.  Murry has been doing some great with KiCAD getting the schematic whipped into shape while I’ve been busy with other projects.  The main changes are to simplify the design, reducing parts count and making the board cheaper to produce.  See the list of ECOs on the RepRap Wiki for hints about the next version.

Monday, March 24, 2014

tBone Cape


The tBone 3D printer / CNC cape has been announced for the BeagleBone.  It looks like an interesting board with some unique features.  I like the use of more sophisticated stepper driver chips from Trinamic, and the support for higher-current stepper motors.  This board seems to have an Arduino on-board to handle real-time, so it will likely take a bit of coding to get it working with MachineKit which is expecting to control real-time motion with the PRU.

For more details, see the tBone website and their Indiegogo campaign.

Wednesday, March 19, 2014

MRRF Report

by Charles Steinkuehler

I feel the Midwest RepRap Festival was a great success.  My primary goal was to increase awareness of using LinuxCNC and the BeagleBone to control a 3D printer.  I was interviewed by Hackaday, talked so long to many key people in the RepRap world that my throat was sore, and have been requested to write an article on using the BeagleBone for a major publication (stay tuned for details!).  It was great to meet and talk to Josef Prusa, see Nicholas Seward again, meet Drew Fustini and Jason Kridner in person, and talk to everyone else at the Festival.

From the many discussions I had with folks looking for something more than an AVR based Arduino to use for machine control, several key tasks became apparent.  Look for these to be implemented soon, and feel free to help out if you can!

  • Debian Packages:  With the BeagleBone soon to ship with Debian installed by default, it is important to have packages available so LinuxCNC can be easily installed without having to build from source.
  • Custom interfaces and/or an interface API.  No one likes current interfaces available with LinuxCNC for 3D printing (myself included).  There needs to be a simpler interface geared towards 3D printing, and many folks were interested in running headless or with a custom simplified interface (think small text LCD or OLED panel vs. Linux desktop).
  • Example configurations:  Ease of use is critical, and besides being put-off by the LinuxCNC interfaces, most people were further discouraged by the complexity of configuring a machine.  This needs to be made a lot simpler.  Part of the power of LinuxCNC is it’s flexibility, but that makes for complex configuration files.  Most of this can be hidden for standard machines (Cartesian 3D printer, linear-delta printer, gantry desktop mill, etc), leaving users to simply adjust machine specific details like axis gain.
There are some other big news items and projects I learned about at the Festival, but can’t talk about publicly yet.  Stay tuned, watch for news from the Beagle Board folks, and you might want to keep an eye on what Josef Prusa is up to.

Wednesday, March 12, 2014

Crunch Time (MidWest RepRap Festival)

by Charles Steinkuehler

At the last minute, I got permission from my wife to attend the Midwest RepRap Festival in Goshen, Indiana this weekend (March 14-16).  That means I am now in serious crunch mode (along with the rest of the folks working on MachineKit) to get some demos working for the event.  I am working on finishing my Wally beta build so I can get it printing using real-time kinematics powered by LinuxCNC.  Michael Haberler and Alexander Rossler are working on a networked HAL demo that will show some of what is possible using the new real-time foundation at the heart of MachineKit.  Everyone else is helping with marketing materials, website updates, and all the other tasks that need to get done.

If you’re going to the festival, look me up.  In addition to demos, I plan on bringing what is likely the largest assortment of hardware CNC capes for the BeagleBone ever in one place for show and tell  I will have what is currently the worlds only working CRAMPS board, one of a very few K9 boards in existence, as well as several others.

Stay tuned for updates and pictures/video from the Festival!

Sunday, March 2, 2014

CRAMPS Board Working

I have the first CRAMPS board assembled and mostly checked out.  There are a few minor glitches (see the ToDo file on github), but so far no serious problems or anything that makes the current PCB design useless.  I have an example LinuxCNC configuration available if you want to try things out on your own.  The configuration requires you install my new Universal BeagleBone I/O Overlay, which can be used to switch between most “interesting” hardware options for the various I/O pins without having to load multiple overlays or possibly merge several incompatible overlay files by hand.


If you’re a fan of scary movies, I even made a video:

Thursday, February 20, 2014

Linear Delta Printing with LinuxCNC

Reviewing my posts, it looks like I somehow missed sharing Brandon Heller’s incredibly awesome video of his Kossel linear-delta printing parts for a GUS Simpson (a grounded delta).  I printed up a few sets of the GUS Parts on my MendelMax and will vouch for how hard they are to print.  I’ve gotten my Kossel based printer to move via LinuxCNC, but it’s no where near as far along as Branon’s.  Great work!

Monday, February 10, 2014

CRAMPS Board


I have finished the design for the first version of the CRAMPS 3D print controller board for the BeagleBone. This “new” design is a rework of the RAMPS-FD board for the Arduino Due, which in turn is a rework of the RAMPS board for the Arduino Mega (isn’t open-source great!). The PCB files are queued at OSH Park meaning I will hopefully have boards around the end of February.

Features & Details:
  • 12-24V operation
  • 6 Pololu drivers
  • 15A driver for heated bed, with dedicated power
  • 3 high-current drivers for extruder heaters
  • 2 medium-current drivers for fans/lights, always 12V
  • 4 Thermistor inputs
  • 6 Limit switches (5V tolerant)
  • 4 Servo outputs
  • SPI and I2C expansion headers (5V tolerant)
  • Flexible power options for the BeagleBone (use ‘Bone 5V jack, 5V screw terminals, or add a regulator to generate 5V from 12-24V system power)
  • Hardware ESTOP chain
  • Stack-through design allows for expansion
If you like living on the edge I’ve shared the board at OSH Park so you can order your own. Design files are on github, and I’ve started a thread on the RepRap forums if you have any questions.

Currently the BOM pretty much doesn’t exist, and please don’t judge me by the lack of assembly drawings in the PCB files.  KiCAD apparently doesn’t have assembly layers or allow creating arbitrary mechanical layers so I can’t make assembly drawings the way I’m used to for the last 15 years.  I’ll get it all sorted out, and add a full BOM once I’ve sourced and ordered all the bits and pieces needed to build the board.

Sunday, October 13, 2013

BeagleBoard 3D Printer and CNC Capes

The BeagleBone is rapidly becoming a key player in the CNC and (I hope) 3D Printing space.  Don’t believe me?  Just check out the list of 3D, CNC, and motion control capes I threw together.  It turned out to be a *LOT* longer than expected!  Even better, most of these will work out-of-the-box with my existing MachineKit version of LinuxCNC.  Support for the Replicape will need some programming (it requires working I2C and SPI for proper operation, not just twiddling I/O pins), which will probably happen as soon as I can either buy a board or someone sends me one (hint-hint).


If I missed anything, you notice any goofs, or if you have more details on any of the boards (including YouTube “Action Videos” or similar!) please let me know.

Saturday, August 17, 2013

Check Your Temperature

Printing vases is hard, but I finally managed to get it right:


I kept getting gaps in my vases, which looked for all the world like the motors were skipping during the print.  This wasn’t simply loosing steps, however, as later layers were still aligned correctly, so something strange was going on.  I spent MANY hours over several days trying to see if I could get LinuxCNC to cause one of the goofs while I was watching, to no avail (each print takes almost 4 hours).

Finally, I thought I found a reliable way to cause the glitching by using the Mini gui and enabling the back-plot display.  Except it turns out that for some unknown reason, when you enable the back-plot the Mini gui actually pauses real-time motion ON PURPOSE until the plot is generated, then starts things back up again, which was causing the glitch I was seeing.  <sigh>

Anyway, since some of the goofs had a bit of the “burned plastic” look about them (brownish discoloration of the normally translucent plastic), I figured I’d try reducing the temperature a bit.  Dropping from 180 degrees to 170 helped a LOT, and resulted in only a few errors in a 3+ hour vase print (vs. at least 20-30 usually).  Another ten degrees lower, and printing at 160 degrees completely cleared up the glitches, and I  got my first clean printed spiral vase (above).  Here’s a close-up:


I had been happily printing more ‘normal’ objects (with infill) at 180 degrees without issue both with LinuxCNC and with my earlier Ardunio/RAMPS combination.  I never printed a vase with my Ardunio, so I’m not sure yet if the reduced temperature is required because of a difference between the temperature readings on the Arduino/RAMPS board and the BeBoPr with LinuxCNC, or because when printing a vase there’s not enough plastic going through the extruder fast enough to keep the hot-end from heat-soaking and causing “mini-jams” or cooking the plastic a bit.  Probably a little of both.