Wednesday, 26 October 2011

HotEnd and OpenSCAD

I have had a little play with a few different bits of software that seem to be used by the RepRap community, but mostly only as much as loading, clicking a few buttons and closing. Now I feel it is time to get to know them more.

The first application I am going to play with is OpenSCAD as I need to have a good way to model parts.  I have been using HeeksCNC to do some modelling and generating G-code for use with my mill, but it crashes quite a lot.  The first thing I did was read about what OpenSCAD is, and as it happens I have always quite liked Boolean  modelling,  in 3dstudio  I use it quite heavily to make shapes, but I always felt a bit like I was cheating so nice that it is now the way to work.  The idea of just scripting seemed a little odd, but I do quite a lot of programming at work so not any real concern, I do think that a lot of people might find it un-nerving to have to script an object rather than just drag primitives around.

Here is a screen shot of OpenSCAD, nice basic look, the rendering can take quite some time depending on how complex the part is.


To get a my first taste of OpenSCAD I thought I would design my hotend idea in it.  This is similar to the JHead, the heated element is one piece, with no support peek block.  I also have kind of umm made a mistake, ages ago I got a couple chunks of Peek, a block, and a rod, the rod is only 10mm in diameter so this kind of governs the design I am using. I think it is also going to cause a slight issue when it comes to mounting the hotend onto the coldend? of the extruder.  If need be I am thinking I will make an aluminium mounting block,

Here is a view from OpenSCAD,

This is the ouline of the Hotend I am intending to make (CGAL Grid Only).
and the script used,

translate(v=[3,3,0])cylinder(h =3, r1 = 5, r2 =1, center =false);
translate(v=[-4,-10,-15])scale(v = [1.4,2, 1.5]) { cube(size =10, center = false); }
  translate(v=[3,3,-15])cylinder(h =11, r = 4, center =false);
translate(v=[-5,-5,-5])rotate(a = 90, v = [0, 1,0]) {cylinder(h =16, r =3, center =false);}
translate(v=[3,11,-2])rotate(a = 90, v = [1, 0,0]) {cylinder(h =6, r =.5, center =false); }
translate(v=[3,11,-12])rotate(a = 90, v = [1, 0,0]) {cylinder(h =6, r =1, center =false); }

translate(v=[3,3,-4])cylinder(h =9, r = .2, center =false);
translate(v=[3,3,-15.5])cylinder(h =17, r = 1.5, center =false);
translate(v=[-8,-10,-15])scale(v = [2,.7, .5]) { cube(size =10, center = false); }

My first impression, I have only crashed the application once, I can’t remember how, but generally It seems quite stable. As its scripting it would be very nice if it had some kind of IntelliSense'esk help. That would make a big difference when you first start to use it, with that said there is not that much to learn, so maybe not needed and of course a graphical way to construct objects would be very nice, but having the script does make changing things you have already done very easy.

I guess as it is open source, I can have a look at what would be involved to do this, maybe.

One of the tasked I will have to do is wright a very simple numpty getting started guide for my work college, but first I will play with a few more programs, currently I think I am already in favour of OpenSCAD over HeeksCAD, but I have only made a very simple item, and there are loads of other CAD options out there.  Also it does seem that you would also want to use another program that can generate DXF files and or STL files with OpenSCAD.

Monday, 24 October 2011


With the machine hopefully getting close to completion I thought I would deviate from making the machine and take a better look at the electronics and software.  A while back I got a few Generation 6 electronics boards made I chose the Gen 6 electronics due to the single(ish) board solution. I considered some of the other boards but a lot of them seem good/cheap and then require 4 Polou or stepstick modules.

One drawback of the Gen6 Electronics is the lack of Heated bed support, to start with I will not be using a heated bed then I will use a simple on/off bed and finally I will ask my brother to make me up a simple add on board.

Here is the blank PCB,

and here is the populated PCB.

With the board populated I thought it would be a simple matter of using the Arduino software to uploaded the bootloader and then load up the sketch.  But after trying in vain for a while, I decided to just download AVR studio. With this I uploaded the bootloader with no problems, and I had a "Sanguino" running.

