I'm interested in building a pedal-assist system that measures acceleration and sort of back-calculates the rider's power input and uses that to control the motor input.
The basic idea is you estimate/measure/input the overall mass, and combined with the acceleration gives you the sum total of all of the forces acting on the bike (Newton's 2nd law). The forces consist more or less of gravity, rolling drag, aerodynamic drag, motor input, and human input (in the form of pedaling and braking).
Gravity can probably be figured out by comparing the inertial acceleration with the "odometric" acceleration from the motor speed. Rolling resistance should be fairly linear with speed, and wind resistance could be estimated with an estimate of the CdA and apparent wind (using an RC model airspeed sensor). Motor input is known because presumably your controller is, well, controlling it.
You could also measure a bunch of this stuff by having the human stay off the brakes and pedals for a short period a controlled setting, or use some kind of adaptive control that gradual refines its estimates.
It might not be that cost effective especially if you include an airspeed sensor, but my bike has kind of a tricky setup for torque sensing (eccentric bottom bracket) and brake switches (hydraulic). And this sort of setup could give you nice proportional regen (maybe even using a larger electric assist gain when it senses braking?).
There's mention of this type of system on Grin's torque-sensing page (https://ebikes.ca/learn/pedal-assist.html) and a few scientific papers (e.g. https://www.sciencedirect.com/science/article/pii/S240589632031822X), but it doesn't seem like there's anything commercially available. Has anyone in the forum tried this, and what sort of issues did you run into?
The basic idea is you estimate/measure/input the overall mass, and combined with the acceleration gives you the sum total of all of the forces acting on the bike (Newton's 2nd law). The forces consist more or less of gravity, rolling drag, aerodynamic drag, motor input, and human input (in the form of pedaling and braking).
Gravity can probably be figured out by comparing the inertial acceleration with the "odometric" acceleration from the motor speed. Rolling resistance should be fairly linear with speed, and wind resistance could be estimated with an estimate of the CdA and apparent wind (using an RC model airspeed sensor). Motor input is known because presumably your controller is, well, controlling it.
You could also measure a bunch of this stuff by having the human stay off the brakes and pedals for a short period a controlled setting, or use some kind of adaptive control that gradual refines its estimates.
It might not be that cost effective especially if you include an airspeed sensor, but my bike has kind of a tricky setup for torque sensing (eccentric bottom bracket) and brake switches (hydraulic). And this sort of setup could give you nice proportional regen (maybe even using a larger electric assist gain when it senses braking?).
There's mention of this type of system on Grin's torque-sensing page (https://ebikes.ca/learn/pedal-assist.html) and a few scientific papers (e.g. https://www.sciencedirect.com/science/article/pii/S240589632031822X), but it doesn't seem like there's anything commercially available. Has anyone in the forum tried this, and what sort of issues did you run into?