This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
projects:lasercutterfilterpdmonitor [2019/01/14 05:13] branth [Readings] |
projects:lasercutterfilterpdmonitor [2024/01/06 03:14] branth [Readings] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Laser Cutter Exhaust Filter Pressure Drop Monitor ====== | ====== Laser Cutter Exhaust Filter Pressure Drop Monitor ====== | ||
- | {{: | + | {{: |
- | {{: | + | {{: |
- | {{: | + | |
===== Purpose ===== | ===== Purpose ===== | ||
* Monitor the performance and effectiveness of filters | * Monitor the performance and effectiveness of filters | ||
Line 10: | Line 9: | ||
* Built/ | * Built/ | ||
* Installed 12/09/18 | * Installed 12/09/18 | ||
+ | * Removed ??? | ||
+ | * Revamped 7/27/23 | ||
===== Readings ===== | ===== Readings ===== | ||
- | ^ Date ^ Stage 1 PD ^ Stage 2 PD ^ Stage 3 PD ^ | + | ^ Date ^ Stage 1 PD ^ Stage 2 PD ^ Stage 3 PD ^ Comments |
- | |12/ | + | |12/ |
- | |12/ | + | |12/ |
- | |12/ | + | |12/ |
- | |01/ | + | |01/ |
- | |01/ | + | |01/ |
+ | |01/ | ||
+ | |01/ | ||
+ | |01/ | ||
+ | |02/ | ||
+ | |03/ | ||
+ | |03/ | ||
+ | |03/ | ||
+ | |03/ | ||
+ | |03/ | ||
+ | |03/ | ||
+ | |05/ | ||
+ | |07/ | ||
+ | |07/ | ||
+ | |08/ | ||
+ | |10/ | ||
+ | |01/ | ||
+ | |?| ? | ? | ? | Removed| | ||
+ | |07/ | ||
+ | |08/ | ||
+ | |09/ | ||
+ | |09/ | ||
+ | |09/ | ||
+ | |09/ | ||
+ | |10/ | ||
+ | |10/ | ||
+ | |12/ | ||
+ | |12/ | ||
+ | |01/ | ||
All values measured in inches of water column (in.w.c.)\\ | All values measured in inches of water column (in.w.c.)\\ | ||
- | The analog | + | The signals |
- | Analog signal correction | + | Signal calibration |
===== Design/ | ===== Design/ | ||
* Designed/ | * Designed/ | ||
* Uses three differential pressure transducers, | * Uses three differential pressure transducers, | ||
- | * [[https://www.sciplus.com/ | + | * [[https:// |
* [[http:// | * [[http:// | ||
* Custom shield (a very crappy perforated board with several wire/solder connections) | * Custom shield (a very crappy perforated board with several wire/solder connections) | ||
Line 82: | Line 111: | ||
double PDB = 0; | double PDB = 0; | ||
double PDC = 0; | double PDC = 0; | ||
+ | |||
+ | int lifeA = 0; | ||
+ | int lifeB = 0; | ||
+ | int lifeC = 0; | ||
+ | |||
const int numReadingsA = 10; | const int numReadingsA = 10; | ||
Line 102: | Line 136: | ||
void setup() { | void setup() { | ||
- | |||
- | |||
- | |||
for (int thisReading = 0; thisReading < numReadingsA; | for (int thisReading = 0; thisReading < numReadingsA; | ||
Line 117: | Line 148: | ||
lcd.begin(20, | lcd.begin(20, | ||
// Print a message to the LCD. | // Print a message to the LCD. | ||
- | lcd.print(" | + | |
- | lcd.print(" | + | |
- | | + | lcd.print(" |
- | lcd.print(" in.w.c." | + | |
- | lcd.print(" | + | lcd.setCursor(0, 1); |
+ | lcd.print(" | ||
lcd.print(PDA); | lcd.print(PDA); | ||
- | lcd.print(" | + | lcd.print(" |
- | lcd.print(" | + | lcd.print(lifeA); |
+ | lcd.print(" | ||
+ | |||
+ | lcd.setCursor(0, | ||
+ | lcd.print("HEPA:" | ||
+ | lcd.print(PDB); | ||
+ | lcd.print(" | ||
+ | lcd.print(lifeB); | ||
+ | lcd.print(" | ||
+ | |||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
lcd.print(PDC); | lcd.print(PDC); | ||
- | lcd.print(" | + | lcd.print(" |
+ | lcd.print(lifeC); | ||
+ | lcd.print(" | ||
+ | //adjust for sensor calibration | ||
+ | PDA = abs((averageA / 1023.00 * 5.00) - 0.27); | ||
+ | PDB = abs((averageB / 1023.00 * 5.00) - 0.28); | ||
+ | PDC = abs((averageC / 1023.00 * 5.00) - 0.25); | ||
+ | |||
// SENSOR A | // SENSOR A | ||
// subtract the last reading: | // subtract the last reading: | ||
Line 143: | Line 193: | ||
// calculate the average: | // calculate the average: | ||
averageA = totalA / numReadingsA; | averageA = totalA / numReadingsA; | ||
+ | |||
// SENSOR B | // SENSOR B | ||
Line 160: | Line 211: | ||
averageB = totalB / numReadingsB; | averageB = totalB / numReadingsB; | ||
// send it to the computer as ASCII digits | // send it to the computer as ASCII digits | ||
+ | |||
// SENSOR C | // SENSOR C | ||
Line 177: | Line 229: | ||
averageC = totalC / numReadingsC; | averageC = totalC / numReadingsC; | ||
// send it to the computer as ASCII digits | // send it to the computer as ASCII digits | ||
+ | |||
+ | //end of life filter section pressure drops | ||
+ | int deadA = 200; //can filter | ||
+ | int deadB = 150; //HEPA | ||
+ | int deadC = 80; //entry | ||
+ | |||
+ | // estimate remaining life | ||
+ | lifeA = (PDA*100 / deadA) * 100; | ||
+ | lifeB = (PDB*100 / deadB) * 100; | ||
+ | lifeC = (PDC*100 / deadC) * 100; | ||
- | PDA = (averageA / 1023.00 * 5.00); | ||
- | PDB = (averageB / 1023.00 * 5.00); | ||
- | PDC = (averageC / 1023.00 * 5.00); | ||
delay(1000); | delay(1000); | ||
} | } | ||
</ | </ | ||
+ | Old photos:\\ | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: |