Search This Blog

Thursday, September 29, 2011


We were invited to show our 1/3 completed 3D printer for some Waterloo event, so in a rush we jerry-rigged it to instead become a pen plotter. Unfortunately the printer is still not capable of squirting hot plastic yet (and probably at least not for a few months until we pass our school terms) but it moves and draws!

You can see on the left a picture of the jerry-rigged setup with the electronics strapped to the bottom of the machine and a UW eng sign written out. The drawing is hard-coded (we only had about a day to get the machine working) so its a little limited in capability, but at least we know it works! The right piece of paper shows our initial test pattern that we had the machine draw to see how straight the lines were (they looked pretty straight).

Watch below to see it in action! It's rather loud so that's something we'll have to address in the future, as well as the fact that the cantilevered z platform isn't as level as we'd like it to be.

Sunday, July 24, 2011

Painfully slow progress

Oh boy it's been far too long (4 months?) since our last blog post, and we don't really have a legitimate excuse for not giving an update as to what we've been up to since that time. Co-op has been awesome so far for both me and David, but the downside is that coming home after doing engineering-type work all day makes you want to take a bit of a mental break =P

At the same time we still want to get this project done (and working!), so it's small steps right now. Our mosfets and heating resistor that we ordered from digikey back in march just arrived two weeks ago (they were out of stock until June) so the bottom picture shows a picture of the mosfets and the wiring laid out on protoboard.

It looks simple because it really is: long wires coming from the mosfet gate pin for control by the microcontroller, and power connected to the source pin, with the drain pin to be connected to the heating resistor and heated bed. Oh and of course the capacitors used for bypassing and minimizing voltage ripple.

Unimpressive I know, but we don't have any thermocouples to hook up (we were trying to find something cheaper than 38 dollars, but alas we gave up looking and just ordered them and the associated op-amp last week from omega engineering).

Hopefully we'll actually get somewhere soon.

Until next time,


Thursday, March 10, 2011

Motor moves!

In our last post we mentioned a couple of problems that we had with trying to get our stepper motors working. In order to clear things up a bit we spent a few hours in Waterloo's Mechatronics Lab (also known as the Church Lab) in order to try and diagnose the problem.

Here we are trying to hook up the output of one of the stepper motors to the oscilloscope. You can see the abnormally noisy output on the oscilloscope that David is pointing at. We weren't too sure what the problem was with this noise (as the voltage on the logic inputs from the microcontroller were fairly clear and steady). In our fumblings we managed to burn out one of the stepper motor drivers (how we did that exactly, we don't know). We also found that I made a very novice mistake when wiring the protoboard together in that I left the sleep and enable pins floating and not pulled up to High >.< Even after fixing these problems we still had problems with the stepper motor output, with it rotating smoothly for 1 second before suddenly seizing and vibrating between two states irregularly. Additional poking around with the multimeter and schematic scouring made us realize that the issue likely had to do with not setting the onboard potentiometer on the stepper motor driver board.

