I did not give a lot of in depth thought when choosing the MakerSlide extrusion length to purchase. I did not want a lot of waste, so I just bought the largest piece I could handle. I figured 6″-12″ average waste on each piece could be expected. The longer the piece, the less percentage that would be.
The manufacturing size limit was set by the anodizer who could only handle about 20 foot lengths. The limit on my end was about 15 feet. This was due to what I could realistically cut. My space is about 27 feet long, so if I put the saw in the middle I could cut most reasonable sizes with a 15 foot length.
When it came time to cut the material, the reward requests came in all over the map on length. On past projects I had used some simple logic to fit the pieces into the stock, but that was yielding some serious waste now. I dreaded the thought of 10-15% waste and little chunks lying all over the shop. I had heard about cut optimization software and decided to look into it.
It turns out that there is pretty well established math behind this. There is a good article on Wikipedia about it. It is generally called the Bin Packing problem. There are 1D (length, like my problem), 2D (area, like out of a sheet) and 3D (volume, like boxes in a container) problems that can be solved.
I tried a bunch of freeware, shareware and demo software. I was really impressed with the results. They did not always yield the same results, but generally agreed within about a percent. The choice came down to a flexibility and a few key features. I did not have the time to roll my own solution from free software libraries, but I knew I wanted to do some customizing. I decided to go with an Excel add on from Optimalon. The Excel format allowed a lot of quick macros and imports to be easily added.
The software allows you add in a number of stock lengths. This allows me to put in the standard raw lengths, but also some scraps that might be able to be used. You enter the cuts by length, quantity and ID. The ID can be used to determine what customer the part belongs to.
One feature I wanted was a way to label all the parts.
I have several Dymo label printers that I use extensively. I wanted to automatically print labels from the software. I found that Dymo had an SDK. The optimization software prints a cut table for each piece. I feed this table to an macro that uses the label printer.
This string of labels is now my cut list for each piece of stock. I print one string per piece of stock. A single persons parts are usually scattered among several pieces of stock, so this helps sort it out later.
So far the software works great. The more varied the lengths, the better it does. My target is in the upper 90′s for yield. So far I have found it does really well including some 100% utilizations where the last saw cut is less than the kerf of the blade. Here is a typical final cut piece.
The only drawback is that the cuts are optimized for material usage and not cutting efficiency, so you are often moving the saw stop on every cut. If I CNC the cutter, this will not be a problem and Excel can drive the cutter.
I have had a project going in the background to create a small, but strong and quiet spindle for small CNC routers. This is my second iteration of the design and I think it is close to what I want.
Frame
I started with an UHMW frame. This frame presses together then uses some hi-lo plastic screws to keep it together. UHMW is very stiff, but cuts well on a simple CNC router. I used a 1/8″ single flute end mill for all cuts. I try to ramp plunges wherever possible to limit the meterial that tries to climb the tool. It can all be cut from a sheet from one side with the exception of the pocket for the motor. This is needed to get enough shaft to come through. This pocket does not need close registration with the other so it is easy to flip it and run that side. The frame is rock solid. It feels like you could drive a car over it.
Spindle
The spindle shank was a key find off eBay. It has a ER11 collet which can handle a little larger then 1/4″ bits and there are plenty of cheap metric and inch collets available. The shank steps down to 8mm. This is great because the step can ride right on the lower bearing and cheap normal and angular contact 8mm bearings are available. I used an angular contact bearing on the bottom, and a normal bearing on the top. The top pulley installs with a spring washer to keep a 8-10 lb pre-load on the bearings to eliminate axial play. The bearings press fit into the end plates. The lower angular contact bearing takes the axial load from hard plunges. The axial bearing I found does not have a good seal on it, so I am a little worried about that. I am looking for a better bearing, but I might make my own seal that would seal to the spandle shaft. I might add a cover for the front and top.
Pulleys
I am currently using MXL belting which is rated for about 20k RPM, but at this diameter and length I think it can go a lot higher. I was planning to use multiple rubber o-rings, but that requires custom pulleys.
Size & Weight
The overall size is rather small at 90mm x 84mm x 82mm and total weight is 0.72 kgs. You mount it by tapping holes into back side. I will have a standard set of holes, but leave room for custom mounts.
Motors
It accepts a variety of motors. You can use univeral motors for small power tools. These will work on AC or DC and are good if you want to run it off 120/220VAC. You can also use RC hobby motors. These are available in brushed and brushless DC. A brushed 12VDC motor is cheap and the you can use a cheap PC power supply. I also test a water cooled brushless DC motor. This is the quietest option, but has the added cost of a speed controller. The motor shown will do over 30k RPM. I need to modify the top to give clearance for the water fittings. It can run for a few minutes before it gets hot, if you don’t load the motor too much. This motor can pull over 550 watts continuously. That is more than 2/3HP. I am hoping a simple PC cooling system will do the cooling.
Speed Control
The speed controller is controlled like a hobby servo. It uses pulses in the range of 1ms to 2ms to set the speed. You can program the controller though the servo interface to determine if you want reverse, etc. I decided to use an Arduino to control the speed. There is a servo library that makes it easy. I have the Arduino reading a pot them setting the speed accordingly. You program the controller by powering it up with the pulse input set to max speed. You then can set a few options like range and direction.
Next Steps
The next step is to find a way to do real world testing with it. I need a water cooling system and something to mount it to. The design will be released as open source.
We use a lot of solder stencils where I work (during the day). We usually buy stainless steel framed stencils for about $300 each. For prototyping we usually hand paste each pad. We have an semi-automated dispenser, but it is still tedious work. I see several places like Pololu selling low cost mylar solder stencils. I wondered if my Buildlog.net 2.x home made laser cutter could do it.
I researched a few blogs and pulled some information from Pololu. Pololu sells 3mil and 4mil mylar stencils and recommended 3mil for fine pitch work. I decided to buy the 3 mil mylar. I picked it up on my way home from McMaster Carr. It was a life time supply for about $15.
I found a bunch of old small SMT PCBs that I could play with. I got the top side paste mask gerber file for it. I imported the file into a Gerber tool called ViewMate from Pentalogix. This is a great program that I have be using for years. A partially disabled version is free. I have found that it has plenty of useful features.
Most PCB layout software has layers for the solder stencil. There are industry standards (IPC) for the size of these pads, but they are generally a little smaller than the pad. Often large pads, like thermal pads under big power ICs are divided into smaller windows or dots. This prevents excess solder from causing problems. With this in mind you probably need to shrink the pads even further to deal with the kerf of the laser.
ViewMate has a nice feature that allows you to shrink the apertures. Apertures are a somewhat archaic term from when artworks were done optically on film. They basically mean the shapes. To use this feature select the Setup…D Codes menus.
Select all the shapes in the list and select the Operations…Swell menus.
Enter a negative value to shrink the shapes.
I then printed 1:1 to a PDF.
ViewMate has a lot of export options, but most of them are not available in the free version. PDF is fine for what I needed to do. I then imported the PDF into Corel. I cleaned up a few extra lines and text in Corel and moved it over near the origin.
If you were always going to make your own stencils, you could probably skip a few of these steps by defining your stencils layers with the right values. Pololu actually shrinks it differently in X than Y for even better performance. Many CAD programs could print straight to PDF or other formats then.
Corel is a front end for my DSP laser software, so I was ready to try making the stencil. The PDF has vector information so you could cut it or engrave it. Everyone seems to recommend engraving, so I gave that a try.
I was not sure what to put the mylar on. I decided to hang it in the air. I taped inside a wooden frame. I tried different power levels and speeds and looked for my best result. I onlt tried about 3 settings combinations before I ran out room. I looked closely and they all looked pretty good. I think I got the best at 200mm/s and about 60% power. The power was not too much of an issue. It seemed better to cut it with more power than it need. It tended not to heat the surrounding area. The step over was 0.15mm. That probably could have been smaller for more accuracy. There was a slight smoky haze after cutting that I rinsed off with water.
I saw an artical in EDN Magazine today called “So you want to build an H-bot?”. It describes a cool little light duty method to get XY motion. It is used in pick and place type machines. It uses two motors and one open belt. The belt is fixed at both ends to one end of an axis. The rest is run over idlers. By controlling the directions of the motors, you can move in 2D space. The article does a great job of explaining it. If you both motors in the same direction one axis moves. If they move in opposite directions, the other axis moves.
I thought it would be fun to try it in MakerSlide. This is a just a conceptual drawing with most of the parts free floating where they would be attached with brackets or plates. The two plates in the middle would be firmly bolted together.
This is a (4) axis stepper driver Arduino shield that is perfect for use with GRBL (garble) and other Arduino applications. The steppers drivers can be Pololu A4983, Pololu A4988 or open source StepStick drivers. These drivers can run steppers motors at up to 30V and 2 amp per coil. The resolution is jumper selectable per driver between full step,2x, 4x, 8x and 16x microstepping. Soon there will be relay driver board that is pin compatible with the stepper drivers that could be used to control spindle motors and coolant devices.
The plug in drivers are a great low cost solution for low power CNC devices. The drivers can easily be moved to other projects or replaced if they are damaged.
Features
Screw terminal blocks for all stepper motor connections
Screw terminal block for the motor power supply.
Arduino reset button for easy access to reset the Arduino.
Jumpers for resolution selection.
Motor enable wired to an Arduino pin. Default is set to enable motors.
Works with GRBL (see user guide for pin reassignments)
Control connection via terminal blocks or 25 pin ‘D’ connector.
Filtering on all step and direction signals.
Motor disable/enable feature through ‘D’ connector or external switch connected to terminal block.
Socket Mounted Stepper Drivers
The board uses low cost socket mounted stepper drivers. These can be Pololu A4983/A4988 drivers or open source Step Stick drivers. These are easily replaced if ever damaged without any rework to the PCB. A compatible relay driver is planned that also fits this socket. This will allow up to (2) relays to be controlled per board. These are controlled via the set and direction pins associated with that axis and uses the existing terminal blocks for that axis. This is perfect for a spindle on a CNC router or assist air on a laser cutter.
Cooling Fan
There is an integral cooling fan for the stepper drivers. It mounts directly to the board and has a dedicated power connection. It is mounted high enough to allow heatsinks to be mounted to the drivers. This will allow the drivers to run at their full potential of 2 amps per coil.
5V Power Supply
There is a 1 amp 5V switching power supply on board. This will not get hot like a linear regulator due to the voltage drop from the motor supply. This can optionally be 3.3V if your controller requires that. All other items on the board are 5V – 3.3V compatible.
Rotary Switch Resolution Selection.
The resolution of the drivers can be independently set via rotary switches. The resolution is selectable between full step, 2x, 4x, 8x and 16x microstepping. These and the control connector are flush mounted to one side for easy bulkhead mounting.
Control Connector.
The board has a dual pattern for the control connector. There is a pattern for standard 5mm pitch terminal blocks and a pattern for a ‘D’ 25 pin male connector. The ‘D’ connector has a standard pinout for direct PC connection for Mach3 or EMC. The terminal block is perfect for direct connection to laser controllers like the Thunderlaser DSP controller or an Arduino microcontroller.
Filtering.
All step and direction signals are filtered with a RC filter and a schmitt trigger. This is ideal for a noisy environment like a laser cutter or CNC machine. The RC filter frequency is high enough to allow 1uS pulse control of the drivers.
Motor Enable/Disable
You can enable or disable the motors via the ‘D’ connector or via an external switch connected to a terminal block. This can allow hot motors to cool off or allow you to manually rotate them.
I have been using a ShuttlePro as a pendant for years on my router. A pendant is basically a hand held remote control for your CNC. It allows you to control a set of functions right at the machine. I typically use it to zero the machine on the part, tweak the feedrate, start/pause/restart the job and do an e-stop.
The router’s pendant is starting to die. It has been through hell. I have dropped it about 10 times on the concrete floor. It has also seen a lot of oil and fine dust. A couple buttons are getting intermittent. I have the functions to working buttons, but I was getting worried it would stop working completely. I could not live without it, so wanted to get a replacement on order. I found a good deal on eBay ($54) and since they had several, I decided to get one for the laser as well.
The ShuttlePro was designed for video editing. One thing you do a lot in video editing is jogging the video forward and backward. Typically you want to race forward until you get close then slow down and even go frame by frame until you get to the desired spot. Sounds like CNC doesn’t it? It has three dedicated functions for this. Full speed forward and back via buttons, variable speed via a spring loaded jog dial and a frame by frame little detented rotator wheel. It also has a lot of redefinable buttons. These buttons have clear snap on caps, so you can add labels to them. I have a Corel and PDF template at the end of the post. Someone at the Mach3 forum dicovered this product and within days there was a plugin for it.
Setting it up is easy.
Download the ShuttlePro plugin from the Mach3 downloads page. Place the ShuttlePro.m3p file you download in a convenient place like your desktop. Double click on it. That will launch a program that registers it with Mach3. Plug in the ShuttlePro into your computer. It uses the built in Human Interface Driverss (HID) so you do not need to install a driver. It comes with some software to test it, but you must uninstall it before using Mach3. Start Mach3.
Use the config Plugins menu pick to open the
Make sure the plugin is enabled with a green check. Now click on the word config to the right of the plugin name.
That will bring up the screen above. Each button can be associated with any of many functions. My config is shown above. You probably want some keys across the top to select the current axis. I like to have the two buttons to the outside of the central wheels be rapid movement buttons. It is also handy to be able to lock the pendant so accidental button pushes do not screw up a run. I used the second button from the lower right. The rest are up to you and how you use your laser.
This is the new buildlog.net open source rotational adapter for laser engraving. This allows you to engrave on a round surface. This design uses a friction drive method to rotate the workpiece. This has the advantage of keeping a consistent surface resolution regardless of diameter. This was designed to be 1000 steps/inch resolution. The length was sized to fit the 2.x laser, but you could easily scale it up to much longer or shorter. One design goal was absolute minimum height. This allows Z challenged engravers to be able to do some rotational engraving
The main feature of the design is the the two drive wheels. These serve several functions. They hold the rubber o-rings used to provide traction on the work piece. They have built in MXL drive pulleys and they have a spacer to ride directly on the bearings. These were 3D printed at Ponoko. With 3D printing, complexity is free. This encourages you to make the part do as many jobs as possible. I was initially concerned about the strength of these, but they turned out to be quite strong. I can probably reduce the material to take some cost out. I used the basic, cheapest, white flexible material. I was impressed with the detail level the material was able to hold. The belt fit perfectly.
I started the design using convensional design techniques and off the shelf parts because I was concerned about the 3D printed part cost. I soon realized that it was going to take 3-4 separate parts to do the job of one 3D printed part. The cost was quickly getting close to even. The convensional parts were also starting to look a little mismatched. While I am a form follows function, type of designer, I am a big fan of a clean design.
Once I started playing with the 3D printed part approach, I quickly decided that was the route to take. It was fun knowing that increaing the details on the part has no affect on the cost and in some cases actually reduces the cost. The spokes and radiuses retain the strength, reduce the material and I think add a retro mechanical design asthetic. Dealing with a single supplier, with a fast turn around and no minimum order, was very nice.
I have done 3D printing from other vendors, but decided to give Ponoko a try on this part. Since this is an open source project, their online tools would allow others to easily order parts.
At the other end of the assembly are the idler wheels. These also are Ponoko 3D printed items. They have bearings that press on each side. This allows them to roll freely with virtually no wobble. One idler has a flange on it. This acts as an end stop to the workpiece. It prevents it from “walking” while it is spinning. The stepper motor pulley serves the same function on the other end. This end is highly adjustable. There are three positions the wheels can be placed in. The plate can slide on the extrusions and you can flip it over. While all the adjustments are manual, they only take a few seconds to do.
Below is a video of some testing I did. I was trying to test a variety of shapes to see how they performed. In actual use the speed is very slow, because the the laser is primarily rastering along the length of the workpiece and this adapter just advances it a faction of millimeter at a time.
They all performed quite well. The only item that did not test well was a roll of duct tape (not shown). It was not very round so it wobbled a bit. It also has a sticky edge so it did not ride against the stops real well. The screwdriver at the end is an interesting example. While it did spin smoothly, it shows that if the image is not going to be at the same diameter as the drive area, some image scaling will be required before engraving. The bit is only 1/8″ diameter!
The design will be open source. There are a few tweaks to make before I release the drawings and 3D files. I may sell a complete kit for this. I estimate it will cost less than $100 with motor and extrusions included. I have not tested it in my laser yet. I don’t have the time right now, so I am going to have another 2.x laser owner do that for me….stay tuned for part 2.
This a the new Laser Interface PCB. It adds a lot of new features including the stepper motor drivers. This board is designed to reduce the wiring requirement of a home build laser cutter/engraver. This should significantly reduce the cost of a laser cutter. If you use this with EMC2 (free) you should be controlling your laser for less than $100. There is a video at the end of the post.
Controller Connector
This is a standard 25 pin ‘D’ connector. The pinout is compatible with PC control (Mach3, EMC2) or the FSE Retina Engrave controller.
Stepper motor Drivers
The PCB provides three slots for Pololu stepper motors drivers. It can use the A4983 or the A4988 stepper drivers. The PCB provides the logic power so you use the cheaper versions of the boards. These drivers can provide up to 2amps of power at resolutions up to 1/16 step. The microstep mode is easily adjustable through rotary DIP switches. These are placed along the edge with the control connector so they can be made accessible through the enclosure wall. If you ever blow a driver, you can simply replace the broken one. There is a built in fan to cool the drivers that cools them to within a few degrees of the ambient temperature.
Safety Loop
The board creates a safety loop of switches to protect the user and laser tube. The loop runs through the emergency stop button, the cover switch and the water flow switch. If any of these items are are not in the run position or if there is a break in the loop, the laser tube cannot be enabled.
Laser Power Control
The board allows two different laser power control modes. The default mode is via a remotely located manual potentiometer. This is usually mounted on the front panel. You can also use a switch to change to PWM mode. This allows an external controller to provide a digital PWM power level control. This switch would be located on the front panel. The PWM signal can be configured to use pin 14 or pin 15 on the 25 pin connector.
Dual Relay Drivers
The board has two high current MOSFETs that can be used to drive external relays. these are controlled via pins 1 and 8 on the 25 pin control connector. These are typically used to control assist air and exhaust blowers. They can easily be configured through Mach3 or EMC and G-Code as if they were mist and flood coolant devices.
Laser Power Supply Connector
There is a direct 1:1 connection to standard laser power supplies. The board takes car of connecting all the grounds and safety interlocks.
Water Switch
There is a three pin terminal block to connect to the water switch. The switch can be a simple mechanical switch, plus there is a 5V power source to use if you want to power a more complex water monitor.
Enclosure Connections
There is a connector dedicated to the enclosure connections for the limit switches and cover interlock. The board provides the pull up resistors for these items so they can be wired in a mode where a break in the wiring would trigger signal an open circuit. The pull up value can be either 5V or 3.3V.
The second generation open source laser cutter/engraver design from buildlog.net is complete. The new machine is called the Buildlog.net 2.x Laser. The name comes from the fact that this is the second generation machine and it is basically a 2 axis design. The third, vertical axis, is manually controlled with an optional upgrade to digital control. The 2.x Laser takes all the optimizations learned from the first laser and all the other lasers documented on buildlog.net forum.
The usable work envelope is just under 12” x 20” x 4”. The internal design has been optimized so the overall size of the machine is much smaller than the previous design and can easily fit on a small table. It is designed to work with 40W CO2 lasers sealed gas lasers. The frame is built from inexpensive 20mm aluminum T Slot extrusions and the skin is made from a painted aluminum and HDPE laminate.
The first major improvement is in the linear bearing system. The 2.x Laser uses Delrin V groove wheels running on V rails. The custom Delrin bearings are a lot cheaper and run smoother and quieter than the previous metal on metal system.
The next major improvement is in the electronics layout. All the primary electronic systems are contained in a simple electronics module. This has an interface PCB that makes wiring a simple 1:1 connection for each item. The module is removable so all assembly can be done outside the enclosure. The electronics are compatible with 3.3V or 5V control systems whether they are PC based like EMC2 or Mach3 or dedicated commercial or open source controllers.
The original laser attempted to be self replicating with regards to most of the fabricated parts. That limited the materials that could be used. The 2.x Laser drops that goal and concentrates on a more robust design with stronger metal parts. Shimming, drilling and tapping fragile parts is no longer required. The rest of the design was simplified wherever possible. There are less parts and many of the parts self align.
The design is completely open source with all drawings, schematics, BOMs (with sources and prices), 3D models, build instructions, software and Gerber files available. There are kits for anything that is not readily available for people who cannot fabricate their own. Due to the smaller size, the enclosure skins can now be fabricated on smaller home routers or can be purchased as a kit.
The design is supported by a robust community of laser builders and users at the buildlog.net forum.