Zeroing CNC Mills With OpenCV

For [Jay] and [Ricardo]’s final project for [Dr. Bruce Land]’s ECE4760 course at Cornell, they tackled a problem that is the bane of all machinists. Their project finds the XY zero of a part in a CNC machine using computer vision, vastly reducing the time it take to set up a workpiece and giving us yet another reason to water down the phrase ‘Internet of Things’ by calling this the Internet of CNC Machines.

For the hardware, [Jay] and [Ricardo] used a PIC32 to interface with an Arducam module, a WiFi module, and an inductive sensor for measuring the distance to the workpiece. All of this was brought together on a PCB specifically designed to be single-sided (smart!), and tucked away in an enclosure that can be easily attached to the spindle of a CNC mill. This contraption looks down on a workpiece and uses OpenCV to find the center of a hole in a fixture. When the center is found, the mill is zeroed on its XY axis.

The software is a bit simpler than a device that has OpenCV processing running on a microcontroller. Detecting the center of the bore, for instance, happens on a laptop running a few Python scripts. The mill attachment communicates with the laptop over WiFi, and sends a few images of the downward-facing camera over to the laptop. From there, the laptop detects the center of the bore in the fixture plate and generates some G-code to send over to the mill.

While the device works remarkably well, and is able to center the mill fairly quickly and without a lot of user intervention, there were a few problems. The camera is not perfectly aligned with the axis of the spindle, making the math harder than it should be. Also, the enclosure isn’t rated for being an environment where coolant is sprayed everywhere. Those are small quibbles, and these problems could be fixed simply by designing and printing another enclosure. The device works, though, and really cuts down on the time it takes to zero out a mill.

You can check out the video description of the build below.

Continue reading “Zeroing CNC Mills With OpenCV”

Hackaday Prize Entry: DIY Automatic Tool Changer

Choosing between manually changing endmill bits on a CNC machine and investing in an expensive automated solution? Not for [Frank Herrmann], who invented the XATC, an eXtremely simple Automated Tool Changer. [Frank’s] ingenious hack achieves the same functionality as an industrial tool changer using only cheap standard hardware you might have lying around the workshop.

xatc_carouselLike many ATCs, this one features a tool carousel. The carousel, which is not motorized, stores each milling bit in the center bore of a Gator Grip wrench tool. To change a tool, a fork wrench, actuated by an RC servo, blocks the spindle shaft, just like you would do it to manually change a tool. The machine then positions the current bit in an empty Gator Grip on the carousel and loosens the collet by performing a circular “magic move” around the carousel. This move utilizes the carousel as a wrench to unscrew the collet. A short reverse spin of the spindle takes care of the rest. It then picks another tool from the carousel and does the whole trick in reverse.

The servo is controlled via a WiFi connected NodeMCU board, which accepts commands from his CNC controller over HTTP. The custom tool change sequences are provided by a few JavaScript macros written for the TinyG workspace on chilipeppr.com, a browser-based G-code host. Enjoy the video of [Frank Herrmann] explaining his build!

Thanks to Smoothieboard creator [Arthur Wolf], who is currently working on a similar project, for the tip!

The HackadayPrize2016 is Sponsored by:

CNC Clock Mills Itself, Displays The Time

[Christian] wrote and sells some CAM/CNC controller software. We’re kinda sticklers for open source, and this software doesn’t seem to be, so “meh”. But what we do like is the Easter egg that comes included: the paths to mill out the base for a clock, and then the codes to move steel ball-bearings around to display the time.

Of course we’d like to see more info (more, MORE, MOAR!) but it looks easy enough to recreate. We could see redesigning this with marbles and a vacuum system, for instance. The seats for the ball bearings don’t even need to be milled out spheres. You could do this part with a drill press. Who’s going to rebuild this for their 3D printer? You just have to make sure that the machine is fast enough to move the balls around within one minute.

Continue reading “CNC Clock Mills Itself, Displays The Time”

3D Scanned, CNC-Milled, Pumpkin Selfie

