3d printer rebuild

It started the way these things usually start, you decide to upgrade a part and then one thing leads to another which leads to another which leads to another…  In this case I wanted to have a vat that was easier to remove from the printer so that it was easier to clean the vat, drain the resin and replace the vat floor when needed. The only problem is if you change the vat design you have to change the tilt assemblies vat mounting hardware to accommodate  the new vat design. I decided that since I was going to change the tilt assemblies vat mounting hardware, which was a considerable change to the assembly anyway, I might as well go on and change the vat tilt assembly itself to an improved design I had been thinking about. Of course since I was going to change the vat and tilt assembly I figured I might as well change the build plate release and leveling hardware which I hadn’t been totally satisfied with and since I was going to go to all the trouble of upgrading the build plate release and leveling I might as well change the build plate to aluminum . However, by changing the vat tilt assembly I changed the relationship between the build plate and the vat so I needed to change the z axis carriage assembly. Oh yes, I also needed to change the projector mount because after the other changes the projector no longer lined up with the vat.  Since I was changing everything anyway I also changed the step motor drivers to better step/direction drivers (which of course forced me to rewrite my arduino software to work with the new motor drivers).

All in all I think it turned out pretty well.

 

3d printer rebuild

dlp projector 3d printer rebuild

I will be posting build details in a day or two.

HL

 

Posted in 3d printing | Leave a comment

3d printer rebuild, the z axis and build plate

One thing I have come to realize about this type of 3d printer is that what counts is that the build “face” (the layer that is being exposed), the vat floor and the projected layer image have a particular relationship to each other during the layer exposure.  Before each layer exposure the build face should be 1 layer thickness higher than it was for the previous exposure and the build face should not have moved in the X or Y direction or have rotated. The vat floor should return to the exact same position and be parallel to the build face for each exposure.  Between exposures the parts of the printer can twist and jiggle all they want as long as the build plate and vat are where they are supposed to be and settled down for the layer exposure.

If you look at my printer you see the vat/tilt and build plate assemblies are mounted on arms, not good for stiffness you might think but if repeatability rather than absolute stiffness is the goal having these assemblies on arms does the job just fine and makes the printer both easier to build and highly adjustable.

The z axis assembly consists of an adept linear slide scored on ebay for $60.00. The main reason it was so cheap is that it was an older unit that used a servo motor that required an absurdly expensive controller that you would be crazy to buy for an obsolete part. The solution, buy it and replace the servo motor with a stepper motor and get a matching timing belt cog wheel ($5.00 plus $15.00 shipping from sdp). the linear slide is attached to the “backbone” column (an old polaroid mp4 copystand, basically a large aluminum extrusion) with custom made polypropylene “clamps” that I fabricated on my cnc router. Attached to the linear slide carriage is another polypropylene part made on the cnc router that holds an aluminum extrusion horizontally that, in turn, another extrusion is attached to forming an elbow joint. The build plate assembly is attached to the end of the second extrusion. This configuration allows me to adjust the position of the build plate in relation to the vat considerably.

3d printer build plate carriage arm

3d printer build plate carriage arm

The build plate assembly is made to be relatively easy to adjust for parallel to the vat floor, it basically consists of a leveling foot being held in tension by three screws. Instead of trying to explain how it works I have a photo:

Build plate leveling assembly

Build plate leveling assembly

I adjust the parallelism between the vat floor and build plate using a level glued to a block of corian. Since the top and bottom faces of the corian are paralle adjusting the parallelism of the vat floor and build plate is just a matter of placing the  “level block” on the vat floor noting the location of the bubbles on the level then holding the level block on the face of the build plate and adjusting the build plate leveling screws until the level bubble positions match the positions measured when the leveling block is on the vat floor.

level block in vat

level block in vat

level block on build plate

level block on build plate

I also changed the build plate from corian to aluminum. Printed parts would attach to the corian so aggressively that after removing the parts from the build plate I would often need to refinish the build plate using a stationary belt sander. Parts adhere to the aluminum reasonably well but putting some time into planning part supports and wall thicknesses go a long way towards making successful prints with the aluminum plate. For larger parts I will also “paint” the build plate face with a thin coat resin and cure it prior to printing a part. This creates a surface that parts can better adhere to when being printed.

HL

 

Posted in 3d printing | Leave a comment

3d printer rebuild, the vat and tilt assembly

Probably the most interesting part of this printer is the tilt assembly so that’s where I will start.  The basic requirements of the vat tilt assembly is that it tilts with enough force that it is able to peel the “build face” of the part being printed from the vat floor and that after tilting it returns to the exact same home position for the next exposure. My solution to these requirements was to set up the vat and it’s tilting assembly so that it was held up against an adjustable stop using springs under compression.

The entire assembly is connected to the backbone extrusion via polypropylene clamps which hold an aluminum extrusion to which the tilting part of the assembly is connected via a set of custom hinges (made on the cnc router). Two of the four hinges have metal bearings that allow the tilting part of the tilt assembly to tilt easily with very little if any play. The mounting “arm” extrusion and the tilting extrusion are connected by the hinges in such a way as to leave a gap of roughly 1.5′” between them. On the facing edges of the hinged extrusions are plastic strips that have 4 – half inch holes bored partway through them and some bolt holes that are used to attach the strips to the extrusions. Compression springs are mounted in the holes and the compression of the springs push the tilting assembly up against an adjustable stop (which is used for leveling the vat). The reason there are multiple springs is adjustability, adding, removing or changing the type of springs allows for adjusting for the weight of the tilt assembly and vat.  You do not want to add more stiffness to the tilt than necessary because it still needs to be tilted by a motor of linited torque but there has to be enough stiffness to reliably return the vat to the home position considering the vats weight and the need to squeeze the resin between the build plate and the vat floor before the next exposure.

The tilt is accomplish by using a step motor with a short aluminum arm attached to it’s shaft at the end of that arm is a roller bearing, this arrangement allows considerable downward force to be applied to the tilting part of the assembly.  At the proper time the step motor rotates the roller bearing down against the edge of the tilt assembly forcing it down to peel the part from the vat floor during printing. To un-tilt the vat the motor reverses and the vat/tilt assembly un-tilts until it hits the adjustable stop (the motor reverses past the point where the adjustable stop prevents the assembly from moving higher).

