Novak Conversions Jeep Wrangler TJ engine mounts

Microprocessor control of suspension airbags

Embedded systems engineer, specializing in the CAN bus. I eat, sleep and breathe microcontrollers, Where hardware and software come together has always interested me. Andy

Arrested Development Reaction GIF by MOODMAN
 
  • Haha
Reactions: MikeE024 and L J
There are many "learning programming/electronics with the Arduino" books available but some experience with coding and electronics really helps. I wouldn't have been able to make this project work without my prior coding experience and my prior electronics design experience - when it comes to interfacing to real world devices there are often challenges that are beyond what you'll find in the beginner books.

But it doesn't cost much to get started - you can pick up Ardiuno microprocessor starter books for a few bucks at places like Thriftbooks (https://www.thriftbooks.com/browse/?b.search=arduino) and there are hardware starter kits for $25-40 which will provide all you need for a range of starter projects (https://www.microcenter.com/product...arter-v2-kit-for-arduino-uno-16mhz-clock-rate). Once you've gotten some experience with the basics, you could explore things like an ELM327 Bluetooth OBD2 Adapter (to interface to the OBDII port) and experiment with that. There are lots of code examples on line. Once you got that figured, you could get a MicroSD card interface, connect it to the microprocessor and do the logging you want. It goes on from there, you can start simple and add devices and capabilities as you gain experience.

I work in tech (currently in data streaming) and my b.s. is in physics so I probably have close to the right background. The closest I get to hardware is in receiving data from an IoT system...or more accurately talking to you about how you should buy our software to assist you in your IoT journey, at which point I hand off to post-sales. LOL

I guess I probably just need to buy a starter kit and start working through the lessons. I don't really know C, but I know python. I haven't even googled to see if that will work but I can't imagine it won't.
 
I work in tech (currently in data streaming) and my b.s. is in physics so I probably have close to the right background. The closest I get to hardware is in receiving data from an IoT system...or more accurately talking to you about how you should buy our software to assist you in your IoT journey, at which point I hand off to post-sales. LOL

I guess I probably just need to buy a starter kit and start working through the lessons. I don't really know C, but I know python. I haven't even googled to see if that will work but I can't imagine it won't.

You can always start with a Pi Pico and use circuit python.

Over time you can switch it to Arduino C++ since it can do either.

The Arduino nano connect may a good starting point. It has wifi so you can work with IOT.

https://docs.arduino.cc/tutorials/nano-rp2040-connect/rp2040-01-technical-reference
 
I get it, build a setup to target a lower price point, which is needed considering the cost of other well established companies like RideTech.

Actually I pursue projects because I find them interesting, challenging and because perhaps the end result will be useful to me. I rarely start off to build a commercial product, but often it works out that way :).

An example: back in 2016 I got interested in having cameras on my Jeep to help my navigate around trail obstacles. I looked at the systems on the market at the time and they were crazy expensive, especially considering how reasonably priced the basic components were (kind of like this project). So I sourced the components, some from a company that did camera systems for busses and RVs and built a system I called TrailVision. It supported 4 cameras, split screen viewing and had DVR capabilities. It really worked well and helped a lot on tight trails. Retrofit Offroad picked it up and brought it to market at about half the price of the systems that were on the market at the time.

TVEmblem2_zpsf0htd6f3.jpg


It especially worked well when you were between a rock and a hard place (or perhaps a high place, in this next photo there's a steep drop-off a few inches off the driver's side tires).

SaxonBoulder_zpshwlkybts.jpg


I still use that system on tight trails in the LJ, I did turn out to be very useful.

Anyway, I'm not doing this microprocessor project with the goal of creating a commercial product, it's mostly for my own amusement. But if I were, here's one product concept that could be done with the code I've already written...

AutoAir1.jpg


Plug your compressor into the input, the output into a 4-way clip-on Schrader hose connected to the tires, plug the fused cable with the SAE connector into your compressor's power input and the lighter plug into your vehicle's power outlet. Read the pressure in the tires, push the buttons to set the "go to" pressure and watch the microprocessor do the work for you.

A four-way Schrader hose wouldn't really be necessary though you could use a single one or perhaps a double one to do both tires on one side of the vehicle at the same time.

Zorba wants to know if you can add Bluetooth compatibility and develop an app for that.

There are a number of inexpensive Bluetooth options for the Arduino so that wouldn't be hard.

Could easily integrate that with the product concept above or with the airbag controller.

I usually apply a bit of hysteresis, just like a household thermostat. There's a target/setpoint, and then differentials above or below the setpoint. I might have a valve open if the pressure falls below 30, but don't close it until the pressure rises above something like 32, so once it crosses the threshold it latches in and wobble doesn't matter, as long as the amplitude of the wobble isn't as big as my differential. I also can apply filters to the measurement so it settles smoothly into the new reading.

Yes, I did that as well, the ranges are set with compiler directives and the exact values were determined by testing:

// definitions for pressure range approximation
#define RANGE_UP 3
#define RANGE_DOWN 2
 
I was reading the original post thinking maybe it was going in the direction of realtime, independent control of each corner to maintain a level height over terrain, using some accelerometers to read roll and pitch.

Not sure it would pay off with any increased capability but it would be fun to watch and listen to air bags being filled and emptied as a TJ floated perfectly level over some boulders or ruts.

If you ever get into the slammed vehicles with air ride suspensions and study the suppliers, you will note that they have high volume ports into the bags and a small tank at each corner to dramatically speed up how far they can inflate and release the air out to make the vehicles do dumb stuff. When I developed that for West Coast Customs, everyone else was running 1/4" air line from each solenoid air valve mounted next to and fed by a small tank in the trunk. Turned some heads at the shows they went to and now everyone does it. Feeding the small tanks at the corners was the big break through. Opening up the holes into the bags was the next logical step.
 
