Датчик уровня воды в емкости

Ладно вам спорщики
Прессостат описывается законом Бойля - Мариотта р1V1 = p2V2
где
V1 - объем самого прессостата + пустая трубка,
V2 = V1-Vx и Vx - объем воздуха, который вода вытеснила из трубки

тогда р2 = р1*V1/(V1-Vx)

откуда видно, что чем больше Vx, тем больше будет изменение давления,
однако тут есть ограничение, р2-р1 не может быть больше, чем то давление которое создает столб воды, т.к. вода по трубке просто выше не поднимется.

это две характеристики, а не четыре :slight_smile:

2 лайка

А фазу Луны? Вечно Вы всё забываете!

1 лайк

в рамках новейшей Волновой Астрологии это недопустимый косяк

По последним данным сила лунной гравитации не зависит от фазы. Вот какую переменную в формулу давления включать? Константу можно просто выбросить.

Ладно вам стебать) Ну погорячился человек, козырнул образованием. Все мы иногда заблуждаемся. И я тоже бывает ляпну не в тему)
Кстати, у меня среднее образование. Плюс 1.5 года техникума на программиста. Скучно стало учится, самому быстрей и интересней)

не пойму, про кого разговор?

Про иноземца. Про кого ещё?)) Про Дракулу.

Допущение. Трубки от измерительной трубы тонкие, объем не учитываем.
Исходные: резервуар пуст, давление в измерительной трубе равно Ратм.
Заполним водой.
Пока без учета ресивера. Получим систему уравнений:

Ратм + ρgh = P + ρgh1;
Ратм * L * Sсеч = Р * (L - h) * Sсеч.

Видно, что Sсеч сокращается, выводы самостоятельно)).

НО! В этих формулах Р - сферическое, а у нас конкретный прессостат с максимальным пределом измерения Рмах = 500 ммН2О И если высота нашей емкости более полуметра (неожиданно), то необходим воздушный ресивер, который позволит снизить Р до требуемого нам значения Рмах. И при расчете объема ресивера сечение измерительной трубы придется учитывать.

Дополнено.
И сразу же закрались сомнения в правильности первого уравнения. Ведь прессостат меряет не абсолютное, а относительное давление. и тогда
ρgh = P + ρgh1;

Формулы это хорошо) , но нам же уровень воды нужен. Замеряем частоту на пустом баке, затем на полном. А чтобы посчитать промежуточное значение есть функция map()

Вот мой скетч для 10-и ws2812b написанный лет 5 назад прекрасно работает. Частота подается на D5 Auduino nano.

#include "FastLED.h"
#include <FreqCount.h>

#define LED_PIN 2
#define LED_NUM 10
CRGB leds[LED_NUM];

int h = 0;
int a = 0;
int b = 0;
int c = 0;
int count = 0;
int res = 0;

void setup() {
  Serial.begin(57600);
  FreqCount.begin(1000);
  FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, LED_NUM);
  FastLED.setBrightness(50);
}

void loop(){
  h = 0; a = 0; b = 0; c = 0;
  led();
  freqcount();
  switch(res){
    case 0: h = 9; a = 255; led();
    break;
    case 1: h = 8; a = 255; led();
    break;
    case 2: h = 7; a = 255; b = 110; led();
    break;
    case 3: h = 6; a = 255; b = 110; led();
    break;
    case 4: h = 5; a = 255; b = 110; led();
    break;
    case 5: h = 4; a = 255; b = 110; led();
    break;
    case 6: h = 3; a = 255; b = 110; led();
    break;
    case 7: h = 2; a = 255; b = 110; led();
    break;
    case 8: h = 1; a = 255; b = 255; c = 255; led();
    break;
    case 9: h = 0; a = 255; b = 255; c = 255; led();
    break;
    case 10: h = 0; a = 255; b = 255; c = 255; led();
    break;
   }
}

void freqcount() {
  if (FreqCount.available()) {
    count = FreqCount.read();
    res = map(count, 26000, 19300, 0, 10);
    Serial.println(res);
  }
}

void led(){
  for (int i = 0; i < LED_NUM - h; i++) {
    leds[i].setRGB(a, b, c);
  }
  FastLED.show();
  delay(5);
}

значения 26000 и 19300 - диапазон изменения састоты, а 0 и 10 - преобразованный диапазон.

Где? Скетча не вижу. Хамите, парниша!

Оплошность вышла:)

Тебе правда не стыдно нести такую околесицу? То, что у тебя нет образования, как и у UA6EM это видно, к сожалению.
Самое странное для меня, это вопрос - откуда берется истинно Шариковская наглость спорить?
Вы стоите на самой низшей ступени развития! – перекричал Филипп Филиппович. – Вы еще только формирующееся, слабое в умственном отношении существо, все ваши поступки чисто звериные, и вы, в присутствии двух людей с университетским образованием, позволяете себе, с развязностью совершенно невыносимой, подавать какие-то советы космического масштаба и космической же глупости о том, как все поделить, и вы в то же время наглотались зубного порошку!..
(с) М.А.Булгаков “Собачье сердце”

тебе то что сожалеть? ты жеж не Израиль Моисеевич…это он ни одного нового дела не начинал не побеседовав со мной, и чего ему разговор с неучем давал, не понимаю )))

Слушал тебя и делал наоборот? ))

ну так )))
потом всё удивлялся, чего не взлетело…

1 лайк

От неуверенности в знаниях. Всегда осмысливать приходиться многие вещи, в отличие от других людей, которые получили некий шаблон формул и цифр и выдают это как из пулемёта каждому.
Историк скажет что событие X было в Y году и точка. Потому что потому. Биолог скажет что-то своё. Астроном своё.
Недавно учёные мужи до усёра доказывали что Земля в центре Солнечной системы. А биология не знала о существах меньше песчинки и всячески отрицало их существование.

Так то оно так, однако… Хотелось бы использовать весь диапазон датчика. Для этого нужно знать объем воздушного ресивера (а он необходим, если измерять уровень воды более 50 см). Можно и опытным путем, а можно рассчитать.