The tilt speed and acceleration are adjustable in the arduino software. I like to set a tilt that starts slow and accelerates because many of the parts I make are large with large flat surfaces and a slow tilt allows the vacuum between the part and the vat floor to reliably break. I also wait until well into the tilt to raise the build plate, you do not want to raise it until the part being printed has been separated from the vat floor by the tilt because the part will snap away from the vat floor as if there were no tilt mechanism.  This tilt assembly works 100% of the time with 100% repeatability mainly because the way it’s built it has no other choice.

vat tilt spring assembly 1

vat tilt spring assembly 1

vat tilt spring assembly 2

vat tilt spring assembly 2

tilt motor and bearing

tilt motor and bearing

 

The vat is pretty straight forward, it’s your basic plexiglas walled glass bottomed box with a coating of sylgard 184 (I am going to try teflon at some point). It’s nothing fancy, the vat floor is plain glass (actually 5×7 picture frame glass) attached to the bottom of the plexiglas box with a thin bead of clear silicone sealant.  I do have that “box” sitting in a mounting plate that makes it easier to mount to the tilt assembly it also makes it somewhat easier to replace the vat floor coating and to drain and clean the vat. The Sylgard 184 vat floor coating is somewhat fragile and can be damaged easily but I have found that a thick layer of sylgard (3mm or so) is better than a thin layer not because the thickness makes it any less fragile but because a thick layer seems to have more stretch when pulling away from the part when the vat is tilting, it is also easier to remove when the coating needs to be replaced.

vat

vat

HL

 

Posted in 3d printing | Leave a comment

3d printer rebuild, software and electronics

Please Note: I am no longer using this control setup, I have switched to using Marlin firmware and ramps 1.4 with an arduino mega 2560. I will post an article on this setup sometime during the week of 11/28/16

Any computer controlled device uses a “stack” of hardware and software so I think it’s best to start at the top of that stack and move down. For 3d drawing I use SketchUp Make (version 13). I save the working drawings in sketchups native format and save the drawings to be printed as “stl” files (using a sketchup plugin). I always load the stl files into Netfabb Basic to diagnose and fix any problems with the stl before printing. After performing any needed repairs in Netfabb I save the fixed up stl file for printing (netfabb automatically renames repaired files).  I use Creation Workshop for creating supports, slicing and printing and I have been quite satisfied with it, however, I do use Creation Workshop in a very specific way, I have written my own custom low level step motor driver controller software (arduino) that responds to custom commands that I have added as settings to Creation Workshop.  These commands are sent to the arduino controller by Creation Workshop during each layer exposure cycle.  DLP 3d printers have very simple command requirements, basically: project a layer image through the printers vat floor for x seconds, when finished projecting the layer tilt the vat and raise build platform x amount then un-tilt the vat and lower build platform x amount minus the layer thickness, repeat until all the layers have been exposed.

I have Creation Workshop sending 4 commands to my custom programmed arduino to control my printer:

<INIT################
<LIFT-SEQUENCE-TIME> %d$BlankTime

What the arduino controller does: Initializes the step motors position to 0 and sets the step motor speed and acceleration. Gets the LIFT-SEQUENCE-TIME  (basically the time between layer exposures) and saves it for use in timing the vat tilt/un-tilt and build plate raise/lower sequences. Opens the projector shutter for the first exposure. Sent once per build.  This is the first command sent by Creation Workshop to the arduino controller.

 

;<Delay> 250
<LAYER-OFF-TILT-VAT##>
;<Delay> %d$BlankTime

What the arduino controller does: Waits a short time after the last layer exposure, closes the projector shutter, tilts the vat/raises the build plate x amount, un-tilts the vat lowers the build plate to the last position minus 1 layer thickness. Opens the projector shutter at the end of “BlankTime”.  Sent once per layer by Creation Workshop after a layer exposure. This command is where all of the work is done. Note: the <Delay> %d$BlankTime  line is required. Creation Workshop needs it for an internal timing function of some sort.

 

;<Delay> 250
<LAYER-ON############>

What the arduino controller does:  Turns on a UV Led or other projector mod light source. Sent once per layer at the beginning of a layer exposure  by Creation Workshop (not currently used by me).

 

<END#################

What the arduino controller does: Closes the projector shutter. Sent once per build. This is the last command sent by Creation Workshop after the last layer has been printed.

 

Moving the build plate up and down from within Creation Workshop:

In Creation Workshops “settings” (the gear icon) Machine Control tab you can use the Z-Axis up button to raise (home) the build plate to the top limit switch and you can use the Z-Axis down button to lower (home) the build plate to the bottom (vat) limit switch. If you have homed the build plate to the bottom limit switch you can start your print run from there (I use a screw connected to the z axis carriage to trip the vat (bottom)  limit switch, this allows me to adjust for the vat floor location).

 

Listing of Arduino code for use with step/direction step motor drivers:

Note: some instructions and code comments added/updated 03/17/14

 

To use the arduino code:

get the arduino software and install it if you don’t already have it.

you will need to download and install this arduino library: AccelStepper http://www.airspayce.com/mikem/arduino/AccelStepper/

get the arduino code and Creation Workshop settings. (dlpsidewinder.zip) and extract the files to a convienient location. Make a note of this location.

wire your printer (see diagram below).

get Creation Workshop rc 3 and unzip it to a folder on your pc (do not use the program files folder), use something like C:\Projects\CreationWorkshop (I will use this path as an example).

rename the C:\Projects\CreationWorkshop\Profiles\testprof to something else (such as testprofX).

copy this folder testprof from the folder where you extracted dlpsidewinder.zip to the C:\Projects\CreationWorkshop\Profiles\ folder.

