Friday, 26 July 2019

Blast from the Past: The Monster

As part of preparing an OpenSCAD class, I wanted to show what my old printer (nicknamed "The Monster" in FabLab) looked like. Apparently I had never posted that on this blog, so it's about time. Here's the amazing almost-but-never-quite-working McWire "The Monster" printer:


Sunday, 14 April 2019

Printer back online

After a long hiatus, my trusty printer is now back online. The hiatus has partly been due to a series of problems, partly due to me finally getting my shit together to do a proper workbench in my room (another post coming on that soon). Among other things, I replaced my Melzi with a new and slightly nicer one, though I'm not now sure that the old one was actually broken - turned out despite my testing the D-sub connection was done wrong. I was tempted to get one of the TronXY models which come with nicer connectors, as connecting raw wires in a cramped space is not easy and rather error-prone. I just don't know if they're truly compatible, and haven't been able to find any evidence one way or another. They seem to be Chinese knock-offs, and what I have seen about them doesn't sound encouraging, but then people only post when complaining, so I don't know.

After a number of rewirings - it seemed every time I fixed one wire another started having trouble - I now have it printing again, except the print fan is dead. That's not just a wire problem, I applied 12V straight to it, and it didn't react. So that needs to be replaced. It shows quite clearly on this McBenchy:

Ridges on the brow and drooping above the door - sign of a missing print fan
I have changed the hotend fan to take 12V from the hotend + on the breakout PCB. This is in preparation for putting in the probe, which should use the spare P pin as signal. However, I would need to put in either resistors or a voltage regulator to get the signal down to 5V, so I will probably need to redo the board to support that. Yes, I could make a tiny side board for this, but I have had it with messy setups. At the same time, I could change the connectors to some that are easier to plug in and out. This is the most informative thread on the current layout wrt probes. That thread says to not put too much current through the shared thermistor ground, this fan uses 150mA, which might be a problem for the thermistor, maybe. The probe wouldn't add much. If necessary, I could draw an X limit ground wire, but I would rather not. I think the lack of spare wires into the breakout board was somewhat of a false economy, it makes it hard to upgrade. There are also potentially good links on this thread.

Saturday, 2 March 2019

Make Munich: Sensor chips, all-in-one printers, and some ideas

Make Munich is this weekend. I went out there for a couple of hours, that's all I was up for. It is better than last year, with more interesting little start-ups and creative groups rather than big commercial entities taking up chunks of space.  There were quite a few pretty retro things, as well as some really nice art pieces done with paper and lights:


Dragon!

I found a company called Aconno, which has done the small cheap battery-driven humidity/temperature/light sensor I've been thinking of for a while. At €30, it's quite a steal, and rather than having to be plugged in, it can do intermittent recording and use BLE for sending the measurements, leading to a lifetime of about 1 year with fairly regular logging, longer if you reduce the frequency. They have a nice app, open-sourced, so I don't have to worry about getting locked in. And the device itself can also be reprogrammed. Once they come out with some that do a bit more buffering and the price drops more, I'm going to get more - I already got two today.

I was also looking for something to potentially be my next printer, though no earlier than next year. There was a nice little 3-in-1 3D printer, CNC, and laser cutter called Snapmaker for €700 - smaller build volume than my Mendel90, but having my own laser cutter would rock.

One idea that crossed my mind was an easier way to make custom masks. Yes, it's possible to take a face mold and scan it, or scan straight from the face, but then turning that into a mask plus printing a curved surface nicely is not so easy. A simpler solution may be to print a generic (or possibly parameterized) mask flat using PLA, then heat it up to where it becomes bendable, and just slap it onto the face to shape it. Obviously, some face protection would be required, possibly foil, and some way to align it properly. A quick search doesn't show anyone having done such a thing. There's plenty of pages on making molds with 3D printing, or using 3D printing for various skin treatments, but so far little on hot-shaping PLA and only one page on doing it onto skin. There's this Reddit thread on hot-shaping which talks a bit about various people's experience with hot-shaping.

WARNING: Potential for burns ahead.  THIS HAS NOT BEEN TRIED!

I'm thinking laying the print flat on something pillow-like in the oven and heating it to its glass transition temperature (~60C). This allows pressing more evenly than if you press directly. Though maybe oven mittens for pressing would also work. Cut a piece of aluminium foil and two pieces of thick cloth, layering the foil between the cloths. Cut this sandwich to somewhat beyond the shape of the mask, with holes to put elastic band around the head to hold it in place. Then place the mask as symmetrically as possible and press.

