I went in today to do some measurements on my thermistor. After trying with an infrared meter (which didn't work at all) and with an ohmmeter (which didn't work while connected to the Melzi, so was hard to control), I realized I had gotten not a B57861S0104F040, but a B57861S010_3_F040, which is a 10K rather than 100K thermistor. I should have double-checked when only one value was available at Conrad, but I thought that was because I had given sufficiently precise search terms.
Bother.
There is a setting for a 10K thermistor, but with the comment "!! do not use it for a hotend. It gives bad resolution at high temp. !!". That doesn't sound good. I would definitely not be able to do ABS with that, not sure if it would be good enough for PLA even. But it'll be as easy to swap out then as now, so I'll do some first experiments, knowing this is a potential issue, and see how it goes.
Change the setting and uploaded new firmware. Tried setting to 185º (PLA), but for some reason Pronterface thought 476º was much more exciting and kept switching to that as limit. The heating went fast, and while I tried resetting to lower and lower temperatures, it kept switching back up. WTF? Looks like the limit is confused by the 10K setting - it also starts out at -35º. I guess it's going to be tricky at best to get it to work anywhere close to reliably. Bother again.
I can get a new one for €2,50, but with €5 shipping. I might as well grab a few extra then, for leaner times.
Sunday, 1 March 2015
Saturday, 28 February 2015
The last wiring, the first calibration
Z axis still has trouble moving down. Trying some suggestions:
Width is 190mm (due to different extruder design), depth is 200mm, and height is... curious. Seems to move more than it's supposed to. What it thinks is 160 mm is actually 193. Measuring it with a ruler says 20.5 to the bed. Changing firmware to use STEPS_PER_UNIT = 200*13.25/1 for Z. Also changed Z_HOME_POS to 205, X_MIN_POS to -95, and X_MAX_POS to 95.
Note to self: Do not move the X axis 200mm out, then home Z. It sounds nasty when the extruder motor hits the Z top holder and prevents reaching the Z stop.
Second calibration shows a Z movement of 204 mm when doing 20 10mm steps. Yielding STEPS_PER_UNIT = 200*13.25/1. That's a nice number and a good match. True height is 204mm.
Wired up the heater and Mister Thermistor. "Room" temperature is found to be about 80ºC - talk about global warming! Need to calibrate. Tried using an infrared gun, but that doesn't work well since it measures the outside temperature. Need to calibrate by getting the entire thing to a known temperature and then measure the resistance. Or measure on one of the spares I bought. Easier to do that at home in the oven with an oven thermometer.
Following RepRap.org's nice calibration instructions. Mostly good, except - the bed isn't close to level, about 1mm difference between corners. And not in the linear fashion I would expect from differences in corner support height, but more difference towards the end, which might indicate bending.
A sheet of paper catches in the max-x/min-y corner and at the max-x/max-y corner (but not quite in between), at the min-x/max-y corner there is about a millimeter gap, and at home there's maybe half a millimeter. Adding two washers on the home corner helped there, but it's definitely sagging.
Also fixed the inverted X belt.
Questions of the audience:
How home my Z steps/mm was off? Are threaded rods really different between UK and Germany?
Should I oil the Z threaded rod?
Update: Testing an equivalent thermistor at home showed it working as expected. I hope I haven't broken/short-circuited something when glueing it in.
- Set Z axis speed lower. Seemed to work a bit, but not a lot.
- Need to Home Z, or it won't go below 0. That did it! Thanks to jamesdanielv on RepRap.org for mentioning this.
Width is 190mm (due to different extruder design), depth is 200mm, and height is... curious. Seems to move more than it's supposed to. What it thinks is 160 mm is actually 193. Measuring it with a ruler says 20.5 to the bed. Changing firmware to use STEPS_PER_UNIT = 200*13.25/1 for Z. Also changed Z_HOME_POS to 205, X_MIN_POS to -95, and X_MAX_POS to 95.
Note to self: Do not move the X axis 200mm out, then home Z. It sounds nasty when the extruder motor hits the Z top holder and prevents reaching the Z stop.
Second calibration shows a Z movement of 204 mm when doing 20 10mm steps. Yielding STEPS_PER_UNIT = 200*13.25/1. That's a nice number and a good match. True height is 204mm.
Wired up the heater and Mister Thermistor. "Room" temperature is found to be about 80ºC - talk about global warming! Need to calibrate. Tried using an infrared gun, but that doesn't work well since it measures the outside temperature. Need to calibrate by getting the entire thing to a known temperature and then measure the resistance. Or measure on one of the spares I bought. Easier to do that at home in the oven with an oven thermometer.
Following RepRap.org's nice calibration instructions. Mostly good, except - the bed isn't close to level, about 1mm difference between corners. And not in the linear fashion I would expect from differences in corner support height, but more difference towards the end, which might indicate bending.
A sheet of paper catches in the max-x/min-y corner and at the max-x/max-y corner (but not quite in between), at the min-x/max-y corner there is about a millimeter gap, and at home there's maybe half a millimeter. Adding two washers on the home corner helped there, but it's definitely sagging.
Also fixed the inverted X belt.
Questions of the audience:
How home my Z steps/mm was off? Are threaded rods really different between UK and Germany?
Should I oil the Z threaded rod?
Update: Testing an equivalent thermistor at home showed it working as expected. I hope I haven't broken/short-circuited something when glueing it in.
Saturday, 21 February 2015
Meet Mister Thermistor
Today's progress was small but important: I soldered wires onto the hotend heater and the replacement Thermistor, and then glued it in with some JB Weld that FabLab fortunately is in possession of. I do believe that was the last piece that needed mounting, and the last wires that need soldering (except perhaps the cooling fan, but that's an optional part, so it doesn't count).
Next time: figure out why the Z-axis gets stuck (needs oil? Bad rod?) and test the extruder!
Next time: figure out why the Z-axis gets stuck (needs oil? Bad rod?) and test the extruder!
Sunday, 15 February 2015
Testing, testing, 1, 3, 2...
Hacking has been on house-hunting hiatus. Now I am back.
After hearing back from RepRapFab.de which part would come apart, I unscrewed the bottom of the extruder. The power resistor is fine (though the glue has come out a bit, but there's a distinct lack of thermistor. Need to drop by Conrad (Heißleiter S861 Epcos HEISSLEITER, PRÄZ.TEMP.-MESSUNG, S861, Bestell-Nr.: 500682 - 62), they have some. Also need to get glue, suggested is JB Weld.
In the meanwhile, I can test the motors. First installing software according to https://github.com/nophead/Marlin:
- Download Arduino IDE v22. No such thing, their numbers go 1.0.N, 1.5.N, 1.6.N. I have 1.5.8 which I updated for the ATTiny programming. But then that page was last updated 3 years ago. Which means... he's talking about 0.22. From February 2011. I sure hope it's upwards compatible.
- This is neither gen6 or Sanguinololu, skip.
- UltiMaker's RepG 25 build. That could either ReplicatorG which comes in versions 23 and 34 but nothing in between, or UltiReplicatorG which does come in a version 25 (see http://software.ultimaker.com/?show=all). Going with URG because that was the newest version in Nov. 2011 when that part was written.
- UltiMaker Marlin firmware has moved, tree/v_1 is gone, but tree/Stable/Marlin is probably ok. Unfortunately, there is no download button, there, only at the root dir. Oh, look, this is EricZahn's Marlin, not nophead's. I'll go with nophead's, not because it's more fixed necessarily, but because it's more likely to have fixes for Mendel90. Based on earlier Arduino experience, placed in in ~larsrc/Documents/Arduino.
Oh, the Melzi uses MiniUSB rather than USB-B of the Arduino. Fortunately, FabLab does have a collection of every imaginable USB cable, plus a few I hadn't seen before.
Powering it up and connecting it has less effect than I hoped for. Shouldn't there at least be a single Blinkenlicht? The PSU is nice and quite, I had to feel the air from the fan to check that it was on.
No Melzi appears in the Arduino menu. My earlier Arduino experience was misremembered. It needs to be in ~larsrc/Documents/Arduino/hardware. There you are, little puppet! Actually, there two of you are. Which one do I have? Android Cozy Magnifier app to the rescue, it's an ATMega1284.
There is power on the Melzi, as measured at the yellow and black cables. The dummy 5V load is also active.
Have to do some testing on my own, since the manual just says "comes with test firmware". This is fortunately where Arduino rocks: The same program I used yesterday to make my ATTiny programmer blink can be used here with merely adapting the pin number. Nice little test, aaand...
Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.
Ran into this yesterday, too. Then, I just had to change a line in platforms.txt, but the Melzi doesn't come with one of those.
Ah, but the Marlin instructions said to open Marlin.pde in Ardiuno and compile that. Not that the Marlin download comes with one of those. There's Marlin.ino, let's try that just for shits and giggles. Still complains about the compiler.path, and then dies with a RunnerException.
Noticed the Mendel90 instructions talk about a Marlin/Marlin/Marlin (!) dir. Maybe that's expected somewhere, trying to move it into that configuration. Oh, look, a new error message:
In file included from Marlin.h:24:0,
from cardreader.cpp:1:
fastio.h:2579:2: error: #error pins for this chip not defined in arduino.h! If you write an appropriate pin definition and have this firmware work on your chip, please submit a pull request
Also, the Melzi doesn't turn up in the boards menu any more:(
Tried installing an Arduino 1.0.5. It doesn't recognize the Melzi drivers at all. Tried copying a platforms.txt into the Arduino app's config files, no go. But copying it into ~larsrc/Documents/Arduino/... worked! The firmware now compiles.
Next up: Uploading. Selected Melzi, picked the tty USB port, and don't really know if the Programmer setting makes a difference here, so I tried them all, and for all got a "missing upload.tool" error.
Found a GitHub issue about this, which seems to indicate that upload.tool and bootloader.tool should be set to avrdude or some other default value. Added them as avrdude (dude!), to get by this error.
I don't even know if my ATMega came blank. Ah, the joys of self-sourcing.
There's no section on installing the software on a mac in the manual, only Windows and Linux. Fortunately, the Linux instructions seem similar enough to what I had to do for the Arduino, so I'm pretty sure it works.
Maybe the USB cable I dug up was bad? Trying a different one, and switching the mains power jump back and forth, indeed got a light to shine! And it even succeeds in uploading! Though the light goes out again after that. That seems to be a function of the firmward, the blink program blinks happily.
Installed Pronterface (Printrun) and started it. It immediately went into shutdown because the extruder temperature was too low (missing thermistor, duh!). By adding a 65K resistor across the thermistor inputs, I fooled it into running and could do basic movement tests.
X axis: Moves, homes nicely (with my little hack), but refuses to go more than halfway across for no obvious reason.
Y axis: Works beautifully.
Z axis: Moves, but rather jumpily. When homing, it stopped almost at the top, and now it refuses to go downwards again. I may have to switch direction of the Z endstop to have it hit in time.
Bed: Heats up nicely.
Extruder: Can't test yet, not wired.
Part of the Z problem and all of the X problem turned out to be the hex nut on the threaded rod having come undone on the right side. This made the X axis slanted enough that the motor didn't like it. Fixing that, the motor moves nicely, but I still can't get down, there is too much resistance. Maybe I need to oil it.
Required reading: Arduino 3rd-party Hardware Specification.
Also, why does Arduino keep asking for incoming network connections? It has no business with that.
After hearing back from RepRapFab.de which part would come apart, I unscrewed the bottom of the extruder. The power resistor is fine (though the glue has come out a bit, but there's a distinct lack of thermistor. Need to drop by Conrad (Heißleiter S861 Epcos HEISSLEITER, PRÄZ.TEMP.-MESSUNG, S861, Bestell-Nr.: 500682 - 62), they have some. Also need to get glue, suggested is JB Weld.
In the meanwhile, I can test the motors. First installing software according to https://github.com/nophead/Marlin:
- Download Arduino IDE v22. No such thing, their numbers go 1.0.N, 1.5.N, 1.6.N. I have 1.5.8 which I updated for the ATTiny programming. But then that page was last updated 3 years ago. Which means... he's talking about 0.22. From February 2011. I sure hope it's upwards compatible.
- This is neither gen6 or Sanguinololu, skip.
- UltiMaker's RepG 25 build. That could either ReplicatorG which comes in versions 23 and 34 but nothing in between, or UltiReplicatorG which does come in a version 25 (see http://software.ultimaker.com/?show=all). Going with URG because that was the newest version in Nov. 2011 when that part was written.
- UltiMaker Marlin firmware has moved, tree/v_1 is gone, but tree/Stable/Marlin is probably ok. Unfortunately, there is no download button, there, only at the root dir. Oh, look, this is EricZahn's Marlin, not nophead's. I'll go with nophead's, not because it's more fixed necessarily, but because it's more likely to have fixes for Mendel90. Based on earlier Arduino experience, placed in in ~larsrc/Documents/Arduino.
Oh, the Melzi uses MiniUSB rather than USB-B of the Arduino. Fortunately, FabLab does have a collection of every imaginable USB cable, plus a few I hadn't seen before.
Powering it up and connecting it has less effect than I hoped for. Shouldn't there at least be a single Blinkenlicht? The PSU is nice and quite, I had to feel the air from the fan to check that it was on.
No Melzi appears in the Arduino menu. My earlier Arduino experience was misremembered. It needs to be in ~larsrc/Documents/Arduino/hardware. There you are, little puppet! Actually, there two of you are. Which one do I have? Android Cozy Magnifier app to the rescue, it's an ATMega1284.
There is power on the Melzi, as measured at the yellow and black cables. The dummy 5V load is also active.
Have to do some testing on my own, since the manual just says "comes with test firmware". This is fortunately where Arduino rocks: The same program I used yesterday to make my ATTiny programmer blink can be used here with merely adapting the pin number. Nice little test, aaand...
Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer.
Ran into this yesterday, too. Then, I just had to change a line in platforms.txt, but the Melzi doesn't come with one of those.
Ah, but the Marlin instructions said to open Marlin.pde in Ardiuno and compile that. Not that the Marlin download comes with one of those. There's Marlin.ino, let's try that just for shits and giggles. Still complains about the compiler.path, and then dies with a RunnerException.
Noticed the Mendel90 instructions talk about a Marlin/Marlin/Marlin (!) dir. Maybe that's expected somewhere, trying to move it into that configuration. Oh, look, a new error message:
In file included from Marlin.h:24:0,
from cardreader.cpp:1:
fastio.h:2579:2: error: #error pins for this chip not defined in arduino.h! If you write an appropriate pin definition and have this firmware work on your chip, please submit a pull request
Also, the Melzi doesn't turn up in the boards menu any more:(
Tried installing an Arduino 1.0.5. It doesn't recognize the Melzi drivers at all. Tried copying a platforms.txt into the Arduino app's config files, no go. But copying it into ~larsrc/Documents/Arduino/... worked! The firmware now compiles.
Next up: Uploading. Selected Melzi, picked the tty USB port, and don't really know if the Programmer setting makes a difference here, so I tried them all, and for all got a "missing upload.tool" error.
Found a GitHub issue about this, which seems to indicate that upload.tool and bootloader.tool should be set to avrdude or some other default value. Added them as avrdude (dude!), to get by this error.
I don't even know if my ATMega came blank. Ah, the joys of self-sourcing.
There's no section on installing the software on a mac in the manual, only Windows and Linux. Fortunately, the Linux instructions seem similar enough to what I had to do for the Arduino, so I'm pretty sure it works.
Maybe the USB cable I dug up was bad? Trying a different one, and switching the mains power jump back and forth, indeed got a light to shine! And it even succeeds in uploading! Though the light goes out again after that. That seems to be a function of the firmward, the blink program blinks happily.
Installed Pronterface (Printrun) and started it. It immediately went into shutdown because the extruder temperature was too low (missing thermistor, duh!). By adding a 65K resistor across the thermistor inputs, I fooled it into running and could do basic movement tests.
X axis: Moves, homes nicely (with my little hack), but refuses to go more than halfway across for no obvious reason.
Y axis: Works beautifully.
Z axis: Moves, but rather jumpily. When homing, it stopped almost at the top, and now it refuses to go downwards again. I may have to switch direction of the Z endstop to have it hit in time.
Bed: Heats up nicely.
Extruder: Can't test yet, not wired.
Part of the Z problem and all of the X problem turned out to be the hex nut on the threaded rod having come undone on the right side. This made the X axis slanted enough that the motor didn't like it. Fixing that, the motor moves nicely, but I still can't get down, there is too much resistance. Maybe I need to oil it.
Required reading: Arduino 3rd-party Hardware Specification.
Also, why does Arduino keep asking for incoming network connections? It has no business with that.
Saturday, 17 January 2015
Wire *all* the things!
Wiring is go. I have checked and double-checked the resistances, and the look fine. I'm concerned about the big black (12 PSU wires together) and whether it's really properly connected and going to stay there. Otherwise, looks good.
More problematic is the extruder hotend. As I mentioned earlier, bits broke off when I was fiddling with it. Having stiff wires coming out horizontally is not really the smartest design. As the photo below shows, some crucial wiring is missing. The wires on the left (which are kind of loose) measure 10 Ohm across them, so that must be the heating element - the thermistor should be about 100 kOhm. I'm slightly surprised to see no hole in the screw inside the right-hand hole. I'll have to try to unscrew it and see what comes loose:)
The X belt on the right also looks... different. Is it really supposed to slant like this:
More problematic is the extruder hotend. As I mentioned earlier, bits broke off when I was fiddling with it. Having stiff wires coming out horizontally is not really the smartest design. As the photo below shows, some crucial wiring is missing. The wires on the left (which are kind of loose) measure 10 Ohm across them, so that must be the heating element - the thermistor should be about 100 kOhm. I'm slightly surprised to see no hole in the screw inside the right-hand hole. I'll have to try to unscrew it and see what comes loose:)
The X belt on the right also looks... different. Is it really supposed to slant like this:
Monday, 12 January 2015
Power up!
PSU Assembly
Time to add the power supply, now that all the wires are hanging prettily out the sides. It's slightly tricky to get it in with the thick bunch of wires coming out the back side. First the washers in the right-hand bracket were in the way, so I had to use smaller ones. The wiggling in and out while figuring that out was enough to break the top notch, so now it'll get fastened with one screw only. By bending a piece at the back and putting the PSU in from the top, I was able to get it in both brackets, but it wasn't happy with going all the way in on the right bracket due to the screws on the fan guard.F Finally squeezed it in with a clamp. Alas, the screws for the PSU mount are neither M3 nor M4, but 6-32 (whatever that means). I just plopped in an M3x20, which should hold up by tension alone.Don't have appropriate wood screws for the resistors either, so I drilled M3 holes for bolts instead. I hope I didn't get too much MDF dust into the PSU this way. Also, it turns out these resistors are slightly bigger than the ones the holes were placed for (see picture below). The M3x20 screws were almost but not quite long enough for this. Instead, I found some M3x30, but with 3mm hex head, which we don't have a bit for. So screwing in by hand with an overly long L hex. Bother.
The wires on the inside are rather squished. If I were to make another of these, I would make the Y axis a bit longer, so there was room enough for the wires to breathe.
Had to extend some of the wires a bit. Got the big honking power wires set up, and the Melzi mounted. Next time, wires!
Also notice in the FabLab room:
Tuesday, 6 January 2015
The Strange Case of the Broken Hotend
X Axis Assembly
My fears were grounded - the wires to the hotend fell off. Need to get a new one, I guess. On the left side (taken from below), the thermistor wires are top-right and bottom-right, and the hole for the hotend itself is on the bottom-left. On the right picture, a lost hotend connector.
The sideways mounting of the connector on the X motor got in the way. When I tried to move it to live on the top, it turned out FabLab has no PZ1 screwdriver or bit that isn't horribly stripped. So for now the connector still lives on the side, but I need to remove it if I am to remove the extruder:
Adding the fan was a bit fiddly at first, then suddenly easy. Probably by way of bending the thermistor cables.
I lasercut a little piece of wood to trigger the X microswitch before crashing the wing nuts of the extruder into the X axis bearings. My machine now has duct tape on it, as is proper:
The fan connectors from my extruder are wrong, they have red and black on the outer sides of the plug, not lining up with the markings on the X motor connector.
PSU Assembly
The PSU wires are a bit shorter than required, some from previous cuttage, some just from the way they were. A lot of the wires are really thick, I may have trouble getting them into the Melzi (PZ2 bit for scale):
Also, there were fewer wires than expected, but a bonus white one that I have no idea what's for. The yellow wire has a lot of heatshrink on it because I had the piece too close when soldering the tip and it shrank right there. BTW: German for heatshrink is "Schrumpfschlauch" (I kid thee not), but I like to call it "Schlumpfschlauch".
I misread the instructions for the 4R7 and put green on one end and black on the other at first. This gave me the opportunity to try out the solder removal tool that's the right-hand part of the solder box. Worked incredibly well. If I am ever going to salvage stuff again, or just want better soldering irons at home, I want this.
All in all, good progress (except, of course, the hotend). I really hope it's easily replaceable.
Subscribe to:
Posts (Atom)
-
I've had the worst time with my PETG filament, test prints literally exploding during the print and finished prints being very brittle. ...
-
I'm tired of seeing totally irrelevant ads. It seems that the art of figuring out what a web page is about as a basis for selecting ads...
-
After +Tim Hatch 's suggestion started making more and more sense, I re-soldered the Z and E microstepper jumpers. After that, it's...










