The 4-20 mA Current Loop

The I/O capabilities built into most microcontrollers make it easy to measure the analog world. Say you want to build a data logger for temperature. All you need to do is get some kind of sensor that has a linear voltage output that represents the temperature range you need to monitor — zero to five volts representing 0° to 100°C, perhaps. Hook the sensor up to and analog input, whip up a little code, and you’re done. Easy stuff.

Now put a twist on it: you need to mount the sensor far from the microcontroller. The longer your wires, the bigger the voltage drop will be, until eventually your five-volt swing representing a 100° range is more like a one-volt swing. Plus your long sensor leads will act like a nice antenna to pick up all kinds of noise that’ll make digging a usable voltage signal off the line all the harder.

Luckily, industrial process engineers figured out how to deal with these problems a long time ago by using current loops for sensing and control. The most common standard is the 4-mA-to-20-mA current loop, and here we’ll take a look at how it came to be, how it works, and how you can leverage this basic process control technique for your microcontroller projects.

Continue reading “The 4-20 mA Current Loop”

Improving the Accuracy of Gas Sensors

If you need a sensor to detect gasses of some sort, you’ll probably be looking at the MQ series of gas sensors. These small metal cylinders contain a heater and some electrochemical sensor. Wire the heater up to a voltage, and connect one end of the resistor to an ADC, and you have a sensor for alcohol vapors, hydrogen sulfide, carbon monoxide, or ozone, depending on which model of sensor you’ve picked up.

These are simple analog devices, and as you would expect they’re sensitive to both temperature and humidity. [Davide Gironi] wanted a more accurate gas sensor, so he’s diving into a bit of overengineering and correlating the output of these sensors against temperature and humidity.

There’s a difference between accuracy and precision, and if you want to calibrate gas sensors, you’ll need to calibrate them against something. Instead of digging out a gas sensor of known precision, [Davide] took the easy way out: he graphed the curves on the datasheets for these sensors. It’s brilliant in its simplicity.

These numbers were thrown into R, and with a bit of work, [Davide] had a look up table of various concentrations of gasses plotted against certain resistances. In testing these sensors, he found a higher correlation between humidity and temperature and gas concentrations, which one would expect.

The files for these sensors are available on [Davide]’s website, and he included a neat little video showing everyone what went into these calculations. You can check that out below.

Continue reading “Improving the Accuracy of Gas Sensors”

Hacking Touch Screens to Count Pulses

Heart rate sensors available for DIY use employ photoplethysmography which illuminates the skin and measures changes in light absorption. These sensors are cheap, however, the circuitry required to interface them to other devices is not. [Petteri Hyvärinen] is successfully investigating the use of capacitive touchscreens for heart rate sensing among other applications.

The capacitive sensor layer on modern-day devices has a grid of elements to detect touch. Typically there is an interfacing IC that translates the detected touches into filtered digital numbers that can be used by higher level applications. [optisimon] first figured out a way to obtain the raw data from a touch screen. [Petteri Hyvärinen] takes the next step by using a Python script to detect time variations in the data obtained. The refresh rate of the FT5x06 interface is adequate and the data is sent via an Arduino in 35-second chunks to the PC over a UART. The variations in the signal are very small, however, by averaging and then using the autocorrelation function, the signal was positively identified as a pulse.

A number of applications could benefit from this technique if the result can be replicated on other devices. Older devices could possibly be recycled to become low-cost medical equipment at a fraction of the cost. There is also the IoT side of things where the heart-rate response to media such as news, social media and videos could be used to classify content.

Check out our take on the original hack for capacitive touch imaging as well as using a piezoelectric sensor for the same application.

Hackaday Prize Entry: Watching Out for Forest Fires

Hackaday Prize entrant [Danie Copnradie] lives in South Africa where wildfires are a major problem. Every year, humans and animals are killed, crops are destroyed, and property is lost. The FireBreakNet project aims to deploy wireless environmental sensors that alert farmers, park rangers, and emergency personnel when fires break out.

According to [Danie], firefighting services are underfunded in South Africa, with farmers and their employees having to do a lot of the work involved in firefighting with their own equipment. Having access to a network of early warning sensors would allow for faster response times, saving money and lives.

The goals of the project include a low price, easy deployment, low power consumption, physical ruggedness, and scalability. Currently, [Danie] is testing Adafruit Feather as well as Texas Instruments LaunchPad for the brains of each node, taking readings from CO2 and temperature sensors, optical air quality sensors as well as optical flame sensors.

Tweet The Power Of Lightning!

How quickly would you say yes to being granted the power to control lightning? Ok, since that has hitherto been impossible, what about the lesser power of detecting and tweeting any nearby lightning strikes?

Tingling at the possibility of connecting with lightning’s awesome power in one shape or another, [Hexalyse] combined AMS’s lightning sensor chip with a Raspberry Pi and a whipped up a spot of Python code to tweet the approach of a potential storm. Trusting the chip to correctly calculate strike data, [Hexalyse]’s detector only tweets at five minute intervals — because nobody likes a spambot — but waits for at least five strikes in a given time frame before announcing that a storm’s-a-brewing. Each tweet announces lightning strike energy, distance from the chip, and number of strikes since the last update. If there haven’t been any nearby lightning strikes for an hour, the twitter feed announces the storm has passed.

It just so happened that as [Hexalyse] finished up their project, a thunderstorm bore down on their town of Toulouse, France putting their project to the test — to positive success. Check out the detector’s tweets (in French).

We recently featured another type of lightning detector that auto-deploys a lightning rod once a storm arrives!

Radar Sensors Put to the Test

[Andreas Spiess] picked up a few inexpensive radar sensors. He decided to compare the devices and test them and–lucky for us–he collected his results in a video you can see below.

The questions he wanted to answer were:

  • Are they 3.3 V-compatible?
  • How much current do they draw?
  • How long to they show a detection?
  • How far away can they detect the motion of a typical adult?
  • What is the angle of detection?
  • Can they see through certain materials?
  • Can the devices coexist with other devices in the same area? What about WiFi networks?

Good list of questions, and if you want to know the answers, you should watch the video.

Continue reading “Radar Sensors Put to the Test”

Precision Pressure In A Piston

[Scott] is building a DIY yeast reactor for his aquarium. What’s a yeast reactor? [Scott] wants to pump carbon dioxide into his aquarium so his aquatic plants grow more. He’s doing this with a gallon of sugary, yeasty water bubbling into a tank of plants and fish. In other words, [Scott] is doing this whole thing completely backward and utilizing the wrong waste product of the yeast metabolism.

However, along the way to pumping carbon dioxide into his aquarium, [Scott] created a very high precision pressure sensor. It’s based on a breakout board featuring the MS5611 air pressure sensor. This has a 24-bit ADC on board, which translates into one ten-thousandths of a pound per square inch of pressure.

To integrate this pressure sensor into the aquarium/unbrewery setup, [Scott] created a pressure meter out of a syringe. With the plunger end of this syringe encased in epoxy and the pointy end still able to accept needles, [Scott] is able to easily plug this sensor into his yeast reactor. The data from the sensor is accessible over I2C, and a simple circuit with an ATmega328 and a character LCD displays the current pressure in the syringe.

We’ve seen these high-resolution pressure sensors used in drones and rockets as altimeters before, but never as a pressure gauge. This, though, is a cheap and novel solution for measuring pressures between a vacuum and a bit over one atmosphere.

Continue reading “Precision Pressure In A Piston”