Avionic Sensor Module

This is one of my oldest project to date, It is a sensor module that I designed for a RC helicopter to detect atmospheric changes. The project is based on a ATMEGA 8 chip and PCB layout and design was made but never manufactured.


Avionic Modules are used in airline industries mainly in aircrafts to measure changes in the physical parameter. These modules are used by air traffic controllers to measure the condition for the environment and based on the measured data, they could inform the pilots in order to provide pilots with accurate data and ensure that the plane is landing safely. They modules are also used inside the aircraft’s fuselage to provide pilots or operators with up to date data regarding the changing environment conditions that are important for the pilots to make decision for the safety of the passengers on board the plane. There are different types of modules available in the market. These modules vary depending on the type of the plane. In such modules are the temperature sensor, air velocity sensor, pressure sensor and most of all altitude sensor. Hence, avionic sensor modules are the very heart of the airline industries.


The objective of this project is to design an avionic sensor module that could measure, air velocity, temperature, pressure, altitude, 3D orientation and 3d position of the plane. This will be accomplished by using off the shelf sensors that are available in the university laboratories. The goal is to measure the environmental parameter and by using ADC, interface the sensor plus signal conditioning circuits with a microcontroller so that the reading could be obtained instantly on an LCD screen. The microcontroller used for this project is ATMEGA32. If time permits the module will be tested on a kite for measure physical parameter. The module will be lighter enough to be used on a kite to measure the physical parameters on a low altitude.


The microcontroller used for this project is ATmega 32 from AVR. The ATmega32 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega32 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed.


The temperature sensor used for this project is LM335. The LM335 are precision temperature sensors which can be easily calibrated. They operate as a 2-terminal Zener and the breakdown voltage is directly proportional to the absolute temperature at 10mV/°K. The circuit has a dynamic impedance of less than 1Ω and operates within a range of current from 450μA to 5mA without alteration of its characteristics. Calibrated at +25°C, the LM335 have a typical error of less than 1°C over a 100°C temperature range. Unlike other sensors, LM335 have a linear output.

To measure orientation Gyroscope was used, the gyro used for this project is a single axis evaluation board that can measure the yew movement. The gyro used is ADXRS150EB from Analog Device. The ADXRS150EB is a simple evaluation board that allows the user to quickly evaluate the performance of the ADXRS150ABG yaw rate gyro. No additional external components are required for operation. The ADXRS150EB has a 20-lead dual-in-line (0.3 inch width by 0.1 inch pin spacing) interface that allows the user to easily prototype products without having to deal with BGA soldering. The 0.4 square inch outline of the ADXRS150EB is still among the smallest gyros available today.


The Accelerometer used for this project is ADXL150EB.


The first step in making this project is to test all the sensors and then make a signal conditioning circuit that would be used to interface with the microcontroller via Analog to digital converter. The analog to digital converter is accompanied inside the microcontroller with a reference voltage of 5V. The signal conditioning is done with 10-bit unipolar ADC. The set-up of the avionic module is first tested on a bread board and later it was transferred to a PCB. The microcontroller used for this project is AVR ATmega32. The code was written in C and can be found in the Appendix section. The testing of each sensor was done and the result was displayed on a multimeter.


After testing the circuit the PCB was made using ExpressPCB and the PCB was manufactured. The signal conditioning circuits, 5V power supply and the microcontroller was etched on the PCB.



In order to implement the design and map the sensor output in to the microcontroller, I had to find the relationship between the environmental parameter measured by the sensor and the voltage that are generated by the sensor and inputted in to the ADC of the microcontroller. I tested all the sensors and based on the relationship, I entered the result in to the microcontroller.

For the temperature measurement, we used LM335 and connected it to the differential amplifier. By using the sensitivity of the LM335 and using the room temperature value (25.3), I found the voltage value of the temperature output which was around 2.93V. If we increase the temperature of the LM335, the voltage also increases and the change in voltage will be converted in to temperature value by using the following equation in the microcontroller.

Temperature  =  -30 + Voltage(18)

The voltage at the input of the Vadc = 5.5(V-2.4316)

Similarly, to measure altitude, I also found the relationship between the Altitude and voltage and also with the pressure. As the altitude increases, the pressure decreases which also decreases the voltage of the LM335. By plotting this result on the graph we find that there is an inverse relationship as shown:


The formula used to convert the Voltage in to the Altitude:

Altitude =  (-Voltage+1.711)/(2.3423×10-3)

To find the relationship of the Accelerometer we used the equation that was given in the accelerometer datasheet. It should be kept in mind that accelerator has a DC offset of 2.5V and when it is moved the voltage changes and usually increase more than 2.5V. In order to read from the sensor the relationship between voltage and acceleration is put in to the microcontroller for all 3-axis.


Acceleration = (-V0-2.5)/200m

Finally, for gyroscope we needed a range of 0 – 360o and the sensitivity is 12mV/degree/s


Degree  = (Voltage – 4.32)/0.005

After writing the code in C and adding the code in to the microcontroller, the sensors reading was displayed on to a computer screen. By using push-buttons, we could select between , altitude, temperature, orientation and position.


The results were displayed on the computer monitor and are as shown:



Leave a Reply