Monday 14 October 2013

Sanguinololu Heated Bed Connector Failure

Recently, an unpleasant surprise greeted me when I went through my usual pre-print checks on my printer to make sure there weren't any loose bolts, obvious shorts or loose connections. At first I thought that it was just a bit of dust on the heated bed connection but on closer inspection it was obviously burnt. It hadn't been like that when I started my last print or I would have seen it; in hindsight, that connector must have got ten very hot. At this point I still thought that it was only a small burn and that I could still get a print in but luckily, having time, I didn't risk it and tried to pull the connector out - it was fused in place and took a lot of nerve-wracking work with pliers in the small space around fragile components to remove.

Upon removal it was obvious that this connector had had its day so I cut it off and was thankful that I had some screw terminals on hand which I could replace the under current-rated Molex connectors with, the pins on the board were also covered in charred plastic residue. It was very lucky that I decided to replace the connector because I discovered that the wall in the plug between +12V and ground had been burnt away, so a short could have happened very easily and blown the bed MOSFET which would have been a real pain.

I then soldered in the screw terminals. Desoldering the old Molex pins was a pain with only solderwick available as I could never quite get all the solder out of the holes, so a solder pump/sucker is on my list of things to buy. It was only possible to get it off by pulling the plastic sheathing off the actual pins (which is risky because it puts a lot of stress on the board), so they could be individually pulled out while the solder was molten. Afterwards there was still solder left in the holes to remove, I've found that the best way to tackle this with only solderwick is to put as much solder into the hole as you can so that there is a large bulge of it coming out of the hole, then add lots of liquid or gel flux on top of the little domes and try to wick the solder out with the solderwick. I found that you have to leave the wick and iron there for at least 7 seconds to be sure of clearing the hole, some holes took me a few tries. 

The screw terminals that I used were very hard to find, it turns out that 2.54 mm pitch (do not get 5 mm or 5.08 mm pitch by accident as these are by far more common) screw terminals are hard to come by and that 4 pin ones are even rarer than 2 or 3 pin ones. I couldn't find them on element 14 or similar suppliers and a search through eBay's own search engine turned up nothing, but Google directed me to these ones on eBay with the exact same search query I put into eBay's search engine. eBay's search engine is broken. So far this is the only source for 2.54 mm pitch 4 pin screw terminals that I have come across. They appear to be rated (according to some writing on them, for 6A up to 150V per pin with RU certification though I would take this with a pinch of salt given the lack of branding and the supply source). Fingers crossed that these will work for me. Also of interest, nophead has his own Sanguinololu modifications which I think would leave a lot more margin for safely carrying the bed's current but a ring terminal is needed and the modification results in it being a bit harder to get a heat sink on the MOSFET.


Sunday 29 September 2013

Experimenting With Acetone

After seeing many gloriously polished ABS prints which had used the acetone vapour method for smoothing and hearing of the legendary adhesion achievable on a heated bed with a fine coating of ABS juice, I decided to buy some acetone and see for myself whether it might help me in some way. People had said it could be had from pharmacies, hardware stores or even from the supermarket in little bottles of nail polish remover(though apparently a lot of nail polish removers are now acetone free), so I went to the hardware store where they sell a litre of it for $10 (I don't know if this is good value or not, but it sure won't break the bank anyway).

First up I tried the vapour smoothing method on an ABS model I had lying around - a squirrel with plenty of curved surfaces for the acetone to smooth and polish up. The first thing I noticed was how fast this stuff evaporates; I spilt a bit and it evaporated in seconds, the evaporation also makes it very cold when you get some on your hands. ...and on a note of safety: acetone is flammable and though not a proven carcinogen, it's not something you really want to breathe the vapour of or have on your skin for a long time and especially not in your eyes so be careful. Take care where and what you store it in as well: some types of plastic containers may dissolve and acetone in a hot place = vapour = pressure/expansion. This was the setup I used:
The squirrel before the acetone vapour treatment

