RaceChrono Hardware Datalogger - Ideas Please

124

Comments

  • Thanks Eric -- if that's all there is to, it looks very straightforward! Cheers.
  • mark- do note that extra characters or spaces will make it act funny. Since we were putting it together ourselves, we timed the a/d with the GPS, and used the same time stamp. Oh, and for some reason, my friend found that the RC line had to be inbetween two of the GPS line- no idea why, but it's working.....
  • aolaol
    edited September 2010
    Mark944: Well, it is already public, and can be used by anyone (look earlier this thread). If you mean do I plan to write better spec than in this thread, maybe.
  • Thanks, Antti.

    BTW, has anyone heard from mattnj lately? His racelogger dot com website seems to have fallen into a blackhole in the last few days... or at least I can't get it to come up. He did have a message on the website dated early August that said he was back on the case with the project, but no news or updates on the website since then. And now the website seems to be off the air. Strange, strange, strange.
  • edited September 2010
    Unfortunately the domain has the status "clientHold" which implies he hasn't renewed the domain in time. It may be an oversight from his side, but considering no one has heard from him it's not a great sign...

    EDIT: The domain name expired on the 1st of September btw.
  • I last heard from him a few months back. I'm compiling a list of other possible options, but it looks likely that this could be the end of my use for RaceChrono as I step up to something that delivers more than just GPS-based data.
  • Just recently had to make the same choice after finally giving up waiting for RaceLogger to ever appear. Have now moved onto a RaceLogic DriftBox and their Micro Input Module for capturing rpm and up to four other external analogue sensors. Should probably have never got rid of the DL1 that came with car but could never get to grips with it.

    A real shame nothing has come of the project as I've been using RaceChrono for a long time. On the bright side it does finally mean I can stop limiting myself to Nokia phones and their associated bugs.
  • To andylaurence and techieboy; I'm sure you'll be happy with the more serious/expensive data loggers you've chosen. Too bad RaceLogger didn't come to reality, but RaceChrono project continues :) Nokia is not doing too well in smart phones front and lot of users are moving to other platforms. I will have to make hard decision about the platform support, when I start making next generation of RaceChrono. Android platform seems very strong now.
  • Were you not rewriting it for qt, which is being ported to Android already?

    Multiplatform is a very nice way of not having to make too many hard choices after all!
  • aolaol
    edited September 2010
    I've ported the core to Qt, but still pondering about the new UI. Basically Qt would mean Nokia, as the Qt for Android is unofficial and not complete. If I wanted full Android support, I would have to write it in Java. Looks like Android is conquering the world, but things can change quickly.
  • andy, techie
    Not sure if it matters, but we will be testing our prototype set up this weekend up at Watkins Glen.

    Again, the parts are from Paralx.com and sparkfun.com- and the sum of the cost is <$200, but you'll have to assemble it. I'm hoping that this platform issue does not stop work on Windows, but Android would be a cool thing, since my hardware guy and the guy using it this weekend both have a new Droid.

    Anyway, with those parts- we have 5hz GPS + accelerometers + gyros + engine speed + 4 more analog inputs or so- depends on the A/D boards we get. If this works out, it's time for a good donation to Antti.

    Don't give up, but it will take some work.

    If enough of us take on this set up, perhaps we can talk Antti into some data improvements based on the accelerometers and gyros... :)

    Eric
  • Let us know how it's done and if it's simple, I'll have a go. I have a Sparkfun Logomatic but quite how I plug that in to get an RPM signal, I don't know. Plugging it into sensors is easy though.
  • Eric -- Sounds cool, I've been looking at a "homebrew" solution using Sparkfun parts as well, but it sounds like you're well on the way. Keep us informed! Sounds like you're on the right track there...
  • edited September 2010
    Eric - great news! Hope it goes well this weekend!
    I was also working on a homebrew datalogger device, based on ATMega328 and 10Hz Locosys GPS from sparkfun etc. It has four analogue inputs plus digital for RPM couter.
    The output is in RaceLogger format specified above in this forum. Basically, the code looks for the next GPRMC sentence and generates a new $RC1 sentence based on the time stamp from GPRMC, as below.
    So far I couldn't get Racechrono to recognise the data input (No connection to data logger), although PC directly connected via COM port, but I am working on it.
    I am quite happy to publish my work for other people to see, if there is interest.
    Here is the sample of output:

    $RC1,,15,-3,-0,,,,,875,14,36,118,85,99*28
    $GPGGA,233024.200,5145.9249,N,00008.7439,E,1,7,1.01,62.9,M,47.0,M,,*6E
    $GPGSA,A,3,20,13,17,32,11,31,04,,,,,,1.38,1.01,0.94*04
    $GPRMC,233024.200,A,5145.9249,N,00008.7439,E,0.14,335.78,100910,,,A*63
    $RC1,,16,-3,-0,,,,,875,14,36,118,85,99*2B
    $GPGGA,233024.300,5145.9249,N,00008.7439,E,1,7,1.01,62.9,M,47.0,M,,*6F
    $GPGSA,A,3,20,13,17,32,11,31,04,,,,,,1.38,1.01,0.94*04
    $GPRMC,233024.300,A,5145.9249,N,00008.7439,E,0.15,336.84,100910,,,A*63
    $RC1,,17,-3,-0,,,,,875,14,36,118,85,99*2A
    $GPGGA,233024.400,5145.9249,N,00008.7439,E,1,7,1.01,62.9,M,47.0,M,,*68
    $GPGSA,A,3,20,13,17,32,11,31,04,,,,,,1.38,1.01,0.94*04
    $GPRMC,233024.400,A,5145.9249,N,00008.7439,E,0.16,338.04,100910,,,A*61
  • slashF1: If you want to mix the sentences (GPS and data) in to one stream, then connect it as GPS. The Data Logger connection is needed only if the data is from separate Bluetooth stream. Also the timestamp for the $RC1 sentence is required if the stream is mixed with GPS sentences. The timestamp format is same as GPS timestamp.
  • edited September 2010
    Brilliant! Thanks Antti! It works. I did just that, so it connects as GPS and I can see sensor data fields after I enabled them in the Graph settings. Also added timestamp in the code, so it copies it from the GPRMC sentence, as per bellow.

    $GPRMC,002632.000,A,5145.9295,N,00008.7432,E,0.28,224.80,110910,,,A*62
    $RC1,002632.000,1012,-3,-0,,,,,875,14,36,118,85,99*35
    $GPGGA,002632.100,5145.9295,N,00008.7432,E,1,7,1.22,76.4,M,47.0,M,,*6F
    $GPGSA,A,3,20,13,02,23,17,04,10,,,,,,1.49,1.22,0.85*02
    $GPRMC,002632.100,A,5145.9295,N,00008.7432,E,0.27,224.80,110910,,,A*6C
    $RC1,002632.100,1013,-3,-0,,,,,875,14,36,118,85,99*35

    Now next step, is to log output to SD card and also trasmit data over a pair of Xbee's to a remote computer in pits! Wish me luck!
  • edited September 2010
    About pateformes: there are sometimes Cornelian choice!

    Multinationals: some are good but others not!

    I tend to say: do what you feel!





    and ... I like the idea "homebrew datalogger device"
  • Hi!
    Just a quick one. What are the minimum GPS sentences do I need for the Racechrono to work?
    Would RMC and GGA be enough?

    Thanks!
  • aolaol
    edited September 2010
    RMC and GGA are enough, but you loose the satellite gauge which can be useful. If you want to optimize the bandwidth usage, and still support all the features, you may try to output GGA and VTG every time, and then GSV, GSA and ZDA once per 1-5 seconds. Notice if you have ZDA and VTG, you don't need the RMC. VTG is much shorter than RMC.
  • Thanks aol. Bandwidth is important , but also important to have consitent data at 10Hz to avoid dropouts.
    Looking at NMEA 0183 info the sentences that contain LON/LAT data are GLL , GGA and RMC. GLL looks a lot smaller then other two.
    Does Racechrono able to process them all and does it have preference when all three are present? Is it worth enabling them all so if one or two gets missed by the logger, Racechrono would pick the info from the third one?
  • RaceChrono does not support GLL, sorry.
  • edited September 2010
    Just thought you should all know- the weekend was a bust- the car had problems all weekend, and the final problem was a meeting of the guardrail. It will be ready for a weekend a Road Atlanta in a few more weeks, and since it's at my friends shop- he'll be able to install it.

    So no real update. Sorry if you were waiting on pins and needles... :)

    We thought about the various basic loggers from Sparkfun, but we had a good start with the processor from Paralax that we will stick with it for now.

    RPM was on a pulse counter channel- time between pulses = calculation for rpm. Just have to clean up a basic spark signal, and you should be good to go.

    The big "next" question is how "far" to go- just use one of the pre- made boards with some breakout boards for the inputs OR make a custom board and figure out how to put it all together... The other part was that we will check the inputs and power so that they are safe- we are looking to copy parts of this very nice project- http://www.parallax.com/DAQPacAutomotiveDataLogger/tabid/849/Default.aspx
  • Thanks for the update, Eric. Best of luck getting the car ready! BTW, which parallax processor are you using -- propeller or SX?
  • mark- propeller.

    I'm hoping to start a blog about it, so people can comment on it- I'm sure we are missing stuff.
  • edited October 2010
    can't wait to see it.
  • edited October 2010
    Hi guys
    I’m also trying to make a logging device. I have it connected via serial cable to my PC with it outputting the following data, but unfortunately I cant see any of the signals available under the GPS signal select in RC. I also have a GPS device connected using a different serial port and RC sees that no problem, any help would be appreciated
    Thanks

    $RC1,,24,-3,-0,,,,,875,14,36,118,85,99*2A
    $RC1,,25,-3,-0,,,,,875,14,36,118,85,99*2B
    $RC1,,26,-3,-0,,,,,875,14,36,118,85,99*28
    $RC1,,27,-3,-0,,,,,875,14,36,118,85,99*29
    $RC1,,28,-3,-0,,,,,875,14,36,118,85,99*26
    $RC1,,29,-3,-0,,,,,875,14,36,118,85,99*27
    $RC1,,30,-3,-0,,,,,875,14,36,118,85,99*2F
    $RC1,,31,-3,-0,,,,,875,14,36,118,85,99*2E
    $RC1,,32,-3,-0,,,,,875,14,36,118,85,99*2D
    $RC1,,33,-3,-0,,,,,875,14,36,118,85,99*2C
    $RC1,,34,-3,-0,,,,,875,14,36,118,85,99*2B
    $RC1,,35,-3,-0,,,,,875,14,36,118,85,99*2A
    $RC1,,36,-3,-0,,,,,875,14,36,118,85,99*29
    $RC1,,37,-3,-0,,,,,875,14,36,118,85,99*28
    $RC1,,38,-3,-0,,,,,875,14,36,118,85,99*27
  • Alfadriver, sorry to hear about your car. Hopefully all gets fixed and you ll be back to normal.
    What was the reason you went for Propeller? Is it the performance?
    I went Arduino way and what apealed to me is a built in ADC and cost, I bought Mega with 16 ADC ports!
    I have also come across the DAQPac project a few months ago, but I was well underway with Arduino and had to learn the code from scratch, so changing to Parallax would mean starting again. To answer your question how far to go, once the prototyping phase is done I would put it on a single board, the cost of this isn't high and it will be far more reliable then having multiple parts joined together with wires.
    My datalogger is growing out of the box now with all the extra components accelerometers, input filters, RPM circuits etc and it gets messy.
    It would be good to share the ideas, things like how to pick up RPM and filter the signals.
    I am not sure if DAQPAc RPM circuit is good enough and I was testing today different design. So far it worked well with the input from mains power at 50Hz and showing 3000 RPM on the display.
    Will be testing on the real engine in the next a few days.
  • edited October 2010
    colin,

    The way ive got it to log is:

    The microcontroller reads the GPS,ADC,RPM,EXCELLEROMETERS, and passes it to RC.
    I wait for the GPS to out put a $GPGGA string, then i pass it to RC.
    Then I form the $RC1 string using the $GPGGA time for the $RC1 time, and send that to RC.
    I then wait for a $GPRMC string from the GPS and send that.
    Then reapeat.
    Like this:
    $GPGGA,102047.666,4248.3666,N,08343.2613,W,1,08,1.2,282.2,M,-34.2,M,,0000*64
    $RC1,102047.666,00051,0248,0228,0075,,,,00000,0000,0000,0000,0000,0000*38
    $GPRMC,102047.666,A,4248.3666,N,08343.2613,W,000.0,000.0,100810,,,A*77
    $GPGGA,102047.866,4248.3666,N,08343.2614,W,1,08,1.2,282.2,M,-34.2,M,,0000*6D
    $RC1,102047.866,00052,0249,0228,0074,,,,00000,0000,0000,0000,0000,0000*35
    $GPRMC,102047.866,A,4248.3666,N,08343.2614,W,000.0,000.0,100810,,,A*7E
    $GPGGA,102048.066,4248.3666,N,08343.2615,W,1,08,1.2,282.1,M,-34.2,M,,0000*68
    $RC1,102048.066,00053,0249,0228,0072,,,,00000,0000,0000,0000,0000,0000*35
    $GPRMC,102048.066,A,4248.3666,N,08343.2615,W,000.0,000.0,100810,,,A*78
    $GPGGA,102048.266,4248.3667,N,08343.2615,W,1,08,1.2,282.0,M,-34.2,M,,0000*6A
    $RC1,102048.266,00054,0248,0229,0075,,,,00000,0000,0000,0000,0000,0000*37
    $GPRMC,102048.266,A,4248.3667,N,08343.2615,W,000.0,000.0,100810,,,A*7B
    $GPGGA,102048.466,4248.3667,N,08343.2616,W,1,08,1.2,281.9,M,-34.2,M,,0000*65
    $RC1,102048.466,00055,0249,0230,0075,,,,00000,0000,0000,0000,0000,0000*39
    $GPRMC,102048.466,A,4248.3667,N,08343.2616,W,000.0,000.0,100810,,,A*7E
    $GPGGA,102048.666,4248.3667,N,08343.2617,W,1,08,1.2,281.8,M,-34.2,M,,0000*67
    $RC1,102048.666,00056,0249,0229,0074,,,,00000,0000,0000,0000,0000,0000*31
    $GPRMC,102048.666,A,4248.3667,N,08343.2617,W,000.0,000.0,100810,,,A*7D

    Im stuck logging the $RC1 data at the same rate as the GPS (this example is at 5Hz).
    Ive also got RC to log only the $RC1 data at 20Hz by:
    Making a fake GPS string that I change the time stamp. The $GPRMC string must have "A" in the valid signal feild and the $GPGGA string must have at least 3 for the "number of sats" feild.

    $GPGGA,013005,4248.3799,N,08343.2591,W,1,03,02.6,00320.0,M,-034.8,M,,*78
    $RC1,013005.000,,0248,0234,0072,,,,00000,0000,0521,0000,0000,0000,*0A
    $RC1,013005.050,,0248,0235,0073,,,,00000,0000,0594,0000,0000,0000,*0A
    $RC1,013005.100,,0248,0234,0071,,,,00000,0000,0770,0000,0000,0000,*0A
    $RC1,013005.150,,0248,0234,0071,,,,00000,0000,0864,0000,0000,0000,*0A
    $RC1,013005.200,,0247,0235,0072,,,,00000,0000,0955,0000,0000,0000,*0A
    $RC1,013005.250,,0247,0236,0072,,,,00000,0000,1111,0000,0000,0000,*0A
    $RC1,013005.300,,0248,0235,0071,,,,00000,0000,1169,0000,0000,0000,*0A
    $RC1,013005.350,,0249,0235,0071,,,,00000,0000,1225,0000,0000,0000,*0A
    $RC1,013005.400,,0248,0235,0072,,,,00000,0000,1224,0000,0000,0000,*0A
    $RC1,013005.450,,0248,0235,0071,,,,00000,0000,1199,0000,0000,0000,*0A
    $RC1,013005.500,,0248,0234,0072,,,,00000,0000,1094,0000,0000,0000,*0A
    $RC1,013005.550,,0247,0236,0071,,,,00000,0000,1018,0000,0000,0000,*0A
    $RC1,013005.600,,0247,0235,0072,,,,00000,0000,0933,0000,0000,0000,*0A
    $RC1,013005.650,,0249,0234,0070,,,,00000,0000,0747,0000,0000,0000,*0A
    $RC1,013005.700,,0248,0235,0071,,,,00000,0000,0657,0000,0000,0000,*0A
    $RC1,013005.750,,0248,0235,0071,,,,00000,0000,0504,0000,0000,0000,*0A
    $RC1,013005.800,,0248,0235,0071,,,,00000,0000,0450,0000,0000,0000,*0A
    $RC1,013005.850,,0249,0235,0071,,,,00000,0000,0415,0000,0000,0000,*0A
    $RC1,013005.900,,0248,0234,0070,,,,00000,0000,0406,0000,0000,0000,*0A
    $RC1,013005.950,,0248,0235,0070,,,,00000,0000,0433,0000,0000,0000,*0A
    $GPRMC,013005,A,4248.3799,N,08343.2591,W,000.7,000.0,120310,,,A*6E
    $GPGGA,013006,4248.3739,N,08343.2706,W,1,03,02.6,00320.0,M,-034.8,M,,*78
    $RC1,013006.000,,0248,0235,0071,,,,00000,0000,0544,0000,0000,0000,*0A
    $RC1,013006.050,,0248,0235,0071,,,,00000,0000,0621,0000,0000,0000,*0A
    $RC1,013006.100,,0248,0235,0071,,,,00000,0000,0801,0000,0000,0000,*0A
    $RC1,013006.150,,0248,0234,0073,,,,00000,0000,0894,0000,0000,0000,*0A
    $RC1,013006.200,,0248,0236,0072,,,,00000,0000,0984,0000,0000,0000,*0A
    $RC1,013006.250,,0249,0236,0072,,,,00000,0000,1132,0000,0000,0000,*0A
    $RC1,013006.300,,0247,0236,0071,,,,00000,0000,1183,0000,0000,0000,*0A
    $RC1,013006.350,,0248,0234,0071,,,,00000,0000,1227,0000,0000,0000,*0A
    $RC1,013006.400,,0247,0235,0070,,,,00000,0000,1216,0000,0000,0000,*0A
    $RC1,013006.450,,0248,0234,0072,,,,00000,0000,1187,0000,0000,0000,*0A
    $RC1,013006.500,,0248,0235,0072,,,,00000,0000,1071,0000,0000,0000,*0A
    $RC1,013006.550,,0247,0235,0073,,,,00000,0000,0991,0000,0000,0000,*0A
    $RC1,013006.600,,0248,0235,0073,,,,00000,0000,0809,0000,0000,0000,*0A
    $RC1,013006.650,,0247,0235,0072,,,,00000,0000,0716,0000,0000,0000,*0A
    $RC1,013006.700,,0247,0235,0071,,,,00000,0000,0628,0000,0000,0000,*0A
    $RC1,013006.750,,0247,0235,0072,,,,00000,0000,0485,0000,0000,0000,*0A
    $RC1,013006.800,,0248,0234,0072,,,,00000,0000,0436,0000,0000,0000,*0A
    $RC1,013006.850,,0248,0236,0070,,,,00000,0000,0408,0000,0000,0000,*0A
    $RC1,013006.900,,0248,0236,0072,,,,00000,0000,0412,0000,0000,0000,*0A
    $RC1,013006.950,,0246,0235,0072,,,,00000,0000,0446,0000,0000,0000,*0A
    $GPRMC,013006,A,4248.3739,N,08343.2706,W,001.0,041.4,120310,,,A*6E
    $GPGGA,013007,4248.3744,N,08343.2687,W,1,03,02.6,00320.0,M,-034.8,M,,*78
    $RC1,013007.000,,0248,0235,0072,,,,00000,0000,0568,0000,0000,0000,*0A
    $RC1,013007.050,,0248,0235,0071,,,,00000,0000,0649,0000,0000,0000,*0A
    $RC1,013007.100,,0248,0235,0071,,,,00000,0000,0832,0000,0000,0000,*0A
    $RC1,013007.150,,0247,0235,0071,,,,00000,0000,0925,0000,0000,0000,*0A
    $RC1,013007.200,,0248,0236,0072,,,,00000,0000,1088,0000,0000,0000,*0A
    $RC1,013007.250,,0247,0234,0070,,,,00000,0000,1151,0000,0000,0000,*0A
    $RC1,013007.300,,0247,0235,0072,,,,00000,0000,1196,0000,0000,0000,*0A
    $RC1,013007.350,,0248,0235,0069,,,,00000,0000,1226,0000,0000,0000,*0A
    $RC1,013007.400,,0247,0234,0071,,,,00000,0000,1209,0000,0000,0000,*0A
    $RC1,013007.450,,0247,0236,0071,,,,00000,0000,1173,0000,0000,0000,*0A
    $RC1,013007.500,,0246,0234,0073,,,,00000,0000,1045,0000,0000,0000,*0A
    $RC1,013007.550,,0248,0234,0072,,,,00000,0000,0963,0000,0000,0000,*0A
    $RC1,013007.600,,0248,0236,0071,,,,00000,0000,0778,0000,0000,0000,*0A
    $RC1,013007.650,,0248,0235,0072,,,,00000,0000,0686,0000,0000,0000,*0A
    $RC1,013007.700,,0248,0235,0072,,,,00000,0000,0601,0000,0000,0000,*0A
    $RC1,013007.750,,0248,0234,0072,,,,00000,0000,0467,0000,0000,0000,*0A
    $RC1,013007.800,,0248,0236,0070,,,,00000,0000,0424,0000,0000,0000,*0A
    $RC1,013007.850,,0248,0235,0071,,,,00000,0000,0402,0000,0000,0000,*0A
    $RC1,013007.900,,0249,0235,0072,,,,00000,0000,0421,0000,0000,0000,*0A
    $RC1,013007.950,,0248,0234,0071,,,,00000,0000,0462,0000,0000,0000,*0A
    $GPRMC,013007,A,4248.3744,N,08343.2687,W,000.0,041.4,120310,,,A*6E

    Even though the checksum isnt working in this example, it still worked.

    I hope this helps
    Good luck!

    Jamie
  • Any info about when/if there might be a logger available for use with RC (accelerometers and some other input)?

    I'd prefer something community supported (I like the MegaSquirt community and have been able to get it working), but a very restricted solution (like the Racelogger Basic) would be perfect too.
    mh-motorsports.com is mentioning about bringing something to the market but who knows.
  • Would be great if RaceChrono could come up with a data module like the Micro Input Module for the RaceLogic system that would accept RPM and a few programmable analog inputs, or using "standard" off the shelf sensors for water, oil temp/pressure, etc, and add the ability to display them real time. Sounds like there would be quite a few interested parties - me for one!!
Sign In or Register to comment.