Load the arduino code (CreationWorkshopToStepperInterpreterStepDir_v10.ino) from the folder where you extracted dlpsidewinder.zip files to into the arduino software. Upload the arduino code to your arduino uno, duemilanove or other compatible arduino after setting parameters such as PlatenStepsPerLayer (which is the number of steps needed to raise the build plate 1 layer thickness, this thickness must match the “Slice Thickness (mm)” set in Creation Workshop), StepsToRaiseLowerBuildPlate,  StepsToRaiseLowerVat, motorSpeed (z axis), motorAccel (z axis), TiltDownSpeed (vat), TiltDownAccel (vat), TiltUpSpeed (vat) TiltUpAccel (vat). See the comments in the arduino code for information on these parameters.

run the Creation Workshop software: C:\Projects\CreationWorkshop\CreationWorkshop.exe (you may want to create a shortcut to this file and place it on the desktop or in the start menu). setup your exposure times, set your projector, select the arduino serial port and speed (115200), etc., load and slice your part. Connect to the arduino home the build plate and print.

 

The Drive Electronics:

An arduino

A 12V 30A power supply

A 9V 1A power supply for the arduino

2 step/direction motor drivers.  I used 2 DIV168N-3.5A, there is an updated version of this driver: HY-DIV268N-5A.  Any step/direction step motor drivers that can handle the current for your motors will work)

2 step motors (they should have decent torque, you probably want to go nema 23)

1 hobby servo (for the projector shutter)

wire, connectors, arduino screw shield etc

2 limit switches

3d printer wiring diagram

3d printer wiring diagram, driver uses single power supply, DIV168N-3.5/DIV268N-5 used as example

 

wiring diagram stepper drive with different logic and output power supplies

wiring diagram stepper drive with different logic and output power supplies, a A4988 is used as an example.

Notes:

The wiring diagram shows the wiring for DIV168N-3.5A/DIV268N-5A step motor drivers. Most step direction drivers (Big Easy, a4988 modules) should be similar. Note that some drivers will use separate logic and power power supplies.

