Friday, 25 December 2015

Extrusion tests: Temperature, height, and extrusion width

Increasing the Z height by .5mm to try for better bed adherence. Annoyed with the constant disappearance of the text in the Arduino UI, I tried the newest version, and the Marlin 1.1.0 RC3 firmware, but so far has been blocked by various incompatibilities. So for now I use the new Arduino version as the editor but the old one for uploading.

One annoying thing is that homing to Z takes a long time, and I have to do that every time I've disconnected, which will happen a lot while calibrating. I suppose I could add a second Z stop lower down.

I cannot yet predict if it prints in the center or where the head happens to be. This time, I moved it a bit away to do a new print, yet it moved back. Moving XY manually does do the trick, though. Maybe it recenters after having done one print, but not after a cold start.

Bed adherence is better, but it's still just as blobby. Lowering by another .5mm. Calibrating for the new filament shows it's at a fine size. This lowering (increased Z height, really) made the initial layer not come out at all, so that was too much at 202.5. Trying at 202.2. The adherence looks good now:


Could this be a temperature problem? Whether this PLA likes a different temperature, or the thermistor is off, it could make it too melty or something. Trying at 195, but for some reason it didn't want to heat up to that. Actually, it looks like the reading is stuck, it doesn't cool off when turned off, either. The extruder has also been "drooling". Trying at 175 now. Worse adhesion, but the layers look better.

Retrying this starting printing at the corner. What's up with that? Apparently it thought it was centered.

The tape in the middle is getting a bit frizzled. Manually moving a bit away from the center.

Setting extrusion width down to 0.72 from 0.9. Not sure what I should expect from this, though.

Trying at 170 C gave really bad adhesion. At 180, it worked rather well. Still having X precision issues, which makes it hard to troubleshoot entirely. It might also be too thin a layer, it looks rather squishy.

Here's from left to right prints at 185, 180, and 175. With the variability in X movement, it's a bit hard to tell exactly what difference is due to temperature and what is due to X movement errors.



Is it normal that the initial adherence takes a bit? The perimeter consistently starts partway through.

I'm concerned about the sound of my X axis. Here's a video of it running with nothing else going on, it seems kinda rumbly to me.




Enough for now, it's time to go enjoy the sunshine while it lasts.


Thursday, 24 December 2015

Katamari Damacy

Fiddling some more, because what else is there to do on Christmas Eve while waiting for the food to be ready (don't worry, I'm doing my part of the food prep)?

The suspected bed gap is not an issue, I literally can't get a piece of paper under the nozzle when it's at minimum height, but I can still move the bed by motor.

I trying running the X motor back and forth somewhat, and while it rumbled somewhat, it didn't grow warm at all. After marking the initial settings, I adjusted the pot a bit up and down, listening for skips, but it rumbles just as much when at a higher setting as when at a lower. Since it seems to have had problems with the filament getting slightly stuck, I'll increase power by 1/4 turn. Didn't help much, still getting random skews, now in both directions.

Trying with layer height 0.3 and width 0.55. I don't quite get why the width is a constant ratio of the height. I should think, once the height is less than the nozzle diameter, the extra material would squeeze out to the side. But I guess the interface is smart enough to adjust the feed rate accordingly, that might just put extra strain on the output. Not sure.

With 0.3 layer height, it was clear that the nozzle didn't get close to the bed initially, and the first layer only stuck a little bit, so any kind of sticking to the head made it start to clump up again and eventually gather the whole thing up, like a Katamari Damacy. Grumpf.

Printing things that are actually things, almost

Since I've gotten the mechanics to work, I expect I will spend more time with the printer just doing its job while I can do something else, so I took it home over the holidays, it can stand in a corner printing holiday cheer:)

I bought some grey PLA from igo3d.de, 1kg of it. Since it's not the same size spool as the spool holders that came with the Mendel90 kit, I just put a stick across the back plates, as shown here:



I got a nice test case from Thomas Riedl, a small piece for holding wires in a LED tube. I did some modifications to make it more rounded, but otherwise it's the same. I also did an extended version that allows mounting a backplate with M6 bolts. I printed one, and it came out slanted.

Just to check that it wasn't a problem with my redesign, I printed one of the originals. When starting that, despite the pronterface saying the extruder temperature was at 185C, the firmware prevented cold extrusion. Odd. Then I got disconnected.

Turning back on and heating properly. Despite what I thought, it will print from wherever the heads are in X-Y, so I need to always center before starting a print.

The initial outline has trouble sticking. I suspect I need to lower the Z target a smidgeon.

