Monthly Archives: May 2013

BudgetTrainer v1 recap

As mentioned last post, I got fed-up of waiting for the motor bracket to arrive and switched my attention to the next revision of the project. But, before I get too far ahead, I thought it may be worth revisiting the goals and progress of the v1 build…

The original aim was to modify a basic magnetic resistance trainer (with manual control) into a computer controlled ergotrainer for less than £50.

The handlebar adjustment lever was replaced by a micro and a hobby servo motor, while the computer control was achieved by adding support for a new trainer type to Golden Cheetah. The minimum cost was approximately £10 for the motor, and £20 for the microcontroller board. Probably another £15 went into the enclosure & switches to make the handlebar controller, power supply components, and a metal bracket & enclosure for the motor assembly.

Good news then – I ended up nominally under budget. Although of course there were other parts bought, experimented with, and discarded along the way (as I suspect is the case with any hobby project), so the actual spend would have been a bit over.

So, did I succeed in the original aim? Definitely maybe!

For my use case, absolutely – power based workouts for less than fifty quid, but there’s a catch…

I already own a power-meter, and it’s been absolutely necessary to use the real-time power data as an additional input – to trim the resistance to match the requested load.

Despite various calibration attempts, I’ve not been able to get sufficient accuracy without this element of closed loop control. So, while I’d say it’s been a success – it still doesn’t quite feel like the £50 ergotrainer I imagined at the start.

Which is where v2 comes in… In this new version, I’ll be ditching the whole cable & sliding permanent magnet assembly, and using electromagnets to control the resistance directly. My hope is that I can make this new design sufficiently accurate to be usable without a separate power meter.

Lost in the post

The title says it all really..

There’s no sign of the aluminium stock for the motor bracket, which was apparently posted over a week ago. And consequently no sign of progress getting things moved into the motor enclosure.

Pretty frustrating that a £2 off-cut means I’m sat on my hands for a week, but hey the sun is out so at least I’m not tied to the trainer.

If there is a bright side to the enforced waiting around, it’s that I’ve been fleshing out some ideas for the next revision. My original plan was to get to a functional v1 prototype and then wait until next turbo season before getting into v2. But the nerd in me is is pretty excited about the new design, so I may just crack on with it straight away.

More next week…

Motor enclosure – part 3

The aluminium stock I ordered for the motor mount hasn’t arrived yet, so I’ve not been able to get things moved into the enclosure. However, I did get the M2 hardware for bolting my pulley to the servo horn, so have been experimenting with attachment options for the cable using the original wooden mounting board.


The short version is that the pulley does impart a small bend into the cable when relaxed (see photo above), but this doesn’t seem to have any significant impact on the accuracy.

To test this I put a dial gauge on the sliding magnet in the resistance unit, and monitored the movement of the magnet while trying various pulley attachment options.


With 100 resistance steps over the 30mm of travel, each movement should have been around 0.3mm, this was most accurate with a direct cable attachment to the pulley, and a bit more elastic when attached with a short leader cord. What was most noticeable (regardless of the cable attachment method) was that changes of direction weren’t as positive as I’d have hoped for.

The first one or two motor steps in a new direction don’t have much affect on the position of the magnet, despite the expected movement at the pulley. I don’t really have a good explanation why – my first thought was friction in the cable, but then I’d expect it to be worse returning at a light spring tension, but the effect is pretty constant in either direction and throughout the range of travel & spring tension.

Perhaps there’s a certain amount of give within the cable housing? Perhaps some lube will help anyway, though I’ll wait until the trainer is off the carpet and back in the garage. ;) I may yet make a new (shorter) cable anyway, as the length of the standard one puts the motor a couple of feet ahead of the front wheel (as it’s lying on the floor and not coming up to the bars).

Anyway, at worst this ‘feature’ seems to throw the position out by around 3 steps, so is easily overcome by the closed loop trimming of the resistance which attempts to match average power to the requested load.

Next week will hopefully see me finally(!) getting this into the new enclosure.

Motor enclosure – part 2

Firstly, I have to apologise that I’m slipping behind my (self imposed) schedule of weekly updates. I’ve been a bit short of free time recently, so progress has suffered somewhat…

Since last posting, I’ve turned a first prototype pulley on my woodworking lathe. It’s made from a scrap of nylon sheet, and attached via a standard servo horn. (Hobby servo output shafts are splined, and I couldn’t see a way to machine my pulley to mount to the splined shaft directly).


I’ve opted for 20mm internal diameter on the cable channel, which is where I wanted to be in respect to maximising the leverage against the cable resistance, but will need to see whether the bend radius is a bit tight for the cable. My concern is that there is very little spring tension on the cable when the Tacx trainer is at minimum resistance, so if the cable takes on any curve from the pulley when unwound, it may have an impact on accuracy when returning to this position.

pulleyI’m just waiting for a delivery of some tiny M2 nuts and bolts to fasten the pulley to the servo horn. Once I have these, I’ll be able to start some further testing.

If it does prove to be a problem for the standard cable, I’ll increase the bend radius of the next prototype. There would be one unforeseen advantage to this. The servo horn itself has a 21mm diameter, which means the current 20mm cable channel has to be ‘stacked’ on top of this – further away from the servo body, resulting in more leverage & stress on the servo output shaft and bearings.

If the cable channel diameter is increased to something like 25mm then I’ll be able to cut in a much deeper recess for the servo horn, bringing the cable channel in closer to the servo body and reducing the leverage on the output shaft.

More updates soon…