So I had the VESC showing power, but not responding to the ST-link programmer. Last week, Jack borrowed some mosfets to build his own VESC, and I lent him my programmer and we took a quick look at mine. Nothing obviously wrong – the STM got power, but didn’t respond, so we left it at “not sure if board or dongle”.

 

At some point, Jack obviously got his own board running and tested my dongle. He messaged me with the good news that my $8 eBay dongle was just fine, so the ESC was probably … not. “Did you get 2 layer boards printed? Cos it’s a 4 layer design…”

Why yes, Jack, yes I did somehow order 2 layer boards for a 4 layer design. So those middle two layers of connections, probably important.I have re-ordered PCBs in *4* layers, for the latest design. I am slightly pleased that it’s (possibly) not my soldering that was the problem….

Monday:

Hot dusty dirty day of drilling holes in concrete. They always need to be a little deeper than you think. 6 holes for the lathe, 2 for the mill. Other than that, not much happened on Monday.

Tuesday:

Nerds came over, helped me finish up the tools, spent a lot of time helping me shop for lubrication. With the following result:

2015-12-29 14.55.41

 

Very pleased! Robot axles ahoy! To Star Wars afterwards, with even more nerds. It still doesn’t suck.

Wednesday:

Shopping for bolts to bolt the mill down. Small bolt/hardware stores with $25 EFTPOS minimums are dangerous, it cost me $50 to make up that $25. Still:

2015-12-31 19.18.58

Brass machines beautifully. Did I mention I bought a lathe?

 

 

Or, apparently, fortnightly. Sure I’ve been doing stuff, too much stuff to be writing updates 🙂

Monday the 14th, cleaning the basement. Not very exciting in itself, but we’ll get to that…

Tuesday the 15th – more laser cutting! Discovered that if you’re doing two separate runs of the same thing, you really need to watch the scaling factor. So now I have to clumsily file down the slots in front of the pi cluster enclosure 🙂 And the fan mount on top has worked nicely.

2015-12-15 11.53.34 2015-12-27 19.36.36

Wednesday the 16th

So, why did I clean up the basement?

Continue Reading

Monday:

Having discovered Benjamin Vedder’s open source ESC ( http://vedder.se/2015/01/vesc-open-source-esc/ ), I’ve decided to build a couple over the summer. I ordered parts a while back, and after exams I finally have enough time to build it. So I wandered into the TAFE side of school to borrow a reflow oven from the techs. I’ve done a number of fiddly things in my time, but this was by far the fiddliest. Tiny things everywhere. This was my first time with reflow, and first time with stencils for the paste. Again, fiddly, but once the stencil is centred, so much less fiddly than other methods. I will get metal stencils next time, I think, but the mylar was ok for this job.

2015-12-02 11.54.45

All present and correct on side 1. Didn’t get around to side 2 on Monday, but I did arrange a lot of tiny resistors.

Continue Reading

On Monday, this was the fiddliest thing I had ever done:

2015-12-02 11.54.45

 

That record lasted 2 whole days:

2015-12-02 11.54.19

 

This is Benjamin Vedder’s ESC – http://vedder.se/2015/01/vesc-open-source-esc/. I haven’t programmed the STM yet, but I powered it up, and a little blue light came on and nothing caught fire. Sounds like a win!

DrawProg
This picture shows a small grid of “pixels”, 20×20 large.

If you count the pixels along the top, you’ll see that I’ve marked off every 5 pixels, just for clarity. That’s the X axis, moving from 0 at the left to 20 at the right.

On the side, we have the Y axis, moving from 0 at the top to 20 at the bottom. Computer graphics traditionally start with 0 at the top, but other fields such as CAD or robotics often have 0 at the bottom for Y, and 20 (or whatever) at the top. Not important at the moment, we’ll work with 0Y at the top.

So every pixel inside the grid can be thought of as a point in that grid. If you count along 7 pixels, the X value will be 7, and then if you count down 12, the Y value will be 12. That’s always expressed as (X, Y) – the sideways direction first. That’s to annoy mathematicians who use matrices that express the row first, then the column 🙂

Inside the grid, then, I’ve drawn 3 lines. Start at the top left – you can see a point labelled (5,5). If we draw a line straight down, we’re adding to the Y value but not moving sideways, so the X is unchanged. I’ve drawn down 10 pixels, so the final value is (5,15). Similarly, I can start at (5,15) and move both up *and* sideways. Moving 6 to the right gives me 5+6 for X, moving up (towards 0) 4 gives me 15-4 for Y, so (11,11). And a final line again moves in both directions back to the start.

So each line has a start position (5,5) and an end position (5, 15), because a line has a start point and end point:

(5,5) (5,15)
(5,15) (11,11)
(11,11) (5,5)

Shapes like triangles and squares are just lines, but they’re lines with a special quality – each line shares a point with another line. They *have* to join up. So if our first line is (5,5) to (5,15), we don’t need to specifiy (5,15) for the second line – it has to start at (5,15). If it ends at (11,11), then we know the start for the next line. And you can see from the list above that there are indeed 3 unique point – (5,5), (5, 15) and (11,11).

So although at some level we have to draw each line between two points, we can get away with only providing the points if they are shared. If we say “Draw a triangle between (5,5), (5,15) and (11,11)”, we can just “join the dots” as it were.

Hope that helps!