The latest (vastly improved version) is going to be either on the last page or the next to last page. The version listed below was the original version that only works for Windows and Linux.
Hello all. I created this program just for curiosity's sake and also the sake of me needing to choose the right motor and gear ratios for my soon-to-be electric scooter to perform upto the desired specs. It is here I release it to the community and to indulge in however you wish. Since it's a java applet, it requires a java-enabled browser which I've heard to be claimed to be nearly universally compatible with browsers. If you can't view it, you probably need to download the Java Runtime Environment(Google "JRE") or use whatever your browser might suggest.
Here's a test to see if you're java enabled
It can be viewed here.
Update: For those with compatibility issues, I've ported this to a stand-alone application(But the application still requires the "java libraries" to be installed). The program-version is here. Since this is my first application and I didn't take the time to completely learn stand-alone application programming, exiting requires pressing the "file" tab and clicking exit. The little red 'x' in the corner does nothing. Explanations for the variables can be found on the original online page, http://www.geocities.com/swbluto4gems/classes/SpeedPrediction.htm.
Right now it's in the "Beta testing version", so I'm looking for testing! Basically, this provides your top-speed under the given conditions you specify and if you can report this calculator's prediction and your in-real-life speed, that'd be wonderful! Also, I'm looking to make it more user-friendly, clear and accurate, so any suggestions are welcomed! In fact, I encourage them! Also, if you feel there should be other features, please say so. Some features, like those involving graphs, would take some time for me to investigate so those probably won't be coming for a week. However, if you like more specs like battery current demanded, motor current, power, etc., feel free to make the request! And, also, if anyone thinks the layout is awful, I can upload the User-Interface file which you can edit as you please in NetBeans (A java IDE Gui program.) or you can make suggestions. If any of the interface seems too vague or not clear(like the resistance doesn't specify units of ohms even though that's what it works with), be sure to mention it!
Planned and upcoming features(as of October 10th, 2008):
Completed
-Adding functionality to account for excessive motor heating. Basically, the user would put in the motor's winding's temperature.
-Air density that is automatically calculated from user-specified temperature and altitude.
-Pop-up to alert of missing necessary input.
More upcoming features(As of October 22nd):
-incorporating automatic design optimization
-Adding scroll bars
-Investigating and eventually adding graphing capability(Might not work on all systems as the graphing engine isn't necessarily multi-platform)
-Trying to make compatible with Mac-based systems in some way, shape or form due to Java 5 antiquities.
-Convert to calculate based on Forces as opposed to Power.
-Adding a combo box to allow users to choose their particular gear combinations, with appropriate boxes provided for each.
-Eventually... eventuallllllly document everything and provide links and other useful information to help decide a few values that might be differ depending on your application(Like, say, the frontal area of a motorcycle is usually higher than a bicyclist which this was based on, but a recumbent is less. Having a quick picture guide might help.).
-include no-load current to increase accuracy in general, and efficiency and heat generation in particular.
And I hope to fix a few design flaws that don't impose on normal usage, but could be errant for some combinations. Hopefully, I can make it so that it's more accurate for brushed motors for those that use brushed motors; The current code base is built around the brushless motors assumption which might provide inaccurate estimates of efficiency and dissipated heat for brushed motors.
By the way, some of the "suggested values" may not be entirely accurate as I was pulling them off the top of my head from various places I remember seeing them on the internet. So more research about their accuracy might be desired.
By the way, my real life top-speed is usually 24.9 mph: this thing predicted 25.
(About the basic theory of operation. It calculates the power provided depending on the motor, voltage, resistance, etc.(a complicated formula) and the power needed at a given velocity. It then logically tests consecutive velocity values and it hones in on the point where the "Power provided" and "Power needed" curves meet. It then reports the velocity at that intersection. And, most of the formulas were derived from Alan Kelm's research and Kreuzotter.de, but I had to modify some of Kelm's since some were... well... inaccurate. I.E., power = F*v, and the force of wind resistance is proportional to (v_ground+v_wind)^2, so the power formula for wind resistance is proportional to [r v_ground*(v_ground+v_wind)^2 and not (v_ground+v_wind)^3. This is important because the latter formula would possibly cause two intersections with the power formula whereas the force curves would possibly have one intersection, which is not sensible. But, I still need to find his thread so I can praise him for his research!)
By the way, the model breaks down where the power needed exceeds power provided near 0 mph so values of ".1" mph should indicate "You're going backwards" or "You're not going anywhere".
Hello all. I created this program just for curiosity's sake and also the sake of me needing to choose the right motor and gear ratios for my soon-to-be electric scooter to perform upto the desired specs. It is here I release it to the community and to indulge in however you wish. Since it's a java applet, it requires a java-enabled browser which I've heard to be claimed to be nearly universally compatible with browsers. If you can't view it, you probably need to download the Java Runtime Environment(Google "JRE") or use whatever your browser might suggest.
Here's a test to see if you're java enabled
It can be viewed here.
Update: For those with compatibility issues, I've ported this to a stand-alone application(But the application still requires the "java libraries" to be installed). The program-version is here. Since this is my first application and I didn't take the time to completely learn stand-alone application programming, exiting requires pressing the "file" tab and clicking exit. The little red 'x' in the corner does nothing. Explanations for the variables can be found on the original online page, http://www.geocities.com/swbluto4gems/classes/SpeedPrediction.htm.
Right now it's in the "Beta testing version", so I'm looking for testing! Basically, this provides your top-speed under the given conditions you specify and if you can report this calculator's prediction and your in-real-life speed, that'd be wonderful! Also, I'm looking to make it more user-friendly, clear and accurate, so any suggestions are welcomed! In fact, I encourage them! Also, if you feel there should be other features, please say so. Some features, like those involving graphs, would take some time for me to investigate so those probably won't be coming for a week. However, if you like more specs like battery current demanded, motor current, power, etc., feel free to make the request! And, also, if anyone thinks the layout is awful, I can upload the User-Interface file which you can edit as you please in NetBeans (A java IDE Gui program.) or you can make suggestions. If any of the interface seems too vague or not clear(like the resistance doesn't specify units of ohms even though that's what it works with), be sure to mention it!
Planned and upcoming features(as of October 10th, 2008):
Completed
-Adding functionality to account for excessive motor heating. Basically, the user would put in the motor's winding's temperature.
-Air density that is automatically calculated from user-specified temperature and altitude.
-Pop-up to alert of missing necessary input.
More upcoming features(As of October 22nd):
-incorporating automatic design optimization
-Adding scroll bars
-Investigating and eventually adding graphing capability(Might not work on all systems as the graphing engine isn't necessarily multi-platform)
-Trying to make compatible with Mac-based systems in some way, shape or form due to Java 5 antiquities.
-Convert to calculate based on Forces as opposed to Power.
-Adding a combo box to allow users to choose their particular gear combinations, with appropriate boxes provided for each.
-Eventually... eventuallllllly document everything and provide links and other useful information to help decide a few values that might be differ depending on your application(Like, say, the frontal area of a motorcycle is usually higher than a bicyclist which this was based on, but a recumbent is less. Having a quick picture guide might help.).
-include no-load current to increase accuracy in general, and efficiency and heat generation in particular.
And I hope to fix a few design flaws that don't impose on normal usage, but could be errant for some combinations. Hopefully, I can make it so that it's more accurate for brushed motors for those that use brushed motors; The current code base is built around the brushless motors assumption which might provide inaccurate estimates of efficiency and dissipated heat for brushed motors.
By the way, some of the "suggested values" may not be entirely accurate as I was pulling them off the top of my head from various places I remember seeing them on the internet. So more research about their accuracy might be desired.
By the way, my real life top-speed is usually 24.9 mph: this thing predicted 25.
(About the basic theory of operation. It calculates the power provided depending on the motor, voltage, resistance, etc.(a complicated formula) and the power needed at a given velocity. It then logically tests consecutive velocity values and it hones in on the point where the "Power provided" and "Power needed" curves meet. It then reports the velocity at that intersection. And, most of the formulas were derived from Alan Kelm's research and Kreuzotter.de, but I had to modify some of Kelm's since some were... well... inaccurate. I.E., power = F*v, and the force of wind resistance is proportional to (v_ground+v_wind)^2, so the power formula for wind resistance is proportional to [r v_ground*(v_ground+v_wind)^2 and not (v_ground+v_wind)^3. This is important because the latter formula would possibly cause two intersections with the power formula whereas the force curves would possibly have one intersection, which is not sensible. But, I still need to find his thread so I can praise him for his research!)
By the way, the model breaks down where the power needed exceeds power provided near 0 mph so values of ".1" mph should indicate "You're going backwards" or "You're not going anywhere".