Таблица поиска для калибровки датчика веса не любит отрицательные числа - PullRequest
0 голосов
/ 29 мая 2020

У меня есть датчик веса, подключенный к HX711, и все работает нормально. Я пытаюсь создать калибровочную таблицу с 10 точками, содержащими необработанный выходной сигнал датчика и калиброванное значение с использованием набора весов. Весоизмерительный датчик является двунаправленным, поэтому он работает в любом направлении, поэтому выход будет положительным и отрицательным, но ноль не обязательно равен нулю.

Все это работает нормально, когда все числа положительные или все отрицательные в каждой таблице поиска, но не работает, когда в захваченных точках есть отрицательные и положительные числа. Например, выходной сигнал HX711 положительный 28000 без нагрузки. Добавьте груз в 1 кг и получите значение -56 000. Следующее значение для 1 кг будет, скажем, -83000. Они хранятся как {28 000, -56000, 83 000} в массиве с откалиброванными {0, 1, 2} в другом массиве.

Обычно я интерполирую результат на основе определения того, какие 2 числа являются необработанными попадает между. Все работает, когда числа меньше -56 000, а я получаю показания от 1 до 2 кг. Когда показание больше -56000, он не может вычислить показание, и я получаю NAN.

Может быть и наоборот с отрицательным, а затем положительным. (Например, -56,000, 28,000, 55,000}.

Как справиться с этой ситуацией?

1 Ответ

0 голосов
/ 29 мая 2020

Я решил это вскоре после того, как разместил вопрос и подумал, что ответ поможет кому-то еще с той же проблемой. Сравнивая 2 значения для отрицательного или положительного, когда я проходил через таблицу, а затем меняя их местами в расчете, он работает. Разница между 28000 и -56000 получается как 84000, и использование этого для вычисления работает. Я подтвердил работу, применив тестовые нагрузки 1 кг и 2 кг. Он читается в обоих направлениях pos или neg.

...