Showing posts with label Accuracy. Show all posts
Showing posts with label Accuracy. Show all posts

Wednesday, September 10, 2014

4iiii’s Powermeter Promo Code + Story time

It’s been about 10 months since my last post about the powermeter development. Those who have emailed me have been stone walled about it, getting a response such as “I can’t talk about what I am working on in my new job”. The answer is that part of it was in fact a powermeter. So, to the loyal followers (and even the not so loyal) we are offering a discount promo code of Acuity for a 20% discount on all 4iiii’s products as a thank you for supporting me and following! Oh, here’s the “catch”. It’ll be the most accurate, lowest cost and user installed (no new crank needed for most riders!). And now I do what I love full time. So thank you!
UPDATE: Code was valid until midnight of Sept 12. The last day of interbike.  Thank you all that participated.

Now, if you’re still reading but want to hear how this came to pass, I give you the long story
During my Masters degree I had used strain gauges. I needed a tiny load cell to test active suspension. It worked but wasn’t great. I decided to take these “student strain gauges” for a side project.  My FSA vero crank, instrumented like almost all crank based meters, showed some results, but it was noisy, drifting, and unusable. After much experimentation I found that cheap off the shelf electronics were not cutting it. I shelved the idea and started working on some training software for use with the regressed power curve of my Kurt Kinetic. That was 2009 – 2011.
In the meantime a friend of mine in Waterloo was doing a Masters with someone at Babcock and Wilcox, the nuclear steam generator company, and passed off my resume. Five interviews, a security background check, and relocating my life from St. John’s, NL to Cambridge, Ontario I was now working in Nuclear Engineering. Most of my work was Finite Element Analysis, or FEA. Essentially I my intuitive understanding of how mechanics, stress, strain, deformation, etc work was being put to work for steam generators. I had been using FEA since the second year of my undergrad and at that point had used FEA on and off for almost six years. I even wrote a free book on using Ansys and FEA to design race car chassis' (link here).
It wasn’t long before a customer concern required experimental work measuring strain. Prior work was inconclusive. I heard the design manager going cube to cube in cube-ville (which was my home) and I ran after him (coffee in hand) and said I know a and used strain gauges, Eventually I disclosed my electronic hacking which had been featured on Hackaday and I was chosen as the ideal candidate.
However, I needed credentials. Everyone knows most engineers never touch things with their hands, but in order to do strain gauges I would. I’d add it to my machining and welding skills. So I was sent to a strain gauge course. After the courseof training later I knew exactly how to fix my vero crank powermeter! I was excited beyond belief. The problems I had seen were so minor!
For the next year I spent most of my time conducting experiments at B&W using strain gauges to great customer satisfaction. Between my FEA, electronics, and attention to detail combined with my knowledge of Design of Experiments and higher level statistics my work was deemed impeccable in execution. I was achieving 1% error with theoretical. A former Pratt and Whitney employee now at B&W stated his work was up to 15% error. I was so proud to be executing things at such an accurate level. In the mean time I had spent thousands of dollars and countless hours building up my own circuit boards and instrumenting cranks.
Vero, which was never self contained, was V1. Later a C-channel shaped SRAM Rival was V2. It was arduino pro micro based with an AP1 ANT+ stick from sparkfun and some analog components that weren’t suitable. V3 combined those onto a Rival OCT (hollow forged) crankset. However there was issues, clearances, etc. I had tried some different ideas and realized forces on a crank aren’t as simple as the industry thinks (or markets). However, I got my powermeter on the famed Hackaday and tens of thousands of visits to my little blog later I felt I was on to something.
So for V4, I moved to a lot of new components and a small custom board. I spent countless hours pouring over datasheets to chose the components.  I built both a Rival OCT and Carbon S900 / Quarq unit. Both worked well. Very well. In fact I was on the verge of building up a bunch and starting to beta test. I had a listing of people who were interested from all over the world.
I got an email from the father of a lady who works at 4iiii’s. He was so interested in my work and has remained a strong believer of me. Eventually it seemed to fall to the wayside of the people there or was being evaluated at a slower pace than I wanted. However I liked this company. The founder had built Dynastream, the creator of ANT+. I was impressed. So I eventually sent him a message on Linked In.
A few super early morning calls later and I was using my barely touched vacation time to impromptu fly to Alberta to meet this guy and his team with my bike in tow. I had no idea what to expect. A short drive from Calgary to Cochrane later and I find a small building labeled the 4iiii Innovation Centre.
I had mucked around adjusting code on the carbon crank for more accuracy and messed up some math, so eventually I swapped in my Rival the night before. The battery kept disconnecting during the demo in his office but he was convinced.
Some interviewing and a discussion later on what he wanted to bring to market and I was confused, full of reservations but generally sold. He wanted user installable. He didn’t want into the crank buying, installing, selling market. He wanted to let people have choice. He wanted to drop the price and change the game.
I spent most of the next 6 months working on the basics. Can it be done? What material? What gauges? etc. What I found was that 2% bending error was not actually achievable on a crank arm with the generally accepted setup (a bending bridge).  If you narrow your scope to a fine window it does but that didn’t sit well, but if you start introducing some cases that fall to the edge of  the norm just a tiny bit (and encountered regularly in mountain biking) you’ll find that it’s closer to +/- 7% to +/-9% on torque accuracy depending on the setup. Let alone rotational accuracy from an accelerometer algorithm.
I’m 4 months in, looking at these numbers thinking I’m a not going to be able to pull it off - not with the accuracy everyone is claiming! I quietly start looking for a solution. How do I make this better. I’ve figured out the fundamental issues with user install but how do meet the accuracy. It doesn’t change from user install to pro installed. I tried angling the sensors, adjusting things, compensating for the non-symmetric cross section of the crank. Nothing!
Then I tried something else. What about adding a second setup! Something that can sense torque but that is very different from the first. Then, using my Design of experiments mythology and statistics I figured out that there is a super cool correlation. I was blown away! This was big, this was the answer to my hopes to get me that 2%. Not only that, but generally gave 0.5% error! This idea is so revolutionary that we put patent pending in place on this technology, among many other things.
We needed to package it, and admittedly the packaging isn’t perfect for the drive side and the last few years we’ve seen a mess in bottom brackets and now we’re seeing a mess on the chain ring bolt patterns causing incompatibility of some manufacturers cranks. This is sad. However I’m glad to say the last 3 generations of Shimano 105 (5600, 5700, 5800) work, Ultegra (6600, 6700, 6800 {this is actually epoxied together!]), and Dura-Ace (7800, 7900, 9000) all work. The latest Deore XT works for the Shimano MTB front. The 10 Speed SRAM Rival OCT works (my original workhorse on the prototype front) and the X9 looks good. FSA Energy is good too but their new 5 bolt asymmetric and SRAM’s 11 speed put bolts where we want the sensor. We are still searching for a solution. On the Carbon front the SRAM S900 works but we haven’t finalized our testing. We will be recommending using the calibration load cell that comes with the kit every year at least to check calibrations depending on crank arm.
Right now the product works, but in my bosses opinion is huge physically, so there will be a shrink in size and weight when we ship in a few months. This will also improve install-ability and compatibility as well as easing access to the battery.
However, one of the coolest things I’ve done which I hope to open to the public is my test data on the existing meters. It turns out it my original bending only design was better than existing solutions but was still +/-7% while the best off the shelf solution once we hacked into it’s sensor produced +/- 9% when we introduces pedal offsets.
Enjoy the promo code while it lasts. It’s our gift to you guys who believed in me on a personal level and going forward believing that we change the face of power for serious athletes at all financial levels.
*gage is generally considered the American spelling and gauge the British form.