A platform I quickly put together to suspend the model above the acetone. It is made from some solid-core copper wire twisted together then bent into shape, there is then a piece of aluminium foil put over the loop at the end for the model to sit on. At the top is a hook which goes over the rim of the jar. This platform is not very effective because it doesn't sit far enough down in the jar to allow the model to get the most of the acetone vapour which is most concentrated lower down. Also, it's not very stable and has a tendency to push the model into the side of the jar under gravity.
The jar sitting in some boiling water with the squirrel suspended, about 2mL of acetone in the bottom of the jar and the lid just sitting on top of the platform's hook since it doesn't allow it to screw down - good for stopping pressure build-up I guess.

The final result of the squirrel sitting in the jar for about one or two minutes. The plastic is definitely a lot shinier, especially lower down, and there are no layers distinguishable lower down. I took it out at this point because the surface at the bottom was starting to get very gooey and liquid-like to the touch, whereas it did not appear that much was happening with the higher layers. The main disappointment is that it has not been uniformly smoothed, with most of the smoothing at the bottom, I think this is because the vapour is most dense in the bottom of the jar and the platform the model was on was already too high up in the jar. When the model first came out of the jar its surface was very soft to the point of being gummy, after about ten minutes, it was hard enough to gently pick up but I easily left a deep gash with a fingernail, in the end it took a couple days for it to fully harden to how it was before the treatment.

After the vapour treatment experiment I decided to make some ABS juice with which to coat the bed to get very nice adhesion (or so people say). ABS juice is just a bit of ABS dissolved in acetone so the liquid mixture can be put on a paper towel and spread over the build platform, with the acetone almost immediately evaporating, leaving a very thin, even coating of ABS. You don't need to dissolve much ABS in acetone for this to work, I put the little ABS pieces seen in the photo above into that half-full tube in the photo. When coating the bed you will notice a quickly evaporating streak of acetone behind the wad of paper towel, I keep wiping the towel over the glass until I very barely see a bit of cloudiness on the glass. I don't seem to need much for it to adhere very well and I don't want parts sticking like crazy and pulling chunks off the glass when the bed is cold. How concentrated and how much ABS juice to apply appears to vary by supplier of filament and bed surface according to people's experiences I have read in the RepRap forums
The colour of the acetone after the ABS dissolved in it.

The bed appears to need to be coated again where the footprint of the part was after each print as each print takes the coating with it. An alternative to re-coating after every print is to "redistribute" the ABS residue from unused parts of the bed by wiping the bed with acetone, though you will still have to apply more ABS juice every few prints to "top up" the bed with ABS residue as "redistribution" takes a lot of the residue away in the process. Also, nophead claims that ABS residue can get baked on after a while of sitting round not being redistributed or printed on, this baked on residue becomes discoloured and is allegedly highly adhesive and thus tends to pull shards of glass off with the part. So even if there are some areas round the edges of your bed which barely get used it may still be worth redistributing and re-coating along with the rest of the bed.

I think I am going to permanently move from using sugared water on the bed to using ABS juice. This is because it saves time and has better adhesion, though it is much more expensive than some sugar and water. With ABS juice I don't have to create a new mixture every week due to stuff growing in it as it sits around, as with sugared water. The coating on the bed can also be redistributed instead of cleaned and re-coated which takes less time. Also I don't need to wait around for the bed to get to 80 degrees C before I can even coat it(this takes about ten minutes): ABS juice is just applied at room temperature because the acetone evaporates so quickly, so now when I click print I can walk away. With sugar water I have to be at the printer on the first layer because when plastic first comes out in inconsistent sputters during those priming loops, it has a tendency not to stick and instead clumps to the extruder. The blobs then begin pulling up good outlines when the filament flow is fully primed, the solution is to wait with a bamboo kebab skewer and push the blobs off the moving extruder and into the bed. Because of this I have to wait the full twenty or so minutes it takes the printer to warm up, stabilise temperatures and begin its first layer after I hit "print". With ABS juice these blobs never form in the first place because even the inconsistent, sputtering priming extrusion loops stick to the bed. On top of this, I save time after the print is done since I don't need "brims" around the base of the part to stop the odd corner lifting a bit since ABS juice has stellar adhesion, thus I don't waste time removing the brim afterwards. As always, parts just detach by themselves when the bed is cooled.