I put together a test fixture so I could experiment with the air bag hardware at my workbench. It's got only one air bag because that's enough to test the system for now and it simulates what's in my Jeeps because in all 3 Jeeps both rear air bags are plumbed together.
When you have the sides plumbed together when one side goes down wouldn't it just transfer air to the other side and not provide the same resistance if they were separate?

Isn't AiRock doing this now?
 
I was near a Micro Center the other day so I stopped in to pick up some additional components for further microprocessor experiments, but their stock was so disorganized I didn't buy anything. Afterwards I placed an order with one of my favorite electronics places and among the things I ordered was a 3-axis Gravity/Acceleration Sensor.

3AxisAcelerometer.jpg


It's a less than $3 part and it can tell the microprocessor about its angular orientation in three dimensions, and it can also report on how fast the orientation is changing. There are several interesting things I could do with this.

1. With different air bags (see below for more about types of air bags), it could be used to automatically level the Jeep. I should say "automatically level the Jeep to some degree" because sometimes we get our Jeeps in crazy orientations on the trail that no air bags expand far enough to compensate for, but within the limits of airbag travel the Jeep could be leveled. And by also reading the acceleration of the change, the microprocessor could determine how fast the Jeep was changing attitude and perhaps could adjust the speed of leveling accordingly.

2. As a first test, I'll prototype a simple inclinometer, which with an appropriate display, could show you the current angles of the Jeep and perhaps let you know when you're too far off-camber for your particular Jeep to remain stable. How about a warning light or sound when you get close to the off-camber angle you've set as a danger level?

I also ordered a MicroSD card R/W module (a $1.95 component), so as a second phase of the inclinometer prototype maybe I'll log the angles and vertical acceleration of the Jeep on the trail so the data can be reviewed later if desired. It's way bigger than real life in this photo (as is the photo above):

MicroSD.jpg


I'll report on these further experiments and prototypes as I get time to write the code and test them.

I've also sent the compressor company information on a few product ideas based on the air pressure management code I've already written, if they express any interest in going further with the ideas I'll report on that too.
 
I was near a Micro Center the other day so I stopped in to pick up some additional components for further microprocessor experiments, but their stock was so disorganized I didn't buy anything. Afterwards I placed an order with one of my favorite electronics places and among the things I ordered was a 3-axis Gravity/Acceleration Sensor.

View attachment 442295

It's a less than $3 part and it can tell the microprocessor about its angular orientation in three dimensions, and it can also report on how fast the orientation is changing. There are several interesting things I could do with this.

1. With different air bags (see below for more about types of air bags), it could be used to automatically level the Jeep. I should say "automatically level the Jeep to some degree" because sometimes we get our Jeeps in crazy orientations on the trail that no air bags expand far enough to compensate for, but within the limits of airbag travel the Jeep could be leveled. And by also reading the acceleration of the change, the microprocessor could determine how fast the Jeep was changing attitude and perhaps could adjust the speed of leveling accordingly.

2. As a first test, I'll prototype a simple inclinometer, which with an appropriate display, could show you the current angles of the Jeep and perhaps let you know when you're too far off-camber for your particular Jeep to remain stable. How about a warning light or sound when you get close to the off-camber angle you've set as a danger level?

I also ordered a MicroSD card R/W module (a $1.95 component), so as a second phase of the inclinometer prototype maybe I'll log the angles and vertical acceleration of the Jeep on the trail so the data can be reviewed later if desired. It's way bigger than real life in this photo (as is the photo above):

View attachment 442296

I'll report on these further experiments and prototypes as I get time to write the code and test them.

I've also sent the compressor company information on a few product ideas based on the air pressure management code I've already written, if they express any interest in going further with the ideas I'll report on that too.

Ok this looks fun. Gotta find out how to do this with Python.
 
The next microprocessor experiment: pitch & roll detection. There are several applications for this - the simplest of which is a dash display that shows the current angles of pitch and roll of the Jeep. Maybe with some warnings when the Jeep gets far enough off-camber to be dangerous. Another application would be self-leveling air springs which would keep the Jeep as level as possible on the trail.

The components for this experiment are very simple - a 3-axis accelerometer and a microprocessor. The accelerometer was less than $3. I'm using a smaller microprocessor this time - last time I used an Arduino UNO and this time I'm using a Adruino Nano Every. The Nano has almost the same capabilities as the UNO in a much smaller package. There are only 4 wires required to connect the two. I zip-tied the electronics on top of a 1:18 scale Jeep:

PitchAndRollOnTJ1.jpg


PitchAndRollOnTJ2.jpg


To dislay the current pitch and roll, for this test I'm just going to use the computer screen - the Adruino will communicate with the computer through a USB connection (which also supplies the power to the electronics) and the data will be scrolled in a window on the Arduino development environment on the computer.

PitchAndRollOnTestSetup.jpg


Check it out in action in this next video. I've tried to focus the camera on the scrolling display on the screen to show the pitch and roll readings, so please excuse the poor focus on the model Jeep, the important part of the video is the serial output on the computer showing the pitch and roll. The next step is to replace the computer monitor with a small display. You might need to view this on a computer display, not sure the output on my laptop screen will be easily visible on a smart phone.


If I were to complete this as a dash-mounted pitch & roll indicator, there are quite a few display options that are compatible with the Arduino. A simple small OLED display like the one I used for the airbag prototype could be used, but it's not large enough to display much more than just the numbers. A larger graphic display could perhaps the angles graphically as well as numerically.

I'm not sure where I'll end up with these microprocessor experiments is but I still have a few more components to try out so I'll keep experimenting and maybe I'll end up with something useful.
 
Novak Conversions Jeep Wrangler TJ engine mounts