From 0dcd330f0732204e04c74475e47e84e556c45db7 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 5 Mar 2020 19:05:00 -0700 Subject: [PATCH] update load cell channel based on repaired board and 1T load cell --- altoslib/AltosEepromRecordFireTwo.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/altoslib/AltosEepromRecordFireTwo.java b/altoslib/AltosEepromRecordFireTwo.java index 49a262ba..cced773c 100644 --- a/altoslib/AltosEepromRecordFireTwo.java +++ b/altoslib/AltosEepromRecordFireTwo.java @@ -66,13 +66,22 @@ public class AltosEepromRecordFireTwo extends AltosEepromRecord { public static double adc_to_n(int adc) { - /* sensor looks linear once it "gets going" */ - double ADC_MIN = 156; /* first non-zero cal value */ - double ADC_SLOPE = 3.343; /* adc counts per lb */ - double ADC_OFFSET = 26.5; /* lbs at ADC_MIN */ + /* load cell sensor looks linear once it "gets going" */ + + /* cal values using 1 metric ton "S" load cell 2020.03.05 */ + /* lowest useful cal data point in linear region */ + double ADC_MIN_LBS = 71.4; + double ADC_MIN_COUNTS = 153; + + /* highest useful cal data point in linear region */ + double ADC_MAX_LBS = 211.4; + double ADC_MAX_COUNTS = 313; + + /* slope of sensor response in ADC counts per lb */ + double ADC_SLOPE = (ADC_MAX_COUNTS - ADC_MIN_COUNTS) / (ADC_MAX_LBS - ADC_MIN_LBS); double raw = adc; - double lb = ((raw - ADC_MIN) / ADC_SLOPE) + ADC_OFFSET; + double lb = ((raw - ADC_MIN_COUNTS) / ADC_SLOPE) + ADC_MIN_LBS; return AltosConvert.lb_to_n(lb); } -- 2.30.2