Friday, September 27, 2013

Quar-ccuity (or Accuiq?) and ANTride

DSC_9660

Quarq + Accuity

The Quarq + Accuity crankset is almost ready. Major changes since the Rival based version include:

  1. Zero offset (or “calibration response”) programming has had a major change. Rather than a separate function that takes over control temporarily, it uses the existing code in the main body read the strain gauges. This probably sounds unimportant, but it’s the result of a peculiar issue where current drain was increasing when I tried to zero only the right side. By leaving it to alternatively read left then right sensors like it normally does it maintains currrent draw as is.This improves stability and how “clean” the code is. I think this is the result of the higher impedance wiring used combined with a capacitor issue. Either way, this makes the system more robust over the usable voltage of the battery.
  2. When you use a cycle computer to tell it to Zero offset (or “calibrate”),  it reads back the offset (eg –417 when I zero my Quarq Cinqo). Unlike Quarq, which translates this value to 1/32 N-M, mine is left as the raw ADC values. I’d be surprised if Quarq isn’t doing this as well and it just happens to be “about” 1/32 of a N-M. For this Accuity build each value is 1/20.26th of a N-M for the left and 1/17.50 of a N-M for the right.
  3. This Build uses a different strain gauge setup for the right leg compared to the Rival unit. The S900 crank is using the actual intended setup that was intended for Accuity and not re-working the existing setup of V3. V3 was more sensitive setup, but it’s a pain to wire and difficult to integrate the setup into the board without some lead wire resistance mismatching.
  4. Detection for when the rider has stopped pedalling gives better / “cleaner” restart values. It’s still not perfect, but it generally doesn’t interfere with data. David Johnstone over at cyclinganalytics.com has been picking apart my L/R data and pointing out an issue that the values go to 100% left value when you resume pedalling. I haven’t fully nailed this down but I’m almost there (I think).
  5. Reduced power consumption. The Rival crank has a different voltage drop resistor and received the power from the battery directly. Now the strain gauges are powered from the 2.048V linear regulator on the ADS1248. That’s a 1 volt drop plus the same 750 ohm in line resistor. The strain gauges are operating at less than 0.5V. This is important because in the planned sleep mode (ie: not riding) it can turn off the strain gauge power supply.

