Showing posts with label mendel. Show all posts
Showing posts with label mendel. Show all posts

Friday 30 April 2010

Flash bang bed

As my MK3 heated bed on HydraRaptor has been working well I decided to scale it up for Mendel.

Buying aluminium that is flat seemed to be a hit and miss affair until a friend told me that what I need is tooling plate and put me in touch with a company that sells it. They recommended C250 cast machined tooling plate. It wasn't cheap (I got 5 pieces 200 × 200mm for ~ £140) but they are all flat.

I can't find a geometric definition of flatness. It is given as +/- 0.4mm for a 6mm sheet of C250 (I would have preferred 5mm to reduce the mass a bit but that is +/- 0.8mm). I take it to mean that all the points on the surface of a metre square plate will lie in a volume 0.8mm high. For a 200mm piece I expect the deviation to be about 1/5 of that, i.e. 0.16mm assuming it is a single curve rather than wavy. Since the bed can be levelled at the corners the deviation in the middle should be about half that again, 0.08mm, just about acceptable for raft-less printing.

When I tried levelling the bed I ran into a problem though. With my Dibond bed I could level each corner because it can flex a bit. With the rigid aluminium bed I can only level three out of the four corners at a time. When I move the nozzle to each corner in turn it behaves as if two diagonally opposite corners are lower than the other two. That would imply the plate is not flat, but I know it is when I put a straight edge across it. I think this means that the two y-axis bars are not quite level with each other at both ends, causing the bed to twist about the y-axis as it traverses it. I expect it could be corrected by adjusting the frame but I haven't got my head around what to adjust and in what direction yet.

Given that I am using 188W on a 150mm bed on HydraRaptor, to get a similar warm up time I would need 335W. That seems a lot to get from a PSU, so I decided to make it mains driven. I found that I could get 47Ω TO220 resistors cheaper than other values. Five in series across the mains gives about 250W, so I used two strings of five to give 500W. That gives a warm up time of about three minutes.

Equally spacing four or nine resistors on a square is easy but placing ten is an interesting problem. I used the solution to packing ten circles in a square that I found here. This is my layout with 16 magnets as well.



And here it is wired up: -



I used wire with PTFE insulation rated to 300°C. I have an earth connection of course. It would be a good idea to have a second earth in case the first one breaks due to the constant bed movement. I also fitted a 150°C thermal cut out that came out of a microwave oven. With 500W it would get very hot indeed if the control circuit failed.

I intended to mount the magnets the way I did before, by drilling holes not quite through, leaving a rim to retain them. I didn't tighten my drill stop enough and went all the way through so I decided to glue them in with JB-Weld.

I placed the bed onto a sheet of glass with some cling film on it. I then dropped in the magnets and glued them. When I turned it over the next day I found the magnets were sticking up from the surface. The glue must expand as it sets pushing the magnets down and lifting the plate!

I tapped them down with a punch but, unsurprisingly, they fell out the first time the bed was heated. In the end I jammed them in with PET tape. Drilling part way through is a much better solution.

I mounted the bed on top of the Dibond bed with nylon stand-offs.



Not an ideal solution as a lot of z-travel is lost, but the thermal cut-out is quite deep.

I used chocolate block connectors to wire up the mains. To make them safe and provide strain relief for the cables I RepRapped some plastic covers.



The lids just clip on with some tabs that fit into small slots. They didn't fit very tightly, I need to make the tabs bigger and a tighter fit. A boss and a screw hole would have been better I think.






For safety all the wires should be inside the cover as everything accessible should be double insulated. I will make it wider at my next attempt.



The bed worked well for the first few objects I made. Simple bang-bang control gave about 10°C overshoot initially but settles down before the object build starts so does not really matter. One thing I have realised is that the nylon pillars expand about 0.1mm when they warm up so I give them some time to do that otherwise the first layer has varying height.

I got some new ABS from reprapsource.com that turned out to be white, I was expecting natural as that is easier to work with. It seems to need higher temperatures to get it to stick to itself and the bed. I am extruding at 240°C with the bed at 140°C for the first layer and 110°C after that. I built one object like that and then disaster struck. The bed heated to 140°C and levelled off. While the extruder was heating I heard a few pops and crackles. When I looked at the temperature graph I saw the bed temperature soaring. Before I had time to think what was happening there was a loud bang and flash from underneath the bed and the 5A fuse in the plug blew.

