Posts

Showing posts from August, 2014

Linear motion

I found this site:  www.contraptor.org . It's something I've really been looking for. I want to do linear motion, but 8mm steel rod is expensive, and hard to cut (It's beyond my table mounted jigsaw so I would have to hack saw it by hand). Linear bearings are expensive too, and that's before you consider the mounting blocks. This is great: aluminium angle will do as a track. You can buy the bearings in quantity extremely cheaply. Contraptor itself is imperial, so no good for me, uses really thick angle, which I don't have around, and also uses tapping to make some parts. That's almost certainly for good reasons, but I'm going to improvise... My bearings have 3mm bore, so I'm going to fix them to the angle using m3 nuts and bolts. The nuts will set flush against the angle. The nuts are 5.5mm. The angle I have is 1/2" x 1/16", or 3/8"  x 1/16". In the first instance, the 1/16" = 1.6mm is relevant. The hole will be a minimum of

WS2812b DMA/Timer driver for STM32F100 using Chibios

I stumbled on someone selling 50 WS2812b leds on ebay on small boards, shipping from the UK for £17, and couldn't resist. After I got them, I soldered one up, and expected to find an easy way to get it working. I was a bit wrong... Here's a link describing what you need to do . These things have stringent and curious timing requirements. Even the above makes it sound easier than it really is. Anyway, I'm not the first person to try to do this: This is for Chibios , It uses two timers and out of the box works only on an STM32F3. This uses the STM32 library from ST. It uses only one timer. Curiously, it uses a word per bit, when the DMA can handle conversion from a byte to a word. Both use DMA to set the PWM pulse width for each transmitted bit, and you must first expand the bits in each pixel into a pulse width. Once you've done that, you begin sending. What I've done is basically a port of the second approach to Chibios, although there's no code in common

Chibios DRV8835 Driver

I bought two DRV8835 dual motor driver break-outs recently. When I looked at the aforementioned link, I figured I'd made a mistake: using the full feature set requires 4 PWM outputs, and looks rather complicated. However, I had an STM32F100 board, and with one of these, it actually turns out to be easy: You need one timer, but each timer has 4 channels. You can get the board from Farnell for £6.19 at the time of writing. In fact what drew me to these in the first place: being tiny, and having high sustained current (1.2A per channel) still holds, and these are great little modules. That does leave me with some problems though: specifically, the micro controller boards (and all the cheap STM32 eval boards) have no mounting holes. I think I've found a locally sourced solution to this as well: PCB card guide . I still need some angle or something to attach this to, so it's still a lot more bother than just screwing it on some stand-offs, but once I have some angle the ri