When it came to uploading the sketch I had some more issue, this took a few stop and starts, as in try for half an hour and get fed up, download some other version and try again....

the error I was getting was

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

In the end to get the sketch to upload I think I had to do this:

1) Clicked upload.

2) Then hold reset down until the point where the message "Binary sketch size:.... " was shown.

3) LED start flickering, and then bam, it was working.

but at the same time I did re-upload the firmware on to the board. I will find out how well this work when it comes to calibrating the machine and I have to change the Firmware.

Next I thought I would give RepSnapper a go, this went very smoothly, loaded connected to the printer and was able to drive the motors and check on the thermistor temp. Good times.
But I did nothing else, I will at some point look at the software more fully.
Over the next few days I intend to put the X Y and Z axis together, and have a look at some other software to start with just a quick look at each.

Wednesday, 19 October 2011

Belts and bits

I finally decided on how to hold the Y-axis belt. I have used the same belt setup that you find on a Prusa, but I am only using 40mm of threaded rod. (washer, washer, bearing, washer, washer). I currently haven't added any nuts, I might add these if the wibble of the washers is a problem.

To make this I drilled holes to the required depth, and then carefully chiselled out the shape I wanted.


This left just the motor mount for the Y-axis to be made for the main frame to be complete (I’m sure it leaves loads of other bits I have forgotten about), for this I have cut out a square block of MDF 18mm by 50mm by 50mm and the drilled a mount for the stepper motor. so 4 holes 31mm apart and a 23mm hole in the centre.

(img of mount)

The motor is rotated 45 degrees so that the screws holding the mount onto the rest of the frame did not get in the way of the screws holding the stepper on to the mount.
I have drilled all the holes and counter sunk them for the frame, so I have put half the screws in to check that it is all fitting together here is how it looks now.

already it is feeling pretty solid so that bodes well. I will leave it in this state until I have tested the movement of the machine. Then I will screw and glue all the parts together.

Next: I will add the Z-axis (2 x threaded rods, 2 x smooth rods a few nuts and bolts and the printed parts),  and cut a base plate for the Y-axis

I feel it is looking good, I must get the Z-axis on my mill working, so I can make a hotend, I have a design in my head, a bit like the Jhead, but slight inverted.

Wednesday, 12 October 2011


I have now added what I think are Lap joints to most of the joining parts of wood, except the top part, I guess I should also use Lap joints for this part, we will see.  I also intend to add support blocs in all the corners if needed. And have drilled the holes for the 8mm rods.  As I like to see how its coming I put it all in place (part way through) only to notice my first mistake. look close can you see the issue.

The Y-axis rods are centralised to the wooden frame rather than the Z-axis mounting.
What is the best way to resolve the issue, The choices I came up with were:
1) Re-drill the holes for the Y-axis.
2) move the Z-axis
3) just leave it as is and hope it does not matter.

I suspect I could have gone for 3 and it would not have mattered that much, but I guess mounting a build platform would have become an issue.
Initially I was intending to just go for 1 and move the Y-axis to the middle of the Z-axis mounts, but after in the end I decided I would rather maximise the XY build area and sacrifice a little bit of build height, so have opted for 2, also after looking at it with the wades extruder in place, i would have lost the Z hight anyway.

Next I decided I would mount the Z-axis stepper motors. This went relatively smoothly, with a couple hitches, first the holes I drilled were not perfectly positioned, so I re-drilled them with a 4.5mm drill bit for a small ammount of play in mounting, I think this has worked but won’t really know until I mount the Z axis and test.

The other hitch was the coupling for the Z-axis and threaded rod needs a hole 28mm across and I only have a 25mm drill bit, rather than go and buy a new drill bit I have taken the potentially foolish option and will just file the corners of the mounting bit down to fit (it only 2’ish mm of the corners)

