Thursday, February 25, 2010

RepRap Motherboard, Homebrew Style

Homebrew Motherboard

Here's my homebrew motherboard freshly kitted out.

The arduino sits in a reverse shield of my own design, with pin sockets either side and bridges going from one line of sockets to the other. Hard to see in the photos are some wire clips that hold onto the mounting holes to help keep it steady. It's surprisingly snug with this arrangement, barely moving even when I connect the usb plug.

The ATX connector is made simply from some tinned copper wire. I'll probably put in a proper connector when one becomes available. The 12v connector in the middle of the board is vestigial, and will be removed when I add some pins for the ATX 12v extension. Multiple 12v and ground wires are absolutely essential, considering how much current will be drawn from them, as well as the likelihood of vibration.

The jumpers near the motor controllers are connected to MS1-3 so I can change the microstep amount simply and quickly. Z needs none, extruder needs it all and I'm still undecided on how much X and Y need.

At the bottom of the board next to my MAX6675 are a pair of power mosfets for controlling the extruder heater and one other item- bed heater or fan or something. The mosfets are IRL3803s which according to my calculations can handle 16A with no heatsink and 4.5v on the gate.

The headers between the arduino and the atx connector are for the end-stops which I'm yet to make.

Bottom View

The bottom view shows a rat's nest of point to point wiring which I'll clean up if it proves to be problematic. Signal lines next to high frequency high current PWM lines are usually a recipe for disaster, but the motor modules are so small that I'll just have to see how I go. Twisting and decoupling helps immensely, but is by no means a magic pill.

Wednesday, February 17, 2010

Wooden X 360 Z Assembly

End View


Side Plate


Here's my X carriage 360 end assembled. Despite the significant errors made in these pieces, they fit together surprisingly well. I haven't fitted the adjustment bolts as the wings hold on quite tight enough without them. I think this is the first bearing runner I've made to date that doesn't try to rotate around the bar while moving along it- all my errors must cancel each other out, or this particular section can deal with gross imperfections better than any of the others I've made.

In other news, I found some linear acceleration stuff to put in my firmware and I seem to have most of the bugs out of it.

The acceleration code ganked from the official FiveD firmware acclerates by a set amount each step but steps get closer together, so acceleration is exponential and deceleration is logarithmic, making really high speeds impossible to attain. The above mathematics allow a constant acceleration profile with only a little integer math each step, which is ideal for us.

It needed some adaption because it was created to move a fixed distance in a certain period of time rather than change from one speed to another while moving a fixed distance, but everything needed to adapt it is there.

Thursday, February 11, 2010

Wooden X 360 Z Bearing Plate

Top View

Front View

With Rod

Here's my first X 360 Z Bearing Plate and mirror. Tolerances are lovely and wide in the mendel design- even though these plates are so obviously out of whack, they still roll nicely up and down the rod. Despite this, I will re-do some of the holes, and endeavour to make the next pair a bit more neatly.

These pieces I think are some that should be made from hardwood. Pine and similar softwoods simply don't have the structural integrity to stand up to the forces involved in machining them, and would probably snap after a while in use due to the forces applied.

Monday, February 8, 2010

MAX6675 Thermocouple Digital Interface



Here's my MAX6675 hooked up and talking to my arduino via SPI. It reports the temperature of the thermocouple every 1/4th of a second with a precision of 0.25 degrees and an accuracy of about 2 degrees. This particular thermocouple may prove a bit awkward for my extruder, but I haven't yet found any bead-ended ones that could handle more than 250 celsius locally.

Code is in my github repository, and there are also some notes on the wiki about how to adapt this to a reprap extruder controller board.

In other news, my FiveD on Arduino project is coming along nicely. It's at the stage where I need to complete my mechanical construction and start testing with an actual machine. Feel free to help me on that score ;)