SandroFTW / quickshiftuino

Arduino based universal quickshifter for motorcycles
GNU General Public License v3.0
2 stars 0 forks source link

SPECIFIC #1

Open Riccardo-Adami opened 1 month ago

Riccardo-Adami commented 1 month ago

/I wanted to do the same, can i do the same using areduino nano or arduino one? what calbs do i need? how can i implement the logic of the button when pressed? how can i return energy to the candle and other few questions, thanks for your time. (i can write you on email if i can find one).

SandroFTW commented 1 month ago

Hi, you can take a look at the R1 release files and schematic. R1 used an Arduino Nano and worked totally fine.

I assume "button" refers to the sensor that detects the upshift motion? The easiest way to add that is the piezo sensor listed in the readme file. It only requires one screw to be changed and no further modifications to the bike.

Quickshiftuino uses a pMOS right now to simplify the circuit. In theory an nMOS with a driver circuit would reduce the losses due to resistance but the coil only draws ~10-15A usually which is less than 0.3V voltage drop (from your 12V battery voltage). Might be a consideration for the future to change that.

Feel free to ask if you have further questions.

Riccardo-Adami commented 1 month ago

Hi, you can take a look at the R1 release files and schematic. R1 used an Arduino Nano and worked totally fine.

I assume "button" refers to the sensor that detects the upshift motion? The easiest way to add that is the piezo sensor listed in the readme file. It only requires one screw to be changed and no further modifications to the bike.

Quickshiftuino uses a pMOS right now to simplify the circuit. In theory an nMOS with a driver circuit would reduce the losses due to resistance but the coil only draws ~10-15A usually which is less than 0.3V voltage drop (from your 12V battery voltage). Might be a consideration for the future to change that.

Feel free to ask if you have further questions.

thank you very much for the quick answer, I was wondering if on a bike with less power and no rods, it would still be okay. By “button” I was referring to a button/sensor placed under the shift lever tip that would send a signal to the arduino (arduino one or arduino nano, what do you recommend?) and this would interrupt for a temppo timespan (like 70 milliseconds) the current given to the spark plug, and once the 70 milliseconds was over it would resume the current flow Still thx for the clear response :)

SandroFTW commented 1 month ago

Hi, you can take a look at the R1 release files and schematic. R1 used an Arduino Nano and worked totally fine. I assume "button" refers to the sensor that detects the upshift motion? The easiest way to add that is the piezo sensor listed in the readme file. It only requires one screw to be changed and no further modifications to the bike. Quickshiftuino uses a pMOS right now to simplify the circuit. In theory an nMOS with a driver circuit would reduce the losses due to resistance but the coil only draws ~10-15A usually which is less than 0.3V voltage drop (from your 12V battery voltage). Might be a consideration for the future to change that. Feel free to ask if you have further questions.

thank you very much for the quick answer, I was wondering if on a bike with less power and no rods, it would still be okay. By “button” I was referring to a button/sensor placed under the shift lever tip that would send a signal to the arduino (arduino one or arduino nano, what do you recommend?) and this would interrupt for a temppo timespan (like 70 milliseconds) the current given to the spark plug, and once the 70 milliseconds was over it would resume the current flow Still thx for the clear response :)

What you're describing would be the absolute minimum requirements. A button is probably not enough for smooth operation. You need a sensor that only triggers once a certain force is applied to the shift lever so it's preloaded (~5-10kg on the lever). Piezo pressure sensor & Fitting Connector, 2p This is the sensor I suggest. If you place this on the clamping part that attaches the shift lever to the gearbox shaft you get a signal based on the force you apply to the lever.

Once it senses enough preload pressure you can cut the power for 70ms and it will probably shift without issues. It probably won't be very smooth though. On my bike (Yamaha XJ6 4 cylinder) the optimal time is between 54ms for low RPM and 62ms for high RPM. A few ms difference already make quite a difference. That's why I'm changing the time based on RPM.

