Я Вас приветствую! Друзья, коллеги, подкиньте идею, как грамотнее реализовать измерение, а точнее даже сказать тарировку бака с жидкостью сложной формы, если смотреть в профиль емкости - то овальной ... Датчик измеряющий уровень - на основе Холла, и имеет прямую зависимость от уровня. Например на АЦП у меня будет от 2 до 3 вольт ... Но при этом вверху сосуда и внизу площадь меньше, чем посредине ... 1 см жидкости вверху и внизу будет например литр, а посредине 3. Какой применить механизм (логику) для тарировки? В голову приходят только костыли по типу "если уровень между Х1 и Х2, то map с такими то параметрами". Но мне кажется что это реально костыль, и отладка займет кучу времени ... Как бы Вы поступили в такой ситуации?
Если зависимость нелинейная, а так же не описывается готовой формулой, то выручит таблица зависимости объема воды от высоты уровня.
Давлением объем жидкости не измерить, только высоту водяного столба. На метровой глубине давление одинаковое хоть в ведре хоть в океане.
кусочно-линейная интерполяция, или просто линейная интерполяция. Составляете таблицу таким образом, чтобы линейно интерполированные значения не отклонялись от истинных на нужную вам дельту. В зависимости от формы сосуда или одномерная линейная таблица с одним переменным, либо таблица соответствия высота- объем.
да и высоту водяного столба не измерить. Только давление. Вода имеет разную плотность, соответственно вес. Если конечно измерять дистилированную воду, то да.
есть такая тема - датчик расхода жидкости http://arduino.ru/forum/programmirovanie/raskhodomer-zhidkosti