Itchy: that bit should not have melted

I made the Y lead-screw nuts out of polymorph. They have now eased and conformed around the screws, but for a while they were very slightly out of alignment. One of them’s oozed a bit, and dripped down the side of the aluminium part of the block. That probably shouldn’t have happened.

#funWithUnexpectedFriction

Itchy: X axis motor mount

Today I milled the motor mount for the X axis (as opposed to the motor mount which moves the X axis. I hate that nomenclature).

Ahem.

Today I milled the mount for the motor that powers drive along the X axis. It was a stepped piece to allow it to butt up against the aluminium extrusion of the axis. It has mountings to attach the motor and the two cable tracks, and a dip for the registering surface of the motor to sit in.

Because I am a numpty, it also has a dip on the opposite face of the plate, where the motor doesn’t sit. This came about in part because I was being taught how to clamp it so my mind was elsewhere, and in part because I was not thinking enough. I don’t k I would have got it right even given the chance.Today I milled the motor mount for the X axis (as opposed to the motor mount which moves the X axis. I hate that nomenclature).

Ahem.

Today I milled the mount for the motor that powers drive along the X axis. It was a stepped piece to allow it to butt up against the aluminium extrusion of the axis. It has mountings to attach the motor and the two cable tracks, and a dip for the registering surface of the motor to sit in.

Because I am a numpty, it also has a dip on the opposite face of the plate, where the motor doesn’t sit. This came about in part because I was being taught how to clamp it so my mind was elsewhere, and in part because I was not thinking enough. I don’t k I would have got it right even given the chance.

Balls.

Itchy: Google API and image search

Google’s search API is deprecated. For image searching, I used the Google Python CSE API client. That meant setting up my own custom search engine. For a perplexing long time I couldn’t get any decent results out of it, but then I blanked out the list of sites in which to search (I had google.com and nothing else) and, importantly, found a dropdown menu that gave me the option of searching elsewhere. So now I’m finding 0 results from my first tier non-sites, and then all the results that google can give me, from the second tier. It’s a strange way of doing it, and I couldn’t find it in any of the docs, but that’s how I did it.

Itchy: software and sobbing into my keyboard

For the Pint of Science festival, I’m paired with someone working in machine learning, primarily with text. He’s giving me the results of a search that finds common names – or sometimes fails to find things that are names, but look a bit like them. I use those for an image search.

I hate hell, all Capulets, and Google Custom Search API.

Itchy – how the nuts work

I was going to make myself a tap out of steel and try to make an aluminium nut from it – after discussion I decided to make that a delrin nut. After further discussion, I used polymorph. And by further discussion, Roger came into the room ten minutes after I’d explained the problem to him, and said, “The other thing you could do…” and then I did what he suggested.

NB: do not use a drill to move the screw back and forth in polymorph to clean it out. It gets hot, and polymorph melts below 100 Celsius.

Fortunately it’s not hard to warm it up again and recast it. It’s all trapped inside a bit of inch square extrusion.

Iterating Wobblebot (and a side project)

I’ve laid the cable track, planned the new screws and bought another identical to the second…

So, as it turns out, not all lead screws are the same, even when they are supposed to be. The first one I bought has a thread that’s at the right pitch, and the right height, but the trapezium shape is too narrow. This was leading to a huge backlash problem, which I thought I would have to deal with by making anti-backlash nuts. However, the other lead screw, which I had bought thinking it was a pair, doesn’t have that. There’s more metal, and it fits snugly in the nut I have. That means there’s hardly any backlash at all.

I’m still interested in making the anti-backlash nuts, and I have other uses for a tap for that shape of screw, so I’ve ordered a length that I’m going to try to tool into a tap, with the lathe and the mill. Clamping it is going to be a right beggar – I might enclose it in a thermoplastic and clamp that instead.

Itchy: Improving stuff

The current base of Itchy is a slice of plywood on some 40mm blocks with some nuts used as spacers. I’m calling that ‘non-ideal’. It’s going to have MDF on a raised base of some kind, probably made of lengths of 20×20 extrusion. It might be removable, and probably should be, but ‘removable’ just means having countersunk screws, and maybe some kind of cover for them. ETA:I just remembered I know where there’s some sheet steel. I must remember not to overmake this.