The next major step (to hopefully happen Sunday) is doing my initial indoor tests. Kurt pointed out to me via twitter that I could use the small cup cone on the lever skewer. I didn’t trust it when I got the trainer so I swapped it. I’ll carefully try it. I’m not 160lbs climber. More Clydesdale.

ANTride

This isn’t really a real name. I’ve had a lot of traffic thanks to Ray over at Dcrainmaker.com due to tweeting in response to the Muin review. He linked to a short post (here) asking for feedback on his week end review.

DSC_9658

What is ANTride? The short explanation is that cycle trainers are predictable devices. Things like TrainerRoad and the Lemond trainer have taken advantage of this to create “virtual power”. This is the indoor equivalent of what iBike tries to do outside. Kurt built the inride as an application of their regression curve for average power on their site. However, they were very clever having already tried a basic cycle computer before – they incorporated a spin down test to to measure acceleration and possibly rolling resistance to increase the accuracy. As you can see from the review there are a few people asking about ANT+ since it’s a BTLE only device.

If you’ve used a powermeter then you know that outdoors it can be tough to dial in on a number and hold it since there are so many competing factors such as wind, hills, other riders, etc. Eventually you get better at this but it takes a while. On a trainer this is much easier. If you already own a powermeter then there isn’t a point to this device. If you don’t own a powermeter, or one is out of financial reach than this can be an attractive option to a lot of people. Off season training means training with power.

Why build this if you can indoor train at a computer using a speed sensor. A few reasons.

  • You want to capture that data to your ANT+ cycle computer
  • You don’t train in front of a computer (Garage, basement, spare room, etc)
  • Improved accuracy

That last one is something that Inride does well at a fraction of the price of a direct force power meter. However it comes at a price. Location. In order to determine the acceleration of a wheel accurately a simple magnetic switch sensor doesn’t cut it. This means that none of the Speed interpolators can have that level of accuracy. That is why Inride senses at the roller. It’s higher speed means it can detect accelerations much more accurately.

So going forward there is a choice here. I can achieve the same accuracy as Kurt Kinetic Inride putting it within 2% of a real powermeter but only if I can get more accurate measurements of acceleration. This is where people might say that “all hope is lost”. Hold tight.

There is another way to pull this off with very good accuracy. Enter the MEMs gyro. I discounted this for the powermeter (though I’m thinking about it again, mainly in terms of wanting to offer every possible feature out there at a fraction of the price – and a high speed mode will need it). A gyro attached to the wheel can provide very accurate information.

I’m going to test the magnet sensor on my kurt kinetic and see if I can make the calibration work.

I’m low on available development time so I’m going to think about this some more. In the meantime feel free to leave a comment or email me at kwakeham@gmail.com.

Sunday, April 21, 2013

Thermals and Calibration

DSC_9177

Toaster oven meet test setups. Test setups, toaster oven. Now that introductions are done, let’s get down to preliminary business.

