Roadracing Sidecar Data Acquisition system
sidecar-racer
Posts: 82
It's time to put this on. I've been working on it (on and off) for a year now. It is now wired prototype, looking into PC board making.
Using Propeller Project Board USB
Initial schematics were done by point to point tables, working on schematics for PC generation
Questions and coments are more than welcome, need to keep my brain fresh.
Data logging for Roadracing sidecar.
By Rick Murray, RGM Engineering
Requirements: Use Parallax products wherever possible, Use Spin if possible
Use existing code where possible,
Complete Debug display cannot be uses as same time as SD card recording (not enough time)
Using Propeller Project Board USB
Initial schematics were done by point to point tables, working on schematics for PC generation
Questions and coments are more than welcome, need to keep my brain fresh.
Data logging for Roadracing sidecar.
By Rick Murray, RGM Engineering
Requirements: Use Parallax products wherever possible, Use Spin if possible
Use existing code where possible,
Requirements: Display for development will be on Composite CRT Done Build 3 channel pulse generator (555s) and 8 channel Analog test box Done 1. 8 Analog (Use MCP3208 for A/D) Analog Values are 12bit (0-4095) (0v-5v) a. Oil Pressure (0-100Psi) Done b. Oil Temperature Done c. Water Temperature Done d. Throttle position (0-100%) Done e. Air box pressure (-5 to +5) Done f. TBD Done g. TBD Done h. TBD Done 2. 3 speed inputs (using counters) Each counter in own COG (Use 3 bits input) a. Front wheel (7Hz-300Hz) Done b. Rear Wheel (7Hz-300Hz) Done c. Engine RPM (8Hz-120Hz) Done 3. Digital outputs (LED Display in helmet) a. Rear wheel slip (exceeds percentage) Green <5%, Yellow >5%<9%, Blue >9%. b. Shift point (Flashing RED) Adjustable RPM setpoint c. Convert Front Wheel pulses to OEM Dashboard Speedo Done 4. Digital Inputs a. 3 axis acceleration (Using MMA 7455) Done b. Lap time marker with Existing Infrared unit {Drack}) down to 100ths/sec Need to use counter? Or perhaps GPS positions? 5. GPS Info (Using VPN1513) New Firmware from Forums Done a. Time (Time/Date) b. GPS Speed c. Long/Lat/ALt/dir/etc d. Run in own cog 6. Local storage of data (2GB SD?) 32 file entries in Root OK, use fsrw object? Uses Excel format on SD card 7. Recording starts and stops at 5 MPH or by switch selection. 8. Data recovery and display.At this point, system uses 8 cogs and about 60% ram, Execution loop is 100ms per sample (all) and time in use is 40-50 ms.
Complete Debug display cannot be uses as same time as SD card recording (not enough time)
Comments
So, I had to look up "roadracing sidecar" as I've never heard of it before... you mean this?
I'm going to do a discription on each major module starting with the SD card system. It'll give me a chance to review my docs.
I had intended to use some of the resources on the VPM1513 GPS but I think now I may use a faster refresh GPS and a second Prop with one Prop doing DataAq and the other process and storage.
Are you going to add more cogs or props, or will the remaining functionality fit in the rig you have?
*** _readme_.txt *** (sorry about formatting, better way?)
RoadRacing Sidecar Data Acquisition
12/22/12
RGM Engineering
Included Objects : **********
Notes: 1. all data is global
2. Excel format records are created by making spreadsheet with only the column names and saving it as CSV file.
This single record is put in a DAT string.
Main fills a second DAT string with recorded data at proper byte locations every 100ms
Main writes DAT string record to SD if debug is off and front wheel speed is over 5mph.
As long as system is running, filename is incremented whenever speed drops below 5mph.
File Limits: 2GB, FAT32, 32 file names. More than enough for project.
Also, you can edit you previous posts and fixes the numbering etc using the same go advanced button
Are you using SPIN or pasm? I guess you are using SPIN. There are some other options that are less widely used, but can have certain advantages.
The configuration of the VPN1513 GPS is serial request for data; speed, date, time, etc, with a serial response. By expanding that code with requests for analog, digital, etc, seems like I could do one prop for processing and one for acquistion.
Two pieces probable of interest are;
1. Frequency counters (one counter, one cog) in spin,
2. Main code body which uses existiing OBEX objects.
Attached are pictures of unit. I'm going to put it in machine to test "real-world" conditions.
Top board with terminals contains the analog filters
Bottom board contains everything else.
This fits in a Parallax box, you can see the bottom peeking out underneath.
Here is a picture of our outfit, race garage at Miller Raceway
Now for technical question;
We're using fsrw2.6 and generating up to 32 files of csv data (telemetry varibles).
When speed goes below 5 mph file closes, back above 5mph, new file opens (date & time stamp still in progress, getting that from GPS).
What we need is a piece that runs in prop that allows copying these files to PC for display, etc.
We've spend time goiing through site and haven't found anything.
Rick & Nida Murray
I hope it wasn't racing related?
Is that 32 FILES or is it 32 pieces of daya in each record? There is a limit how much data you can send, and opening and closing files add to the overhead.
If you can stand FORTH, the logger package supports writing records fairly quickly, about 30 records per second, in the demo. Each cog can have its own currently open file, and swtiching to a new file isn't too bad. You can send it off to the PC using bluetooth terminal.
It is up to 32 files (fsrw limit), size of file is based on run time; about 150 bytes/record, records are created every 100ms of run time. My spin code does use all 8 cogs, but I can shut down the ones associated with data acquistion when pulling records. The entire system uses about 40% of 100ms cycle time while recording, doesn't really matter how long it takes to "download" files, kinda figured to start with usb port, then bluetooth or wireless.
Rick