If you use ABS and can find some acetone I recommend giving this a go, especially if kapton of PET are not your thing or too expensive to get hold of.


Monday 9 September 2013

Filament Feed Tube - a Z-Artifact Fix?

In a previous post I went into detail trying to explain and cure the z-artifacts that I see in my RepRap's prints, though I had only been partially successful, I did mention that there were still more things to test and to try.

Well, a few days ago, a teflon (PTFE) tube arrived in the mail - a guide tube for my filament. Other than possibly being able to fix certain kinds of Z-artifacts caused by filament dragging and pulling the carriage around as the carriage is not 100% solid, the tube allows for peace of mind for unattended printing. This is because it transfers the drag of pulling filament off the spool directly and only to the extruder instead of pulling on the weaker X axis which can cause devastating skipped steps.

THE SET-UP:
The tube with filament in it. It is important to make sure that it will have adequate length to comfortably service the whole range of the machine's motion. Also, the tube does not have to be a tight fit to your filament's diameter, mine has an inner diameter about a millimetre larger than my filament. It is best to try and use a tube with as thin walls as possible to reduce the drag on the machine from having to bend the tube + filament.

Teflon cannot be hot-glued directly so I attached two tightly-fastened zip-ties to the tube and then glued the zip-ties down with plenty of hot glue. Using two zip-ties with a decent amount of spacing is important or the force of the tube being bent will put a lot of twisting force on the first tie and quickly pull it off. The tube only has to be fixed to one structural point; the extruder end of the tube is not fixed down.
THE RESULTS:
 
My first print with this modification on my printer. The layer alignment looks very good but that is mainly due to the shape of the object and lighting hiding still-present Z-artifacts

The layer alignment problems are easier to see at this angle with a different lighting angle.
The bunny on the left was printed with the tube and the one on the right was printed before both the filament tube modification and also before I replaced my Z couplings with super-flexible hosing tube.
You'd be hard-pressed to spot much difference - which indicates that the Z-artifacts weren't coming from the older Z leadscrew coupling or lack of filament feed tube.
WHERE TO GO FROM NOW:
I think I will build a new extruder cold end (the feeding mechanism) as I suspect that the hobbed bolt currently installed may not be perfectly even. Now having access to a lathe, it should be very easy to create a precise bolt. Also, I have noticed that the gears on my current extruder do not mesh evenly and have some problems with eccentricity. All of this could be leading to slightly irregular feed rates of the plastic - it only takes a small irregularity to cause significantly more or less plastic to be fed, which in turn is easily observable as layers having too much plastic and squeezing out. I will post an update when I get around to trying this.

Monday 2 September 2013

Building a CNC Router/Milling Machine

As my next big project, I am going to be designing and building a CNC milling machine. I am aiming for something that will have a working area of at least 700x700mm, be able to cut steel and still maintain accuracy on small scale objects such as is needed for PCB milling.

For the machine's electronics I am going to use four, possibly three NEMA 17 stepper motors driven using StepSticks on a Sanguinololu. I decided on a Sanguinololu over an arduino and GRBL shield because the Sanguinololu has more memory and came out at the same price (self-assembled) as an arduino and GRBL shield. The Sanguinololu also has a lot of expansion capability with four motor drivers and two fairly high power MOSFETs to name a few. This will all be powered at 12V using an ATX power supply. I wouldn't use an ATX on a 3D printer due to the high-current heated bed which needs a very large 5V ballast to get an acceptable 12V line, but since this one will just be driving some motors which don't need much torque, it won't matter if the voltage dips a volt or two.

I am going to go with a gantry design which moves the X axis to allow Y positioning while having a stationary bed, unlike a 3D printer. As for movement, I am going to use ACME leadscrews, probably only single start to save money at the cost of speed and I will definitely be using some anti-backlash nuts. Once again, single-start nuts are much cheaper and more widely available than multiple start ones. Also, there is a place locally which can supply ACME threaded rods.

The frame will be made of MDF, but once the machine is up and running I will use it to re-create some parts in aluminium if I'm not happy with them. 

