Usually e-bike torque sensors are quite complex an exspensive. On my bike there is a shimano hollow tech bottom bracket, and there are no add-on torque sensors around.
Here is a idea for calculating the amount of torque applied to the bike while peddling.
Let’s say we know which gear we are in on the cassette and the front. This can be achieved by magnetic sensors . We know the tooth count on each gear and the rotational speed of the pedals and obviously motor speed/wheel speed.
Should it then be possible to calculate the applied torque and thereby how much torque the motor should apply, depending on what assist setting the controller is in?
I have some thoughts :
I think you don’t need to figure out what gear you are in. You are measuring the force exerted to the pedals. If you would also measure the acceleration of the pedals when they rotate, you could estimate the gear you are in.
If it’s low, you are probably in the high gear. If it’s high, you are probably in low gear.
Your legs are not a perfect motor. They produce a lot of torque-ripple.
Hmm… I see your point. Not having sensors on the gear cables would definitely make a much simpler setup. I guess I was confused about the usual concept of the cadence sensor. What you propose would then be a Smart-Cadence sensor algorithm.
" Cadence Sensors
The basic cadence sensor uses a magnet on the crank, it turns the motor ON when you start pedaling and turns it OFF when you stop pedaling. It works more or less like a switch. Using the cadence sensor, you have to control the boost level and speed by adjusting the assist mode manually up and down. Most basic e-bikes offer a cadence pedal sensor. The advantage of this sensor is that it’s an inexpensive way to get some sort of pedal assist onto the bike, but the disadvantage is that the pedal assistance can feel jerky, laggy and counterintuitive. Also if you want to pedal faster than the motor is spinning, the motor will actively work against your efforts.
Torque Sensors (Advanced)
The torque sensor is a totally different technology that uses a precision strain gauge. It measures your actual force on the pedal, sampling at 1,000 times per second over the entire pedal stroke. A torque sensor measures how hard the rider is pedaling to determine how much electric power to push to the bike. The harder you pedal, the more power it gives to the motor. If you pedal lighter, less power goes to the motor. It makes this adjustment in real time so it is technically amplifying your every input and makes the rider feel BIONIC! Many bikes use torque sensors and in some countries, cadence-only sensors are not allowed to be sold. The disadvantage is the cost is significantly higher to implement this technology as the precision component is relatively more expensive." Source : Torque vs. Cadence Sensors on Pedal Assist E-Bikes | Juiced Bikes
Thinking about this…
I guess the controller knows how much torque it is exerting at any given time, and therefore knows how much torque is needed to maintain a given speed, therefore it knows the amount of torque the legs are assisting. As you wrote, the legs has some degree of torque ripple, so there should obviously be a smoothing factor. This is the main challenge. To make the ride feel smooth and “BIONIC”. Maybe it is better to offload the motor controller with these calculations and have the sensor be part of the CAN network, with its own processing IC.
Edit: This may sound off-world, but has anyone considered a angle sensor, in order to obtain the hill variable? A simple weight on a magnet attached to a miniature bearing should do the trick.