Freesteel Blog » 2015 » October

Friday, October 30th, 2015 at 7:34 pm - - Machining

As you can see, I got lent a G320 servo drive to play with.


This time I put it into a slightly more sophisticated test regime than with my leadshine driver experiments involving sending 8 step pulses 1800 duration (except the first one which was 600ms duration) [in purple], then giving it 12 forward pulses from the encoder with duration 360ms followed by 4 backward pulses from the encoder of 1800ms to simulate an overshoot [in cyan]. The PWM voltage out is in yellow.

You can see opposing denser and weaker voltage layers in opposition as the driver delivers more of 24V+ and less of 24V- in equal measure in response to the inputs.


Wednesday, October 28th, 2015 at 11:08 am - - Machining

The first BeagleBoneBlack in the picture was already bust when I gave it to Tom. He broke his own one when wiring it to the triangle milling machine during replacement of its desk-top PC LinuxCNC controller system. Then, with nothing better to do, we got to work on those Leadshine DB810A servo drives and broke the Z-axis one when we wired an oscilliscope across the plus and minus motor power poles. These are temperamental devices that spend a lot of time flipping back to the error state with the red LED so we weren’t 100% sure it was broken until we did the same job to the ‘Y’-axis driver.


And that’s how we reduced three hand-held oblong items of electronic gadgetry to three lifeless plastic bricks in one day.

We took all three drivers out of the box and put them on the bench with a 24 volt power supply to verify that the remaining ‘X’-axis one was working differently on account of the fact that we hadn’t broken it yet.

Friday, October 23rd, 2015 at 4:20 pm - - Machining

A day of pain on the proxxon mini machine produced this terrible result:

In the evening I was able to work with the big machine in the closet while another meeting was going on in the Dinky main room. My got it’s such a pleasure to use. And so quiet, without these buzzing stepper motors and noisy spindles. Here’s the raw code that made the toolpaths.

I’ve been pushing so hard on this I’ve not updated anything else. Back on weekend of 10th October I had a couple of flights off Mam Tor.
I stayed the night with Becka in the TSG hut and flew with 25 other hang-gliders on Sunday. No crashes happened and I didn’t talk to many of them in the field on packing up. It’s not like being with cavers. There’s not so much use we can be to each other, other than getting in one another’s way.

And finally I spent most of the fortnight cycling down to the allotment after receiving an official warning that we’ve not been weeding it enough. This takes me past the new Kings Leadership Academy which is not in Warrington, but on the site of the out of date website of University Academy Liverpool as you can see from the signage facts on the ground:


This is just half measures. They should go for the full Bill & Ted experience and use the original sayings:

Be Excellent to Each Another

Party on, Dudes

These, in fact, have a lot more meaning and application, in the way that “Excellence is a habit” is self-centred and ultimately empty.

On the other hand “Be excellent to each other” is the motto of Noisebridge hacker space founded by Mitch Altman who explained that this is their one and only rule. It’s something that has meaning, you can act on it, and hold yourself up to it.

Furthermore, “Party on, Dudes” does make clear that we are here having a party. Life is a party. There’s enough food and toys in the room with sociable people and we’re all here to share and enjoy it. And we intend to continue this party on. Nothing could be clearer than that.

It would be nice if the students got it together to sort out that sign, and the other one, which says: “Making Great Leaders”, because someone’s got to do the goddamn work at some point, and it would be nice if such people were valued instead of ground into the ground by all these self-appointed “leaders”.

You could start with the pathologies of meaningless mottos and the deterioration in direction outlined by a interviewee on This Is Hell who began:

I recently spent a semester teaching writing at an elite liberal-arts college. At strategic points around the campus, in shades of yellow and green, banners displayed the following pair of texts. The first was attributed to the college’s founder, which dates it to the 1920s. The second was extracted from the latest version of the institution’s mission statement:

The paramount obligation of a college is to develop in its students the ability to think clearly and independently, and the ability to live confidently, courageously, and hopefully.