The ways will have to be very sturdy to meet the requirements, but linear rails and bearings get very expensive, especially when they have to be thick, so I will create my own linear rail system using 608 size bearings (sometimes known as skateboard bearings) and steel which can be had from local steel suppliers. There is a local supplier in mind that sells in qualities ranging from structural-use to precision-ground engineering metals. The idea will be to get the sturdiness in the rails from  much cheaper, slightly less accurate square tube steel which may not have the best surface finish. Then mounted to this less well-finished square steel tube will be some much more precisely finished flat steel bars which don't have to be all that substantial as they will just act as a good quality surface for the bearings to roll on. Obviously the supporting steel tube cannot be absolute garbage which varies a whole lot over its length (unless I look into a shimming system which can still keep the rigidity). I am hoping that this approach will both save some money and also allow the contact surfaces to be replaceable if they wear out.

As a spindle, I will start off using a rotary tool/Dremel. Later on I will use my lathe to create a much better spindle with a good quality collet and bearings and be powered by a brushless motor and ESC, perhaps an RC car one if I can get away with it not overheating. This may require a power supply upgrade depending on the size of the motor I choose, but regardless has an extra advantage of being able to control the ESC using a spare Sanguinololu pin.

Will I be using the Mendel90 to create any parts for this machine? Probably not anything critical, as the machine has to be as rigid as possible. Perhaps I will use it make some vacuum attachments and an electronics enclosure.

Here is some of my progress so far:
I bought 5 low resistance NEMA 17 motors for about $60 off AliExpress from Wantai motors, shipping was quick (about a week because I chose Fedex IE) and communication was pretty good, but be very vigilant when shopping on AliExpress. For example, always try to make sure, by choosing fast shipping and taking into account a seller's dispatch time, that the item will arrive well before your credit card dispute window closes. If the seller charges an exorbitant fee for anything but default, slow shipping (which can take over a month), don't buy from them. This was one reason I didn't buy a cheap Sanguinololu from some other seller on the site.

A close-up of some StepSticks off eBay, all soldered up and ready for testing. It cost about $30 - 40 for four of them. In the previous photos you could see five, as I had a spare one from a previous purchase.  I will now have two spares for the CNC and 3D printer once done as the CNC will only use three.

The stepper motor and StepStick testing and calibration set up. Every motor and driver worked and there were no problems.

A Sanguinololu from Think3DPrint3D on eBay. I bought it un-assembled to save money and because I wanted to play with a new (budget) soldering station I had bought. I replaced the 2.54mm pitch molex connectors which are supplied for the motors, hot end and bed connections with 2.54mm screw terminals. These screw terminals have the advantage of being able to carry more current (good for a heated bed) and also of removing the need to assemble a connector onto the wires you want to connect. Due to the need of crimping to assemble these connectors properly, which requires an expensive tool, or a painful and slow hand-assembly method, I do not like them. The end-stops were the only ones on which I kept the molex connectors. For the thermistor connections I put headers instead of the 90 degree molex connectors in case I ever have to use this board for my Mendel90 where there is not enough space when mounted for the 90 degree connectors.

The board went together fine in a few hours of soldering (split up over bits of my free time), and I managed to solder the whole thing with no bad joints (yay!), although I soldered a MOSFET a bit wonkily.
I haven't fully tested the board yet, other than having tested the USB and FTDI chip early on during assembly, then later checking for shorts with a multimeter after which I looked for solder bridges, all I have to do now is bite the bullet and plug it in.
Well, that's it so far! As I progress with the design I will post updates.

Monday 26 August 2013

Exploring Print Adhesion Problems

There are many ways people get their ABS to stick to a heated bed, the most common being covering the bed in kapton, PET or a coating of ABS juice (ABS dissolved in acetone). I haven't used any of them (too lazy to buy any) so I instead use a slightly less conventional choice: water with a tiny bit of sugar dissolved in it which is applied to the bed's glass surface while hot. This has worked perfectly in the past, however I've been having quite a lot of lifting from the bed lately. The solution I currently use is about a 1:50 dilution. I apply it using a paintbrush, painting the mixture on using swirly movements. However I don't think I'm getting the best out of this sugar mixture given how well parts used to stick.