I think it clear the one on the right is the one I have filed down a bit, I was quite curious how well this would file down, and it seems to work quite well, I guess on an actual thing, you would want to take account of the infill level. but here I just wanted it to fit, and am not too worried about the strength
As another quick visual check I have placed all the bits together again, and think is looking quite promising. (the top plate is accidently rotated 180 degrees) but it’s only a mock up.

A slight shame about moving the Z axis mounting holes is that the motor now sticks out of the side of the wooden frame. Something I did not really want but the Y-axis will probably have the motor mounted on the outside as does the Z-axis.

Also compared to a Prusa I have lost quite a bit of build area. At the moment I think it will be something like X:180mm  Y:160->205mm  Z:135mm

And unlike the Prusa I intend to rotate the Extruder by 90 degress, to save a little bit of space, Im not sure why this is not done allready. I imagin I will find out in the future, but for now that is the plan.  

Next I really need to figure out how I am going to mount the belt and pully for the Y-axis.



Thursday, 6 October 2011

Cutting the bits

I have been cutting out the bits over the past week with my forty odd minutes here are there.  As said this is very much like the Prusa Mendel, the main difference being the frame is mainly made out of wood, and I am intending to keep the Z axis inside the frame.
So first here are the bits, these took me a few days to get cut, but if you had few spare hours you could get to this point.

After cutting them I noticed that my Jigsaw is cutting at an angle so something else to remedy, but I guess really that is just general use of tools, thankfully for this I don't think it should matter.

The next step will be to clean up all the cuts and then drill the holes for the motors, bars and belts, but because I wanted to see the general look at this point I just rested the bits together.

and after this I got a bit carried away and added a few other bits.

Not connected together yet, but definitely starting to look a little like what i was expecting.

I’m a little concerned by the motor mount at the front, as MDF has tendency to split when drilled in to the sides, for the rest of the frame I am using blocks in the corners to give it more strength for now I think I will just try my luck and see what happens.

I am also still pondering how to go about mounting the belt for that motor, i am currently thinking it makes sense to try and emulate the Prusa method, hmm we will see.

As you can see form the image, I intend to use the current X and Z mounting system from the Prusa, but If I am able to get to a point of good printing, i think i might switch to Emmanuel X-carriage-struder it looks very nice and sleek.

Wednesday, 5 October 2011

The New Plan

I keep intending to do lots of things, but time really puts a damper on this. So i have decided to try and spend about 40 minutes a day doing stuff. The reson RepRap this is one of the main things I want to do. partly because its quite a cool tech, but also it is an enabler of ideas, i.e. design and print.

As an incentive to myself to actually make progress I thought I would try and blog my endeavours. This is the first time I have ever blogged so sorry if it is shoddy.

First a quick bit about what is in the shed.

I have a host of run of the mill tools from doing DIY round the house, (chop saw, pillar drill, angle grinder, tap and dies, saws, drills, screw drivers... just tools) the most interesting tool is not house related and is a SiegX0 Mill, I have converted this to a cnc milling machine. (not very elegantly done)

the mill

X axis Coupling:  the X axis stepper to leadscrew link is just the inside of a choc block
Yaxis Coupling: the Y axis stepper to leadscrew link is just a bit of aluminium tube with a couple screws.
so crude to say the least. And currently not working, (as i have removed the Z motor to fix a latent backlash). The backlash in the Z axis was an issue as it would stay in the axis until it started to drive into the material. So i will be doing two items, fixing the Z axis and building a RepStarp.

My first plan was to build three Prusa, one for myself one for my bro and one for a mate at work, the plan was to buy the plastic parts for the first machine, and other parts needed for three machines. Then make the other two sets of plastic parts with the first machine. Using the SiegX0 to mill out the hotends.

But, I have revised that plan, my new plan is to build a Prusa style Wood based RepStrap "WoodRap"

I still intend to make the hotends on the mill, but of course this first needs to be fixed.

I have started to design the idea in my mind’s eye and have knocked up a quick doodle in 3DS.

I have a load of spare chunks of MDF and will be using this to make at least the first frame.