In the second print, I don't see the same skewing until at the very top, but the layers are sloppy. I probably need to adjust somewhere what the extruder diameter is. Simplify3D's troubleshooting guide has a nice illustration of what's wrong when prints look like crap in various ways, I'll let that guide me.

So three apparent issues:

Poor attachment at the beginning - adjust start height
Wrong extrusion thickness setting - find the place in Pronterface that sets this
Skewing - unsure, possibly from the motors being right at the edge of getting enough power.

Here's Thomas' print and my first two attempts at doing the same:


Saturday, 12 December 2015

I'm making a note here: Huge success (relatively)

After last time's successful measurement, I adjusted the extrusion speed to match reality. Time to find a test print!

Since I didn't get the kit, I don't have a presliced Android gcode file on the SD card. Instead, I go to Thingiverse to find some plain test cups. The first few I try don't get accepted, but the stack trace from Python is so long it takes me a bit before I realize that it's just not finding Skeinforge. Setting the external commands to point to the proper place helps. Grab a test cup, and slicety!

Slice... slice... slice... and boom! " object of type 'NoneType' has no len()". Hum. Could be a bad STL, let's try an egg cup. That one worked, but is estimated to take an hour. I was hoping to be home earlier than that. Grabbing a simple vase instead. 12 minutes, using 65 cm of PLA. Sounds good. I grab about a meter and switch out the small piece I tested extrusion with.

Pressing print! Things are moving! Things are printing... but not really sticking to the surface. Most likely forgetting to heat the bed is the problem. Resetting, homing, heating, printing again. It goes all the way out to the max corner when printing, that's silly. Let's see how to get things to the middle.

Aside: The Ubuntu version of the Arduino software has a weird bug that scrambles the text some of the time. It gets better if I resize, but worse again when I scroll or type. Annoying.

Changed to

#define X_HOME_POS (X_MAX_LENGTH * -0.5)  
#define Y_HOME_POS (Y_MAX_LENGTH * -0.5)

That did not help. Also, the clamps in the corners get in the way when Z is low. Trying with brute force:

#define X_HOME_POS (0)  
#define Y_HOME_POS (0)

Now centering is proper, but it won't go any further. 

Let's do this properly. The centering seems to go to (X_MAX_POS - Y_MIN_POS) * 0.5, so set X_MIN_POS and X_HOME_POS to 0, similar for Y. Now it homes nicely to 0, 0, and centering brings it to center, while allowing movement over the whole surface. Final settings:

#define X_MIN_POS 0
#define X_MAX_POS 190
#define Y_MIN_POS 0
#define Y_MAX_POS 200

#define X_HOME_POS (X_MIN_POS)  
#define Y_HOME_POS (Y_MIN_POS)

Note to self: Printing doesn't wait for the extruder to heat up.

Printing again, and this time it (mostly) works. The outline got loose, but the base seems to stick ok, even though it printed over some of the loose strands. However, the walls were trying to build on some of the initial loose stuff, which doesn't work too well. It also seems to slide in the negative Y direction. Then partway up, it either decided to just shift itself sideways, or X got stuck on that loose thread sticking up and got out of sync.

I can reasonably stop this here:)

Trying again, the outline gets loose here, too. Aborting. 

Applying Kaftan tape just to see if it makes a difference. Last print for the evening, but it's definitely sticking better. This might work. It still leaves that little gap between the outline and the bottom, though. Huh! It actually goes back and (sorta) fills in that gap once the rest of the bottom has been laid. How odd. But again it offset on the X axis, while the filament was bonking against the frame. I'll leave it be for the rest of this filament and see if it happens again while the filament is standing free.

I wonder if that odd jump before was due to the filament getting stuck up top and putting too much resistance on the X motor. I should probably set up the filament holder. And order some filament of my own.

Here are my first four prints, in printing order left to right:



ObPrintingVideo:



Things I should probably do next:

Order some filament of my own and mount it on the reel holder.
Mount the fan.
Adjust the potentiometers for the X and Y motors in particular to make sure they have appropriate power.
Somehow calibrate the layer height.
Print more!

Sunday, 6 December 2015

In which we _finally_ manage to extrude

Time to test the flat cable. Found some small cables and a multimeter, and the extruder part of the flat cable works - yay! Also, there is proper connection through the little PCB. So what's wrong? Well, there's connection through all four outputs on the PCB. That's not so good. Not the case with the flat cable, so (unsurprisingly) the PCB is a little over-eager in connecting things.

Took out the PCB and wired in some nice cables. The solderings look nice, so I'm not sure what could be the problem. And, as it turns out, there is no problem The PCB is perfect. But when I put it back in and measure (without the motor or Melzi connected, there's connection between black and green, between black and blue, and between green and blue.

