Originally Posted by JAJ
...In other news, I've spent some spare time in the last couple of days shopping for accelerometer chips and data capture boxes. I'm going to have a go at figuring out how to adjust the dampers by combining measured dynamic data with seat-of-the-pants feel.
This is going to be fun. I'll keep y'all posted...
OK, so it's four months or so later and it's time for an update.
I've had a load of fun figuring out how to use accelerometers to measure suspension motion. I've got a set of 8 accelerometer circuit boards (they're only $50 each from www.SparkFun.com
) that communicate with my laptop over USB connections. They're about 3" square.
In theory, that's two accelerometers for each corner (one for the chassis, one for the wheel), although in testing so far, I haven't actually hooked up more than four on one side of the car to see if I can get useable data. Here's a snapshot of the car with the wiring on the outside - the chassis sensor wiring is hidden but the wheel sensor wiring is just taped to the outside because that was the quickest and easiest way to get hooked up.
My conclusion so far is that useable data awaits. That said, most of my learning so far is in the technology of accelerometers and laptops, and not in suspension motions and adjustments. But, I'm getting there. Some time this year I'll get this figured out.
A few lessons learned:
- the boards came pre-programmed. However, the data rate is too low and the demonstration software violates the ADXL345 sensor chip FIFO read timing parameters. So, I bought a programming dongle, downloaded the Atmel embedded development software, figured out how to program in "C" and then redid the data capture routines so they work properly. Along the way, I calibrated the sensor offsets to manageable levels and redesigned the sensor data transmission protocol (three times).
- A round of email conversations with Future Technologies (the guys that make the USB chips on the sensor boards) allowed me to implement a work-around that made my Windows 7 laptop run its serial ports at 1 megabaud to keep up with the volume of sensor data.
- There are no off-the-shelf programs that will take this kind of data and make it useful, so I bought a package called "Liberty Basic" and started writing Basic programs to capture and process the data. Even a few seconds of data overwhelms MS Excel, so it's got to be custom from end to end.
- I gathered a bunch of data on my stock suspension. After days of trying to make the data make sense, I began to suspect that the data was fine, and it was a mechanical problem. Sure enough, the data was full of noise caused by the sensors wiggling around on the suspension. That day of collection became scrap at that point.
- I noticed that rarely, but often enough to be noticed, my data sets had byte-alignment errors that presented themselves as out-of-range readings for the sensors I was using. At first, I ignored them, but the more I thought about them the more concerned I became. So, I once again rewrote the data capture protocol and added a serial number the data records I was collecting.
Sure enough, there were three-second long "blank periods" in the data - it wan't just noise in the system, it was a wholesale drop-out. The combination of the protocol and my revised data-capture software made it clear that the sensors were fine - it was the laptop that was losing the data.
It turned out that my Lenovo laptop's "electronic air bag" software was shutting off the hard drive when I hit a bump, which of course was when the most valuable data was coming in. I resolved the problem by replacing the OEM 250GB HDD with an Intel 160GB Solid State Drive. The SSD rocks, by the way, for lots of reasons that have nothing to do with its immunity to shock. My X200 now cold-boots about as fast as most machines recover from sleep mode.
- After an extensive session of data gathering in early March, I finally have what I think will be usable data from the stock suspension. Sadly, it's also affected by the HDD protection dropouts, so before I can use it I have to write a clean-up routine to trim out any data that can't be verified as consistent and clean using the record serial numbers.
The reason the March data is still waiting is because in March my day job started consuming my weekends. Second, the little time I did have was spent getting ready to install the KW Clubsport kit that was sitting on my garage floor.
Through April, I found the time to do the install and after a bit of fiddling, I got the ride-height exactly where I wanted it. The next phase is to set the dampers. I don't have a working electronic system yet, so for the moment I'm going to follow the instructions Koni publishes for setting up double-adjustable dampers in their racing catalog.
I'll keep plugging away at the sensor data, and once I get useable results, I'll design some new metal brackets to attach the sensors to the KW gear and gather more data. In the long run, the capture and display has to be real-time or near-real-time, but I'm still at the let's-walk-before-we-run stage.
When I have data that allows me to produce a picture of the suspension motion, I'll post it.