Tuesday, May 17, 2016

a multi-function display for isolde - part 2


This is the following on post to "a multi-function display for isolde - part 1". I have been giving some thoughts to how to package the bits and pieces of this multi-function display system. It is quite easy to design the electronics and develop the software. What often overlook aspect in project like this is how to package the electronics and dealing with the interconnects. Fabricating good looking enclosures are always the biggest challenge for hobbyists and I am no different.

While the modules individually are quite compact, together the aggregate is not small and would require a big enclosure. My current thought is to break them up into individual modules. Because of the accessory track, I can mount the LCD display as a standalone module. I can also mount the joystick as another module also on the track. The Arduino Uno can be hidden away but within easy access to update and change the firmware.

The functionalities that I am planning to include in this multi-function display so far include:

  • Engine oil pressure
  • Engine oil temperature
  • Starting battery voltage
  • Humidity in the cockpit
  • Ambient temperature in the cockpit
  • Outside ambient temperature
  • Data logger

As there are only 4 lines of 20 characters on the display, there is already more information that can be legibly presented on the display, a mean of selecting what to display is needed. I am leaning towards using the joystick for this function. I have looked into the use of a rotary encoder but the coding and performance is too complex for the rather poor result. The coding and real time handling of the joystick is a lot easier to achieve good performance. It will give better human factors for interacting with the display.

Additionally, the data logger will have a real time clock (and calendar) function. That alone necessitate a relatively complex UI support so the user can select what and when to log, as well as to retrieve the captured data.

As to the data logger, the obvious variable is ambient temperature, refrigerator on duty cycle etc. One parameter that I have wanted a long time is the ability to log and debug shake, vibration, and roughness. This will call for accelerometers. There are many 6 or 9 degrees of freedom ones available for Arduino. The only challenge is they may not work well if one want to monitor say an axle due to the extreme long distance between the sensor and the Arduino uC board. In those situation a dedicated Arduino uC board may need to be mounted onto the axle suspension to do the data logging.

a single axis accelerometer ADXL193;  up to +/- 250G; this is an analog device

3-axis accelerometer with up to +/- 16G - this one is like those in your iPhone

The challenge with the accelerometers is they require 3.3V logic interface but the Arduino Uno is designed for 5V interface.

I am extremely impressed with what one can do with the Atmega uCs. The Arduino Uno is a very nice platform. I have already ordered a three pack. I want to keep one with the same configuration as the multi-function display as a development platform at home so the firmware can continue to evolve and be polished.

No comments:

Post a Comment