Saturday, May 28, 2011

gMeter: l'introduction

Preface: As mentioned in the previous post I hit some car trouble in Canada. Actually I had an engine swap, so it's more like a major problem. Between fatigue, sorting that out, and another project in collaboration with ma man Shane, this project is off to a slow and undocumented beginning. To that end, here is an intro while I chip away at the project.

For the longest time I've been interested in doing something with inertial sensors. It's no secret that I am also a car-obsessive, so the logical starting point was to create a g-meter for my car. Does it tell you how "G" or ghetto someone/thing is? No, but later versions may feature a cockometer setting to tell you "how much of a cock you look." Of course, a g-meter measures the lateral cornering force of your car, typically in units of gravities. As a basic reference an average street car can handle just under one gravity, and a formula one car will stay planted while pulling nearly five g's! "How many can the Volvo manage?" I wondered. Time to find out.

Image courtesy of TheEngineersCorner.

The most critical component of this project would be the accelerometer, for which I chose the tried and true 3-axis ADXL335, yours with breakout board for $24. Having no prior experience with accelerometers and no qualitative evidence for comparison I think this is a great sensor. I used it as it came, with 0.1uF decoupling capacitors which restrict the bandwidth to 50Hz. Choosing the bandwidth is a compromise between noise and resolution and the stock setup proved a good balance thus far.

For starters the sensor needed to be calibrated by picking an accurate scaling factor. This is a number in units mV/g which converts the output signal from volts to gravities. The ADXL335 is ratiometric so the data sheet provides experimental values for the scaling factor at the max and min supply voltages. Running the sensor off a 3.3V line I needed to determine the SF in between the given values, which meant linear interpolation. Not the best since clearly the response is not linear, but close enough. To confirm this I devised a shotty test by taping a breadboard with the accelerometer and an Arduino to my dash as a brave friend riding shotgun read the x (lateral axis) outputs off my laptop in realtime. Meanwhile, another friend monitored readings from a free app on my phone and I drove fast (safely, Mom) down a windy road. The results were reasonable, achieving a max of about 0.74g on a particularly tight bend. During this test power was being supplied via USB so I will need to tweak the SF once the power source is finalized, probably a small 2S LiPo.

Quick and dirty g-meter.

This all came together frighteningly quickly. I added an lcd to the mix but even that has a very common HD44780 chipset and pre-made Arduino library of course. I did not like this, and I started to feel guilty about all this Arduino business. Using them is kind of like admitting that you like Britney Spears music...or something. It's just not hardcore. Arduino's are great tools and by no means have I come close to mastering all of their capabilities, but building things shouldn't be like one of those snap-together model airplanes. So instead of soldering what I had together and stuffing it all into a box, it was time to take the project down a windier and potentially bumpy path.

If we're going to dabble in such terrible things as software, then we ought to at least do it right. Enter the AVR ATtiny2313, a very popular microcontroller for small custom applications like this, and most importantly, no Arduino bootloader! In fact, that is the last time I will use the "A-word" in this post. It feels liberating now but pretty soon I'm sure I will begin kicking myself. I bought an AVR ISP II and put together a little target board. In the next few weeks I will work on the software, anticipating that the lcd will probably be the hardest part. No turning back now.

Unnecessary switch, led, and cap. Why not.

After the recent car bill I need to be thriftier than ever. For the circuitry I won't be ordering a shiny new PCB, instead I am researching the process of etching one myself. Failing that look for a perfboard from Radio Shack with a lot of wires. Mechanically, all I can say is I've ordered some 1/16" sheet aluminum...

No comments:

Post a Comment