Another less dangerous idea: 3D Julia sets. The 3D Julia sets are nice, but you can get some awesome structures out of 3D projections of 4D sets calculated on quaternions. And yes, people have done it, including a number of designs as vases, which is another thing I was thinking I would like to print.

I also want an illuminated hat. Not just a hat with an LED strip doing fun stuff, but where the light is more dispersed and just looks spooky.

Monday, 21 January 2019

A rework in progress

After the last repairs, I got sufficiently annoyed by the mess of wires around the extruder. In particular, having the extruder motor wiring as well as the fan wiring bypass the break-out PCB entirely made for a tangle as well as some rather unstable connections.


Extra wiring can be seen on the far side of the ribbon cable.
 I acquired new ribbon cable, D-Sub connectors (3 of them, just in case), and went to work. I only had to discard one of the D-Subs, and this time made sure to thoroughly test the connections. I cut the cables back to make for a neater lineup at the controller, and labelled the parts with Dymo labels this time (plastic, not paper, for fire safety).


Now having all this set up, the tests gave some rather disappointing results. For one, the thermistor and heater are connected, despite the instructions declaring - in boldface - that they shouldn't be. And indeed, the thermistor insists that my room is over 100C, which I am sure I would have noticed. The X motor and endstop work, but the extruder motor is making a strange faint clicking noise, even when doing nothing. Neither fan activates. This might take a bit to clean up - I even suspect the PCB itself has issues. The hour of remaking the PCB to include the proximity sensor draws near - and finally the otherwise unused cable #5 could come to the fore.

I'm rather concerned about the heater/thermistor connection, though, as it manifests on the controller board even when the heater is disconnected.

Update: The PCB appears to perform its functions exactly as advertised WRT the heater, thermistor, and motor. Disconnecting the ribbon cables from the controller board shows there's a ~1K connection from the lower HOTEND connector to the ETEMP connector.

Tuesday, 1 January 2019

Repairs

Following my disaster from last year, I tried to salvage what I could. For the extruder motor holder, I was able to set it on a thing with a hole and bash a hex wrench through it, popping out the stuck piece. The heat sink proved more problematic, though. I was hoping I could soften it in the oven and pull it out, but the spread-out part wouldn't budge. My next attempts were using increasingly hot oven temperatures to try to hammer it out from the other side. For this I needed something sturdy and heat-resistant I could set it in - after some searching, I noticed the steel pipe I recently got for sword swinging practice fit nicely, and could be set up in some of the drawer handles to stand upright. However, this mostly just squished the filament further together in one end. I eventually got some of it to melt out, but at this point I had bent the hex wrench, and while looking on the Internet for advice saw one important warning: Do not get the inside of the heat sink scratched! Well, I had just hammered a steel hex wrench into it several times, so at this point, rather than spending more time on trying to clean this, risking all manner of annoying problems in the future, I gave up and ordered a new one from e3d. Being the cheapskate I am, I had it shipped with Royal Mail, so I expect it'll arrive some time before New Year's.

I've considered the state of the ribbon cable and breakout PCB some more. Redesigning the PCB would be fun, but isn't really necessary at the moment. What I should do, however, is replace the cable with a fresh one, properly made. I will start by cutting a bit of extra length, attach the connectors, and test the connections before actually swapping anything out. I would like to have a few more wires around for extras, but the ribbon cable holders near the X end-stop don't have room for more. I'll just have to see if I could steal heat break fan power from the hotend itself and use wire 5 for probe signal.

Oops

Doing a new print this morning, the filament stripped not long after the start. Bother, said Pooh. But when I tried to do a cold pull, the filament snapped instead of coming out. That's a bad sign. Then I realized that thing I hadn't been hearing was the extruder fan not running since I had taken out Wire 5 yesterday. Turns out it is in use, just for permanent fanning. It would be better, methinks, to take that from the heater 12V, but that would require redoing the PCB.

In that case, I might as well redo it such that it more directly supports a proximity probe with voltage splitter as well, and get the cable fixed once and for all. This increases the work substantially, but would in the long run make the whole mess of cables be much nicer. And I rather like doing PCBs, the Fritzing app is quite good for that.

In the meanwhile, I'm going to clear out this probably blobbed-out piece of filament the hard way. I just hope it hasn't melted into some of the non-metal pieces, that could get hairy. It struck me that printing the extruder motor holder in a clear filament would make it a lot easier to see what goes on in there. But that's not for now, that holder is difficult to get right.

