Passive Sensors

Sensors

We have implemented an embedded laboratory which is inspired of Curiosity's which carry many spectrometers (laser, alpha ray X), a meteorological station, the SAM to study organic composition and Mars rocks and others sensors (neutrons for example).

We didn't have all the material of NASA but our aim is to implement a maximum of sensors which seem realisable and interesting for us. We have searched sensors whose specifications would be compatible with Mars'. A python code has been developed for 7 passive measurements.

Table of content:

Humidity and temperature

Humidity sensor

Pressure

Pressure and altitude are very important information on the environment. We have chosen the MPL311A2, compatible with Arduino ad Raspberry. We have implemented an Arduino Code in Python with the SparkFunMPL3115A2.h and Wire.h (for I2C) libraries. This component makes pressure measurements and sends the altitude value thanks to the formula:

Pressure formula

with p, the measured pressure, p0, the sea level pressure given by the user and OFF_H an offset n meter also given by the user.

Pressure sensor

It has also an embedded thermometer whose accuracy is about ±1°C. Don't forget its use on Mars would have implied another referential so a different processing of the sensor values than on Earth.

  • Advantages: low cost, easy to use, possibility to choose a compromise between acquisition (delay 1s to 9s), energy consumption and resolution, memory of 32 values
  • Drawback: have to choose between pressure or altitude periodic measurement because the component can make only one measurement at the same time
  • Test: we have decided to use this sensor as a barometer since altitude will be given with the GPS later, the first value is always 0 so we make one measurement (not taken into account) in the setup to solve this difficulty.

Luminosity

Light sensor

In order to get statistics on the amount of sunshine on Mars depending on seasons for example we have found interesting to implement a light sensor, the Ugear light sensor module compatible with Arduino and Raspberry. It's composed of a photo resistor, a potentiometer and a comparator LM393. The concept is simple: the more intense the light is, the higher the resistor value is going to be. The light's threshold can be modified thanks to the potentiometer (if we turn it clockwise, the sensor will be more sensitive and the threshold will be lower).

  • Drawback: curve of the measurements very complex to interpret, not very accurate (20% of error)
  • Solution: choice of the new component BH1750 which has its own library (with I2C bus) and sends directly the value in lux.

Atmosphere

CO sensor

The CO (carbon monoxide) rate is not the principal compound of Mars's atmosphere (0.06%) but MQ-7 belongs to a family of sensors whose functioning is the same as MQ-8 for hydrogen or MG811 for carbon dioxide in majority on Mars (96%). It gives a ratio between 2 resistors and we deduce the carbon monoxide concentration thanks to the formula: ppm = 37143*(ratio ^-3.178).

  • Advantages: accuracy
  • Drawback: 21% of oxygen is needed to get coherent measurements (it won't never occur on Mars unfortunately), has to run 24h to do a burn in at the first use
  • Test: wait about 10 min before taking into account the measurements (in general between 0.5 and 5ppm)

Obstacles and distance

For obstacles and distance, we have hesitated between 2 different technologies: ultrasounds or infrared.

IR: FC-51 Ultrasounds: SFR05
IR sensor Ultrasound sensor
Detection: 2 to 30cm Detection: 2 to 450 cm
Exactitude: depend on the distance (close to far) Exactitude: about 2 mm
Detection cone: 35° Very evasive
Size: 4.34 cm² Size: 675 cm²
Shows if there is an obstacle
closer to the sensor than a distance
defined thanks to a potentiometer
Gives the distance to the obstacle is situated

The Rover must detect remote obstacles even if it has a slow motion (1 to 40 cm/s) because our aim is to make the rover autonomous. Firstly, we have been interested on the IR sensor which sends a Boolean (true or false) if there is an obstacle closer to the sensor than a distance defined by a potentiometer. The IR sensor will be put around the main box and the arm to stop the motion if there is a danger. Secondly, we have implemented the ultrasound detector with Ping.h library.

Test: we have put an obstacle (our hand) at different measured distance with a meter and we have found coherent results.

We have also used a gyroscope with the Wire.h library to get the rover's position which is a very important data for motion, acceleration and gear. We have been interested on angles which define the sensor position.

Radiation

X-ray sensor

To measure the radioactive radiation quantity, we have used a Geiger counter, compatible with Arduino, which is equipped of a gas tube (helium, argon, neon).

  • Advantage: detection of beta and gamma rays
  • Drawback: no detection of alpha rays (the least dangerous for human health), expensive, cumbersome, need of an important voltage
  • Solution: choice of a component smartphone friendly (number of particles counter in relation with the time exposure) which displays radiation rate in real time
  • Test: use of RadiationWatch.h library (complex code with interruptions), use of the ray-X generator of Nice University with Philippe LORENZINNI (Director of the studies at Polytech, professor and researcher), if the number of particles grows the radioactive value (in uSvh) raises

Curiosity uses 4.8kg of plutonium dioxide but in the same time its electrical power (around 100W) is produced by solar panels. Our rover is for the time being supplied by a 12V lead battery but in future, we plan to add solar panels to transform the solar energy in supply for the rover or analysis.

How to choose the material? In which ranges do they work? It has taken a long time to look for the right sensor and understand which one would be the most appropriated. The material list (price and website) is available on this excel. All the pin numbers are written on wires to help us understand and fix more rapidly if it's needed.

Arduino

Card Box

The aim is to introduce sensors and make them work together with a unique Arduino function. The first step was to test each of the component independently and then all of them together. To be sure of the coherence with the measurements displayed we have compared them with references displaying them on the terminal. The flexible and modulable code (structure based on a switch) gives the possibility to add or change a sensor easily because they correspond to a number. This number is delivered by a serial transmission. We can imagine to put new components like spectrometer, laser, solar panels, GPS or more accurate sensors for example.

Code: Arduino Sensors