The above picture shows two test crank arms – one from V2, and one built up for this testing.. Each crank arm has two different sensor setups. Four in total and all very different. There is a thermocouple inside the oven. This is the first test measuring four sensor setups. Five tests have been conducted. The first three are really for figuring out how to deal with setting up an actual experiment and the last two are the real data experiment. I used an insulated tape on the thermal couple to measure each crank arm independently during the last two tests. More after the break.

Saturday, March 16, 2013

Testing with a Powertap G3

DSC_9125
As I mentioned in a previous blog post I’ve been testing my V3 Powermeter. There is going to be a major overhaul with the next iteration but I can still learn a huge amount from V3. Just like how I learned from V2. I’m mainly concerned with testing the consistency of the readings. I’ll be making a post Sunday or Monday with the actual results but suffice to say the results are very similar though my calibration is off, it’s reporting lower power than expected. What you are looking at in the above picture is what I was looking at during and interval session with my prototype along with a Powertap G3 rented from Cycles London. Above you are seeing a movie on one monitor with two custom pieces of software I wrote. One I mentioned previously as my trainer software that I use for indoor training, and one is a program that I pulled together in 3 days of spare time. It connects to heart rate monitor, speed cadence sensor, and two power meters and records them synchronized at 0.25 second intervals. That’s right, 4 times a second.
Here is the catch on why 4hz recording. Powermeters transmitting on ANT+ can do so in a few ways. It can transmit the basic power profile which is mainly power and balance, crank profile which transmits more accurate cadence and torque but no balance, and wheel which does the same as crank. It transmits at 4.06hz. More after the break.

Tuesday, March 12, 2013

nRF51422 EK / DK Arrival

After some mix up and delays by Fedex my EK and DK kit arrived. Some might be wondering why I ordered both the EK and the DK. I don’t actually have an nRF6700 (nRFgo starter kit).

The DK, or developer kit, “requires” a starter kit for Nordic development – the nRF6700, and if I truly need it I’ll get it. However, the nRF6700 is used for essentially power and nothing else. The DK has pin headers on the back of the two boards supplied so I can just run some wires out there. It comes with five sample chips and a standalone programmer which I’ll need for developing my own board. That’s the bigger motivating factor here.

The EK, or evaluation kit, has the reference design for the nRF51422 plus a trace antenna and an on-board Segger J-link programmer and debugger. What you really need for development. Nuhorizons has these for 88 dollars, a drop from 99 dollars but only has the DK in stock. I think they have 2 EK on order though. Anyway, Honestly I think the EK price is a little high if we are comparing it to the the TI series or even an Arduino with on caveat – This is meant for ANT+ and as such comes with some Nordic backing in terms of an SDK.

The SDK comes with reference code for power meter, speed/cadence sensor, heart rate monitor, stride-distance monitor and a generic ANT communications design. In 10 minutes I had all the software installed, the ANT+ network key installed, and was transmitting the basic power profile to ANT+ display simulator. It’s programmed in a much more efficient way than my previous prototype, but it’s a good deal more complicated.

Also just rented a G3 Powertap. Time for some comparisons of my meter and a production unit. Might have to code up a multiple power meter recorder software.

Monday, February 25, 2013

V3 Upgrade–New Right Leg Sensors

DSC_9082

So V2 had some superior measurement features. If you recall here I discussed about how applying a torque through my foot caused the readings to skew. So installing a couple of strain gauges like V2 on the top and the bottom create a very good and more isolated sensor. This is ACTUALLY how Rotor Power works, but the gauges are on the INSIDE. I can’t do that, not unless I drilled holes… this would cause stress risers and likely lead to fatigue failure.

As an idiot, I used two gauges from different batches. This caused a mismatch in the wheatstone bridge causing a huge voltage offset. I therefore needed to drop the gain, but I didn’t have a high quality resistor to use, so I had to sub in a 1% through hole. I’m keen to move on to the next prototype with the ADS1247 as this type of issue becomes irrelevant.

image

I’m getting much more consistent readings now. The only problem is it won’t read 100% right, about 96% at best. I’m not quite sure why. However the strain gauges are sensitive enough to pick up the weight of the crank arms causing a torque due to gravity. I suspect that this is what is happening, but can’t be sure. I wish I had debug serial access while it was on the bike.

DSC_9083

DSC_9084

DSC_9085

