Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
dakdroid
Old
(Last edited by dakdroid; 6th September 2012 at 07:52 AM.)
#1  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Default [Android 2.1+] SIP HorsePower Dyno - measure your performance

Playstore Link:
https://play.google.com/store/apps/d...from_developer
Updates in second post: http://forum.xda-developers.com/show...13&postcount=2





This is a dyno app, for scooters, motorcycles or cars.
I have only tested it on my vespa, but people told me it works good on other vehicles, aslong the engines sound can be recorded and IT IS NOT AN AUTOMATIC SCOOTER !
Unlike all other dyno apps, I don't use the GPS signal or the accelerometer to measure your speed, but i use the sound.


Ok, I know what you are thinking:
"Dude this wont work or do you really think: The louder the faster ?"

Here is how it works:
Each sound has its specific frequency, consider someone whistling low or high.
The frequency is always the same, let's say you run your engine at 2000 RPM or 2100 RPM, i can measure 2 different frequencies there and i can exactly say at which RPM the engine runs.
From the RPM i can calculate the EXACT speed (GPS or accelerometer just isn't exact, it's a mess).
From the speed difference at 2 points of time i can calculate the power that is needed to get from speed1 to speed2.
Done, thats it.



There are a couple of important things you should be aware of, before you download the app:

1. Not all devices support the recording quality, therefore i uploaded a test app. Please download it, record sound (speak or something else, doesn't matter). Then replay the sound. If it doesn't force close, you are good to go. Link: https://play.google.com/store/apps/d...ZXJ0ZXN0ZXIiXQ..

2. In order to get the measurement right you need to know these values (it is a very technical app):
  • Overall Weight (vehicle + you + gas + backpack + helmet + trousers + shoes ...)
  • Gear Ratio (this needs to be as exact as possible as well, i use the overall gear ratio, which is your gear ratio divided by your tire-circumference in meter, i have an option to calculate the gear ratio by using the GPS speed, but as said before the GPS isn't exact enough)
  • Cw-Value (if you dont know what this is, please google it. I could fill a whole thread with information on this. If you don't enter the exact value here, you will still get comparable results for different dyno runs and engine setups aslong you leave this value the same)
  • Frontarea in squaremeter: (either measure it, or just leave the value, like the Cw-Value to get comparable results)
  • Temperature + air pressure: (can be get online, within the app)




One thing i didn't consider yet is how the tire changes during the run, the faster it spins the higher the tire circumference gets.
I compared my measurements to real dyno runs and its usually only about 0.5 horsepower off.

The displayed horsepower is "power on the ground". I know americans have some other fancy methods to measure this, but to be honest, "power on the ground" is the only measurement that is worth measuring.
Unlike power on the crank it is the real value which your engine has on the street.

Maybe you might have noticed that i am not native english speaking, so here are a couple of copy/pastes from other users, which i think help to explain what is going on:
Quote:
I tried a couple of more runs with this app. I'm really fascinated by your app. This time I tested mypinasco 225cc Vespa GL.

I still can't find a big enough road for that 3rd gear run, but I did ride on and off the motorway a couple of times in 2nd gear. Both runs gave me the same result within 0.5hp
Quote:
it would be power at the ground. The sound frequency gives you the RPM of the engine, knowing the gear ratio and tire size gives you speed. The rate of change gives you acceleration.

Power = Force * Velocity

The forces that we care about are due to acceleration (f=ma) and drag (f=1/2*roh*A*C*V^2).

We know the mass, acceleration we got above, roh is constant and known for air at a given temp and pressure, frontal area*drag coefficient can be estimated, and velocity is known from above as well.

So, as long as you are not doing a burnout, it can measure the power at the ground.
Text Tutorial which i wrote here:
http://modernvespa.com/forum/topic101980?page=1

Quote:
1. Go to “Settings”
Here are 2 options:

a) Calculation by Overall Gear Ratio
From the RPM/min the Speed is calculated by the overall gear ratio which you can enter below.
Overall Gear Ratio: “Primary Gear Ratio” times “Secondary Gear Ratio” devided by “Tire Circumference in meter”
E.g.:Primary : 60/20=3
Secondary: 50/20 = 2.5
Tire Circumference in meter: 1.3
Overall Gear Ratio: 3 * 2.5 / 1.3 = 5.769

b) Calculation by Maxspeed
If the GPS was on during the run I record the speed and look for the max speed. Then after editing the frequency spectrum I look for the max RPM and calculate the Overall Gear Ratio. The GPS signal is sometimes unreliable so I recommend using option a.
If you have a digital Speedometer you can also check the max speed and enter it at “GPS TOP Speed in km/h” with option “b” checked.

All other settings are pretty obvious, just enter them as precise as possible.
If you don’t know the Cw-Value just leave the predefined value in there,

In order to compare different scooter setups, please keep in mind that these values should not change (unless they really changed, e.g. you lost 20kg or dismounted a windshield or whatever) and that you should keep the same position on the scooter for all dyno runs
Save the settings.

2. Go to “New Record”
Find a place where no other vehicles are. Best is a street which has a minimal gradient upwards.
If you want to record the GPS Speed hit the checkbox in the bottom right, enable the device’s GPS if it is not already (a popup will show up if it is not enabled) and wait for a GPS Lock.
Hit the Microfon-Button. The record is now started and the Buttons are locked. Locking the Menu Button is not possible, so don’t touch it. Power Button will shut the screen off, but the record will keep going.
NOW PUT YOUR DEVICE IN A BACKPACK!
In your pant’s pocket the airstream will be too loud, thus making it harder to find the right frequency.
Get on your scooter and start driving slowly. Shift to 2nd ord 3rd gear and from lowest RPM possible full throttle to max speed and hold max speed for a bit.
Stop your vehicle, get your phone and slide the ring from right to left to unlock the buttons.
Hit the microfone button again.

3. Find the run
Here you can see (easy put) the volume of your record. By pressing the Menu Button (^) you can replay the record, where the white area shows the replayed part. Move the red bars until the record of the run (from low rpm to high rpm) is in-between the red bars. Hit menu(^)-> Trim. The red areas will be cutoff, the green part will stay. Replay the record and see if all went fine or continue editing the now zoomed in part.
When done hit > to go to the next screen.

4. Find the right RPM curve
Usually our scooters have their max RPM at around 8000-9000 rpm. So your first look goes to the left side to find these rpm. Then look at the right side which curve has its max rpm at 8000-9000.
You should now know which curve is the correct one. Unfortunatly its not that easy to find the right curve programmatically, so what you first do now is:
Menu(^) -> Snap
Snap: This function starts looking on the very left side of the spectrum to find the signal with maximum strength. Then it looks in a small range heading right for the next max strength signal. Please keep this in mind !
Start removing the false signals from the very left and eventually “Snap” will snap to the right curve.
If snap wont find the right curve, because on the very left side it finds a curve under the real one, then you should either go back and cut the record a little earlier, so there is a signal of your run with lower rpm
Or
Disable snap ad completely edit the spectrum by hand, removing all false signals.
The white line shows the signals which will be used for calculation.
The green line is the smoothed signal, smoothing the signal is necessary. You can play around with the filterlength on the “Edit Spectrum” screen and on the “Result” screen. The larger the filterlength, the smoother the signal will be. But unfortunately too long filterlengths will lead to a wrong result. Play around with the filter on the spectrum screen and the result screen to see what it actually does.

5. Result
Well this is your result. You can save it and compare it to other results or you can share it with your friends.



Will this text tutorial work without pictures for you guys ?
If something isnt clear, just let me know, maybe suggest a better wording

I was asked what some permissions do or why the app needs them, so:

This application has access to the following:

Hardware controls
record audio
->well, no need to explain this i guess

Your location
fine (GPS) location
-> ... GPS

Phone calls
read phone status and identity
-> if a call is incoming i have to handle the current app state, for example stop the record, or stop the "data transforming" and so on

modify/delete USB storage contents or modify/delete SD card contents
-> save record to sd card/delete the record

Network communication
full Internet access
-> just needed to get the weather online

System tools
modify global system settings
->i am kinda confused why google makes this sound so bad, this is the permission to save private app settings (i use this to save weight,gear ratio, temperature...)
in code all permissions look like this, with the bold being this permission

uses-permission android:name="android.permission.PREVENT_POWER_KEY "
uses-permission android:name="android.permission.RECORD_AUDIO"
uses-permission android:name="android.permission.WRITE_EXTERNAL_ST ORAGE"
uses-permission android:name="android.permission.ACCESS_FINE_LOCAT ION"
uses-permission android:name="android.permission.ACCESS_COARSE_LOC ATION"
uses-permission android:name="android.permission.READ_PHONE_STATE"
uses-permission android:name="android.permission.INTERNET"
uses-permission android:name="android.permission.WRITE_SETTINGS"
uses-permission android:name="com.android.vending.CHECK_LICENSE"
Either watch this thread or follow me on Google+ for updates:
https://plus.google.com/105280101829289526269/posts
or:
https://plus.google.com/109720416927515295704/posts

If there are apple fanboys around here:
I am working on an iphone version.
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
dakdroid
Old
(Last edited by dakdroid; 6th September 2012 at 07:57 AM.)
#2  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Changelog:
06.09.2012:
  • Added "SHARE" at compare results
03.09.2012:
  • Jelly Bean related fixes
16.08.2012:
  • Mean of results can be build
13.08.2012:
  • Files go into different folders now
  • fixed a couple of typos and missing translation


The only problem right now is the filterlength, which i use to smooth the curve.
The automatic detected length is usually too short, so please change the value on the result screen.
I saw at least one word in the english version which was german, this is because the new eclipse version somehow doesn't handle files with the same filename right.


To come:
An option to rename the record straight after recording.
An option to build the mean of different results.
A better filter, without the need of chossing the filterlength.

I am pretty busy with my tests at University, so please dont expect any update before the 16th of August.
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
squash96
Old
#3  
Junior Member
Thanks Meter 0
Posts: 8
Join Date: Aug 2012
Wow! Very cool app! How goes the progress on it? I always wanted to make a measurement of actual power of my Vespa but the costs of diagnosis on the dyno seem to me to be too expensive. I hope that in two days there's an update to the application.
 
dakdroid
Old
#4  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Version 1.5 is out, with the long awaited option to build the mean of different runs!
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
dakdroid
Old
#5  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Version 1.6: jelly bean related fixes
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
dakdroid
Old
#6  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
1.61: Added "share" button to compare results.

Gesendet von meinem Nexus 7 mit Tapatalk 2
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
Williams.Joe
Old
(Last edited by Williams.Joe; 18th September 2012 at 12:54 AM.)
#7  
Williams.Joe's Avatar
Senior Member
Thanks Meter 374
Posts: 416
Join Date: Sep 2012

 
DONATE TO ME
Very cool, and I want to get distance. As you say, f =ma,time can be recorded, the distance between two positions could be culculated.

Sent from my SHW-M250S using xda app-developers app
 
dakdroid
Old
#8  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Sure, i will add that later.
I released a Free Version:
https://play.google.com/store/apps/d...JkeW5vZnJlZSJd
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
dakdroid
Old
#9  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Updates in 2.03:
- The spectrum is visible at the "Trim Screen". This means it is lot easier to find the right positions to trim the record.
- Edit Spectrum: it is no possible - by turning "change snap area" on to tell the algorithm where it should look for the right signals. So instead of wiping the wrong signals you chose where the curve should be. This makes the editing much easier.
- Added the option to chose between DIN and SAE climate correction factors.
- Added the option to display the torque in NM or ft-lbs.
- Added a reminder to update the weather when a new record is done.
- The last two locations are saved at the Update Weather screen.
- lots of bugfixes
- details are attached to the email message and are inserted into the jpg when a result is shared
- UI changes: the navigation bar at the bottom is gone and was replaced by an ActionBar,
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click
 
dakdroid
Old
#10  
dakdroid's Avatar
Senior Member - OP
Thanks Meter 34
Posts: 140
Join Date: May 2010
Some people still seem to think that this is something like a burp app.

->

http://www.scootering.com/Current-Issue/

94 Tech Tips – A Dyno in Your Pocket?
Yes it’s true, and Sticky checks it out.
All my apps: click
Drummer's Metronome: click
Holo Metronome:click
MicroDyno:click

 
Post Reply+
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...