nice; is it possible for the data logger to save to points so that a 2d map is produced?
Just been doing a bit of mucking around in my spare time and have finally started working on my little datalogger based around an Arduino. Currently its just reading in from the serial output of a Holux GPS, parsing out the lat/long coordinates and displaying that on a little 16x2 LCD, pretty damn simple.
Looks like this:
Im going to be adding a bunch of functionality over the next little while to the unit. First on the list is logging to a microSD card, which will be a nice little cakewalk.
I think ill be able to read the RPM quite easily, just doing a count of 5V pulses. Plus ill have a bunch of analog inputs which wont have been touched so they can do temperatures or pressures and TPS values.
Also going to add a 3 axis accelerometer to the mix, over the I2C bus so it doesnt take too many inputs.
Im also looking at getting a serial LCD to free up a bunch of my digital inputs.
Thats about it for now, any features that people would like to see?
Last edited by takai; 03-12-2010 at 03:18 PM.
-Chris | Garage takai - Breaking cars since 1998
Sparky - AE86 IPRA Racer | RZN149 Hilux - Parts and Car Hauler
I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself. - D.H.Lawrence
nice; is it possible for the data logger to save to points so that a 2d map is produced?
Current: 1990 ST185R Celica:
http://www.toymods.org.au/forums/showthread.php?t=62315, DAEWOOOOO ESPERO
Previous: Ta22 4aGZE; Older: 99' WRX Impreza 192kw
Itll save as a CSV based on time (from the GPS). What sort of format were you thinking?
-Chris | Garage takai - Breaking cars since 1998
Sparky - AE86 IPRA Racer | RZN149 Hilux - Parts and Car Hauler
I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself. - D.H.Lawrence
some useful vars might be:
Injector pulse width
O2
driving wheel speed (versus GPS will give you idea of traction loss)
brake use (taken from brake light switch - matched up with TPS will give you engine-decel-versus-braking tracking)
Looks cool, but dam sounds like some work. I'm going to install one of these once I get my corolla on the road. ECU datascan
Touchscreen, GPS, MP3/video playback, full datalogging, you can program in all your race tracks too - I think it's a bargain at $500.
Yeah, all of the above are good ideas. PWM on the injectors is the only one which could be interesting.
The EcuDatascan thing is a good product... except that it requires an OBDII interface, or any ECU other than a Haltech... neither of which i have.
-Chris | Garage takai - Breaking cars since 1998
Sparky - AE86 IPRA Racer | RZN149 Hilux - Parts and Car Hauler
I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself. - D.H.Lawrence
takai - I like seeing projects like this. Firstly, great work so far!
I have been fiddling with microcontrollers for several years now and I am fluent in C/C++ and assembly and I have been programming ATMEL AVR's and 32bit PICS for work a lot lately. If you need any help with PWM stuff or anything then sing out, I am happy to offer assistance!
1967 RT40 Corona Current Project - http://www.toymods.net/forums/showthread.php?t=46182
Current: 1990 ST185R Celica:
http://www.toymods.org.au/forums/showthread.php?t=62315, DAEWOOOOO ESPERO
Previous: Ta22 4aGZE; Older: 99' WRX Impreza 192kw
Im working on something similar, but using a re-boxed eeepc.
Was logging to a sqlite3 DB, but now using CSV as well.
10Hz GPS:
Microtech:Code:# time_ns;gps_time;fix;latitude;longitude;altitude;speed;hdop;sats 1291776258684737105;24403.900000;2;-35.028297;138.557112;55.600000;9.060000;0.810000;12 1291776258785794055;24404.000000;2;-35.028297;138.557115;55.600000;9.740000;0.810000;12 1291776258884753598;24404.100000;2;-35.028297;138.557118;55.600000;10.570000;0.810000;12 1291776258984777134;24404.200000;2;-35.028297;138.557122;55.600000;11.220000;0.810000;12 1291776259084754016;24404.300000;2;-35.028297;138.557125;55.600000;11.690000;0.810000;12 1291776259184758837;24404.400000;2;-35.028297;138.557128;55.600000;12.940000;0.810000;12 1291776259286805918;24404.500000;2;-35.028297;138.557133;55.600000;14.110000;0.810000;12 1291776259384757234;24404.600000;2;-35.028297;138.557138;55.600000;15.030000;0.810000;12 1291776259484780696;24404.700000;2;-35.028297;138.557143;55.700000;15.790000;0.810000;12 1291776259585743681;24404.800000;2;-35.028297;138.557148;55.700000;16.930000;0.810000;12 1291776259684782721;24404.900000;2;-35.028297;138.557153;55.700000;17.320000;0.810000;12 1291776259785793842;24405.000000;2;-35.028297;138.557158;55.700000;18.660000;0.810000;12
Innovate LC1:Code:# time_ns;flags;inj_output;rpm;load;ign_timing;tps;water_temp;air_temp;afr;voltage;aux_port;aux_inj;pwm;aux_air;refs 1291776259860982470;0;3.238092;2620;-7;39;37;94;45;14.600000;13.380000;8.619039;0.000000;0.047619;1.666665;1 1291776260033003423;0;3.238092;2880;-7;40;38;94;45;14.600000;13.380000;8.619039;0.000000;0.047619;1.619046;1 1291776260204991271;0;2.952378;3000;0;40;37;94;44;14.600000;13.560000;8.619039;0.000000;0.047619;1.571427;1 1291776260377000001;0;2.952378;3120;0;40;34;94;44;14.600000;13.440000;8.619039;0.000000;0.047619;1.523808;1 1291776260548992877;0;2.666664;3320;-12;40;33;94;44;14.700000;13.440000;8.619039;0.000000;0.047619;1.476189;1 1291776260720993296;0;1.761903;3380;-16;40;25;94;42;14.500000;13.250000;8.619039;0.000000;0.047619;1.428570;1 1291776260892988616;0;1.285713;3250;-25;33;0;94;42;14.000000;13.560000;8.619039;0.000000;0.047619;1.380951;1 1291776261064989734;0;1.238094;2950;-25;33;0;94;42;11.600000;13.440000;8.619039;0.000000;0.047619;1.333332;1 1291776261237000350;0;1.047618;2620;-26;33;0;94;42;11.200000;13.440000;8.619039;0.000000;0.047619;1.285713;1 1291776261408988617;0;0.952380;2320;-26;40;2;92;42;11.200000;13.320000;8.619039;0.000000;0.047619;1.238094;1 1291776261580989105;3;1.428570;2060;-19;40;23;92;42;11.000000;13.560000;8.619039;0.000000;0.047619;1.190475;1 1291776261752993018;3;2.857140;2120;0;40;32;94;42;11.900000;13.380000;8.619039;0.000000;0.047619;1.142856;1 1291776261924990572;0;3.380949;2060;-5;28;34;92;41;11.100000;13.380000;8.619039;0.000000;0.047619;1.095237;1 1291776262096990153;0;3.476187;2120;-5;29;38;94;41;13.200000;13.250000;8.619039;0.000000;0.047619;1.047618;1 1291776262268988756;0;3.714282;2250;-3;30;41;92;41;14.500000;13.560000;8.619039;0.000000;0.047619;0.999999;1 1291776262440984985;0;3.809520;2320;-3;30;46;92;40;14.500000;13.440000;8.619039;0.000000;0.047619;0.952380;1 1291776262612987150;0;3.857139;2380;-2;31;46;94;40;14.500000;13.380000;8.619039;0.000000;0.047619;0.904761;1 1291776262788640314;0;3.952377;2440;-2;31;47;94;40;14.600000;13.320000;8.619039;0.000000;0.047619;0.857142;1 1291776262956986033;0;3.904758;2500;-2;32;47;94;39;14.700000;13.560000;8.619039;0.000000;0.047619;0.809523;1 1291776263129004052;0;4.285710;2620;0;31;48;92;39;14.600000;13.440000;8.619039;0.000000;0.047619;0.809523;1 1291776263300983029;0;4.333329;2680;0;31;51;94;39;14.500000;13.380000;8.619039;0.000000;0.047619;0.809523;1 1291776263473005239;0;4.142853;2750;0;32;50;92;38;14.600000;13.320000;8.619039;0.000000;0.047619;0.809523;1 1291776263644994065;0;4.285710;2820;0;32;49;94;38;14.600000;13.620000;8.619039;0.000000;0.047619;0.809523;1 1291776263816989036;0;4.380948;2950;0;33;50;94;38;14.700000;13.440000;8.619039;0.000000;0.047619;0.809523;1 1291776263988984496;0;4.190472;3000;0;34;47;94;38;14.600000;13.380000;8.619039;0.000000;0.047619;0.809523;1 1291776264160007474;0;4.761900;3060;0;34;47;94;38;14.600000;13.320000;8.619039;0.000000;0.047619;0.809523;1 1291776264332001608;0;4.428567;3180;0;34;45;94;37;14.500000;13.560000;8.619039;0.000000;0.047619;0.809523;1
Now to make a google maps / web based front end for viewing the dataCode:# time_ns;status;afr_multiplier;lambda;afr 1291776185172970456;0;4.900000;0.776000;3.802400 1291776185253978209;0;4.900000;0.773000;3.787700 1291776185335977786;0;4.900000;0.757000;3.709300 1291776185418978489;0;4.900000;0.758000;3.714200 1291776185499978559;0;4.900000;1.009000;4.944100 1291776185582993433;0;4.900000;1.289000;6.316100 1291776185663968646;0;4.900000;1.152000;5.644800 1291776185745980238;0;4.900000;1.049000;5.140100 1291776185827972346;0;4.900000;0.993000;4.865700 1291776185910980445;0;4.900000;0.962000;4.713800 1291776185991969967;0;4.900000;0.961000;4.708900 1291776186073974368;0;4.900000;0.952000;4.664800 1291776186155969545;0;4.900000;0.971000;4.757900 1291776186237985823;0;4.900000;0.987000;4.836300 1291776186318970252;0;4.900000;0.983000;4.816700 1291776186401979118;0;4.900000;0.992000;4.860800 1291776186484144863;0;4.900000;0.991000;4.855900 1291776186564981913;0;4.900000;0.983000;4.816700![]()
Daily: Toyota '05 Rav4 Sport
Projects: Celica GT4 ST185 (5S-GTE), Celica RA28 Celica (1UZ-FE)
Previous: Corona RT104, Starlet GT Turbo
Classic Celica Club of South Australia
that eeepc idea is sweet! didn't think about it at all, but this datalogger idea looks promising. mark you GPs output at 10hz all the data you provided what time frame was it over, im assuming at 10hz its .1 second? (f=1/t) theoretically. if there's not any script/program which converts the csv into a map/graph which could include speed gradient represented by colour, this could be done through macros on excel yes?
Current: 1990 ST185R Celica:
http://www.toymods.org.au/forums/showthread.php?t=62315, DAEWOOOOO ESPERO
Previous: Ta22 4aGZE; Older: 99' WRX Impreza 192kw
Screw Excel, and screw macros. At worst the GUI will be done in Java, as i have already written a GIS package for it.
-Chris | Garage takai - Breaking cars since 1998
Sparky - AE86 IPRA Racer | RZN149 Hilux - Parts and Car Hauler
I never saw a wild thing sorry for itself. A small bird will drop frozen dead from a bough without ever having felt sorry for itself. - D.H.Lawrence
haha except i hate java =\ excel and basic c is my friend..that and matlab =) id use that. im gonna suss one out these holidays as i have a too large income and work 1 day week hahah. my plan is to use a picaxe (for simplicity) i have a pic programming board, but during the warman comps it proved eventfull..so picaxe will do. can i use the output of the 5v pulse from igniter to picaxe directly then log that and other inputs then to the expanded memory etc?
Current: 1990 ST185R Celica:
http://www.toymods.org.au/forums/showthread.php?t=62315, DAEWOOOOO ESPERO
Previous: Ta22 4aGZE; Older: 99' WRX Impreza 192kw
just found a similar build to yours![]()
http://forums.overclockers.com.au/sh...d.php?t=922597
Current: 1990 ST185R Celica:
http://www.toymods.org.au/forums/showthread.php?t=62315, DAEWOOOOO ESPERO
Previous: Ta22 4aGZE; Older: 99' WRX Impreza 192kw
Oh, look, another one... seems a few people have had exactly the same idea
http://www.performanceforums.com/for...php?t=67261536
That was just a very small bit of sample data i copy & pasted out of the CSVs.
The time_ns field is UNIX time (time since epoch), in nanoseconds.
The eeepc will also grab video from a windscreen mounted webcam.
This only works for 1-2mins before dieing atm though due to the shitty webcam chips Logitech used.
Its a shame really since the ~5fps video at 1280x960 res looks great
My eeepc setup will upload the log files via wifi to my linux server when i get home after every trip.
I want the trip data (maps & ECU log graphs, etc) to be available on the intranet (or web) immediately.
So my front end will be apache+php+mysql+google-maps based, which ill start programming in the next few days.
Will be a slow process though... wont be easy![]()
Daily: Toyota '05 Rav4 Sport
Projects: Celica GT4 ST185 (5S-GTE), Celica RA28 Celica (1UZ-FE)
Previous: Corona RT104, Starlet GT Turbo
Classic Celica Club of South Australia
Current: 1990 ST185R Celica:
http://www.toymods.org.au/forums/showthread.php?t=62315, DAEWOOOOO ESPERO
Previous: Ta22 4aGZE; Older: 99' WRX Impreza 192kw
Bookmarks