The entire gantry swivels about the lead screw. This is slightly more than non-ideal. It’s a significant error. Mat’s been helpful about that, after he stopped cringing. (He called it an abomination. I’m so proud.) Two lead screws worked from the same stepper would move that squarely. I’ll have to add anti-backlash nuts, but that isn’t a problem – I have two bearing blocks on either side, and I tapped them both. Adding in the second cross-piece hasn’t been a priority yet. When I do it, I’ll have to do it properly and arrange everything nicely. Right now crosspiece #1 is held on with two pairs of corner braces that are bolted to each other. That was only ever temporary, but I’m impressed by how well it’s been working.

The head needs building, rebuilding, or re-re-building, depending on how I’m keeping track. The belts are currently attached to a piece of acrylic, which is not actually terrible given the amount of pressure on it. However, I’ll be wanting to put more pressure on it. This is another non-ideal part. It’s not a critical part of this round of improvements. The motor at the end of the gantry is held on by a single piece of 5mm acrylic and the power of hope. That /is/ a critical part of the current round of improvements. I need to make that out of metal, and have a bottom brace to it as well. I’d have made it out of metal but that all went badly wrong when I put it onto the rotary table on the mill. We don’t have a single bit wide enough to get the raised part of a NEMA motor sit inside a hole. On the head I got around that by not having enough of a hole in the first place, but I knew the head was temporary, and I want to do this properly. The best way is probably to make a threaded rod for the mill that has a cone ending, so I can centre-find. I’m likely to eyeball it all and hope, though.

The biggest features now are the splorted wiring everywhere like someone has disembowelled a pinata full of multi-fruit bootlaces, and the fact that some of those wires are inherently unsafe. The limit switches are currently push-to-make, and should be push-to-break. That was a speed thing, but I can invert them easily enough now I know what the firmware is, and that it’ll support the pin inversion. I have cable track now, so I can run them all safely. The head/motor holder designs both need to take into account limit switches and wiring anchor points. I tried 3D printing track, but the joints were not good enough.

In order of importance, there are the safety items first – limit switches and wiring – and then the thing that’s arguably a safety item, in that I don’t want motors to snap off and should therefore get rid of the acrylic – and then the wobble along the bottom axis, which different people call the X or the Y. I’m thinking of calling it ‘the axis with the motor nearest to me’ which is my kind of naming scheme. (It’s a bit weird, because it’s not like a graph where you plot things. It’s a graph where the axes are used to move the other axes. So a movement in the X, from left to right, can be made by a stepper that is sitting along the Y axis. This has been a source of massive confusion to me, so the milling course at makespace just has ‘long axis’ and ‘short axis’ and then nobody has to think. And, more importantly, there’s less chance of fucking up through people not thinking.)

In terms of what I’m realistically going to do first, it’s got to be the wiring, then it’ll likely be the wobbly bottom, then the motor mounting, and then a big redesign of the head. I can probably deal with the wobble a bit by only having three blocks, which would let me position the rods to minimise the travel available – but that’s the wrong way of doing it, and a double lead screw is the right way.

Itchy: Victory

A block of wood with a distorted silver circle drawn on itLast night I put everything together. The tool chain is now clear. I learned what ‘tool chain’ means from Co-Squidly. It was a word I knew but had never really respected, and now I do. So, here’s the flow:

  • Generate paths in Inkscape
  • Inkscape -> Extensions -> GCodeTool -> Path to GCode
  • Clean Gcode – inkscape uses (comments like this) and gcode needs ;comments like this
  • Import to bCNC (python GUI to send gCode)
  • Send to Arduino
  • Magic happens. Stuff moves!

The silver circle on the wood above was drawn in inkscape and sent to the machine where it was drawn with a Sharpie. I’ve built a machine. I declared tea and victory, and went home.

My friends have nicknamed it wobblebot. This is not unfair. It needs a lot of work, but it’s what I was after.