6

I am on a team and we're working on a car. Our car has a motorcycle engine and its gear-shift mechanism is electronic, controlled by a microcontroller. Now, we are figuring how can we make the microcontroller know which gear the engine is on. We thought about calculating the ratio between engine's rpm and wheel speed, but this method can be imprecise in some situations. Is there any more accurate method?

  • What kind of motorcycle engine engine is it? Make/model/year. – DucatiKiller Mar 13 '16 at 22:07
  • FSAE team , i presume? – chilljeet Mar 13 '16 at 22:54
  • Engine manufacturer and year? – DucatiKiller Mar 14 '16 at 2:21
  • Is this an automatic transmission? – Zaid Mar 14 '16 at 4:55
  • Please provide further details. Why do you need the microprocessor to know which gear the vehicle is on? Is it for data logging, or some other non time critical functions? Is it for time critical operations- (ignition kill, engine map etc)? Is it just to prevent the ecu from trying to shift after it has reached the boundary gears? Is it for neutral detection? – chilljeet Mar 15 '16 at 18:41
8

If the engine had a gear position sensor or you were considering installing one, i'd assume you wouldn't be asking this question. Anyhow, still , if you can install one, that'd be your easiest option, - the sensor is a rotary potentiometer. Or you can use any other rotary encoders you please.
The method you mention can be made pretty accurate, though, i'd still like to know your worries. Compare the Engine RPM with your front or rear sprocket rotation to estimate the gear. Doing this before the differential removes any iffy conditions. You can use VR sensors or hall effect sensors for the same.
You need to account for clutching transitions in your code. Since it's an electronic system that's changing the gears, you already know when to check (when the ecu initiates a gear change) and which gear to expect. You should be able to get all this to work with rudimentary logic. I'l expand on this answer if needed. Please comment

  • You really guessed it right. We don't have a potentiometer in our engine, but we also can't open the engine to install one. So we are going with your solution, comparing engine RPM and wheel rotations and accounting for clutching transitions in our code. Thanks for the help. – user3348949 Mar 29 '16 at 16:53
  • Motorcycle chat room :-) chat.stackexchange.com/rooms/46288/motorcycle-diaries – DucatiKiller Oct 6 '16 at 0:46
  • Hope your well. Come to chat! – DucatiKiller Oct 11 '16 at 4:27
3

I am not sure how you will make this work but you could keep track of the shift fork position or you could measure the angle of the shift drum.

https://www.youtube.com/watch?v=E2CybLSrN5Q

Maybe you could install proximity sensors?

0

Modern vehicles use the gear ratio as an indication of gearshift position. The actual calculation is accomplished by comparing crankshaft speed and vehicle's speed (informed by the ABS control unit). So, for usual purposes this is a valid method and deviations are negligible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.