When you have a CNC mill sitting around, it almost seems anachronistic to pull out a kitchen knife to carve a pumpkin. You can hardly blame [Nathan Bentall] for choosing an endmill instead. If you’re feeling the same, check out his blog post where [Nathan] works through all the steps involved in going from a raw pumpkin to a 3D RGB LED bust of himself. To put his head on the pumpkin’s shoulders he captured a depth map using a Kinect and then got down to some unorthodox milling.

Continue reading “3D Scanned, CNC-Milled, Pumpkin Selfie”

Desktop CNC From Hardware Parts Really Makes The Cut

We love shop made CNC mills, so when [joekutz] tipped us off about the desktop sized CNC he just completed, we had to take a look. Each axis slides around on ball bearing drawer slides, and the machine itself is constructed with MDF and aluminum. And the results it produces are fantastic.

4950561437395360713thumbThe machine’s work area weighs in at 160*160mm with a height of 25mm. Its the table is moved around with a pair of NEMA17 motors and M8 stainless steel threaded rods. Motor control is done with a pair of Arduino’s but they also do double duty with one processing G-code while the other handles the keypad and LCD interface.

The business end is a Proxxon rotary tool whizzing up to 2000RPM, and while [joekutz] hasn’t tried it on soft metals like brass or aluminum, he has successfully cut and engraved wood, plastics and copper clad PCB material.

Be sure to join us after the break for some YouTube videos. [joe] has posted three of a planned five-part-series which aren’t linked to in the project page shown above. to see this machine in action and get a rundown how it all works

Continue reading “Desktop CNC From Hardware Parts Really Makes The Cut”

Tumblemill

The Tumblemill: Homemade CNC Milling

[Jens] aka [Tumblebeer] has compiled an impressive overview of the Tumblemill, his homemade CNC mill. It warms our hearts to learn that [Tumblebeer] was inspired to pursue electronics by projects featured here on Hackaday, even if it means he dropped out of med school to pursue electrical engineering. We’re glad he’s following his passion, though, and reading through his blog reveals just how far he’s come: from fiery disaster in his first projects to a gradual obsession with making a CNC device, [Tumblebeer] has made plenty of mistakes along the way, but that’s how it should be.

His first iteration was a CNC router that used rubber wheels as linear bearings. It worked…barely. His latest build grew out of meticulous Solidworks modelling, with a moving gantry design constructed largely from aluminum, and upgraded linear motion: this time a bit overkill, using HIWIN HGH20CA blocks. Rather than sourcing a traditional spindle mount, [Tumblebeer] opted for the housing from a LM50UU bearing, which provided both the perfect fit and a sturdier housing for his 2.2kw spindle.

Visit his project blog for the details behind the mill’s construction, including a lengthy installment of upgrades, and hang around for a demo video below, along with the obligatory (and always appreciated) inclusion of the Jolly Wrencher via defacing an Arduino.

Continue reading “The Tumblemill: Homemade CNC Milling”

Cryogenic Machining Custom Rubber Parts

Cryogenic Machining: Custom Rubber Parts

Fashioning a custom, one-off rubber part for your project isn’t usually an option, but [Ben Krasnow] has an alternative to injection molding and casting: machining frozen rubber.

As [Ben] points out, you can’t exactly pop a sheet of rubber on your mill and CNC the needed shape; the bit will push the material around rather than cut it. Freezing the rubber first, however, allows you to carve into the now-hardened material.

His initial setup consisted of a sheet of aluminum with water drizzled on top, a square of neoprene placed on the water, and a steady stream of -60 to -80C alcohol flowing directly onto the rubber. The water underneath freezes, holding the neoprene in place. This proved problematic as the ice-clamp gives way before the milling is complete. [Ben] later adds some bolts to clamp the pieces down, allowing the milling process finish as planned.

A small plastic tray sits underneath this assembly to capture the alcohol as it runs off, feeding it back with some tubing. [Ben] recommends against a submersible aquarium pump—his initial choice—because the pump stopped working after a few minutes immersed in the chilly alcohol. An external, magnetically-driven pump solved the problem although it does require manual priming.

Stick around after the jump for the video and check out some of [Ben’s] other projects, like his quest for the perfect cookie, or CT scanning a turkey.

Continue reading “Cryogenic Machining: Custom Rubber Parts”