Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Variometer, Atmega168 + Nokia 3330/3310 LCD + Bosh BMP085

Status
Not open for further replies.

Vermes

Advanced Member level 4
Joined
Aug 2, 2011
Messages
1,163
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,316
Activity points
22,318


Electronic variometer is used to measure vertical speed. It can be used for free-flying paragliders, what means flying without power and looking for thermal chimneys that cause the rising of the flyer. The project can also be used in modeling.

Basic elements of the variometer:
  • microprocessor Atmega168 (libraries of Bosh sensor BMP085, Nokia 3310 LCD and the program do not fit Atmega8; 80% of 16kB memory is used).
  • sensor BMP085, miniature pressure and temperature sensor. Communication between the microprocessor and the sensor is done through I2C. The sensor is callibrated during the program initiation. Pressure measurement is absolute. The altitude above sea level is recalculated from the pressure.
  • Nokia 3330 or 3310 LCD.
  • few capacitors, diodes, buttons, piezo speaker.

Assumptions:
  • measurement of the vertical speed in m/s
  • buzzer that emits a sound indicating the rising or falling
  • graphic variometer showing the size of the falling and rising in a scale
  • measurement of the relative altitude (above the aerodrome)
  • measurement of the absolute altitude (above sea level)
  • ambient temperature
  • history of records: the highest relative and absolute altitude achieved and the speed of falling and rising
  • display the fuel level with calibration capability
  • battery power
  • four keys to navigate the menu

Menu and the conditions of the transition:



Description of the different stages of the menu:

1. Welcome menu:



The bitmap was created in the „Paint.exe” in 48x84 pixel format. Later it was converted to arrays of hexadecimal numbers in the „Bmp2asm.exe”.
The bitmap is displayed once when the device is turned on. Transition to the next state is done by pressing any key.

2. Basic state:



The most important information is displayed, such as:
  • speed of rising or falling
  • relative altitude (reset in the menu)
  • ambient temperature
  • flight time (reset in the menu)
  • graphic variometer (on the left)
  • the fuel level (on the right)

Transition to another level using buttons, up, down or OK.

3. Large variometer:



It displays the vertical speed, flight time and graphical variometer in large format. With the audible signaling, it is useful for flying without the drive (so-called free flying). Free flying is based on finding aerodynamic tunnels, that cause rising of the paraglider. The time of free flight on the exam must be more than 40min, what is impossible without the variometer.

4. History of records:



The greatest achievements are displayed such as: the highest achieved altitude above sea level, the highest relative altitude achieved, the fastest rate of rising and falling. Each record can be deleted. Using „up” and „down” buttons, you can select what you want to delete, and then confirm the selection pressing the „OK”.
Each record is stored in EEPROM, so they are not deleted after turning off. The manufacturer guarantees only 100 000 save operations in EEPROM, so the following states of determining and saving each record were used:
  1. wait until the measurement is larger than the record
  2. save the measurement to the variable and wait until the measurement starts to decline
  3. saves to the EEPROM and back to point 1

5. Menu:



Allows you to move freely between options with four buttons: up, down, OK and C (back).

6. Fuel settings:



Resistance liquid level sensor was used to measure the fuel level. The measurement is done by the digitizer. To create a universal program, you can use the possibility of callibration by setting the level of Reserve (R) and the maximum level (F). The current measurement of the ADC is shown under the variable „P”.

The callibration is done in the following way:
Firstly, pour such a quantity of fuel to the tank, at which it shows the minimum state, and then press two buttons: OK + Down at once. After this operation, P measurement is stored to the variable R. After that, pour the maximum quantity of fuel and then press: OK + Up. Afer that, P measurement is stored to the variable F. Both variables are stored in the EEPROM, so you do not need to do that again.

7. Measurements:



All data from the measurements are displayed. Pressure and temperature are read from Bosh sensor BMP085, then the altitude is calculated.

8. The variometer is equipped with an piezoelectric speaker.

It makes a sound:
  • when rising – a high beeping tone - the higher the rising is, the greater beep speed and frequency are
  • when falling – a low and constant tone – the faster the fall, the lower the frequency

Elements used:
  • microprocessor Atmega168
  • Nokia 3310 display
  • pressure and temperature sensor
  • resistors: 2x47kohm, 500ohm
  • capacitor – electrolytic 20uF, 100nF
  • battery from Nokia
  • diodes – Zener 3,6V; rectifying 1N4007
  • piezoelectric speaker
  • joystick
  • PCBs
  • housing

Final effect:



Videos:
Rising:


Falling:


Link to original thread (useful attachment) – Wariometr, Atmega168 + LCD Nokia 3330 / 3310 + Bosh BMP085
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top