What happened was one of the resistors developed a short between its tab and one of the connections. That caused a path to earth which increased the power on the remaining four in the chain. Several of those went short circuit as well in a chain reaction which ended up shorting the mains.What I couldn't explain at first was why the firmware did not turn it off and why the thermal cut-out did not cut the power. It turns out that I had swapped the live and neutral connections in the IEC connector, which meant that the solid state relay and the cut-out were in the neutral connection. As soon as the first resistor shorted it had bypassed all the control, not good!

I had originally chosen the resistors when I was making a bed for PLA at 60°C. Looking at the datasheet they have a maximum operating temperature of 155°C but they are de-rated to zero wattage at that temperature, so by putting 50W into them at 140°C I am grossly over loading them. I have abused AL clad and vitreous enamel resistors in this way and not had any problems but the TO220 seem far less robust. I don't know what they use for the tab insulation but I wouldn't be surprised if it was epoxy. The high voltage may also have been a factor as the ones on HydraRaptor have survived a similar overload so far. They have the same de-rating curve, but are made by a different company.

I rebuilt the bed and changed my firmware to stay inside the power curve by reducing the PWM ratio as the temperature increases. Unfortunately , I found I could only get to 130°C so I had to change the zero power point to 200°C to get to 140°C in a reasonable time. Even then it takes 400 seconds instead of 175.

So far it is holding up, but it is nowhere near as fast as I wanted. A shame because I had bought 50 of the 47Ω resistors, but I think I will have to scrap them and go back to AL clad. The smallest ones that I have used before are not rated for mains voltage so I will need some bigger ones. PCB or stick on silicone heaters are starting to look more attractive!

Sunday 21 March 2010

Making Mendel

I aimed to build my Mendel in time to show it at the Makerfaire in Newcastle but completely failed. I had two weeks to build it, which I thought was plenty. In actual fact it took closer to three weeks before I got it printing successfully. I had no major problems, just a few snags here and there and a severe underestimation of how long it would take on my part.

Printed Parts

Unlike when I printed two sets of Darwin parts, printing the parts was the easy bit. This was due to three breakthroughs I had at the beginning of the year: -
  • The heated Kapton bed removed the need for rafts, which not only take a significant time to print, but also can take a lot of manual work to remove.
  • The extruder fast reverse got rid of all the strings, which also took a long time to clean up, especially from inside the Darwin corner blocks.
  • The "no compromise" extruder is so reliable that I have the confidence to do multi-part, layer by layer builds, which gets a lot more on the table, allowing longer unattended operation.


I printed the parts with 0.4mm or 0.375mm filament and with 25% infill. For the larger parts I used two outlines for strength. Since the large parts don't need fine detail, I think printing them with 0.5mm filament and one outline would be quicker, but that would need a bigger nozzle.

The weight of the parts, not including the extruder, was only 730g. I printed the outlines at 16mm/s and the infill at 32mm/s, so it's hard to say the total time. Assuming an average speed of 24mm/s at 0.4mm diameter gives about 3 mm3/s. That would put the total time at about 65 hours. I did it as a background task over a few weeks. A lot of the parts were printed as experiments with heated beds.

Rods

I took me an evening to cut all the rods. The method I used was to nail a stop to my workbench to line up the rod against a metre rule.



I then lined a piece of masking tape up with the correct measurement and wrapped it round the rod to mark the place to cut. I also wrote the name of the rod on the tape to make it easy to identify later.



A Black & Decker workmate makes an ideal vice to hold the rods while sawing. I rotate the studding until the thread lines up with the edge of the masking tape. That guides the saw to start in exactly the right place.



I used BZP for all the studding except the z-leadscrews, for which I used A2 stainless steel because it is smoother and generally straighter. I bought the rods from Farnell and even the BZP studding was very straight, a lot better than the stuff you get in B&Q. I also used A2 for all the bars.

It was very hard work sawing the A2 until I switched to a new blade and used Trefolex cutting compound. I am not sure which made the most difference, but I could then cut the A2 much easier than I had been previously cutting the BZP. I wish I had done that earlier, it would have saved a few hours.



Thick Sheets

The thick sheet parts are not really suitable for making by hand, particularly the squashed frog. They have lots of slots, which are hard to make without a milling machine or a laser cutter, etc.