Rechecking the male and female D-Subs, the female does indeed show connections between pin 15, 7, and 14. I must have held the cable just wrong when crimping it. Sadface.

After checking carefully that pin 8 of the D-Sub is not used, I decided rather than wait to get a new one, I would cut the last 5 wires off the flat cable and connect them directly. In order to make it be disconnectable, I wired them up to male/female single connectors, like this (but with some tape to keep it from getting entangled in everything):



With these connections in place, I should be able to run the extruder. Aaand... it stutters:(

Nooooooooo!

To debug this, I first switched back to direct connections, then one cable at a time to the flat connection. Already the first one (red) broke the nice, smooth extrusion movement.

Looks like the wiring wasn't quite as I saw it. The flat-cable wire I thought was blue is actually red. Which means I've cut some unrelated cable, possibly for the fan since both heater and thermistor works.

Finally got through all the wires and it now extrudes with the correct connections and nicely taped up.

Added some filament and did calibration: Started with a mark at 100mm, then told it to extrude 50mm at 60mm/min. Afterwards, the mark was at 67 mm, so it extruded 33 mm instead. Important difference.

Here's a bit of extruded filament hanging down, as proof:


Tuesday, 1 December 2015

Out with the new, in with the old

Attempting to avoid the problems from last time, I soldered all the wire ends going into the Melzi before wiring the old board up again. Well, half of them. The other half were hiding so well I missed them until wiring time and then didn't feel like going back to soldering.

Add power, and all systems are operational (though some wired a little funny)! Woohoo!

Removed the new Melzi and re-mounted the old one. No thanks to 3dnielsen.dk for still selling the old 10K ohm version of the Melzi.

Tried connecting through the normal wires to the extruder motor. It reacts, but stutters rather than move, probably some connection is bad. I can now either try to fix that or try extruding something. Since I have little time left tonight, I certainly can't extrude something real, but I can try feeding some filament and adjusting the potentiometer. Here's how to adjust the potentiometer, not too difficult.

The resistors say R110, so that's .1 ohm. My motors are of two different kinds: The extruder motor came with the extruder, while the other three came from elsewhere. So quite possibly the extruder motor needs a different amount of power.

But I'm running out of time for today. Maybe over the weekend I'll have a longer stretch of time. Especially if that Civ game doesn't get more players than have replied so far.

Thursday, 26 November 2015

New laptop, old Melzi

First time trying with my new laptop, so of course half an hour went by finding out that the wifi password isn't on the wiki anymore. But now I'm connected.

First order of business: Get the firmware back up and running. I tried with the old version from the Mac, but without luck. Instead I grabbed a Mendel90-specific Marlin and uploaded that, after moving an old clashing dir out of the way it worked.

Cloned Printrun and ran it, all axes work nicely. Temperature sensors still read 40C. I measured them before putting power on, and they were at 11.5K ohm. Now they read - (!) 90K. There's probably a reason they change when there's power, I'm not going to worry right now.

This post claims it's because some Melzi boards still have 10K instead of 4.7K pullup resistors for the thermistors. And indeed, it does. So even though 3dnielsen.dk calls this a 2.0 Melzi board, it has old resistors. Bother. The old one does have 4.7Ks.

Manually holding another 10K resistor changes the temperature reading a little bit, but not down to 20C. I might just not be able to hold them appropriately.

Three options now:

1: Buy a new board. Expensive, and I'll have to rewire, and it may have other flaws.
2: Resolder the SMD resistors, taking the ones from the old board which are correct. Haven't tried soldering SMD before, but these are relatively large:



3: Recalculate thermistor tables. There are some posts about this, but they all assume you have a way to measure the temperature. I tried measuring my hotend earlier with an infrared meter, but it never read anywhere close to what it should.

Just for shits and giggles, I wired up the old board with just power (easy now with the name), ETemp, EHeat, and direct connection to the extruder motor. Heat it up, and whaddyaknow, it extrudes! Well, runs the extruder motor at least. So it worked all along, maybe just with too little power and definitely with the wiring problem. So now I have another option:

4: Switch back to the old board again. Try not to cry.

At least I didn't start soldering before I tested this. Could easily have destroyed both boards for nothing.

I think I'll spend the next evening soldering the tips of all the wires going into the Melzi, so I don't have further issues with wires going off on adventures.

If need be, I can have separate wires circumventing whatever it is that's broken with the normal extruder motor wires.

In other news: FabLab now has no less than three (3) laser cutters, including one 150W oxygen-laser 1,5 m2 cutter. It slices metal sheets. Sweet.