To get it really smooth you can also use a hall sensor that measures the position of the gearbox shaft. This indicates once the gear is fully engaged and tells the arduino to enable power again.

Riccardo-Adami commented 1 month ago

What you're describing would be the absolute minimum requirements. A button is probably not enough for smooth operation. You need a sensor that only triggers once a certain force is applied to the shift lever so it's preloaded (~5-10kg on the lever). Piezo pressure sensor & Fitting Connector, 2p This is the sensor I suggest. If you place this on the clamping part that attaches the shift lever to the gearbox shaft you get a signal based on the force you apply to the lever.

Once it senses enough preload pressure you can cut the power for 70ms and it will probably shift without issues. It probably won't be very smooth though. On my bike (Yamaha XJ6 4 cylinder) the optimal time is between 54ms for low RPM and 62ms for high RPM. A few ms difference already make quite a difference. That's why I'm changing the time based on RPM.

To get it really smooth you can also use a hall sensor that measures the position of the gearbox shaft. This indicates once the gear is fully engaged and tells the arduino to enable power again.

Yeah sure, thx a lot for the response. For the first model I ordered an Arduino Nano, relay, breadboard, a pressure button, just for a quick test. My moto is a single cylinder one, derby. I was thinking of putting it under the crank, so when it's pushed, only up, It will send a signal to the Arduino nano (I'm doing it with that, should i use the Arduino 1 instead?) and it will be connected to the relay which will turn off the power only when the button provides the signal, am I doing right? thx for ur time (:

SandroFTW commented 1 month ago

What you're describing would be the absolute minimum requirements. A button is probably not enough for smooth operation. You need a sensor that only triggers once a certain force is applied to the shift lever so it's preloaded (~5-10kg on the lever). Piezo pressure sensor & Fitting Connector, 2p This is the sensor I suggest. If you place this on the clamping part that attaches the shift lever to the gearbox shaft you get a signal based on the force you apply to the lever. Once it senses enough preload pressure you can cut the power for 70ms and it will probably shift without issues. It probably won't be very smooth though. On my bike (Yamaha XJ6 4 cylinder) the optimal time is between 54ms for low RPM and 62ms for high RPM. A few ms difference already make quite a difference. That's why I'm changing the time based on RPM. To get it really smooth you can also use a hall sensor that measures the position of the gearbox shaft. This indicates once the gear is fully engaged and tells the arduino to enable power again.

Yeah sure, thx a lot for the response. For the first model I ordered an Arduino Nano, relay, breadboard, a pressure button, just for a quick test. My moto is a single cylinder one, derby. I was thinking of putting it under the crank, so when it's pushed, only up, It will send a signal to the Arduino nano (I'm doing it with that, should i use the Arduino 1 instead?) and it will be connected to the relay which will turn off the power only when the button provides the signal, am I doing right? thx for ur time (:

Sounds good, Arduino Nano is fine. Make sure to include a dead time between power cuts or your engine will just switch of when finding neutral ^^

riccio8 commented 1 month ago

Yeah i was thinking about 20 mills, is it fine? btw the first test is only for up shifting, thx mate (that's my main account sry )

SandroFTW commented 1 month ago

Yeah i was thinking about 20 mills, is it fine? btw the first test is only for up shifting, thx mate (that's my main account sry )

Your single cylinder engine only fires about every 50 ms assuming 1200 RPM idle. So there's a high change it just doesn't notice the 20ms power on.

I have it at 350ms which is just a bit less than the fastest interval that I'm upshifting.

Edit: If you mean a delay time after the button gets pressed, then 20-30ms is a good start. This will help that you already have some force applied to the gear lever before it triggers.

riccio8 commented 1 month ago

Yeah i was thinking about 20 mills, is it fine? btw the first test is only for up shifting, thx mate (that's my main account sry )

Your single cylinder engine only fires about every 50 ms assuming 1200 RPM idle. So there's a high change it just doesn't notice the 20ms power on.

I have it at 350ms which is just a bit less than the fastest interval that I'm upshifting.

Edit: If you mean a delay time after the button gets pressed, then 20-30ms is a good start. This will help that you already have some force applied to the gear lever before it triggers.

yeh yeah I meant it, 350ms aren't too much? just asking, I was thinking of doing it with 70ms per up shifting (is it is okay Right?) and 20 between the number of the up shifting

SandroFTW commented 1 month ago

Yeah i was thinking about 20 mills, is it fine? btw the first test is only for up shifting, thx mate (that's my main account sry )

Your single cylinder engine only fires about every 50 ms assuming 1200 RPM idle. So there's a high change it just doesn't notice the 20ms power on. I have it at 350ms which is just a bit less than the fastest interval that I'm upshifting. Edit: If you mean a delay time after the button gets pressed, then 20-30ms is a good start. This will help that you already have some force applied to the gear lever before it triggers.

yeh yeah I meant it, 350ms aren't too much? just asking, I was thinking of doing it with 70ms per up shifting (is it is okay Right?) and 20 between the number of the up shifting

Sorry if I wasn't precise enough.

After you press the button it should wait for ~20ms until disabling power, then disable for ~70ms. After enabling it shouldn't react to another button press for ~350ms so it doesn't get stuck in a loop and kill the engine for example if you're in top gear and holding the lever up. Also a flag that disables another cutoff interval if you haven't released the lever yet is helpful.

Just sharing my experience since I already came across all these bugs in the last year that I've been working on this project :p

riccio8 commented 1 month ago

Yeah i was thinking about 20 mills, is it fine? btw the first test is only for up shifting, thx mate (that's my main account sry )

Your single cylinder engine only fires about every 50 ms assuming 1200 RPM idle. So there's a high change it just doesn't notice the 20ms power on. I have it at 350ms which is just a bit less than the fastest interval that I'm upshifting. Edit: If you mean a delay time after the button gets pressed, then 20-30ms is a good start. This will help that you already have some force applied to the gear lever before it triggers.

yeh yeah I meant it, 350ms aren't too much? just asking, I was thinking of doing it with 70ms per up shifting (is it is okay Right?) and 20 between the number of the up shifting

Sorry if I wasn't precise enough.

After you press the button it should wait for ~20ms until disabling power, then disable for ~70ms. After enabling it shouldn't react to another button press for ~350ms so it doesn't get stuck in a loop and kill the engine for example if you're in top gear and holding the lever up. Also a flag that disables another cutoff interval if you haven't released the lever yet is helpful.

Just sharing my experience since I already came across all these bugs in the last year that I've been working on this project :p

yeah yeah thx a lot, you were very clear and complete. Now I will see how the project goes and if I have other doubts I will definitely write to you, thank you very much

riccio8 commented 1 month ago

Yeah i was thinking about 20 mills, is it fine? btw the first test is only for up shifting, thx mate (that's my main account sry )

Your single cylinder engine only fires about every 50 ms assuming 1200 RPM idle. So there's a high change it just doesn't notice the 20ms power on. I have it at 350ms which is just a bit less than the fastest interval that I'm upshifting. Edit: If you mean a delay time after the button gets pressed, then 20-30ms is a good start. This will help that you already have some force applied to the gear lever before it triggers.

yeh yeah I meant it, 350ms aren't too much? just asking, I was thinking of doing it with 70ms per up shifting (is it is okay Right?) and 20 between the number of the up shifting

Sorry if I wasn't precise enough.

After you press the button it should wait for ~20ms until disabling power, then disable for ~70ms. After enabling it shouldn't react to another button press for ~350ms so it doesn't get stuck in a loop and kill the engine for example if you're in top gear and holding the lever up. Also a flag that disables another cutoff interval if you haven't released the lever yet is helpful.

Just sharing my experience since I already came across all these bugs in the last year that I've been working on this project :p

yeah yeah thx a lot, you were very clear and complete. Now I will see how the project goes and if I have other doubts I will definitely write to you, thank you very much