I am not sure exactly what the hole in the bed and the purge plate are for, so I made the bed a simple rectangle with four holes. I am using my own electronics, so I made the two circuit board plates to suite. I simply cut rectangles and I marked the holes and drilled them in the right place, so no need for slots. That just left the squashed frog.

I made a much simpler design with drill centres on it. There is no need for the bulging legs and sloping shoulders. I think they must be just to make it look more like a frog. Fine if you you are CNCing it, but a PITA if you have to make it by hand. Also the holes for the opto tab and the purge plate are mirrored for no apparent reason, so I made it chiral.



This just starts as a rectangle with some holes in it. Then the large slots are made with a saw thin enough to turn in the holes. The outer holes that mount the bearings can be round because they are in a a fixed place, dictated by the holes in the bed. The inner holes need to be slots because the bearings are adjustable. I just left them off the template and marked them with the bearings adjusted and in place.



I made the sheets from 3mm Dibond, which is below the recommended thickness, but seems stiff enough. It is also light weight and very easy to machine.

Thin Sheet

I didn't have any optos, so I used micro switches for my end stops, hence didn't need any thin sheet parts. I simply attached them to the bars of each axis with P-clips. A little RepRapped bracket would be better but I was building this in a hurry, so had gone into bodging mode at this point!







They seem to have sufficient repeatability and certainly will when I replace the electronics with my new design, which will know the motor phase, reducing the uncertainty by a factor of 32. It is the same switch that I have used on the z-axis of HydraRaptor, which has proven totally reliable. They seem to be this one from RS, not cheap.

Belts

These were easy enough to split but, because the reinforcing wires run in a spiral, the blade tends to follow one for a while before managing to cut through it. That leaves a ragged edge with a bit of wire sticking out.

I didn't understand the rationale for slackening the belts until you just don't see backlash when moving one motor detent. I am microstepping anyway, so a motor detent is not significant. I made my belts good and tight.

Snags

I had a few snags with the mechanical assembly: -

The x-axis spacers are too short. The STL files are 5mm shorter than the parts in the STEP assembly. That caused the motor to clash with the nuts on the 360 bearing.



The 180 bearing at the other end was about 10mm from where it should be.



A simple fix was to slide the axis along leaving a 10mm gap to the spacer, the only problem remaining is that the spacers rattle at certain step rates.



The STEP model shows this gap should be only 5mm, but I have been unable to find the discrepancy. My rods and inspection distances are correct and the ends of the rods are flush with the clamps, as they are in the model.

The bed springs seemed to be too long to compress to the length of the bed-height-spacer-31mm_1off, which is not actually 31mm, but 29mm, so I don't know what gives there, I just spaced them a bit higher.



The bolts in the z-bar clamps are too long to allow the bearing to be inserted. I replaced them with shorter ones.



Similarly the bolts in the x-carriage get in the way of the extruder I fitted.



The J3 jigged distance did not seem correct. The distance between the y-bars is set by the J2 distance and the 3 nut spacers.

Extruder

I used Wade's extruder design as I didn't have time to adapt any of my own.



The gears work well, with very little backlash, but the small one has some movement on the motor shaft. It is just a press fit with a flat on the shaft. I need to redesign it with a captive nut and grub screw.

I didn't have a suitable M8 shoulder bolt so I made one from brass by attaching a nut with a pin through it.



I hobbed it with an M3.5 tap. I haven't measured the grip, but I get the impression it is not as high as Wade gets, I am not sure why.

For the bottom half of the extruder I used some parts that Brian was looking for volunteers to test for him.



The insulator is made from PEEK with a PTFE liner. The idea being to get the strength of the PEEK and the slipperiness of the PTFE. It seems to work well with PLA, which is all I have run through it so far.

The barrel is long because it is designed to take nichrome, but I just screwed it into a block of aluminium with a vitreous enamel resistor in it.



This was left over from a previous experiment. I have now moved onto a smaller resistor size, so this block could be smaller. The barrel could be a lot shorter with this arrangement and that would give less ooze and less viscous resistance.

The extruder works well with PLA. The main problem with it is that it mounts at right angles to the x-axis, so the motor severely restricts the maximum height of the z-axis. Another issue is that to remove it you have to remove the motor to get at the bolts. To remove the motor you have to remove the big pulley to get at the motor's bolts, to do that you have to remove the pinch wheel assembly. I.e. to remove the extruder you have to completely disassemble it!

