Introduction: Homemade Cycling Powermeter

Hello!

In my latest project I tried to realise a simple and cheap cycling powermeter based on Arduino. After a month I can say "Yes I can".

There are many commercial products (SRM, SRAM ...), but I'm always looking for a homemade solution. On the following pages I'll show you my successful construction.

Step 1: The Principle

To calculate the power, we have to determine the current force, which is spent by the foot on the pedal. For this purpose I clued four strain gauges (http://www.ebay.com/itm/5Pcs-Pressure-Sensor-Precision-BF350-3AA-BF350-350-Strain-Gauge-Resistance-/361278029289?hash=item541dd93de9:g:oOYAAOSwstxVOFv2) on the sides of my old crank. To get a Signal depending on the load I arranged them in a so called Wheatstone-Bridge.

During one full rotation I sum as many forces as possible and calculate the average. Combined with the average velocity (2 * Pi * crank-radius / rotation-time) I get the power P.

To know the proportionality between the force F and the output-voltage U I strained the crank with different masses and myself (a lot of mass ;-)). The rise of the line is in my case 292 Newton/Volt.

For the amplifier I took a LF353 with a gain of 330. With this Setup I get Output-voltages between 1 and 4 V. I decided to start at 1V to avoid a negative drift and late response. Therefore I have to determine the offset at the beginning of the measurement and subtract this offset from the following voltages.

Step 2: The Setup

For the power-supply I use two lipo-battery packs (7.4V, 1200 mAh for the receiver and a smaller 600 mAh one for the transmitter).

To save space I use an arduino nano and the NRF24L01 are responsible for the communication. They work great and you can send as many values as you want. In my case I send the power (P) and the rounds per minute (rpm).

I also had to check, when a full rotation has accured. To avoid a sensor, which has to be mounted on the bike-frame, I decided to use the gyroscope MPU-6050. The accuracy is about +-3 degree per full rotation, which is satisfying.

Step 3: The Completed Crank and Receiver

The challenge was to fix up all the components (power-supply, gyroscope, NRF24L01, amplifier, arduino) on one crankarm but I succeded. I fixed them with double-sided tape and cable ties.

To mount the receiver on the bar I use the clamp from a bicycle-lamb.

Step 4: The Results

After calibration and programming I first tried my powermeter indoor on my training roller. I got reasonable values and therefore I went outside. Heureka, it works :-)

Finally I can say, that it's possible to build a simple and working powermeter for

* 2 x arduino nano ..... 10 USD

* 2 x NRF24L01 ......... 5 USD

* 16x2 LCD ................ 5 USD

* 4 x strain gauges ..... 10 USD

* 2 x Lipo battery pack ..... 15 USD

* MPU-6050 ..................... 3 USD

* electronic parts .............. 7 USD

less than 55 USD.

Here is the video: https://www.youtube.com/watch?v=v1aaupmxOsI

Thank's for visiting my thread. Maybe you're interested in some of my other projects too:

https://www.youtube.com/user/stopperl16/videos

Comments

author
Arx (author)2017-08-01

Were those holes in the cranks necessary to get enough flex, or are they just leftover from other projects?

Do you have a schematic for your amplifier circuit?

author
XczL (author)2017-04-23

First of all, I give you my congratulations to the project.

I wanted to know, if you can send me the arduino project code ?, I would be very helpful, thanks

author
YannicM1 (author)2017-03-30

Very nice work!

How many values do you record in one crank revolution (approximately, more like 10, 100, 1000,...)?

Can you please share the code for this project?

author

do you fancy sharing the code for this? thanks! :)

author
Anders HøxbroL (author)2016-10-26

Nice project - Doing a similar project at my education. Did you do anything special to programme the Nano V3?

author
stoppi71 (author)Anders HøxbroL2016-10-27

Hi!

What do you exactly mean with special?

author
Anders HøxbroL (author)stoppi712016-11-05

Can you upload the arduino code for the NRF boards?

author
Anders HøxbroL (author)stoppi712016-10-27

I'm having trouble on how to make the nano board and the NRF24L01 communicate with each other.

You write: "I use an arduino nano and the NRF24L01 are responsible for the communication. They work great and you can send as many values as you want. In my case I send the power (P) and the rounds per minute (rpm)"

I would like it to do exactly the same thing, but i just do not know the process of this?

author
WillemP1 (author)2016-08-21

Very Interesting project and clear hardware design. Can you tell a litlle more about the software? I am specially interested in the calculations for the power.

author
mopswachtel (author)2016-04-28

How much money did you end up spending on this?

author
stoppi71 (author)mopswachtel2016-04-28

Please read page 4 ;-)

author
mopswachtel (author)stoppi712016-04-28

Aahaaĺ! Sorry I didn't see the button in the mobile phone layout :) Great work! As soon as I have more free time I'll definetly give this a shot.

author
szabonandi. (author)2016-04-28

Very good idea to use strain gauges on the crank to detect the force! Congrat!

author
EnriqueD2 (author)2016-04-28

how hard and what else is needed to send the info via ant+ protocol or BTLE 4.0?

awesome job, now it needs to be waterproof and minimal.

kudos!

author
stoppi71 (author)EnriqueD22016-04-28

With HC-05/06 modules instead of the 2.4 GHz-NRF24L01 you can send them to any Smartphone...

author
Tekturka (author)2016-04-17

Nice project :) I did something like this in the last year, but i kept things minimal. Here are few photos of my powermeter

temp_-1136668075.jpgtemp_2049444351.jpgtemp_912262100.jpg
author
stoppi71 (author)Tekturka2016-04-18

Great ;-)

About This Instructable

18,584views

69favorites

License:

More by stoppi71:Multi Channel Analyzer for Gamma Spectroscopy With Arduino & Thereminoscanning laser microscope with ArduinoArduino Segway
Add instructable to: