For those who aren't so into engines, a dynamometer is a device for measuring the torque/power output of an engine at different speeds. It's useful for measuring how powerful an engine is, and comparing engines to each other. This is an automated inertial dynamometer, so it'll measure everything for you and show your engine output at the end.
It seems nobody's built a decent dynamometer since forever in gmod for some reason, even though there are so many engines out there. I normally don't release contraptions, but this is an exception since I think it would be a useful tool for a lot of people. It's about time there was a way to properly measure engine characteristics, so here it is!
[release]
[b][u]Features:[/u][/b]
[list]
[*]Automated testing
[*]Accurate, repeatable measurement process
[*]Adjustable for practically any engine
[*]Easy, button-based controls
[*]Stable up to 3000rpm +
[*]Displays test info while running
[*]Automatic torque/power result plots
[*]Save data to disk (csv format - imports easily into Excel)
[/list][/release]
Display in the middle of a test run:
[URL=http://img651.imageshack.us/i/dyno01.jpg/][IMG]http://img651.imageshack.us/img651/567/dyno01.th.jpg[/IMG][/URL]
Results plot (this test engine is pretty weedy):
[URL=http://img233.imageshack.us/i/dyno02.jpg/][IMG]http://img233.imageshack.us/img233/3627/dyno02.th.jpg[/IMG][/URL]
Instructions are included in the E2, but I'll post them here too:
[release]
[b][u]Instructions:[/u][/b]
[list=1]
[*]Remove drag from the flywheel, e.g. using physical properties adv. or ECS (e_drag 0)
- This is VERY IMPORTANT! If you don't do this, your results will be ruined
- Check that drag has been disabled by pressing "Test", then "Starter"
- RPM should not change once you stop pressing the "Starter" button
[*]Couple the engine to the flywheel using ball socket adv.
- Check "free movement" and set all friction values to 0
- Set all min/max X/Y/Z limits to -180/180, except the axis of rotation
- Set the limits on the rotation axis to 0/0
- If the dynamometer is pasted in original angles, this will be the Y axis
[*]Set the engine to full throttle (the flywheel should remain stopped, else press "Stop")
- You shouldn't need to do anything with the engine after this
[*]Press "Test" to see if the flywheel is set to an appropriate weight (moment of inertia)
[*]Adjust the moment of inertia using the up/down arrow buttons
- The flywheel should accelerate by 10 rpm every 5 seconds or more at low RPM
- Slower acceleration (more inertia) will give more accurate results in general
- Press "Stop", then "Test" again if necessary
[*]Press "Start" to begin the test
[*]If the flywheel doesn't spin at first, the engine may have stalled
- Press the "Starter" button to give a small boost to the flywheel until the engine takes over
[*]Wait for the engine to reach max RPM (RPM doesn't increase any more)
- The test is completely automated, so don't touch the controls, engine, or flywheel
- Testing may take a while, probably 5 mins or more
[*]Press "Set" to end the test
- Results will be plotted to the screen
[*]Press "Compile" to save results to file on your computer
- Results are stored in garrysmod\data\e2files\
- Files are csv compatible
- If you want to import to excel, rename the files from .txt to .csv and drag+drop to excel
[/list][/release]
[b][u][url=http://rapidshare.com/files/442278595/dynamometer__wenli_v1-01_.txt]Download here[/url][/u][/b]
[i]Disclaimer: I'm pretty sure the conversion factors are correct, but I can't be sure I haven't made any mistakes. If someone knowledgeable can check the results and confirm them, please let me know.[/i]
[b]***If you want to use this, make sure your wire is up to date***[/b]
[b]***Also make sure you have some way to disable drag!***[/b]
If you don't have any means of disabling drag, you can download TGI's drag tool via svn:
[url]https://fallenspack.googlecode.com/svn/trunk/fallenspack/Drag%20Tool[/url]
This seems useful
[b]fuck yes[/b]
[editline]26th December 2010[/editline]
i can't find that advanced physical properties tool anywhere
I'm not sure, I think it used to be part of Helix's constraint pack, but I don't know where you'd get that now.
If you have control over the server (or in SP) you can disable drag directly in lua by doing:
Ent:GetPhysicsObject():EnableDrag(false)
i don't quite understand the inertia shit, a typical motor of mine won't reach max rpm unless the inertia is 1
i don't get it
[editline]26th December 2010[/editline]
[img]http://gyazo.com/b3d9afbbbdff2dd59ec3a88c2a6b2072.png[/img]
what the hell
The moment of inertia needs to be high enough to make the engine only accelerate slowly. It basically defines how hard the flywheel is to turn. It looks like you set the inertia much too low in that screenshot, the engine should be accelerating at around 10 rpm every 5 seconds or so. At that rate of acceleration, it'll take about 5-10 minutes to accelerate to full speed. More is better generally, but it means the test will take longer.
What speed does the engine get up to with higher moment of inertia?
it doesn't accelerate, it revs to a locked rpm and doesn't change, and then i get some retarded result
accept friend req/log into steam fdsfsd
[editline]26th December 2010[/editline]
at 2048 inertia all my engines lock to 60rpm or so and doesn't accelerate (it speeds to 60 instantly)
[editline]26th December 2010[/editline]
[img]http://gyazo.com/3e27c6f23596a9f835e332622754b8e9.png[/img] works well
[editline]26th December 2010[/editline]
on sestze's dyno that motor reachs 70hp and 1200lb ft
[editline]26th December 2010[/editline]
and can power a rock crawler to climb anything
I'll be online later and can take a look then, sounds very strange. You're sure drag was disabled?
i have no idea as i cannot find any tool to do so, would it really cause this much of an issue?
[img]http://gyazo.com/9ecc2103a3697fd25ac33286d49bca7d.png[/img]
lol it wouldn't even plot it
[editline]26th December 2010[/editline]
can't find adv phys props or ecs or upload engines to nodex, therefore this release is kind of useless
Works fine for me.
[media]http://i56.tinypic.com/15clglk.jpg[/media]
[media]http://i56.tinypic.com/2yuilib.jpg[/media]
If you look at the above picture you'll notice that i used a really horrible engine.
[code]lua_run TR = Entity(1):GetEyeTrace()
lua_run TR.Entity:GetPhysicsObject():EnableDrag(false)
[/code]
That's what i wrote in the console to disable drag. Not good at lua so there might be a better way to do it. Probably won't work well in multiplayer since Entity(1) is the first player, and the fact that you have to be an admin.
Nice work wenli. :D
Disabling drag is super important. You basically can't make a decent dynamometer of this type without disabling drag, since drag increases quickly with rpm. If you don't disable drag then your engine won't spin up properly and your test data ends up being more or less useless. Unfortunately there isn't any way around this unless someone can figure out the exact equation for rotational drag in Source.
I've updated the first post with the physical properties advanced tool. I'd like to see drag settings being dupable before too long, since I have a fair number of contraptions that need it, including this one. In the mean time, you can use physical properties adv.
[url]http://rapidshare.com/files/439388805/PhysPropAdv.rar[/url]
Installed, thanks.
Wait, I just made a simple tool to enable/disable drag and it has dupe support, just lemme test it and i'll post link here.
[editline] edit[/editline]
Sorry it took so long to make, had to go do chores. But anyways, heres the link to download it [url]https://fallenspack.googlecode.com/svn/trunk/fallenspack/Drag Tool[/url]
P.S It's a svn
[img]http://gyazo.com/238abd028f2a8443e716372635f123a8.png[/img]
:D
[editline]26th December 2010[/editline]
tested my inline 4
[IMG]http://i890.photobucket.com/albums/ac109/XanderKarbine/Gmod%202/gm_offroad_testcourse_final0050.jpg[/IMG]
my first v12
[IMG]http://i890.photobucket.com/albums/ac109/XanderKarbine/Gmod%202/gm_offroad_testcourse_final0047.jpg[/IMG]
winston and i's train motor (twin 8)
[IMG]http://i890.photobucket.com/albums/ac109/XanderKarbine/Gmod%202/gm_offroad_testcourse_final0048.jpg[/IMG]
winston's v8
[IMG]http://i890.photobucket.com/albums/ac109/XanderKarbine/Gmod%202/gm_flatgrass20080044.jpg[/IMG]
straight six using giga's models
[IMG]http://i890.photobucket.com/albums/ac109/XanderKarbine/Gmod%202/gm_offroad_testcourse_final0053.jpg[/IMG]
lol
Glad you got it working! I've updated my post with a new version that has support for TGi's drag tool, so if you use that you won't need to apply it every time (or just make your own dupe).
If you find the flywheel isn't heavy enough for really powerful engines, you can just couple it to another flywheel with ball socket advanced. Then edit line 98 of the E2 and add the inertias of the additional flywheels, like this:
[code]Inertia = Flywheel:inertia:z() + Flywheel2:inertia:z()[/code]
The mass adjuster won't display the inertia properly unless you edit that too, but the main screen and results should update fine with only the one line change.
It's not Tibbles tool :saddowns: I made it
I should probably get my eyes checked, seeing as how I mis-read "dyno" as "dino." That and the "T-Rex release thread" made me expect something entirely different out of this thread. :frown:
Good job though
[QUOTE=TGiFallen;26994146]It's not Tibbles tool :saddowns: I made it[/QUOTE]
lol sorry I always get your names mixed up. Your fault for both choosing names that start with T.
Hi Winston nice dyno.
[img]http://dl.dropbox.com/u/5853103/gm_excess_waters0000.jpg[/img]
I guess I know what RPM to run my engine at... not bad for my first engine design second attempt ever ehh?
When it exploded my one-cylinder engine produced 257 horsepower @ only 30rpm.
Seriously I couldn't even get 1hp... :saddowns:
But this is fucking awesome man thanks for releasing it.
[editline]27th December 2010[/editline]
[img_thumb]http://img210.imageshack.us/img210/1012/gmbuttes0015.jpg[/img_thumb]
I always build em this way...shitloads of torque.
yes these figures are accurate, I tested 'em 5 times. The lowest figures:
[img_thumb]http://img257.imageshack.us/img257/658/gmbuttes0017.jpg[/img_thumb]
The timing is still tempermental though.
Engines like yours produce crazy high numbers but don't output consistently, i suggest a smaller diameter crankshaft for more rpm
Those results don't look right at all. Are you sure you have the flywheel inertia set high enough? 8192 seems ridiculously low for such a high torque engine. As it says in the instructions, you should aim to have at least several seconds between readings at 10 rpm increments. In fact, you should set the flywheel's moment of inertia as high as possible, the only limit being how long you're willing to wait for it to spin up.
If you get a graph that spikes all over the place (or even goes into the negative) then something went wrong. The results will be meaningless; there's no way the engine's actually outputting those figures, it's just the E2 getting confused since it's not getting the input it expects.
[QUOTE=TGiFallen;27003012]Engines like yours produce crazy high numbers but don't output consistently, i suggest a smaller diameter crankshaft for more rpm[/QUOTE]
I'm actually trying to keep RPM [I]down[/I], hence the oversquare design (I usually do massively oversquare engines for high torque). At low RPMs, it's more stable (blame source for that), and more suited for what I usually use engines for. I build more "generator" style engines, optimized for one low RPM with massive torque, and always runs at that RPM.
God I love wire. Last time I really got into building engines, I was using conna's stools and a mechanical governor. :07:
The engines was just a crap build 2-minute thing anyway.
[editline]27th December 2010[/editline]
[QUOTE=Wenli;27003650]Those results don't look right at all. Are you sure you have the flywheel inertia set high enough? 8192 seems ridiculously low for such a high torque engine. As it says in the instructions, you should aim to have at least several seconds between readings at 10 rpm increments. In fact, you should set the flywheel's moment of inertia as high as possible, the only limit being how long you're willing to wait for it to spin up.[/QUOTE]
I toyed with the inertia rating a lot. The engine's timing system isn't the greatest, but it was a quick "ten minute" type build.
[editline]27th December 2010[/editline]
This dyno makes me really wanna get back into engine building.
...I did not understand a single thing in this thread.
Wenli, you may want to replace the physprop advanced tool link with the link to my tool, to anyone else reading this I am saying it because the physprop advanced tool is not very intuitive and does not have dupe support. Mine has both.
Wenli, may I suggest some kind of PD control system for determining the inertia required, of even just an applyTorque PD control system and forget inertia. I have a dyno similar to this I use for testing, and you simply tell it the min and max operating speeds, and it will then test torque output between each of those speeds. I don't understand the [URL="http://wiki.garrysmod.com?title=Physics#Torque_due_to_rotational_drag_in_air"]exact equation for rotational drag[/URL], but it is proportional to speed^2, so you can simply add speed^2 * a constant to the output torque to account for it.
Btw, to convert E:inertia() to units of kg*glu^2 (glu = gmod length unit) simply multiply by 1550.1 (now T = I * a works).
Then obviously you just need to multiply that by the glu to meter conversion factor (0.01905)^2 to get to S.I. units of kg*m^2
If you have got your other units right you will see how this is correct. If not, in scalar terms;
force = mass [kg] * gravity [glu/s^2]
torque = force * length [glu]
torque = inertia * angular acceleration [rad/s^2]
Anyway, nice dyno. I've seen and made these before, but you obviously did a nice job on the egp graph display.
does anyone still have this dyno as i have looked all over for it and can not find it
Sorry, you need to Log In to post a reply to this thread.