Electronics

To get up and running quickly I used the same electronics that I use on HydraRaptor. The only difference being that I used MakerBot V3 stepper drivers. These use the A3977 chip and give x8 microstepping. That gives an axis resolution of 0.025mm, but more importantly gives nice smooth running.

When the weather was exceptionally dry I found they are very sensitive to static. A discharge to any part of the machine would cause the A3977 to shut down its outputs and draw enough current from the 5V rail to cause the 100mA regulator to current limit. The red LED on the power rail goes dim. Powering off and on again fixes it and there doesn't seem to be lasting damage. I suspect that might not be the case if the 5V rail was not current limited. Apparently the only way to fix it is to add external Schottky diodes. That is very disappointing as one of the nice features of the chip is that it is supposed not to need them. I will investigate further to see if all eight diodes are needed before making my own board.

Firmware

I used the same firmware as HydraRaptor. I just added some compile time conditionals to cope with two pin outs and a different IP and MAC address for each machine. I also had to change from 16bit to 32 bit positional commands because the axes are bigger.

Software

I used the same Python software as HydraRaptor but I had to re-factor it quite a lot to support both machines. I added a class to represent the Cartesian bot which holds the axis resolution, direction, maximum speed and acceleration plus the IP address. I also added a class to represent the extruder controller as I have calibration values unique to each board. I already had classes to represent thermistors and extruders.

I can run both machines at the same time from one PC and, because I only use the Skeinforge output for the toolpath, I can use the same sliced files for either machine. This is despite the fact that they run at different speeds and are loaded with different plastic.

Results

So here is the finished machine: -



And here is a video showing it being tested: -


I am running the X & Y motors at about 0.75A and Z at about 1A. I have set the maximum XY speed to 100mm/s, but I think it could go a lot faster. Z only goes at about 5mm/s because not only is it a threaded rod drive, but it is geared down by the belt and pulleys!

I haven't printed a lot yet, but so far the results look as good as they do from HydraRaptor. The next thing to do is add a heated bed and try ABS.

Wednesday 17 February 2010

PMMA on PI

Previously I described how I made some lamp shade clips for some friends from PMMA (Acrylic). Unfortunately the clips got lost in the post so I had to run off some more. I used a sheet of acrylic as the bed the first time, but since then I have developed my magnetic bed with PI (Kapton), so it was an interesting experiment to see if PMMA would stick to PI.

The originals were made with the bed at 100°C, but the insulating effect of 4mm of PMMA gave a surface temperature of only~85°C. That was sufficient to form a partial weld strong enough to resist warping. My first test was with the bed at 100°C, but that came loose after a few layers. With the other plastics I have found I need a higher temperature on PI because it does not form a weld. It sticks by some magic that I don't understand, possibly Van de Waals forces.

I tried again with the bed at 130°C and this time it stuck well but was easily peel-able by bending the bed. So another plastic that works on hot polyimide.



I have also been doing multi-part builds one layer at a time, something I hadn't dared to do until recently because my previous extruders were not reliable enough to risk a bed full of objects.

If you get the height just right on the polyimide bed the first layer comes out almost perfect. You can actually make one layer thick objects, i.e. 0.3mm in this case.



These came out very well.



I arrange multiple items by reading the STLs into AOI and orienting and positioning them. I then union them together in pairs and then union all the unions until I have a single object. I then convert that to a triangle mesh and export it as a GTS. If I don't convert first I only get one object in the GTS rather than the composite. I then slice as one object.

These springs show a very rare bug in Skeinforge or my code where it does a move with the extruder on. That is the only time I get any string.



Here is an assortment of smaller parts :-



It is best to group the taller parts together so when it gets to the higher layers the head does not have far to travel.



There were so many in this build that it overlapped the hot part of the table, so a few corners lifted a bit. I think ideally the table should be a bit bigger than the movement to keep some warm air around the objects. Perhaps a wall around the edge would keep some heat in.

I did have the crazy idea of building a wall around the objects as they are made so that there is a small gap of trapped hot air around them. I.e. the machine builds a disposable cocoon around the object to act as a heated build chamber. It would be a bit wasteful of plastic of course but it could be made from a cheap paste if we had a second head.