You can see the old shear gauge still inside. It’s a bit of a rats nest of wires down there.

 

As an aside:

I’ve been sick the last week which has delayed testing and updating. However in my downtime I finally figured out the strain gauge arrangement used by Look Keo Power Pedals! It’s a differential sensor such that it can remove bending moments, that is why it requires 8 strain gauges per pedal. This setup has a decrease in sensitivity but it’s the only way they can make it work. I am thinking about making a video explaining how to do this and why, but it might be a while before I get around to it.

Wednesday, February 13, 2013

More Testing V3 Power Meter and ADS1247

image

Some longer testing (1.5 hours) today and I’ve come to a few conclusions.

  1. My calibration is off
  2. It doesn’t matter that my calibration is off, the crank shear gauge on the inside of the driven arm to measure torque can be skewed by adding a twisting moment to your ankle.
  3. As a result my power balance and power numbers are all wrong! And WAY off from the method of calculating averaged (non-accelerating) power for my Kurt Kinetic Road Trainer.

So I will be adding new strain gauges to V3 on the top and bottom of the crank arm. The arrangement removes bending so it will stabilize and remove this issue. I had said previously that it is the superior arrangement. I didn’t want to have to use two different types of gauges but my hand has been forced. However this raises the question about Stages power meter. What is their arrangement? I suspect it is not a shear arrangement, but rather a double bending arrangement but still on the back side of the crank. It’d lose sensitivity but gains in accuracy.

The ADS1247 is reading out. It’s looking noiser than I want, but this might be a function of my protoboard / power supply / poor wiring / random resistors used as a voltage divider. I still can’t find a potentiometer around my apartment anywhere even though I bought and wired one up specifically for testing months ago. I’ll make a trip to the dollar store tomorrow and hope

Sunday, January 20, 2013

V3 Accuracy

Thanks to Hackaday viewers, Ray Maker at dcrainmaker.com, the various forums, twitter, reddit, and more. Again, feel free to ask questions or put in some comments. I’ll be sure to reply, and I’d love to clarify any deficiency that people have pointed out – like this one.

I’ve seen some comments about the web wondering about the accuracy of my power meter design. The short answer is that due to the simplicity of the design, the left measure should be better than average, while the right should be in line with the Stages Stage One design.

One of the things that I’ve never seen is how SRM, Quarq, Powertap, Power2Max, etc come up with their accuracy claims. This is slightly concerning as it might be like response times on monitors; all practically made up and skewed depending on how. In this interview Jim Meyers, founder of Quarq, explained how you could have 50 strain gauges and terrible accuracy. He also claimed that the last one he calibrated was 0.25%, but their company claims 2% to give a margin – sensible!

Based on explanations it seems they base this accuracy on the torque measuring accuracy. So what would that mean? It means that rotational measures might be accurate enough that it’s not the significant contributor. Since the microcontrollers in these power meters run at a high frequency, the time sample measurement could be down to the microsecond accurate, that it doesn’t matter. Back to the torque, it’s likely based on static torque measures with various calibration weights and looking for the worse measurement. Careful that your calibration weights need to be highly accurate.

V3 right arm (and possibly Stages Stage One) should have increased error measurements as the shear gauge used can be affected by pedal offset and that should be calculated in – however I’m not even sure of the methodology to do so. I’d be curious even if Stages Stage One has this figured out. However, Quarq and SRM both require a decoupling algorithm and have 4 – 5 sensor pickups which measure you have several analog-digital stages that could contribute to error.

The long short of it is that the 2% that is often quoted is a function of the use of strain gauges and electronics to pick them up. So, empirically I can say that mine would be about 2%. However to confirm I would need to get some high accuracy calibration weights. Once actually fully calibrated in the range, it should easily be within 2%.

One thing to note on calibration. Technically it’s bad practice to use a load that is below a load you expect. For instance, if you expect 200 N-M of torque, using 20 N-M of torque is not a good idea. I’ve been involved in QA programs and testing. If you have a 100lb load cell it’s calibrated with usually about 5 test points including 100lb. You don’t test to 20lb and assume it’ll be linear even if you’re experienced enough to say so. That’s just bad engineering.

So my calibration currently is in the extrapolation range and is therefore a bad calibration. I’ll eventually rectify this and I’ve tested several different weights and taken the mean in the past and will again in the future.