Sunday, October 28, 2007

Extruder Barrel

It occurred to me that, while I didn't have all the parts for an extruder head, I did have enough to assemble the barrel. That allowed me to do a proper temperature profile and get a nice closed-loop system put together. I ran the profiler and then opened the extruder exerciser screen.

I don't have any CAPA filament so I set the temperature to 140C. Holding the Teflon barrel with a pair of pliers, I pushed some HDPE filament through. Works reasonably well. A bit tough pushing the filament through by hand. Could be the barrel wasn't really 140C.

Saturday, October 27, 2007


Tried following the instructions on this page to build a new extruder hex file. The zip file on here uses an old SourceForge hostname. Needed to update the hostname using this command:

svn switch --relocate

Updated to the latest version. Doesn't build. Figured out how to update to older versions. Browsed through the various versions here. Updated to version 588:

svn update devices -r 588

...under the assumption that 588 was equivalent to the hex file I'm currently using. Appears to build correctly. LED comes on, heater works, motor works, temperature works.

Updated to 626, the first with dual extruders. Doesn't build. Missing directories.

Tried 662. That one builds OK.

Burned the hex file (now called extruder_0_.hex). Works fine.

Note: Occasionally getting "missing separator" error on make. Replacing Makefile from the original zip seems to fix that. Files look identical. Probably a cr/lf problem.

Tried ver 926. Works except that temperature reads -51C at room temperature. Interesting.

Went back to 662.

Thursday, October 25, 2007

Smaller Cap

Found a 10nF cap on an old ComputerEyesRT board (circa 1991). No idea why I still had one lying around. Swapped out the 50nF cap. Adjusted the extruder capacitor setting to 0.00000001. Note: I've got two leads on the holes for C3 and have been trying out caps by soldering to the leads. Less wear on the board from soldering and desoldering.

Re-ran the profiler. Fewer I/O timeouts and false readings. Still noticing a change in duty cycle on the heater but it's less pronounced.

I haven't looked at any of the PIC code but I'm guessing the heater is controlled by a software PWM loop. If that's the case, temperature measurements and serial communication will mess with the duty cycle. Best you can do is avoid polling too often.

Extruder Board Test

Re-did the temperature measurements. Ended up using two cups of water: one at 6C, one at 70C. Had to be careful not to get both leads of the thermistor wet. Ambient temperature of the workbench now shows as 26C.

Wired up the gear motor using leads clipped off the stepper motors. Tested it using the Extruder Exerciser screen. Note: Hitting "Reverse" at full speed is bad.

Attached the nichrome wire using a couple clip leads. Wrapped one loop around the thermistor to see if I could measure the temperature change. Ran the Heat Profiler. Got a few timeout errors and false readings while retrieving temperature. The heater LED dims slightly when the PC polls for temperature.

Suspect the temperature measurement is interfering with the PWM. Could be because I'm using too high of a value for C3. Larger value -> longer measurement time -> stealing cycles from heater routine. Could also explain the I/O timeouts.

Wednesday, October 24, 2007

Thermal Ware

Tacked a 50nF cap into C3 on the extruder board and hooked up the thermistor to P2. Set the Extruder0_Capacitor value to 0.00000005. Pulled up the Extruder Exerciser screen. Temperature was way off. Started reading the thermistor calibration page.

Did some measurements with a multimeter, meat thermometer and heat source. Got some R and T values. Plugged them into the formula. Got a beta and Rz value. Used those on the extruder settings. Pulled up the Extruder Exerciser again. Temperature jumping between 16C and 33C.

Tried the whole thing again with a different thermistor. Completely different beta and Rz. Temperature's consistent now but a bit on the high side.

Suspect the first thermistor was flakey and I was sloppy on the measurements for the second one. Will try again later when I have a bit more time.

Primetime Serial Program

My new PIC programmer showed up. This one's a PIC-PG2C serial programmer. Messed with it for about an hour before I got it to program a 16F648A using IC-Prog. What I learned:
1. Can't use a 40-pin ZIF socket with this programmer. The inner and outer rows of pins have different pinouts.
2. IC-Prog should be configured for a JDM with nothing inverted.
3. Using the Direct I/O setting with XP is bad.

Saturday, October 20, 2007


After getting the first board to work, the other two were fairly straightforward. Ended up using a smaller heatsink on one L298N. Got all three connected in a token ring and ran the Stepper Exerciser again. All three lights flashing. Modded the Y and Z motors and hooked them up. Had all three motors turning at once.

X Stepper

Finished the UCB. Used the stepper test board to verify the stepper driver was working. Only 2 LEDs came on and the L298N got hot. Finally figured out that the stepper test board was the problem. Two of the pins were shorted. Fixed that. All 4 LEDs on. Slowed the stepper speed and could see the LEDs sequencing.

Stepper motors arrived yesterday. Just in time. Modded one for X axis. Plugged it in. Didn't budge. Realized I forgot to set the X axis power to 100%. Fixed that. Motor started turning. Played with the speed and direction a bit, then shut down and finished the board as a Stepper Motor Controller Board. Re-tested. Works just fine.

Did notice that Mouser sent me 5 small heatsinks and 2 large instead of the other way around. Looks like the shopping list generator swapped the part numbers.