Lots of warping on a BeagleBone case - a recent pritn. Click on the image to see a
larger version and zoom in to see what I talk about below with layer deformation.
This problem seemed to have manifested itself as the ambient temperature fell due to the onset of winter. This led me to blame the lower air temperatures causing increased warping forces on parts(which does indeed happen), but on closer inspection, this didn't make sense. Why? Take a look at the original X motor mount which I printed for my machine (at a time when I had the best adhesion) as an example. Though deformation could be seen in the layers from large warping forces, the plastic never lifted from the bed; it probably would have de-laminated before becoming detached. Compare that to more recent prints - a BeagleBone case - large warping forces too, but not a sign of any such strong bed adhesion. The main reason corners were lifting wasn't to do with a lower ambient temperature creating more warping forces, the main problem was with bed adhesion - something that really doesn't have much to do with ambient temperature since the bed is heated up to the same temperature for every print.
Zoom in on this and see how on that edge all the layers near the bottom curl
upwards but the very bottom of the part still stays flat due to the layers
stretching to make up for this curl and extreme bed adhesion at the
same time.
So if it wasn't ambient temperature, what else had changed since then to produce such drastically different results? A lot, I realised. To list them: my bed wasn't heated to as high a temperature as it used to be, I didn't squash my layers down as much as I used to and the concentration and way I coated my bed in sugar water had changed. All these changes I had made for justifiable reasons at the time.

On my old machine I used to heat my bed to 120 degrees C when measured at the very edge of the bed on the surface. This is the very coldest point on the bed, meaning that I must have reached temperatures of at least 130 on the surface at the centre and even higher temperatures underneath the insulated bed). When I built my second machine I put the thermistor under the bed, right in the centre, like most people do. I also began using a bed temperature of about 115 degrees C (measured from the centre on the underside), this is about the bed temperature most people use so I thought there was no need to go any higher. This translates to perhaps 105 degrees on the top at the centre meaning that the temperature I now use is actually about 25 degrees colder than I used to use. Now I'd just like to get an IR thermometer to check all this rather than estimate.

As for squashing down the layers, on my old printer I had trouble maintaining a level bed (set it, do a print, and it's changed kind of stuff), so what I would do is set the layer height lower than what the slicing software thought(so I at least didn't have too much height if my badly-leveled bed dipped down). At times the hot end even dragged along the bed for parts of the first layer if the bed was higher-than-expected in some places. This wouldn't cause damage on that particular machine because the X carriage was able to pivot easily due to a bodged "floating bearing" on one side which could rotate upwards off the bearing and thus gain some height (though it was normally held down against the bearing due to gravity, quite hard to explain but I don't have any pictures). The end result was absolutely tiny and squashed first layers (0.1 mm).

I had also changed my sugar solution since then to be more dilute even though I hadn't had problems at the old concentration this was because I really wanted to stay far away from having too much which can cause the bed to become all slippery to the plastic and end up creating a big blob on the first layer. I used to use 4:100 but now use 2:100. My logic behind decreasing the concentration being concern about a particularly over-coated patch of the bed becoming slippery (because the solution doesn't tend to come off the brush perfectly). It also seemed that I was getting away with this lowering of the concentration until I really started to think about now vs. back then.

To test these three possible factors I will do some experiments, so far I have completed an experiment on getting the concentration right which is what the rest of this blog post will be about. When I complete the experiments on squashing down the first layer and on finding the best bed temperature I will post some more results.

SUGAR WATER COATING EXPERIMENT
For the sugar solution concentration experiment which this post talks about, I printed three copies of the same object at once, each placed on the bed such that they would be on areas of the same approximate temperature and each receive about the same airflow. The areas on the bed where these parts were printed were coated in their respective number of coatings of 1:100 sugar water to achieve the desired equivalent coatings of 1:100, 2:100 and 3:100, with multiple coats also helping to ensure even coverage on the bed. Printing the parts at the same time had the advantage of saving time and also making sure that all parts were subject to the same conditions (not including sugar water concentration of course).
The spacing and positioning of the parts.
The prints shown here are three Mendel90
vertexes which are small in size for a quick print,
but also high-warp due to high infill percentage.

