• Howdy! we're looking for donations to finish custom knowledgebase software for this forum. Please see our Funding drive thread

Pedal assist proof of concept

Seya

10 W
Joined
Feb 27, 2012
Messages
81
Hi,

I am making a proof of concept and would like to use an arduino platform to recieve two analog inputs and generate a V+ output to a Controller for use in a pedal assist system I've created.

Looking to see if this is possible and advisable.

My system would use the arduino to recieve hall sensor pulses ( 5v signal ) from the hub motor's commutation to the PLC. Pulses from a crank ( hall ) sensor would also be recieved by the arduino.

The two inputs would be computed to create an output. The output would be a v+ signal to the PLC to generate an effective throttle signal which sends power to the motor.

The input compution is as follows.

Motor hall input creates a base curve using a single if/then statement. Crank hall input modifies this curve. e.g. ( as crank cadence increases, base curve is made to send a higher V+ value at a given wheel speed.

The basic concept is:

An assist system that sends power to the motor in a linear fashion proportional to wheel speed. The riders pedaling increases power ( at a given wheel speed ) as pedal cadence increases.

Can anyone advise me on the pheasability of this for an arduino platform.

Any questions?

Thanks a lot,

Chase Johnson
 
Here is a thread I started from an arduino forum..

http://forum.arduino.cc/index.php?topic=282699.0
 
Pedal RPM is much easier to sense than pedal power, but pedal power is the value you want to track to set the assist level. When a rider wants more speed, he pedals harder, not faster-- acceleration of the cranks is an eventual result of higher force at the pedals. Crank torque sensing only is more workable than cadence sensing only, but better yet would be an algorithm that integrates both.

There are four methods of sensing pedal power that I have seen implemented. All of them use either measured or interpolated RPM as one of the values. The force component can be measured directly at the pedal, crank, or rear hub by means of strain gauges, or indirectly at the chain by means of vibration frequency sensing.

Grin offers various torque sensing bottom brackets that would be applicable to your project.
 
+1

Also, by way of example, the Cycle Analyst v3 implements simple pedal enabled throttle, pedal detect with fixed assist, cadence scaled assist, and combined cadence and torque scaled assist. Since you are looking at some subset of this functionality you may find it useful to examine the relevant sections of the Unofficial V3 User Guide which detail configuration parameters and operation/algorithims for each mode. There is also brief discussion of quadrature encoding used by the Thun BB to convey combined cadence and pedal direction.
 
Thanks teklektic and Chalo,

I looked at the CA manual but it doesn't really get into depth as to exactly how it works. I just need to decide wether an arduino can function or if I should build my own PCB. I am hoping to recruit the help of some college students who study electromechanical engineering.

Torque sensing is in my opinion not an ideal pedal assist system. My vision of pedal assist is something that maximizes efficiency and encourages efficient riding. Torque sensing is not nessecary because when you ride a bike with multiple gears you DONT pedal harder, you find the proper gear and spin at a high cadence. A system that rewards cadence is inherently more efficient. Plus if you use hall sensor commutation for infering wheel speed the only external hardware needed is a crank hall sensor and a few magnets.
 
You'll also need sensors to detect which gear you're in, or knowing how fast the pedals are spinning doesnt' help you much unless you always stay in the gear that it's setup for.

If you have it only setup to respond to pedal RPM and nothing else, it will not keep up with your pedalling in higher gears, and will drive the bike too fast for pedalling in lower gears, all for the same pedal RPM.
 
amberwolf said:
You'll also need sensors to detect which gear you're in, or knowing how fast the pedals are spinning doesnt' help you much unless you always stay in the gear that it's setup for.

If you have it only setup to respond to pedal RPM and nothing else, it will not keep up with your pedalling in higher gears, and will drive the bike too fast for pedalling in lower gears, all for the same pedal RPM.

Hi,

Knowing crank rpm alone does not help much.. But knowing wheel rpm and crank rpm can produce a very efficient assist system
 
I don't know if anyone is still interested in this idea but I had a similar idea. I have an old mountain bike that I like to ride to work so I installed a 200W front hub motor. I am trying to improve my riding cadence so I have used an Arduino pro mini to read the cadence from the pedal assist sensor and then output a voltage proportional to my pedal rpm. Minimum power is provided at 15 rpm and maximum power is supplied at 80 rpm or higher. I hope to increase this to 100 rpm as my fitness increases. I have taken it for a short test ride and it works well although it may not be great if you have a more powerful motor. I have just fried my battery charger so I will need to wait until I fix that before I can give it a more thorough test. You read about it in my new blog. http://www.ideahex.com the website and e-bike are still works in progress.
 
Back
Top