Project Name :- HF05 Robot

Status:-  Declassified as of 27/09/2011

Department:- Helium Frog Robot Development Works - Area 13

HF05 Robot

Back to Main Page

Design Overview

Electronics - Ramps 1.2 and Arduino Mega clone 1280 Pololu stepper controllers with heatsinks
Stepper Motors - Nema 17 SY42STH47-1684B
Hot End - J type MK2
Linear Bearings - LM8UU on 8mm diameter 304 stainless rods
Heated Bed - 10 x 25W 5% 12ohm Welwyn WH 12R J1 (Would recommend 5 - 10ohm for next build)
End Stops - NC switches Expo A28020 
Heated Bed Relay - SPST N/O 12V 10A TE Connectivity PCD-112D2M [Available from Maplin or Farnell No 1770620]
Timing Belts - T5
Power Connector - 3Pin XLR Chassis Plug

Software - Host PC - Pronterface Printrun on Windows XP
G Code Interpreter - SFACT
Firmware - Simplified version of Tonokip with no SD support and options removed (Download above)

An overview of the design.

A view of the X axis carriage. All bearings are held with cable ties and the Wade type extruder has a lever action clamp for ease of access. The end stop design has been improved in the downloaded model to improve the strength.

A view of the electronics. The robot uses Ramps 1.2 with the Arduino 1280 underneath. The heated bed is controlled using a relay (See left side of board) The mount avoids the need for a circuit board to hold the relay. The robot is driven off a 12V 30A supply. I found PC type power supplies to be unstable for driving the electronics and heated bed. The heated bed is made from 6mm aluminium plate and is heated by 10 x 12Ohm resistors in parallel. This gives a resistance of 1.2Ohm 10Amps 120Watts. Warmup time is about 20 minutes and gets to around 110 degrees C. In hindsight I should have used slightly lower resistors, maybe around 10Ohm.

A view showing the XLR audio type connector used for the power supply. These work very well. Note the integrated end stop switches which use normally closed push button switches. These work really well and are accurate enought for even the Z axis. You can see the heated bed is mounted on teflon pillars. The bed is levelled using paper shim.


22/12/2011 - The three month design and build target has been reached.
The HF05 became self replicating today! After some time calibrating using a 20mm cube test piece I was finally able to print a spare extruder clamp, proving the machine is capable of self replication. I struggled at first as the prints kept stopping half way through, but a visit to the reprap forums revealed that this is a known bug and by reducing the traverse speed a little the problem goes away. The machine uses the following software:

Sfact - This is a rewritten version of Skeinforge to convert a .stl model to gcode.
Repsnapper - This is the host software in the PC to stream the gcode to the machine
Kliment-Sprinter - This is the firmware in the arduino mega on the machine, this runs the steppers etc.

I must say the machine is in a different league compared to the Makerbot, quieter, quicker and easier to setup.

Although I now consider the machine complete there may be several tweeks over the next few months. I need to level the bed a little better in the Y axis (some packing is needed under the teflon feet), make some sheet metal build plates as I only have a 100mm x 100mm one at the momemt. I also want to print a filament guide and possibly reprint and simplify a few parts on the machine. Of course there is also the long period of refining the print parameters to get better print quality, but I would say it is very close to the quality of the Makerbot already.

Another long time between posts, but the build is progressing nicely. Having spent a couple of weeks redesigning the extruder, it was finally time to start printing out the design. Unfortunately, my Makerbot decided to break several times (Heated bed problems) so I spent a few days improving that to make it more reliable. It now has a heated bed similar to the HF05 design and is controlled by a similar relay setup. Finally I got around to printing the parts and so the HF05 robot now has a complete extruder and hot end mounted and I am nearly ready for the first print. Hopefully tomorrow I can finish up the wiring and then do a few test warm ups and extrusions. Its good to know that the build is now nearing its completion. Whilst designing the extruder I took my time to think of cable routings as this is always a weak spot for any design. The design includes a terminal block mount so the hot end can be easily removed. Other improvement are a redesigned gear set and a hinged wire clamp similar to "Gregs extruder". The main body is designed to be printed upright with minimal overhangs and no support material. Only the motor mount slots require support, but this is included in the print model.