COATING EXPERIMENT CONDITIONS:
Ambient temperature:                       12.5 degrees Celsius
Print Material:                                   ABS
Sugar Solution Concentration:          1:100
Bed Temperature:                             105 degrees Celsius
Object 1:                                            1 coat of sugar water
Object 2:                                            2 coats of sugar water
Object 3:                                            3 coats of sugar water


RESULTS:
Here are the undersides of the prints, the blue lines were drawn on
with a permanent marker to indicate the boundary between where the part
has stuck to the bed or come off the bed.
Interestingly, print 2 did the worst, with print 1 coming in at a marginally better second-worst and print 3 with the 3:100 coating being the best. Perhaps print 1 beating print 2 can be explained by a difference in airflow, being that that print was off to the far left - maybe I didn't get the airflow quite equal for all the parts. Though I doubt the airflow explanation since the ring of separation from the bed is so uniform and an airflow in a particular direction would show as a couple corners lifting significantly more than all the others. Also the low profile of the parts and the spacing really should mean that they cannot shield each other. Then again it could have been really minute differences in bed height that caused this(I did take a lot of care leveling the bed before this experiment). Or maybe it is just that a 2:100 coating is really bad, either way it looks like I will use the 3:100 coating from now on, being visibly better.

Monday 19 August 2013

RepRap Z-Wobble Woes

While I am happy with almost all aspects of my Mendel90 that I built, I have never really been happy with one aspect of the print quality. That aspect of print quality is z-wobble. Or so I thought it was, as I have so far found out, it must be a much more difficult to remedy Z-artifact problem.

This is how prints looked when I first made my printer:
Very typical Z-Wobble - it has the same pitch as the leadscrews of the Z axis and is easily fixed in theory by removing a bit of constraint. However, even at this point in time, the Z-artifacts were inconsistent - they could be horrible one print and then hard to spot on the next.

The first thing I tried was to install a new type of nut trap (pictured below) which transferred virtually no movement except for movement in the Z direction - a desirable thing. Along with this initial modification I then drilled out the holes that the Z rods pass through to give them a bit more room to turn without knocking about, pressing against the X ends and to make up for inevitable misalignments. But if you looked closely there were still artifacts, and now they were looking different and more irregular, I guess the Z-wobble, which was now reduced by a great deal, had been concealing these other artifacts.


I then tried re-seating the rods in the old couplings and not over-tightening them in an attempt to align them more accurately and make sure they couldn't exert too much force in the X and Y directions, but this still didn't grant results I was happy with. I eventually moved to another coupling method - using my lathe to turn down the ends of the rods to 5mm so a flexible section of tubing could be used as a coupling. Alternatively I could have just used 5mm threaded rod.
The coupling system installed. I may have to replace
the cable-ties with hose clamps because the tube
softens up a bit due to heat - no problems so
far though.
The turned down end, I was very impressed given that
it was done using my first home-made/ground HSS
lathe tool. Cutting stainless-steel too!
In the background is half of an old coupling, a nut trap
and also a badly heat-deformed (from the motors) piece of
tubing that went inside the old coupling.
















































After all these mods, done over much time, I got this print quality on an X Motor End for a Mendel90 - unsatisfactory to say the least:
However, I was now certain that the Z-wobble was gone and that this was something else. This is due to the fact that the misalignment does not happen at regular intervals and does not look like a sinusoidal wave of  X-Y layer displacement. Instead it happens very randomly and can go from the displacement varying every layer to happening every 10. The displacement is also very slight - about 0.1mm most of the time, however under certain lighting and angles, and with my highly-opaque white plastic, I can either hide it completely or make it look ugly. I suspect that if I put my plastic into an UP! or a Makerbot Replicator, the prints would come out with a bunch of highly-visible ugly artifacts like this too, but the photos of their parts sure do look nice. Having actually seen UP! prints I can say that the slight transparency that their white plastic has hides a lot, for it is very, very hard to distinguish layers by eye even at large layer heights. Holding hard, 90 degree edges up to light gives away a lot of small, but visible layer alignment issues on the UP! too though.