UCB Talking

I got the X,Y and Z chips programmed and soldered up the Universal Controller Board. I followed the instructions dutifully and everything went well, up until I tried the third test. This should have brought up the Stepper Exerciser screen. Instead, I got a series of error messages in stdout, all saying:

sendMessage error - retrying

I tried jumpering the serial lines for loopback and the screen came up. It told me no devices were present but that's what I expected. At least I knew the serial drivers were working correctly.

OK, maybe the X chip didn't get programmed correctly. I swapped it for the Y chip. It started working (yay), then stopped (boo). Same error messages.

Poked around online to see if I could find others with the same problem. Didn't find anything helpful. So, I resorted to my standard fallback strategy for debugging: poking around a bit.

With the stdout screen churning out its error messages, I started to prod the board, looking for bad connections. I touched something and the exercise screen came up. OK, close it and try again. Figured out that touching pin 18 kicked the chip to life. Traced pin 18 to the Sync connector, which wasn't installed yet. Also R11, also not installed yet. So the Sync signal was floating.

Went back to the forums and searched for R11. Yep. The test often fails without R10, R11 and P3 installed. Rather than install them, I just shoved a couple spare resistors in and jumpered p3 with a piece of wire.

That got the UCB talking consistently. Tried the X, Y and Z chips. All worked correctly.

Friday, October 19, 2007

Auntie MAME

So, I was sitting there at work today, grumbling to myself that my PC doesn't have a parallel port (and no spare slots). I need to burn the microcontroller firmware and my PIC programmer hooks up to a parallel port. What kind of PC doesn't have a parallel port?

As I sat there, it suddenly occurred to me that I had another PC at home. Sort of. A couple years ago, I built the kids a MAME machine out of spare parts I had lying around. It's ugly but it stands up well to punishment.

Inside the cabinet is a PC. A 166MHz Windows 95 box. And, yes, it has a parallel port. So, I...

  1. opened up the front of the MAME cabinet, exited MAME, pulled out the mouse and keyboard
  2. pulled the cabinet away from the wall
  3. plugged the parallel cable in
  4. used a CD to copy IC-prog from my PC to the MAME machine
  5. hooked up the programmer and propped it up on a crate beside the machine (see lower right of image)
  6. loaded the hex files onto 3.5" floppy and transferred them as well
  7. used IC-Prog to burn the microcontrollers
  8. put everything back the way it was
I've got a serial programmer on order, so hopefully I won't need to do that again.

Thursday, October 18, 2007

Serial Loopback

Finished the Power/Comms board. Serial loopback working. Started on a Universal Controller board.

Tuesday, October 16, 2007


More parts arrived. Bunch of stuff from Small Parts Inc. I seem to have forgotten to order the M8 threaded rod. It can wait.

Started soldering the Power/Comms board. The 12- and 2-pin headers are tough to insert. Bent a couple pins. Should be OK.

Turns out the board only uses the 12V line from a PC power supply. Had a 12V 3A supply lying around. Wired it up. Looks good. Light comes on. 78L05 produces 5v.

Sunday, October 14, 2007

Without Parallel

My current PC doesn't have a parallel port. Bugger.

Saturday, October 13, 2007

And More Stuff

Got a package from RRRF: filament, PCBs, extruder parts.

Zach says RRRF will be stocking the bearings and extruder screws, as well as the custom plastic body parts.

Found someone who's already burned the microcontrollers. I'll try this just as soon as I can scrounge up a 15V power supply.

As it sits now, I've got enough that I can start soldering some circuit boards.


So, I went through the trouble of downloading and installing Cygwin so that I could build the HEX files for the microcontroller firmware, only to realize later that all I needed to do was download them from SourceForge.

Friday, October 12, 2007


Downloaded and installed Cygwin, a Linux emulator I'll need to build the firmware.

Need to scrounge up a power supply for the microcontroller programmer. Also need one for the RepRap itself.

Thursday, October 11, 2007

More Stuff

Got a package from Mouser today. This is the bulk of the electronic components. I should be able to start programming the microcontrollers. The circuit boards should be coming soon from RRRF. At that point, I can start soldering.

Wednesday, October 10, 2007

First Package

The first package arrived today from McMaster-Carr. Pretty fast turnaround. Steel rods, springs, pulleys and toothed belts.

Monday, October 8, 2007


Used the RepRap BOM generator to get a shopping list.

Note: It specified 16 toothed belts instead of 16 feet. Also specified 4 packs of springs instead of 4 springs.

Used Newark for the stepper motors. On back-order. These seem to be in short supply. Wonder if there's another type that would be roughly equivalent.

Costs So Far
$26.85 - MicroController Pros
$97.10 - RRRF
$94.30 - Mouser
$182.16 - Newark
$97.26 - Small Parts Inc
$169.47 - McMaster-Carr

Total so far: $667.14

(Raises eyebrow at "cost will be less than $400 US for the bought-in materials" quote on RepRap site.)

Still Need:
- split bearing
- extruder screw
- printed parts

Hoping RRRF starts selling this stuff. Really not looking forward to machining my own extruder screw.

Saturday, October 6, 2007

Getting Started

Finally got the core RepRap software running on my PC. Tried running a few models through the simulator. Looks OK.