No postings for a while, but lots of progress on the HF05 Prusa has been made. The heated bed is completed, installed and wired. I have also modified a PC power supply to power the machine, but have found that the voltage drops dramatically when under load, meaning the heated bed only gets 9V not 12V. The bed warms very slowly and only up to about 95 degrees C. I am looking for 120 degrees C for ABS printing, so a rethink was called for. I have decided to wire the heated bed to a separate power supply and use a relay controlled from the RAMPS board to switch it. This gives me good flexibility, so I can apply any voltage within reason to the bed by simply uprating the bed power supply. I have also printed some mounts for the power connectors and mounted these low down on the back of the machine. The connectors are XLR type as suggested by Adrian Bowyer on his Prusa build notes. The firmware is also installed and I have checked all the thermistor tables with the data charts of the thermistors. The standard chart in the firmware seems just right for my 100K thermistors. I have had a dry run with a gcode file I have used on my makerbot and all axes work and it seems to home and move correcly with no jumping or vibration. I just need to finalise the heated bed wiring and build the extruder head and the machine will then be complete. I am going to take my time on the extruder as this is always the weak point on the reprap machine. I hope to be printing before the end of the year!

The linear bearings finally arrived today. They were out of stock in the UK so were posted from Hong Kong....Delivery time about 1 month! So this evening tremendous progress was made. All axes and belts were assembled and the frame squared and tightened. The linear bearing mounts work really well as does the use of cable ties. The
re seems just the right amount of flex to make the rails smooth.

Spent most of the weekend working on another robot project (to be revealed later), but did spend some time doing a trial run on the electronics. The RAMPS board arrived with one bent pin, which pushed through when I attached it to the Arduino Mega. With a little bit of solder work I got this sorted. After attaching the pololu (clone) stepper drivers I uploaded some test firmware only to find that only one motor bank worked. I used this bank to test all the other motors and drivers and found that out of the seven stepper drivers I have, only five are working. After scratching my head for a while, I realised that I was looking at a RAMPS 1.2 board not a 1.4 and that the pin assignments were different for the earlier board. I corrected this and now have a board with 4 motor drivers all working. I am a bit disappointed that two stepper boards appear faulty, but I can't be sure it wasn't me that blew them up! I cannot go any further with the robot now until the linear bearings arrive. These have been delayed by a week as the supplier is out of stock at the moment. Still progress is quicker than I thought, probably because I have a lot of parts around me now from old robots that I can press into service quicker than waiting on delivery.

I took a delivery of stainless rod today, so progress on the linear axes should be soon. In the meantime I am printing out all the other parts on my Makerbot. I have the three largest parts done (X axis ends and carriage) and am gradually working through the others. The Makerbot is working well now as the extruder has been re engineered, so I have the confidence to do several parts at once. Cleaning the Kapton tape regularly with acetone works wonders in eliminating part warp and now the parts stick very firmly with no lifting. Whilst I have some time I am also reading up about the RAMPS electronics and it appears I have the wrong end switches. They should be normally closed not normally open, so I have ordered some of the correct ones. As I need accurate -Z end switches in order to set the first print layer height accurately, I may have a rethink on the type I will be using. The standard RAMPS firmware needs the two Z motors wired to the same outputs and so cannot be controlled independantly. This means the machine only needs one pair of Z end stops not two and the motors must not go out of sync as there is no way to detect if they are out of position.

Helium Frog projects usually take an age to completion, but to my surprise the build of the HF05 robot has progressed quite quickly. The frame is now fully assembled and I am now short of parts for the X carriage and also the belts, rods and electronics. The design did not include any end stops, so tonight I revisited the design and added them to all axes. The design will use push to make switches as these are more compact than opto switches and quite cheap (4.10 for 10). The Z axes has four switches, two for each lead screw. I have the idea that I can datum the motors on the top two end stops, in case one lead screw goes out of sync. This will mean a separate stepper driver for each motor, but adding the end stops now will give me flexibility later. One really annoying thing about the Makerbot is the fiddling you have to do at the start of the print to get the first layer Z height correct. I am aiming at an automatic datum, nozzle clearing and print startup at just the press of a button. As I said this may take a few months, but I am trying to include as much as possible in this design to make printing trouble free. With all the extra wiring, I will have to check if the RAMPS boards have enough inputs for the drivers and switches.

During the past few weeks I have been working on a new robot design. It is based upon the well established Prusa Mendel Reprap, but has a few of the improvements built in. I wanted the following in my robot.
1) Proper linear bearings. Here I am using the LM8UU
2) Use cable ties instead of nuts and bolts where possible. This reduces assembly time and is cheaper.
3) Remodel all the parts, so they are truly metric with whole number dimensions where possible.
4) Improve the part models where possible to make them easier to print.
5) Crib all the best ideas across the net to produce a much better robot.
6) Use an Arduino Mega microcontroller and the RAMPS board.

I am hoping that this robot replace my Makerbot which has served me well but is showing signs of wear. Printing the parts has just begun. It will take me a few months to gather the parts and build this, but there is no rush.