Let us take a moment to compare these texts. The first thing to observe about the older one is that it is a sentence. It expresses an idea by placing concepts in relation to one another within the kind of structure that we call a syntax. It is, moreover, highly wrought: a parallel structure underscored by repetition, five adverbs balanced two against three…

The second text is not a sentence. It is four words floating in space, unconnected to one another or to any other concept. Four words — four slogans, really — whose meaning and function are left undefined, open to whatever interpretation the reader cares to project on them.

Think of it as an intelligence test. Nail up a bunch of ridiculous signs around the school building and if nobody pulls them down (metaphorically and/or physically) then that school’s education has failed.

For more, there’s on-going entertainment at the FOI Website for the LDL report.

Wednesday, October 21st, 2015 at 9:09 am - - Machining

I’ve been going hammer-and-tongs at this code for almost two weeks now. To prove it’s real, here it is. No one is ever going to lock this algorithm away again. This time it’s a public good.


Back in the 1990s I implemented M. Held’s algorithm twice as it was written up, first in his PhD thesis, and later in a CAD paper. He later developed a third implementation, which I didn’t implement.

This version is a totally different approach and has the potential for being fully robust no matter what.


The plan right now is to get only this particular input shape working properly — and I can spot a few bugs still there, damn! — so that I can make a toolpath to cut a stamp, which involves area clearing, chamfering and V-groove cutting. It’s got to push through.



That’s better.

Notwithstanding a lot of technical debt I should deal with while the code is fresh on my mind, this is ready to turn into some toolpaths. Unfortunately the big machine tool in the closet is unavailable due to meetings in the spare room, so I’ll be using the mini Proxxon tool to prove this algorithm.

And while I’m packaging this up into a fit state to be presented, I need to remind myself exactly why I’ve been suckered by the Not-Invented-Here force-field and avoided using the relevant CGAL package that’s freely available and fully optimized.

For the sake of reclaiming my time I have to find a way that this code exceeds it. But it won’t be in terms of speed and efficiency, that’s for sure.

Wednesday, October 7th, 2015 at 7:52 pm - - Machining

A speculative challenge of machining some leather stamping tools out of brass has led me to do more work on my voronoi experiment hacked as part of my barmesh model.

To make a brass tool requires some area clearing, chamfering and then v-grooving the details.

Like most coders, I do suffer from Not-Invented-Here Syndrome, but at least I did look at OpenVoronoi last year.

I’ve also had a try out of jscut (an in-browser CAM system) which has a V-engrave feature that is not quite right for this application. Nevertheless, the C++ voronoi code underlying this (which I should study at some point) is here and it’s then compiled into Javascript that runs in the browser using Emscripten. Emscripten is a technology that changes everything about where you expect code to be applied.

The stuff I’m doing is quite buggy, but I can at least see a way for it to handle pure arcs in the contours coming in. Most 2D contour voronoi implementations give up once they can do polygons, because it just gets too complicated to be worth it. But this algorithm works by sampling on a regular grid and shouldn’t suffer from complexity that comes in.

The thin cyan lines is the 5-sided polygon with one concave vertex. The yellow lines is the voronoi diagram, and I’ve plotted the nodes of the mesh in different colours depending on its voronoi polygon.

Here is a sparser mesh to show that I am able to subdivide the cells (white line segments) to get to the details. (Something looks wrong at node (2,3).)

Monday, October 5th, 2015 at 7:18 pm - - Kayak Dive

Not much bloggable recently. Some well-formed untested ideas on matters of servo motor control, and lots of bad psychology. Two discoveries of note that’ll take up a lot of time are jscut for CAM and chilipeppr for CNC downloads, both of which run in the browser. I have an interest in this approach, but now that I’ve found some people who are doing it effectively, it will save me a lot of time.

Meantime, here’s a couple of bad pictures from a cheeky kayak dive in the docks during Becka’s Thursday night canoe polo session (aka murderball).

Getting ready to go down:

One of the scary eels that made me shriek when it appeared in the dark.

Eels look and move a lot like snakes. We’ve got an instinctive fear when we encounter them in their own environment. It was interesting how they could swim backwards just as easily as forwards.