Since moving into my new student house, I've come to realise that I'm apparently extremely allergic to dust. With the province of COVID, the fact I can barely breath while simply existing in my room is quite scary.
I wanted to create a simple dust monitor on a low budget that would be able to indicate whether my rooms dust levels were especially high - and remind me to open all my windows!
Before I built the final project, I needed to test if the kind of detector I wanted to build was even feasible.
Dust monitoring is actually quite a difficult proposition. Obviously, building a sensor using alpha particle detection like a smoke detector was not feasible.
I could purchase an off-the-shelf IR reflection based device, but I wanted to home roll my own.
I decided to try and create a light attenuation method to try and measure dustiness; a beam of light from a laser traveling over some length $l$ is has its power attenuated by some factor \(\lambda\) - where \(\lambda\) is a factor of the distance and the amount of dust per meter of air.
To generate the test beam, a simple laser diode was used. It was assumed the intensity of the diode would be stable if the supply voltage was kept constant.
The detector was a simple light dependent resistor (LDR), in a simple voltage divider configuration. LDRs tend to have very poor performance in general and is the weakest link in the sensor chain. To remove ambient light effects a Wheatstone bridge could be used with the laser saturated sensor, and a ambient sensor. The Wheatstone bridge turned out to not work well due to the non-linearity of the sensor curve.
As seen in the picture a shrouding biscuit tin is used to minimise error from sunlight, but this could be improved by having an enclosed shrouding with a long thin aperture.
To make calibration and alignment simple, both detector and emitter was kept fixed by mounting them on a plank of wood.
I set up a mirror on one side of my room, and my laser and LDR on the other, I then measured the resistance without any sunlight correction. Qualifiedly I found that it was possible to measure a real difference between dusty and not dusty given this simple setup. Dusty defined as shaking out dusty items near the beam, and not dusty being windows open + dust filter running for a while.
The major flaw was laser targeting - any misalignment in the LDR and laser would make different setups incomparable making calibration impossible.
Using another trusty ATTiny, I set up a simple datalogger that would just push sample data over serial - this was then captured via pc using an FTDI cable.
When a suitible averaging window, and threshold was found the datalogging was dropped and the processing done on the ATTiny.
The LDR was mounted in a voltage divider configuration, and was sampled using a differential mode preamp/ADC combination.
To show the current dustiness level, a 7 segment display was added to show the numeric "dustiness" that was detected. Since the ATTiny has a low pin count, this had to be driven by an I2C GPIO expander.
The final build never progressed past breadboard and desktop powersupply.
To compensate for the laser alignment issues the laser and LDR were mounted onto a wooden plank found in a cupboard. This simple solution limits the length of air exposed - but makes up for it in calibration accuracy. The mounting system makes the device quite large.
I powered this rig using a benchtop power-supply as everything in the system was highly nonlinear wrt rail voltage and it never left my desk.
The resultant dust values were displayed on a 7 segment display, and proved to be reasonably accurate with my own qualative assessments (sneezes/hour).