RFC on particle sensor measure

Thread Starter

Raymond Genovese

Joined Mar 5, 2016
1,653
@RK37 @Mark Hughes (and anyone else).

I am posting to ask your opinion on an issue related to a project article I am preparing; "Build a Particulate Matter Detector for Air Quality Measurement."

The project uses a Honeywell HPM particle sensor (data sheet here ) and is coming along fine. I have written two programs for the project. One is for a standard PC with the HPM hooked up using a n FT232 board and allows the user to experiment with the HPM using a simple custom terminal (see below).
screenshot.jpg

The other is for a stand-alone device using a little controller (ARM Cortex-M0+ processor at 48 MHz, 62K Flash, 8K RAM, 12 bit analog input & output, hardware Serial, SPI & I2C, USB, and a total of 27 I/O pins) that is quite nice (see below).

a_IMG_8674.jpg

Here is the specific issue for which I want an opinion:

If you look at the datasheet, you can see commands to read and write a “Customer Coefficient”, with suggested values in the range of 30~200.

Using the terminal program, I can vary the coefficient and clearly see an effect on the PM measure; raising the coefficient raises the values and lowering the coefficient lowers values. Here is the problem, I don’t have a standard to describe the coefficient in detail. That is, I don’t have the ability to define an atmosphere with known PM concentrations and then evaluate the effects of the coefficient. If I position the smoke from a burned match near the HPM, I clearly see the measure jump dramatically, but I can't hold a standard concentration.

In my simplistic optimism, I had hoped the relation would be something like (CustomerCoefficient /10) x PM.

So, I wrote Honeywell and asked them to explain the relationship of the coefficient to the sensor output. To their great credit (and I mean that sincerely), they responded:

“….To answer your question, the ‘Customer Adjustment Coefficient’ is a value that adjusts the calibration curve for the sensor. We calibrate the sensor to the ‘China Cigarette Smoke’ test for the PM2.5 range and assume the cigarette smoke’s particle distribution when we calculate the PM10 range. As you adjust the calibration curve using the Customer Adjustment Coefficient, you are actually adjusting the slope of the curve (>100 increases the slope, <100 decreases the slope) to match other calibration curves that other particle sensors may use (such as the ‘Arizona Dust’ test or one of the many PM2.5 calibration bands)…”

So, I was not far off, but not spot on. The question becomes: How much of this is relevant to the article? I believe that I can finesse it, if you will, with a sentence or two, and that would be my preference.

On the other hand, I can spend a great deal of time to try and understand the models (not so easy) and write more extensively about that, which may not appeal to any readers that do not already understand the models better than I.

What do you think?
 

RK37

Joined Jun 26, 2015
677
Thanks for the update Raymond, it looks like this project is coming along well.

There is absolutely no need to explore/explain details related to the calibration curves and how the Customer Adjustment Coefficient affects the curve used by the device. If you find some interesting/helpful references that delve into the topic of particulate-matter-detector calibration, you could certainly include links. But it would be perfectly adequate to say nothing more than the following or something similar:

"The HPM sensor uses a [[calibration curve -> link to your last project]] to refine its measurements. The sensor ships with a calibration curve developed by Honeywell, and the slope of this curve can be adjusted by means of the Customer Adjustment Coefficient."

And you might want to add something along these lines:

"If you don't have the expertise required to verify that an adjusted calibration curve is more appropriate for your application, it's probably best to use the default calibration."
 

Mark Hughes

Joined Jun 14, 2016
409
@Raymond Genovese,
The specs for the sensor indicate a $$\pm\;15%$$ accuracy -- so I'm with Robert -- leave the default calibration and walk away smiling.
One thing I did notice is that you're writing decimal values and the sensor is sending back hexidecimal values. You probably need to send the sensor hexadecimal values instead (e.g. "3F 1 4 5D" instead of "63 1 4 93")
Best,
Mark
 

Thread Starter

Raymond Genovese

Joined Mar 5, 2016
1,653
@Raymond Genovese,
The specs for the sensor indicate a $$\pm\;15%$$ accuracy -- so I'm with Robert -- leave the default calibration and walk away smiling.
One thing I did notice is that you're writing decimal values and the sensor is sending back hexidecimal values. You probably need to send the sensor hexadecimal values instead (e.g. "3F 1 4 5D" instead of ""63 1 4 93")
Best,
Mark
Thanks Mark, but I'm not writing decimal values to the sensor. The values 63 (it's actually 68), 1, 4, 93, are all hexadecimal values, just not values that have the digits A-F in them. That sequence, BTW, is the command to read the particle measurement results with the '93' as the mod 256 checksum (0x10000 - (0x68+0x1+0x4) ) & 0xFF).
 

Thread Starter

Raymond Genovese

Joined Mar 5, 2016
1,653
Thanks for the update Raymond, it looks like this project is coming along well.

There is absolutely no need to explore/explain details related to the calibration curves and how the Customer Adjustment Coefficient affects the curve used by the device. If you find some interesting/helpful references that delve into the topic of particulate-matter-detector calibration, you could certainly include links. But it would be perfectly adequate to say nothing more than the following or something similar:

"The HPM sensor uses a [[calibration curve -> link to your last project]] to refine its measurements. The sensor ships with a calibration curve developed by Honeywell, and the slope of this curve can be adjusted by means of the Customer Adjustment Coefficient."

And you might want to add something along these lines:

"If you don't have the expertise required to verify that an adjusted calibration curve is more appropriate for your application, it's probably best to use the default calibration."
Good deal and sounds reasonable to me - thx
 
Top