Set you step motor driver to supply power to the motor windings (apply holding torque) even when they are not turning. You do not need to supply 100% power to the windings all the time (the motors may get hot).  I use a 50% power setting when the motors are idle to lock them in place. If you don’t do this you will have all kinds of weird printing issues (the motors will “freewheel” under load, for example, the build plate could be pulled DOWN when the vat tilts.  Also the dip switch settings printed on the housing of DIV168N-3.5A/DIV268N-5A step motor drivers may not be (are not) accurate.  For now I’m using <1-off,on,on,on,on,off-6> and <1-off,on,on,on,on,on-6>  on the dip switches which gives me 16 microsteps per step and what I believe to be 3.5A to the motors and 50%/100% current when idle, when I get time I’m going to play with the dip switches a bit more.

printer electronics

printer electronics

HL

 

Posted in 3d printing | Leave a comment

3d printing notes 1

Close Focusing A DLP Projector:

I have noticed that sometimes people building dlp 3d printers have difficulty making their dlp projectors focus close enough to create a small image on the vat floor. One of the method I have seen is to remove a screw on the lens focusing assembly so that the lens is able to move out further (the further away from the dlp chip the closer the focus) another is to insert a spacer on the rear lens mount to do the same. If you’re building a dlp projector based 3d printer stay with me here because I’m about to save you some grief. Measure the inside diameter of the front lens barrel of your projector (let’s say it comes to 55mm) then go on ebay and enter this search term 52mm close up lens set (replace 52mm with a diameter 2 to 5 mm less than the measurement you made earlier). You could also measure the outside diameter of the projectors lens barrel (if the lens sticks out) and order larger diameter close up lenses (get close up lenses 6-9mm larger than the measured outside diameter of your projector lens barrel). Note that the closeup lens size is the outer diameter of the threaded part of the lens, the inner diameter of the threaded part of the lens is usually several mm less.  You will find many close up lens sets in the $12.00 range, buy a set that has +1, +2 and +4 close up lenses and avoid any that say they are coated. Once you have received your close up lenses start with the +4 lens, place it curved face up directly on your projectors lens, it should fit just right (for a projector mounted vertically, if your projector doesn’t sit vertically I’m sure you will figure something out). You will want to set your projectors zoom somewhere in the mid zoom range if you can (wide angle zoom = large image, telephoto zoom = small image) avoid the wide ange part of the zoom range if you can (most zoom lenses will have (barrel) distortion at the wide end of  their range). Position the projector a distance from the vat that projects an image, when focused, the size you need on the vat floor (I lay a piece of vellum paper on the vat floor and project a grid on it then I measure the grid with a caliper). If you need to you can combine close up lenses by screwing them together to get a different “powers”, for example, a +4 and a +2 gives you a +6 (the suggested +1, +2, +4 set of lenses gives you all of the powers from 1 to 7).

If you are worried about the close up lens causing image distortion or robbing you of uv don’t, people use these type of lenses all the time on DSLR’s without problem and without a coating the lenses are just thin glass. I would suggest you put a +1 close up lens over your projectors front lens element even if you don’t need it, I’m sure you would rather clean resin off of a $5.00 close up lens than the front lens element of your projector. I have used a +4 close up lens on my 3d printers projector since day one.

I ordered closeup lenses from here: http://stores.ebay.com/DigiAccDeals?_trksid=p2047675.l2563  enter “close up lens” in the search box.

Note: If you use Creation Workshop, Configuration > Machine Control > Show Blank works pretty well for sizing and squaring your projectors image to the vat floor because you are working with an image that is dark enough to look at but also provides you with your projectors actual image area rectangle.  Use vellum, rice paper frosted mylar etc. on the vat floor to view the image.  The Show Blank image allows you to size very exactly, for example, a projector with a resolution of 1024 X 768 when correctly sized for a 0.1mm resolution (x,y) will project an image on the vat floor 102.4 mm X 76.8mm (use a caliper, inexpensive digital calipers can be found at your local harbor freight or online). Also to square your layer image (after getting everything reasonably square with a level) measure the diagonals of the image, if they are equal the image is perfectly square.

HL

 

 

 

Posted in 3d printing | Leave a comment

Moved ProjectsInterestsAndEtcetera to a new web hosting provider

I have moved this web site to a new web hosting provider.

This move would have gone smoother had my previous provider not turned off my account 8 DAYS before they were supposed to (It was not supposed to be turned off until 1/8/14) thus causing all kinds of issues (such as my site disappearing from the web). Working on moving a website is not what I wanted to be doing on new year’s eve (I wanted to be wasting time and messing around) but that invoice that my old provider sent me ON CHRISTMAS EVE DATED AND DUE THE 24TH OF DECEMBER FOR THE EQUIVALENT OF NEARLY 10 TIMES WHAT I ORIGINALLY PAID YEARLY just seemed too sketchy so I decided to move on. So I call them (on Christmas Eve) to tell them I would not be renewing my hosting with them, they agreed to not cut off the service until 1/8/14 and sent me an email to that effect. Don’t get me wrong, their service was ok, not stellar, but it was ok (I had been with them over 7 years) but their billing system was messed up.  I thought the whole thing about them billing my bank account 5 times for the same invoice (at 200.00 a pop) after (name withheld to protect the victim) merged with (name withheld to protect the guilty) was a fluke but it has became clear to me that their accounting system has turned into a total hairball and I was tired of dealing with it so I’m gone. Too bad I was beginning to enjoy spending my holidays with my web hosting provider (yeah, right).

Also: This is a wordpress based site, I used the WordPress Duplicator plugin to move it to the new ISP, worked flawlessly, Dr Who should use it next time around.

Highly Recommended.

Plugin info: http://wordpress.org/plugins/duplicator/

Video tutorial: http://www.youtube.com/watch?v=VdvOGV2eIjE

HL

 

Posted in Uncategorized | Leave a comment

3d Printer Vat Refresh (lean mean grilling machine style)

My 3d printers Sylgard 184 vat floor coating had fogged and needed to be replaced. I believe it fogged due to having made some long base layer exposures. When I originally coated the vat floor I needed to let the Sylgard cure for 48 hours before I could use the vat. I didn’t need to wait that long this time.  Sylgard 184 can be heat cured in as little as 2 hours at temperatures that do not damage the plastic parts of the vat. Sylgard 184 is a 2 part mixture the base material and a curing agent. Mixing the 2 parts of the Sylgard produces so many bubbles that the liquid almost becomes a foam, if the vat floor was coated with the mixture and heat cured the bubbles would be frozen into the coating and it would be useless. To get around the problem the bubbles in the mixture can be removed by “vacuum degassing” the Sylgard before heat curing the coating.

Knowing that I would need to replace the vat floor eventually I had gathered the parts needed to make a diy vacuum chamber. I already had a vacuum pump ($100), tubing, ball valves and brass fittings ($20). I needed something to use as the vacuum chamber and after doing some looking around on google found that others had used a good quality thick walled cooking pot for the purpose, I obtained a very good teflon coated pot from an estate sale for $10 (thick walled cooking pots can be very expensive if purchased new), also a sheet of 1/2″ lexan for the vacuum chamber top from a plastics supplier ($15), a vacuum gauge from american science and surplus ($4), the vacuum gasket was made from non slip shelf liner. It took all of an hour to assemble the parts into a working vacuum chamber. When I tested the vacuum chamber it rapidly pumped down to -29″ hg and held there.

Note: The brass fitting and vacuum gauge both have 1/4″ npt fittings. If you drill a 1/2″ hole in the plastic top, using a flat or spiral drill bit, you can screw the fitting into the plastic without needing to tap threads (it’s a tapered thread). I put a dab of silicone on the threads of the fittings before screwing them in just to be sure of a vacuum tight seal.

DIY Vacuum Chamber

To replace the Sylgard coating in the vat I cut the coating around the edges after which it easily peeled off of the glass bottom of the vat (Sylgard does not adhere to the glass). I mixed 27.5 ml of Sylgard (25 ml of base, 2.5 ml of hardener) poured it into the vat and placed the vat in the vacuum chamber. I turned on the vacuum pump and slowly the Sylgard began to foam then the bubbles began to burst. It took about 20 minutes for all of the bubbles to disappear. After all of the bubbles had disappeared I turned off the pump and slowly released the vacuum through the bleed valve (without a bleed valve you are going to wait a long time before being able to remove the lid). I took the vat and set it on the griddle side of my George Forman  Lean Mean Grilling Machine (which i had previously leveled) covered it with a sheet of glass and let it sit for a half hour with the heat turned off to make sure the Sylgard was perfectly flat and level in the vat. After the half hour was up I turned the heat on to the lowest setting and slowly increased the temperature to roughly 170 F over about 10 or 15 minutes using a non contact thermometer to determine the temperature of the griddle surface (this lets the temperature of the glass equalize across it’s surface and thickness so it won’t crack). I let the vat “cook” for 2 hours after which the Sylgard was fully cured and perfectly clear (much better than the original coating).

Note: This method is for glass floor vats, if your vat has a plastic floor you will ruin it.

Cooking The Vat

 

HL

Posted in 3d printing | Leave a comment

DLP 3d printer build details 1: Structure

The printer hardware consists of only a few assemblies the build plate/z axis assembly, the vat/tilt assembly, the projector mount, the housing and a light baffle (sucks up stray light when printing) all connected to a single vertical aluminum extrusion. There are two step motors, one for the z axis and one for the vat tilt, controlled by a dual step motor controller. The step motor controller takes commands over a ttl serial connection from an arduino.  The arduino interprets and executes commands sent to it over usb serial from theCreationWorkshop software running on the pc, it also controls the uv led relay (for the uv modified dlp projector) and a hobby servo that opens and closes a shutter (when using the white light projector). Step motor power comes from a 12V 30A power supply. The step motor controller is also able to supply regulated 5V for the shutter servo.

I make things as adjustable as possible. The main assemblies (the vat, build plate, z axis hardware, projector mount, light baffle) basically clamp on to the backbone extrusion and can be easily moved up and down in relation to each other. The vat because it is attached to a horizontal 1.5″ extrusion with carriage bolts can be slid “in and out” allowing for alignment with the projector and build plate. The projector mount is on a “shoulder and elbow” mount allowing for both height, lateral and rotational adjustments, it can also be moved in and out over a small distance by changing how it connects to the backbone extrusion. The tilt motor is mounted in a similar way to the vat which allows for in out adjustments. I have found in the past that if you make things as adjustable as possible one measurement or clearance mistake will not set back your project.

I’m a strong believer in the one big extrusion theory of building stuff. That is, get an aluminum extrusion and hang everything you need on it. My cnc router is built this way (It’s a cantilever design that gets it’s accuracy and rigidity from being built on a massive aluminum extrusion to which equally massive linear rails are attached), my robomagellan robot is also built this way. I am particularly fond of 1.5″ x 1.5″+ aluminum extrusions (series 15) , why, because 5/16th” carriage bolts from the local big box hardware store work perfectly for attaching things to those extrusions (the carriage bolt head and “square” are perfectly sized to the extrusions channel) and the hole at the center of the extrusion is also perfectly sized for tapping threads for 5/16 bolts. The major stuff on my printer build are held together/connected with 1.5″ aluminum extrusions and 5/16 carriage bolts I rarely use T nuts unless specifically called for. Also you may notice that I use a lot of polypropylene (which I machine on my cnc router) for structural parts, I use it because of availability but also because it is easily machined/sawed and in thick pieces (.5″+) it is structurally very strong (mdf would probably work well also). Also a neat trick to using a plastic like polypropylene (or mdf) is that when you use a 5/16″ carriage bolt through a 5/16″ hole the “square” on the carriage bolt seats into the plastic when a nut is screwed down and locks so that you can tighten and un-tighten the nut using only one wrench. My printer build uses a polaroid  mp4 photographic copy stand as the “backbone” extrusion for my printer build, why, because I had one, however, if I hadn’t had something like the copystand I would have probably used a 1.5″ X 3″ or a 1.5″ X 4.5″ extrusion for the backbone.

Next up:  z axis, build plate, vat and tilt mechanism

HL

 

Posted in 3d printing | Leave a comment

DLP 3d printer build details 0: preface to the build details

Building a 3d printer had been one of those things that had been rattling around in the back of my mind for a while before I actually decided to build one. I considered just adding a fdm print head to my cnc router but in the end I didn’t, I never felt that fdm prints were of particularly high quality or that hobbyist fdm printers were particularly well behaved. While doing research one day (aka wasting time on the internet) I stumbled across a dlp based 3d printer and promptly went down the rabbit hole of sites and youtube videos related to dlp printers . By the time I found my way out of that rabbit hole I had come to a simple conclusion: building a dlp based 3d printer was not rocket science. There are essentially only two moving parts, the build plate and the vat and the movement of those two parts are simple. Compare that to a fdm printer (3 axis cnc routers are essentially the same device only the “heads” differ, one subtracts the other adds) where you have to have very sophisticated axis control (think curves, lines and spirals) as opposed to the build plate lift/drop and the vat drop/lift of a dlp based 3d printer. A dlp based 3d printer is in fact a very simple machine and in my opinion far simpler to build than a fdm and only slightly more expensive to build (and maybe not even that). DLP 3d printers are also well behaved, the proof: On my printers initial shakedown tests I got a perfect print on the second print run after making only minor adjustments (no bs) good luck doing that with a hobbyist fdm.

Early on I was concerned about the resins and had started to plan on how I was going to vent the fumes out a window (I am very allergic to polyester/epoxy resins and the like). I ordered resin from makerjuice.com because the resin was reasonably priced but expecting that I would still need to vent strong fumes. That turned out not to be the case, you can still smell makerjuice resin but as resins go it’s about as benign as it gets, no ventilation needed, that for me was one big dlp 3d printer issue off the table (I have no connection to makerjuice with the exception of having bought some of their resin). After finding the CreationWorkshop slicing and control software and determining that I could use it most of the building blocks needed to do a 3d printer build seemed to be in place: structure, control and media so it was off to the races for me.

Over several posts I will go over details of my printer build. So if you’re ready to ride this is the plan:

DLP 3d printer build details 1: structure

DLP 3d printer build details 2:  z axis, build plate, vat and tilt mechanism

DLP 3d printer build details 3: electronics and control

DLP 3d printer build details 4: software

DLP 3d printer build details 5: operation and misc.

HL

 

Posted in 3d printing | Leave a comment

Up And Running. News At Nine.

Finished my DLP 3D printer. Got a good print on the second run!

3d printer second run print

3d printer second run print

Short Video:

All dressed up and ready to go:

3d printer in housing door closed

3d printer in housing door closed

3d printer in housing door open

3d printer in housing door open

On the first print run I heard the vat snapping away from the corian build plate on the first several layers when it tilted, then I noticed that the part I was printing was only partially attached to the build plate and was hanging down. I stopped the printer at that point and removed the build plate to take a look at the print. It was a bit of a mess, it was apparent that the whole face of the print was no longer touching the sylgard 184 vat floor probably because pieces of the print had broken off. At first I thought that maybe I had an exposure problem but that seemed to not quite cut it as an explanation for what was happening.

Remembering the snapping sound that I heard when the first few layers were exposed I began to think that the vat was tilting too fast not allowing enough time for the vacuum between the newly exposed layer and the vat floor to break. I decided to slow the vat tilt and add less “ramp” to the acceleration of the vats tilt motor. This has the affect of both slowing the vats tilt and making the vat tilt very slowly at the beginning of the tilt then speeding up as the tilt progresses.

After setting up and starting the second print run I noticed that from the sound of the vat tilting the part on the build plate did not seem to be sticking at all, as a matter of fact there seemed to be no resistance to the part separating from the vat floor.  That could mean only one of two things was happening, either the print was stuck to the vat floor or it was stuck to the build plate. Soon the part began lifting out of the polymer and it became apparent that the part was being printed just fine. After the part was finished printing I removed the vat and after emptying and cleaning it I found the sylgard 184 vat floor was still in perfect condition with no signs of wear or damage.

More info as time permits.

Slicer/Controller Software: CreationWorkshop by Steve Hernandez

Resin: MakerJuice SubG+ Yellow

Note: The print was made with a white light projector not the uv.

HL

Posted in 3d printing | Leave a comment

Lurching Forward: 3d printer

It’s been a little while since I posted about my 3d printer build (summer has that effect) but that does not mean I haven’t been working on it.   CLICK HERE FOR VIDEO

dlp 3d printer 405nm 20 w uv led projector light source

dlp 3d printer 405nm 20 w uv led projector light source

Some quick info:

First, things are looking pretty good on the uv led dlp light source front.

It seems as though a simple mirrored funnel is “good enough” to channel the light from a 20 watt uv led into a dlp projectors light tunnel.

Light funnel for uv led

Light funnel for uv led

 

Light funnel parts

Light funnel parts

The light funnel is made from mirrored plexiglass that I machined on my cnc router. To be able to use the plexiglass mirrors “front surface” I dissolved the backing off of the mirror using a weak solvent (one that does not also dissolve the plexiglass). The assembly is glued together to form a funnel that fits over the uv led. I also wrapped the funnel in aluminum tape to stop light leaks. The mirrored funnel also serves to hold the led onto the heatsink. I had previously tried using a solid tapered acrylic rod which worked but had fabrication and light loss issues.

The opening at the end of the funnel is about 1/8″ square which is smaller than the opening to the light tunnel on both the dell and casio projectors I have. It also seems that the dlp projectors light tunnel and internal optics do a very good job of “smoothing” the light entering the tunnel before it hits the dlp chip.

The good news: I did a quick and dirty test to see if a 20 watt 405nm led was enough to harden photopolymer in a reasonable amount of time. It appears that it is. I took some uv cure casting resin spiked with a bit of BAPO exposed it for 10 seconds with the dlp projector and it hardened into the projected pattern. This leads me to believe that when I test with resin made for 3d printers the exposure time will drop considerably. I have ordered resin from makerjuice.com that seems to be quite sensitive to 405nm uv (I may order a 395nm 20w led at some point, the sensitivity of the makerjuice resin almost doubles over that 10 nm difference according to the data sheet).

More build details and info to come over the next several weeks.

HL

 

 

 

 

Posted in 3d printing | Leave a comment

True Facts (Or Actual facts, Depending) Raccoon vs. Locomotive

Sometime you just have to write about stuff.

I live less than 200 ft from a railroad track and about a quarter mile from a railroad crossing. Several years ago the Canadian National Railroad purchased the tracks behind my house to use to bypass train traffic around CHICAGO. Now, don’t get me wrong, I don’t have a problem with the HUGELY increased train traffic (which is supposed to get even more huge later this year) because after the engine passes they actually don’t make that much noise. I have an issue with the train horns which sound at all times of the day and night and because I live about a quarter mile from the crossing the trains generally start blowing their horns (they call them whistles but it’s a horn to me especially at 1:00 am, 3:15am, 4:00am …) right at my house. Which brings me to the subject of the raccoon vs. the locomotive.

I was at a neighborhood meeting last night where officials from the village who after some of the usual neighborhood meeting stuff informed the audience that the railroad crossing a quarter mile from my house was finally being improved so that a quiet zone could finally be implemented and that would cut down the number of train whistles being blown AT NIGHT by at least 80 PERCENT. Why not 100 percent: animals on the track. Deer were mentioned, coyotes were mentioned and oh yes raccoons were mentioned, as a DERAILMENT HAZARD FOR A LOCOMOTIVE ENGINE, so occasionally the train engineer would need to still blow their horns. I maintained my composure as I visualized a 20 pound (fat) raccoon derailing a 200 TON (400000 pound) locomotive engine. Now having some experience in listening to BS it is my belief that this particular BS was probably relayed to the various village officials in attendance at the meeting as follows: Let me set the stage, Village officials in meeting/schmoozing with railway official. Village official: why can’t the quiet zone be quiet all night all the time. Railroad official to village official: because animals like  deer, coyotes and raccoons on the track are a derailment hazard so they have to blow the whistle. Now let’s go to the railroad officials “thought balloon”: { I can’t tell this village official that the real reason is because some of our engineers are just jerks and will blow the whistles in the middle of the night because they can. I know, I’ll say it’s animals on the track }.

At this point let’s set aside the actual physics and simply go with the spirit of the statement (aka the raccoon statement). As such I will propose the following method of derailing a locomotive engine with a raccoon.

Get yourself a nice fat raccoon (the one that’s chewing it’s way in to your attic will do just fine). Now take that raccoon and rapidly ACCELERATE it (using any convenient means) in the direction of the locomotive to 32000 meters per second (20 miles per second give or take) this will impart a kinetic energy of 4000000 kJ  to the raccoon which when it hits the locomotive should have sufficient energy to derail it.  It would be best to aim the raccoon high on the locomotives side so when the raccon hits the locomotive it will roll over (thus derailing), If you hit the locomotive too low the raccoon will not be effective in derailing the locomotive (because a 200 ton locomotive will not slide sideways while on the track) and you will have wasted a perfectly good raccoon. Now, things to consider: smaller animals require higher accelerations larger less, however raccoons are the preferred projectile for derailing a locomotive engine.  Also, if you decide to accelerate your raccoon to relativistic speeds in order to obtain the highest possible kinetic energy to derail the locomotive you may run in to time dilation issues depending on the how close your raccoon comes to the speed of light and other factors. In that case instead of hitting the locomotive the raccoon will miss because the locomotive will have long since rusted away to dust defeating the point of the exercise.

Oh well, back to the meeting at least the quiet zone will decrease the blowing of train whistles by 80 percent at night under current conditions. Now let’s see a reduction of 80 percent (now) with an increase in train traffic (later this year) by 2 or three times. I think I need more fingers to figure this out.

Train horn hell isn’t bad, if you like hell.

HL

 

 

Posted in This Is Too Good To Pass Up | Leave a comment

Conestoga, The Movie

Not exactly Pacific Rim but it does show Conestoga’s front bumper obstacle routine and it moving from one waypoint goal to another. Video

Posted in Conestoga and Robomagellan, Uncategorized | Leave a comment

It’s going to be all robomagellan for the next two weeks or so

I’m spending the time running up to the robomagellan competition pretty much going over conestoga’s python code (4500 lines about 3000 “good lines” the rest is junk code and comments) looking for any bugs or errors and generally cleaning thing up. The arduino code (about 400 “good” lines) has been frozen for a while because it does what it needs to do without a hitch and I’m not about to fix something that isn’t broken. The robot hardware is pretty much where it needs to be and at this point some of the things I want to do are optional (that flame paint job may have to wait until next year). I’m also doing real world testing as often as I can. Conestoga has turned out to be a pretty elaborate device and there is a reason for that, building computer controlled devices of one sort or another has been a hobby of mine for a long time and I can work on a projects for a long time and not get bored. Since I’m not in that great a hurry to “finish” if I want to try something out, change something or just do something because I think It’s cool that’s what I do.

Now for the continuing adventures of…

Last saturday I ran some waypoint tests with conestoga which were pretty successful, I was actually hitting waypoints with a precision of as little as 1 meter  (e.g. if within 1 meter of the goal waypoint get the next waypoint and continue). I decided to go out sunday afternoon for an hour or so and get another couple of tests in after tweaking some settings particularly the speed which I increased by about 1/3 rd I also left the waypoint precision set to 1 meter. So, I fire conestoga up and set it to auto. It hits the first waypoint just fine turning towards the second waypoint right on track. Now, consider this, conestoga is just about a meter long even though the wheelbase is shorter the turning radius is dependent on quite a few factors considering how it steers itself. When conestoga reached the second waypoint it tried to curve towards a point that was beyond it’s ability at the faster speed and updated settings and it quickly began to spin, think robot break dancer. The “nav” PID was telling the drive that if it tried HARDER it could reach that point.  I think trying to set the goal waypoint precision to 1 meter is a bridge too far, 2 to 3 meters should be fine.

I've bee kicking this stuff around for a while

I’ve been kicking this stuff around for a while

HL

 

Posted in Conestoga and Robomagellan | Leave a comment

Conestoga software/hardware work and testing for upcoming Robomagellan

So far so good. I took conestoga out today for some test runs and it hit the gps waypoints like clockwork. On the first run I set the waypoint precision to 3 meters (e.g. if within 3 meters of the goal waypoint get the next waypoint and continue). It did so well at 3 meters on the next run I reduced the waypoint precision to 1 meter and it again hit the waypoints with no problems. I had very good gps fixes, up to 10 satellites with a HDOP (Horizontal Dilution of Precision) in the 70’s (it doesn’t get any better than that). I did noticed that conestoga would slightly “waddle” while seeking a waypoint, this indicates that I should lower the steering PIDs P parameter to lessen the steering overshoot, I will probably also add a bit to the I parameter (it was set to 0 as was D) which has the effect of increasing the amount of steering correction over time, this will allow me to under damp P and use I to “finish” the steering correction. The waddle could also be caused by the wheel PIDs overshooting, the fix would be similar to the steering PID fix. Conestoga has several PIDs that interact, the right and left wheel PIDs control the overall speed (conestoga should maintain it’s speed on any terrain or reasonable slope), the steering PID which is fed the difference between the goal heading and actual (compass) heading, the cone finder PID which gets it’s correction information from the forward facing “cone finder” camera software. There is also a PID for centering conestoga on sidewalks.

In the previous Robomagellan I had a problems when I would start a run without a good gps fix. That won’t happen this time, I added a 4 line lcd to conestoga that gives me the state of the gps fix plus compass heading (for adjusting the stalk compass) and battery state (volts and current). I also moved the doppler microwave (for collision avoidance) up above the cameras so that grass does not set it off. I still have some testing to do with the collision avoidance system (pretty much just verification that the collision sensors work under varied conditions and combinations of the sensors tripping). I also have to “tune” and verify the cone approach/touch routine.

conestoga

That’s about it for now.

HL

Posted in Conestoga and Robomagellan | Leave a comment

UV DLP Light Source, update of the update.

Here are a few new photos. The tapered light pipe seems to work pretty well for a quick prototype. I think I can squeeze a little more efficiency out of it by chemically “silvering” the light pipe (it will probably be a week or two before I have he time to do that). I should also have some resin tests exposed through a dlp projector within a month or so. This will give me an idea whether I need to scale up the uv led wattage or not.

tapered light pipe

tapered light pipe

tapered light pipe mounted

tapered light pipe mounted

tapered light pipe assembly

tapered light pipe assembly

updated printer assembly

updated printer assembly

HL

Posted in 3d printing | Leave a comment

UV LED DLP Projector update: new uv lamp assembly

Note: photos below.

I think I may have a uv lamp configuration that will be usable with almost any dlp projector, it also does not involve using optics. Let me bore you for a second, when I was 10 years old or so my parents bought me a microscope, included with this microscope was a lamp used for illuminating slides. The interesting thing about this lamp was that it consisted of a base with a bulb in it with a curved piece of acrylic coming out of it, the acrylic was in the shape of an elephants tusk. What I found interesting about that lamp at the time was that it delivered the light from the bulb in the base to the very tip of that acrylic “tusk” very efficiently. I’ve been trying to get uv from the 20w led to the projector light tunnel using optics in one configuration or another with decent success but I thought I could do better, one of the ideas I thought I would try out was using an acrylic light pipe.

The acrylic light pipe idea had been floating around in the back of my mind for a while so one day when I was near a plastics fabrication/supply business that I’ve been buying from for some time (they let me buy scraps and remains of various types of plastics) I stopped by and purchased some acrylic rods. I finally got some free time and decided to try the acrylic light pipe idea. I did a quick design for a mount for the uv led, heat sink and acrylic rod and cut it out on my cnc router using 3/4″ polypropylene. I cut off a short length of 1/2″ acrylic rod and sanded the ends with 220 sand paper then I “flame polished” the ends by lightly heating them with a propane torch. After assembling the parts I “fired up” the uv led (uv blocking glasses on – safety first) and what I saw was a very high percentage of the light from the uv led coming out of the end of the acrylic rod, there was a minimum of light loss at the led/rod interface or out of the sides of the rod.

Before fabricating the acrylic rod assembly I did a bit of research on acrylic light pipes and found that they used “total internal reflection” basically the acrylic rod acted like an optical fiber, if the ends and walls of the rod were polished there would be very little light loss, may attitude upon reading this was basically “yeah right”, my attitude changed completely the second I turned on the uv led and found that an extremely high percentage of the uv light from the led was coming out of the end of the acrylic rod. Potentially what this means is that an acrylic light pipe can be constructed that tapers down to the size of the dlp projectors light tunnel (around 1/4 inch) and the light from the uv led can be channeled directly into the light tunnel. Lets bottom line this, this is an efficiency game, if you are going to use a uv led for 3d printing it’s about getting as much uv to the dlp chip and out the projection lens as possible. Using an acrylic light pipe may be the trick that makes using a reasonably priced uv led feasible as a light source for a DLP projector used for 3d printing. When I get a chance I will fabricate a tapered light pipe to see if I can efficiently channel the light from the uv led directly into the dlp projectors light tunnel without any intervening optics.

uv led lamp assembly detail

uv led lamp assembly detail 1

uv led lamp assembly detail

uv led lamp assembly detail

HL

Posted in 3d printing | Leave a comment

Robomagellan (Let’s not over-think this little problem)

The first of 2 Robomagellan competitions in my area was held this weekend. This one was more of a “lite” version of the one that will be in august and there were only 3 entries. I actually did better than last time by actually getting close to one cone in my last run. I would have done quite a bit better if not for one minor problem, I would start a run and conestoga would promptly make a right turn and head toward a retaining wall. The first time it happened I took it the building that we were using as a sort of staging area and plugged it into a monitor and keyboard and took a look at the data conestoga had collected (conestoga saves everything it senses or does when “running” to a csv file, it also records time stamped video information from the 2 forward facing cameras. It does all of this and the work of running conestoga using only about 50% on each core of a core 2 duo processor).

I initially misinterpreted some compass data and made a software tweak based on that which made things worse on the next run. After looking at the next run data I realized that I had misinterpreted the data and set things back as they were. I did several short runs trying to find out what the problem was each time going back and looking at the data and making small software tweaks. Things didn’t really get better until the last run I made when conestoga headed for and reached the first cone reasonably well but by that time my batteries were running low and I had to shut conestoga down (I use sla batteries running them too low will damage them)

After getting home later I decided to look at the data again and the answer to the problem was immediately apparent (which, of course, it wasn’t at the competition). Since conestoga was turning at the competition I concentrated on the compass and steering code. When I sat down and looked at the data in the comfort of my basement over a cold beer I realized that I would start a run BEFORE the gps had a good lock and conestoga would run off in a random direction because it didn’t know where it was. Every time I would do a run I would try to get going a quickly as possible so that I would use the least amount of battery power and because of that I had problems. Had I waited a minute or two I would have been ok (conestoga warm starts the gps every time it’s “program” is run). On the last run conestoga started in a direction that didn’t run it into some obstacle so I let it continue it finally got a gps lock and continued on it’s way to the first cone. I had, however, tweaked the steering code to the point that steering was very sluggish (it was taking conestoga 10 seconds to make a 35 degree correction) so it couldn’t turn very quickly or sharply but even with that it did reasonably well.

I had also installed a doppler microwave radar on conestoga that was actually very effective at detecting obstructions especially when used in conjunction with an ir line laser and a webcam hacked to only see ir (conestoga has two cameras one sees normally for detecting cones the other in ir for collision avoidance). However I had to turn it off because I had mounted it too low and high blades of grass would set it off.

Conestoga stops when the microwave trips the microwave code then has the line laser routine blink at the obstruction and compare camera images to see if the obstruction had moved away or was still there. For example, a person walking too closely in front of conestoga would trip the microwave and conestoga would stop but after they moved conestoga would continue on it’s way. If the obstruction did not move conestoga would back up a bit do a 90 degree turn drive a meter or so then continue the run. I found that, in addition to the need to raise the doppler module higher, the “blink” time between the images being compared needed to be lengthened to give people more time to move. All in all I think the doppler microwave radar is very effective for collision avoidance as it will detect both a brick wall and a bush reliably (which can’t be said for ultrasonic sensors) and they are reletively cheap, $20 – $30 for modules whose outputs are ttl compatible. Here is a link to some video showing the microwave/line laser collision avoidance working (and detecting tall grass). Jump to about 1 minute 10 seconds in the video.

There was a bit of hilarity when on one of the runs conestoga had detected a person in front of it and went into it’s collision avoidance routine while it was doing that people gathered around in a bit of a circle to watch it and it basically could not find its way out so it would backup turn, backup turn…, it reminded me of a bug in a jar.

I had a lot of fun and learned a lot.

HL

Me and my nephew at may robomagellan.

Me and my nephew at may robomagellan.

Conestoga at May 2013 Robomagellan

Conestoga at May 2013 Robomagellan

Posted in Conestoga and Robomagellan | Leave a comment

Goal Goal Goal…

My daughter graduating with a PharmD

My daughter graduating with a PharmD

Posted in Uncategorized | Leave a comment

Busy couple of weeks

For those interested in the DLP projector project I will be posting additional information in a week or so. Between a daughter graduating from college, the robomagellan competition coming up this weekend and work I have had a busy couple of weeks.

Here is where I’m at since I last posted.
I am re-using optics that are left over from the light path optics to focus the light from the uv led into the light tunnel. It looks like I will only need to use two of the lenses to focus nearly all of the light into the light tunnel. For close focusing I am going to move the entire projection/focusing/zoom lens “module” forward to obtain close focus using a spacer. The projector is very modular and the lens module is mechanically independent from the dlp “module”, it is attached with only 4 M2 screws. I should have details and photos some time next week.

HL

Posted in Uncategorized | Leave a comment