A second visit to the lab had us repairing the omissions/mistakes we found in the first session, and trying to deal with the tiny potentiometer. At that point we found something weird, in that the onboard resistor leading to the potentiometer was listed in the schematic was 20kohms, but we measured it to be more in line with 10kohms. This of course would affect what resistance level we would have to set our potentiometer to (our aim was to get 0.8V across the potentiometer, as that was what was calculated when referring to the current-limiting section of pololu's website). Even more odd was the fact that we couldn't get the desired 0.8V through the calculation way (ie. using voltage divider law to calculate what resistance we needed to make our potentiometer, given our desired voltage of 0.8V and a second resistor of value 10kohm). In the end we got the correct voltage through powering on the electronics and adjusting the potentiometer until the multimeter read 0.8V. The result? smooth motor motion and no more issues. See below for a quick video of the motor operating.

Now that we know how to wire the motor up to at least make it move, our next step will be trying to implement the whole cartesian system (and replace the broken stepper driver board) so that we end up with a fully functioning xyz stage.

'Til next time,


Sunday, March 6, 2011

Electronics update

So one of the reasons we haven't been able to update this blog is because we've been caught up in the "wonderful" life of being an engineering student. Between trying to pass courses, complete assignments, prep for midterms, hands on labs and trying to find co-op jobs, we unfortunately haven't had a lot of time to work on the printer. Hopefully it hasn't been too long.

So as seen from the recap post, most of the mechanical work has been completed, and electrical work is the next big hurdle. But enough of the intro, onto the pictures!

You can see here a bit of an overall setup shot in my uni room with the tangle of wires (I had to guess at their length so they're a little long). At the bottom of the picture is the PC power supply (Antec Basiq at 350 watts) that we use to provide the power for the whole machine. In fact we only use 2 12v lines and 2 ground lines coming from the supply (same rail), so in reality most of those wires on the floor in the picture are unused. Sitting on the middle platform is the arduino mega and the protoboard containing the electronics required to run our four stepper motors.

The protoboard layout can be seen in the photo on the right. We followed the schematics posted here on the reprap wiki to come up with the layout. In detailed terms its a fairly simple layout, with the 12V lines running along the top of the board with the stepper motors plugging into headers visible there. 12V from the power supply can be seen in the left border of the picture with the header connection, and 5v logic from the microcontroller is also on the left. Enable,step and direction lines from the micro are along the bottom of the board, with some bypass capacitors sprinkled here and there to help level any voltage fluctuations. The circuit for the heated bed and the heater block haven't been made yet since we're still missing the mosfets to control them and the 6.8 ohm resistor for the heater block (hard to find here in Waterloo). Plus it's probably a good idea to try and get the stages moving first before trying the heating components.

In the final photo you can see the wire connections of some the motors and limit switches for the xyz stage. The z stage limit switch is sort of dangling in midair since it requires me to know at what height the build platform will rise to (which itself hasn't be built yet). It doesn't look incredibly professional with all that coloured wire and foil tape holding it together, but its fairly solid and easy to follow.

So in the end how does it all work out? Well we haven't even gotten around to moving it yet, but initial tests pulling all the inputs (enable,step and direction) to zero have led us to find some weird oscillations in the motors. It seems that 3 out of the 4 drivers have the stepper motors oscillating back and forth between two states, which is a little worrying. We're trying our best to isolate the issue and hopefully fix it, and we'll be looking into using one of the waterloo labs to do some poking around with an oscilloscope. Hopefully that will lead somewhere because I really do not want to buy 3 more expensive drivers and resolder them in.

Hopefully the next blog post will show the stages actually moving -and if we're lucky- the heater block electronics installed.

Until next time,


Saturday, January 15, 2011

Six month recap

So it's been six months since we began this project, and I thought it would be a good idea to recap everything that's been accomplished up to this point. We started out this project both as a learning opportunity and the chance to be a part of something that we think is the future. While progress has been achingly slow, I think we've learned quite a bit along the way and I'm proud of what we've been able to do given our novice nature. Here's a brief overview of what we've done:

-Completed design and construction of belt-drive xy positioning system (with the unique angle-running bearings)
-Completed design and construction of leadscrew-driven cantilever z stage
-Completed design and construction of (almost all) extruder components

To make this post a little less about just pondering, here's a snapshot of the mechanical components of the extruder hot assembly, which we managed to complete in the first few days of our return to class. As David described in an earlier post, the filament is pushed from the cold end (see next picture) through the teflon tubing all the way into the aluminum heater block (which itself took me seven hours to machine). Pioneered by Nophead, this minimizes the heat zone and should hopefully minimize the force needed to push the filament through. The internal stainless steel (which was used because of its relatively low thermal conductivity) barrel has an internal thread that matches an external thread on the tubing, which means the teflon tube shouldn't pop out of the assembly because of extrusion pressure.

In this photo we have once again the nearly completed extruder cold end. As you can see the only things that have been added are the teflon tubing and the Delrin plunger. The drive shift still needs to be hobbed, but aside from that it appears the actual machining of the entire robot is complete. We've been told by our machining friend Kal to expect an actual short run production cost of about 510 dollars just for the machining of the structural pieces, so a second model (if there ever is one) will need to be more optimized to reduce the cost and make it easier and quicker to assemble.

So what's next? On top of our second year studies in Engineering at Waterloo (which are sure to be busy), we'll be looking to implementing the pololu based electronics and hopefully begin testing of the axes and installing the electronics to actually extrude something. Knowing the problems that plague makerbot and reprap users however (and briefly experiencing them as well before shifting over to construction of our design), I feel like there is a lot of frustration and hair-tearing along the way. But it will all be worth it in the end, knowing that we as novice engineering students are capable (with a lot of research and help) of going in way over our heads and turning an idea into an actual working machine.

Failure or success, here's to the next 6 months.


Looking at the RepRap Software

It's been about half a year since we made our first blog post. From the idea stage, we've managed to (almost) finish the mechanical aspect of the machine. Since it is the most time-consuming part of all, I anticipate the progress to speed up at least a bit. While Eric is mostly working on electronics (as he keeps physical elements), I've decided to look into WatRapter's software.

As stated before, we've chosen RAMPS layout with thermocouple, power resistor, and heated bed. While the standard ReplicatorG + RepRap firmware combination can accommodate for our machine, it's definitely worth tinkering with it, especially because it seems to be the most overlooked area. There are active discussions on mechanical, electronics, and even the material itself. In comparison, discussions on custom firmware/software is almost nonexistent, despite of some issues that can be software-related.

Of course, addressing problems can start once we get the printer up and running. We are using the default software/firmware for our first prototype. Still, this marks the start of research on software/firmware. The progress on this will be abstract and subtle, if not invisible, but I will try and keep everyone updated.

Until next time,


WatRapter Project Co-Lead