Fume from soldering iron can be very harmful to our health. Most of the cheap solder contains lead. Lead is a dangerous metal, and it can cause severe damage to our health even cause cancer. Usually, solder has 60% lead and 40% tin. So it is very toxic to our bodies. Even lead-free soldiers are harmful to our bodies! Because they contain resin in their core. And resin is also toxic. Every type of solder is less or more harmful.
So people using soldering iron for a long time, are in big danger. I'm one of them. So, I search for the solution on the internet and find many kinds of solder Fume Extractor, but they all are boring. So I decided to make my own, Fume Extractor which is a little smart. It can detect the smoke coming from the soldering iron and then turn on the Fan to extract the fume.
It uses an Air Particle sensor to detect the smoke and then turn on the 90mm pc fan to absorb the smoke from the air.
HardwareThe brain of the system is an Arduino NANO. It senses the smoke using the sensor and turns on the fan to extract the dangerous fume from the air.
For this project, I use a Sharp gp2y1014au0f Air particle sensor to detect the smoke from the soldering iron. It is a particulate sensor that uses an IR LED, and when the particle in the air enters into the sensor, the light bounces off towards a photodetector. This technique is called laser scattering. The intensity of the scattered(Bounced) light depends on the dust particles. The more the dust particle, the greater the bouncing or scattering happens. This intensity change of light on the photodetector changes the output voltage of the sensor.
I also use a 90mm*90mm*25mm fan to use as a fume extractor. It is turn on and off via a 5V relay, which is controlled by the Arduino.
CodingAccording to the sensor datasheet at first, the IR LED has to be turned on and wait for 280µs before taking a reading. Then read the voltage values from the analog pin. This operation takes about 50µs, So give a 50µs delay and then turn off the IR led. The IR led should be pulse on and off once every 10ms so, it has to wait for the remaining (10000-280-50)µs = 9670µs.
digitalWrite(led,LOW);
delayMicroseconds(280);
SensorOut = analogRead(SensorPin);
delayMicroseconds(50);
digitalWrite(led,HIGH);
delayMicroseconds(9670);
After that using some simple calculations we can measure the dust density
SensorVo = SensorOut*(5.0/1024);
Dust = (SensorVo-Voltage_noDust)*100/K;
Then I set a threshold value for the dust, when the value is more than the threshold value, the relay turns on for 5s.
if (Dust > 100){
digitalWrite (relay, HIGH);
delay(5000);
}
else {
digitalWrite (relay, LOW);
}
Video
Comments