So, still looking for answers, I thought it could be backlash or skipped micro-steps as per Nophead's excellent article on micro-stepping. So I tightened up my belts and changed a few things with how my StepSticks were set up. I didn't read too in-depth into his article to know how it all related to my motors as they are low-current and high-resistance and I didn't really bother with the maths. So I didn't calculate the off times to get the PWM right for small-current portions of the micro-step cycle given current decay in the windings, let alone how to set this on the driver. But reading through the data sheets and his post, I realised that if I set my current too high with the potentiometer, say 0.4A (hey, I thought having a bit of juice available to them was a good thing) when my motors only draw 0.3A per winding at the drive voltage, the motors would have very bad and uneven micro-stepping. This is because the potentiometer does not directly limit the current to the motor by being in the path of current travelling into the winding, it is instead a user-set way of telling the driver at what current the 100% current level should be. This 100% current level is when all the current is in one winding and the other is completely off - a full step. If you set it above the current a motor can actually draw due to its resistance, the motor may actually reach full current in one winding while the driver is on the 13th out of 16 micro-steps or whatever, causing some really dodgy stepping.

I was in fact able to see and hear this, the motor would, at very slow speeds, change its sound and start and stop when motion should have been continuous. After setting the current properly, movement was smooth and the tone of the motor didn't change nearly as much. I might still only be getting effectively 1/8 or 1/4 micro-stepping for all that I know though, but at least it's smooth. That is something to look into another time. Here's the resulting print, it's still got all the same problems so it looks like the micro-stepping or belt backlash wasn't the big culprit:

Ah well, after all that effort investigating the motors I at least have gained some knowledge on stepper motors and hopefully eliminated that visible artifact on shallow curves and low-angle X-Y lines where it looks like the line is uneven with little bumps due to jerky movement.

There are a few more things to test including an unevenly hobbed bolt and badly-meshing gears on the extruder, my bed changing height as it expands and contracts with temperature swings and also the filament pulling the carriage around a tiny bit - for which I have ordered a PTFE guide tube which will arrive soon for me to test, assuming free shipping from China on eBay is quick.

The RepRap magazine has an article on Z-artifacts if you are having trouble with them like I am, and I hope that you have gained something from this post.

Friday 8 March 2013

A Second Mendel90

So, after months and months and the beginning of a whole new year, I have finally finished assembling my second Mendel90, a true RepRap, from parts which were made on my first RepRap, a RepStrap version of the Mendel90. The RepStrap was scrapped for parts which were used in this printer; almost everything - the electronics, extruder, motors, belts, bearings, bed and bars were all saved, the only bit that wasn't was the old frame.
So why destroy the old printer to make this one? Well first of all, I didn't really expect all that hot glue in critical places to hold up for too long, and secondly, I had a mistrust of the old printer's accuracy. The old printer also had a smaller movement area, about 150 x 170mm and 170mm on the Z axis. This new one can achieve 200 x 200 x 160mm, a little less on the Z axis, but much better in the X and Y which is where I wanted the build area. I do however limit this movement area to avoid hitting the bulldog clips which hold down the glass plate to the build platform. Lastly, the Mendel90 provides a very neat wiring solution using ribbon cables, printed cable clips and  mounting holes and so on. All this is accounted for in the drilling templates. If you've ever made a RepRap with wires all over the place and a power supply hanging off to the side on your desk somewhere, you'll understand how nice this is.
The wiring at the back, I know it doesn't look neat, but really it is when you're working with it, and  none of it can move around so no worries with wires getting tangled, accidentally pulled out of places, etc. 

The build went as smoothly as I could have hoped for. Nophead's amazing python script was spot on down to the last washer. However, in the process of building this machine I did modify a few things, and there was a bit of bodging - mainly to do with printed nut traps, but more griping about that later.

First and foremost, I had to modify the OpenSCAD file for the X carriage to fit a Budaschnozzle - the nozzle I already had from the old printer. After exploring the file for an hour or so, you soon figure out the gist of what's going on and can modify it and pray that it's all working out right. This file I managed to keep nice and parametric, though you have to open its SCAD file yourself and manually generate the stl file for it - it's not part of Nophead's python script, though it does have dependencies on many original Mendel90 SCAD files.