A quick search finds this already-existing breakout PCB with all manner of things.

Morning-after update: Took apart the hotend again. It's fucked. The e3d heatsink has a piece of filament stuck in it, blobbed out at the top. That can be heated and removed, I'm sure. Worse, a piece of the filament melted near the bottom of the extruder mount, and it might have fused too much to remove - I certainly haven't been able to just push out out from the far side.


Sunday, 30 December 2018

The proximity sensor cometh!

Having a night with nothing happening, I decided to finally move towards getting the proximity sensor on my printer. It's been lying around for a while (actually I burned one because the supposedly 12V power supply was actually 16V), and it's really the last thing missing on my printer. So onwards!

First thing I need is a voltage splitter so I can use the 12V signal in the 5V inputs on the Melzi board. Easy peasy, just two resistors and some jacks. That's what I have all this stuff lying around for. Solder it all up, and... find that I has placed the jacks wrong. Whoops. Remove, replace, resolder, not a problem. And then... find that the one resistor was 100Ω, not 100kΩ. Whoops. Remove, replace, resolder, not a problem. And then... notice that some of the soldering wasn't really that good and needed to be redone. Resolder, not a problem. And then I managed a simple circuit that should have taken 10 minutes but ended up taking more like 2 hours due to mistakes and misplaced things. Hopefully once my work table is in place the misplacings will be fewer. I don't expect they will ever stop.

The voltage splitter on the left, being tested. I like the little hooky test wires. 
With that prepared, I need to figure out exactly where to hook it up. The best information I have to go on is this thread on reprap.org, in which nophead as usual points out a number of subtle mistakes one can make with the most straight-forward approaches, though the solutions are not as obvious to me as they are to him. The "P" connections mentioned I'm already using for the e3d fan, but there's also four KRGB outlets (wait, is that a more colorful version of the Soviet-era secret intelligence agency?) that are not used. What do they do? Well, if I had done my fitting properly, they would have gone to the motor, but because the D connector was slightly off in the ribbon cable connection, I had to re-route those around the PCB. Thus those four are not used for anything, and I have no free connectors. Bother. Back to reading the specs.

Now the FAN+ pin has 12V on it, and would not be adversely affected by a bit more draw occasionally. But that's not connected to the ribbon cable. Wire 5 of the ribbon cable is unused and marked 'Probe', so that's probably a good one for the return signal. I suppose I can leech some 12V off the heater (HOTEND+), that won't disturb any readings, and for symmetry take GND from HOTEND- (or is there a reason it's HOTEND- and not GND?). So where is that Wire 5 going right now?


Here's the Melzi as it stands. There are three wires (#6, 7, and 8) going together into the second larger block, that's HOTEND+, and 3 more (9, 10, and 11) for HOTEND-. Wires 1 and 2 are the X stop, as can be seen from the red wires. 3 and 4 are for the thermistor. 5 and 12 go into the same block, the first larger one, with the top (12) marked as "FAN" on the cable, "FAN-" on the schematic. "FAN+" of the schematic isn't supposed to be wired to anything, and that's the wire 5 I could steal for signal.

My thinking is I can bring that one over to the contacts on the far side of the board. Whereas some builds show a 10-pin connector there, one mine it's just loose pins, free for the taking. Any of pins 2, 4, 6, and 8 (right row, from the top) on the lower section would go to EXT-A{1,2,3,4} on the chip.

On the top right: Pins enough to skewer a small mouse!
Not entirely sure about the HOTEND-. The schematic confuses me a bit. There's a HOTEND_BYPASS named JS2 that connects to ground through a resistor and that controls a power resistor. So that's probably how it's turned on and off. No, upon further inspection the HOTEND shown there is the connection. Slowly learning basic electronics here: that's an active low. In other words, no good for ground.

Having investigated these things, the original forum thread makes more sense. So I can take +12V from the heater, GND from the thermistor (though double-check if there's an influence on the reading), and bring the signal through wire 5. Great! Putting the appropriate connector on the voltage splitter and attaching it to the proximity sensor, it's all ready to go on.

By starting the hotend heating and measuring the voltage drop over it, I have determined that th right-most of the H sockets on the small PCB is HOTEND+ (12V), and the right-most of the T sockets is GND. But actually plugging them in will need to wait a bit. After spending about 15 minutes looking for a small enough screwdriver to unscrew Wire 5, I now need an even smaller one for unscrewing H and T. And it's late.