... and for more tweaking of OpenSCAD files. I realised that one of my smooth rods on the Y axis was 16mm too short, and instead of ordering a new one, I decided to change the distance between the brackets, of course this means that you'll also have to move the linear bearings inwards a bit on the Y stage. This involved putting "-16" on the end of some parametric value which sounded like the right one when I was looking through the files like so: "Y_bracket_spacing_or_something_similar = something - something + something/2 -16." Assuming Y_bracket_spacing_or_something_similar is actually what you guessed it to be and isn't some value that only gets outputted into the BOM rather than actually changing the model and thus the drill templates, it should work as you intended. However there is one more pitfall - you must hope that Y_bracket_spacing_or_something_similar is a sort of "higher level" variable from which ALL the other Y axis-related stuff is calculated, i.e. bar length, distance between the two Y bearings, etc. is calculated. If not, stuff gets harder and you have to repeat all this guessing and searching for yet another value. Though it should be noted that this approach of "just insert a number here" isn't very parametric - very much a quick fix, in this case what will happen is ANY machine you generate will have 16mm less than what the original OpenSCAD script thinks it has. There must have been an easier way to do this that I missed...

Also, nut traps in the printed parts came out too small, especially the smaller sized ones, however I noticed that this only happened with the ones where the hexagonal perimeter was extruded on the X and Y axes. For M3 sized nut traps, some turned out only just over half the size of the nut!
There are a few possibilities as to why:
  1. My X and Y axes weren't calibrated well enough, however they can't have been too inaccurate given how everything still seemed to be printed in about the right place, give or take 0.1 mm or so.
  2. Corner cutting, probably one of the biggest ones since the corners on the hexagons seemed a bit rounded.
  3. Too much plastic - this is probably also one of the main reasons. For one thing, the top layers of some objects came out a little "over stuffed" with infill.
  4. See also arc compensation, this also applies to corners, where too much filament ends up on the inside.

Thanks to the shrinkage, I spent a lot of time scraping out nut traps with a small screw driver, or sometimes I even just drilled out the nut trap and instead held the nut with small pliers or a spanner while tightening. I don't know how I'll ever replace the Y belt, or the Y belt anchors now...

For the build platform, I couldn't find any hex pillars, so I came up with another solution. Note the star washers used along with the plain washers, these are very important to stop things coming loose with all the vibration.




The Z endstop set up. Also, on the Z leadscrew you can see a
Z screw isolator which was added much later to try and reduce
Z wobble. (Note that this is a very recent photo, it has been
many prints since the machine was first built)
Another place where I didn't follow the design exactly was the Z endstop. Though I printed out the part for the lower endstop I never used it. Instead I used the same method as on the old RepStrap. In what is one of the very few uses of hot glue in this machine, I glued the endstop directly to the gantry, in about the right position, give or take a few mm. To get the adjustability, I glued a couple M3 nuts to the side of the X axis and put a 20mm M3 bolt through them. This solution is more than good enough to allow for leveling, a build surface change, etc. if there's ever a big change I'll just have to pull the endstop off and move and re-glue it.

However, other than a few things, the build went smoothly, whenever I had time that is.



Here is a video of the first print:


The results of the very first print:
Not a great set of parts, barely even usable in fact, but it didn't stop me using them.
Why were these parts unusable? Pretty much all due to the extruder missing steps
because I set the retractions to be too fast.

This was the third print I did - the second print was the big gear for this extruder:
By now I had all the settings well figured out and prints were looking great
except for some Z wobble, which was at least still not as bad as on the old printer.


The first few prints were parts for the Wade's extruder which the Mendel90 uses, I hadn't bothered printing these on the old machine due to time. The machine was at first using Greg's hinged extruder and the ribbon cable was kept in place with a bodge which can be briefly seen in the video of the first print.

All in all, I am very happy with the printer and I can now print reliably and the bed seems to stay level much better so I don't have to worry about re-leveling every time I want to print and it's great not having to worry about hot glue melting.