Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: Цифровой указатель уровня газа в баллоне.

Цифровой указатель уровня газа в баллоне. 27 март 2019 13:22 #51

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Soir пишет:
Кто проверит - отпишитесь
Проверил (прошивка от 27.03.19) -проблем не обнаружил. Немного переделаю печатку-выложу файлик, может кому с нижними кнопками пригодится.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 27 март 2019 14:51 #52

  • Dr_Off
  • Dr_Off аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 2
Bogdan_kremen пишет:
Проверил (прошивка от 27.03.19) -проблем не обнаружил.
Пока не проверил, не было времени. Как проверю, напишу обязательно.

Сообщение отредактировал. Нарушение Правил, раздел 5, п.7.
Soir
Последнее редактирование: 27 март 2019 15:32 от Soir. Причина: Нарушение правил форума.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 11:14 #53

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Ув. Soir. Есть мысль по поводу уменьшения отклонений уровня. Последовательность:
Текущий уровень-42л, в следующую секунду усредненный измеренный 43л, с учетом усреднения на экран выведется 43.1 (с учетом коэффициента усреднения);
текущий 43.1-измеренный 45.1-с учетом усреднения 45.2 (было бы 45.3 по предыдущему алгоритму, прибавку в 0.2л разделили на 2 т.к отклонение 2л);
43.3-55.3-43.4 (а не 44.3).
Получаем чем больше отклонение, тем меньше на него реагирует выводимый на экран уровень. Т.е уровень на экране=предыдущий уровень+поправка/разницу(возможно 2*разницу, или 0.5*разницу, нужно испытание). При этом проверять работает ли двигатель (напряжение>13 Вольт), в случае, например, заправки с включенным зажиганием уровень будет увеличиваться как до изменений.
Не знаю, правильно ли я понял алгоритм А 0, основывался на нем без привязки к цифрам.
При возможности реализации такого алгоритма-хотелось бы выделить его в отдельный А 3, проверить целесообразность.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 14:31 #54

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
Текущий уровень-42л, в следующую секунду усредненный измеренный 43л, с учетом усреднения на экран выведется 43.1
Тут и далее логику не понял. Почему выведется 43,1? Будет где-то между 42 и 43.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 15:04 #55

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Извиняюсь, ошибся. Выведется 42.1. Проверял что написал вроде бы... Думал об этом:
Текущий уровень-42л, в следующую секунду усредненный измеренный 43л, с учетом усреднения на экран выведется 42.1 (с учетом коэффициента усреднения);
текущий 42.1-измеренный 44.1-с учетом усреднения 42.2 (было бы 42.3 по предыдущему алгоритму, прибавку в 0.2 разделили на 2 т.к отклонение 2л);
42.2-52.2-42.7 (а не 43.2 прибавку в 1.0 разделили на 10 т.к отклонение 10л).
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 15:12 #56

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Исправьте уже в основном тексте, а то читать невозможно.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 15:47 #57

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Текущий уровень-42л, в следующую секунду усредненный измеренный 43л, с учетом усреднения на экран выведется 42.1 (с учетом коэффициента усреднения);
текущий 42.1-измеренный 44.1-с учетом усреднения 42.2 (было бы 42.3 по предыдущему алгоритму, прибавку в 0.2л разделили на 2 т.к отклонение 2л);
42.2-52.2-42.3 (а не 43.2 прибавку в 1.0л разделили на 10 т.к отклонение 10л).
Получаем чем больше отклонение, тем меньше на него реагирует выводимый на экран уровень. Т.е уровень на экране=предыдущий уровень+поправка/разницу(возможно 2*разницу, или 0.5*разницу, нужно испытание). При этом проверять работает ли двигатель (напряжение>13 Вольт), в случае, например, заправки с включенным зажиганием уровень будет увеличиваться как до изменений.
Не знаю, правильно ли я понял алгоритм А 0, основывался на нем без привязки к цифрам.
При возможности реализации такого алгоритма-хотелось бы выделить его в отдельный А 3, проверить целесообразность
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 16:16 #58

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
...прибавку в 0.2л разделили на 2 т.к отклонение 2л...
То есть, прибавлять (вычитать) одну десятую от разницы? Я правильно понял?
Но это и есть алгоритм A0. Если установить параметр n=10, то будет как раз одна десятая. n=50 - одна пятидесятая...
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 17:02 #59

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Soir пишет:
Я правильно понял?
Совершенно верно. Не получилось у меня прорыва). Наблюдал за приростом литража подключая напряжение эквивалентное 40л. Заметное замедление прироста в секунду наблюдалось лишь при приближении к максимуму. Причем 0-40л занимало 2:40 мин, 40-0л занимало 0:30 мин. Это при усреднении 30. Сейчас не помню, прописывал ли eeprom своими калибровками. В моих калибровках 0л=24.6u, 40л=68.0u. Возможно это меня сбило. Повторю эксперимент, отпишу.
P.S. Запутался. Не совсем правильно Вы поняли. У меня получается что при n=10 из алгоритма A0, с тем что я коряво пытаюсь изложить прирост будет 0.1 в секунду не зависимо от уровня отклонения. Что при 1л отклонения изменение на экране будет разница 0.1 (0.1/1), что при 5л отклонения ((5*0.1)/5) ,что при 7л отклонения ((7*0.1)/7), что при 20л ((20*0.1)/20). Наверное теряется смысл, пока есть отклонение будут меняться показания на одинаковое число в секунду в сторону изменения. Приведу мысли в порядок, почему то лучше думается когда пытаюсь объяснить.
Последнее редактирование: 28 март 2019 17:22 от Bogdan_kremen.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 17:31 #60

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
есть отклонение будут меняться показания на одинаковое число в секунду в сторону изменения.
Не будет (и не может быть) одинакового числа в секунду. Прибавляется 0,1*дельта (для примера). Было 40,0, скачок до 50,0. В первую секунду прибавится (50,0-40,0)*0,1=1,0. Во вторую секунду: (50,0-41,0)*0,1=0,9. И так далее. Так работает A0.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 17:52 #61

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Soir пишет:
Прибавляется 0,1*дельта (для примера)... Так работает A0.
Это я понял. В процессе переписки я еще понял- по сути предлагаю (0,1*дельта)/дельта, что с одной стороны лишено смысла, с другой стороны уровень будет постоянно на 0.1 в секунду меняться в сторону дельты, в конечном счете получаем +- реальный уровень с меньшими колебаниями цифр. Спасибо, понимание приходит в общении.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 18:37 #62

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
уровень будет постоянно на 0.1 в секунду меняться в сторону дельты, в конечном счете получаем +- реальный уровень с меньшими колебаниями цифр.
Можно и так, пробуйте...
Метод A2. У него тоже есть параметр n. Это время в секундах через которое к показаниям будет добавлено/вычтено 0,1л в зависимости от того, возрос уровень или уменьшился (неважно на сколько).
Вложения:
Администратор запретил публиковать записи гостям.
Спасибо сказали: Bogdan_kremen

Цифровой указатель уровня газа в баллоне. 28 март 2019 21:06 #63

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Спасибо. Вы очень оперативны. Мысли не успевают. Еще вариант. На основе А0. (0,1*дельта)/дельта2. Так тем чем больше отклонение, тем меньше оно повлияет на результат. Может так лучше? Не спешите пожалуйста с прошивкой, нужно Ваше мнение. Лишнюю работу не делать.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 21:17 #64

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Формулу можно на дельта сократить.
Последнее редактирование: 28 март 2019 21:18 от Soir.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 21:35 #65

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Дельта=5. (0.1*5)/52=0.02
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 21:37 #66

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Зачем умножать на 5, чтобы потом на 5 разделить?
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 21:43 #67

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Умножаем на число, делим на его квадрат. Получаем не линейную зависимость. Надо мне освежить знания по математике. Не помню как называется этот тип зависимости
P.S. Понял замечание. 0.1/дельта остается. Позор мне-математику. Тему засорил только.
Последнее редактирование: 28 март 2019 21:57 от Bogdan_kremen.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 28 март 2019 22:13 #68

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Зависимость называется "обратно пропорциональная".
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 29 март 2019 08:07 #69

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
0.1/дельта остается.
То есть. Если уровень из 10,0 стал 10,1, тогда дельта: 10,1-10,0=0,1. По Вашей формуле следует прибавить: 0,1/0,1=1. В итоге получаем показания 11,0л. Все правильно?

И еще вопрос. Вы уже все имеющиеся способы усреднения опробовали и ни один не подошел? Тогда давайте не просто добавлять варианты, а исключать плохие. Иначе памяти МК не хватит на все математические изыски.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 29 март 2019 10:58 #70

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Soir пишет:
Если уровень из 10,0 стал 10,1...
Тоже меня это смущало. Если возможно, для дельта < или =1 использовать А0, дельта >1 обратно пропорциональную зависимость (спасибо за науку, забывается).
Soir пишет:
Вы уже все имеющиеся способы усреднения опробовали и ни один не подошел
Все способы хороши, люди вольтметром пользуются для определения уровня и не жалуются :cheer:. А1 не понравился сразу, для контроля вчера проехал с ним (коэффициент 30)- показатель всегда разный на 1-5 литров. А0-вполне хорош, показатель меняется тоже, но быстрее приходит в среднее. Еще не попробовал А2, в теории странный, на практике может оказаться наоборот.
В теории, чем сильнее показатель уровня отклонился от среднего при работающем двигателе (за исключением утечки, но это уже другая история), тем меньше на него надо реагировать как на заведомо ошибочный. Как на практике-не знаю.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 29 март 2019 13:21 #71

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
A1 в теории плохой из-за замораживания показаний на время усреднения.
A2 теоретически как раз должен неплохо поглощать все колебания. Но при больших n тоже будет заморозка. Может большие n тут и не нужны, все равно изменения идут по 0,1л. До n<=5-10 должно быть приемлемо.
Ваше предложение с этой формулой, с перепрыгиваниями между алгоритмами... даже не знаю, с какой стороны подходить к реализации. Какие там должны быть величины, дискретность... Если большой скачок, значит уже нужно учитывать сотые, а то и тысячные доли. А если еще и какой-то коэффициент в настройках, тогда уже и десяти- или стотысячные... Получается какая-то мелочь, которая вообще выпадает из вычислений и уровень просто зависнет. В общем - алгоритм сырой для внедрения.
Добавил еще один свой, A3. Но он тоже с прямой зависимостью, лишь немного другой метод усреднения.

На этом пока все. Тестируйте, накапливайте предложения по улучшению...
Вложения:
Администратор запретил публиковать записи гостям.
Спасибо сказали: Bogdan_kremen

Цифровой указатель уровня газа в баллоне. 29 март 2019 13:53 #72

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Soir пишет:
Получается какая-то мелочь, которая вообще выпадает из вычислений и уровень просто зависнет.
Цель то такая и есть, отсеять заведомо ложные замеры (повороты, торможения, разгоны, когда измеренный уровень будет сильно отличаться от среднего). Большой резкий скачек который надо учесть произойдет только при заправке.
Спасибо, буду тестировать. О результатах обязательно сообщу.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 29 март 2019 15:11 #73

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
Цель то такая и есть, отсеять заведомо ложные замеры (повороты, торможения, разгоны, когда измеренный уровень будет сильно отличаться от среднего).
Отсеять - да, но уровень может зависнуть. Например, Вы начали подъем. Уровень резко изменился из-за наклона бака. Дельта большая, но она дает около нулевой или даже нулевой результат. На подъем можно ехать долго - минуты, десятки минут... И топливо может закончиться, а показания уровня как были, так и остались.
Контроллер не может знать, какие данные считать заведомо ложными. Ехали вверх, а потом вниз - что есть заведомо ложные? Городской цикл: старт, тормоз, толкотня в пробке - где выбирать заведомо верные показания? Вы видите дорогу, учитываете характер движения и понимаете в какой момент показания должны быть правильные. Контроллер этой информацией не обладает - он видит только показания датчика. По кнопке указывать ему - вот сейчас мы едем ровно? Или ставить гироскоп, акселерометр...?

С другой стороны, это не тот прибор, на который нужно постоянно смотреть, как на спидометр, например. Да и на спидометр только изредка взгляд бросаешь, когда есть сомнения или какой-то интерес. По началу будет интересно, а потом и забудете, что он есть. Но Вы всегда сможете сами определить, когда ему можно верить, а когда нет.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 29 март 2019 15:40 #74

  • Bogdan_kremen
  • Bogdan_kremen аватар
  • Не в сети
  • I'm here long time
  • Сообщений: 82
  • Спасибо получено: 14
Soir пишет:
Отсеять - да, но уровень может зависнуть.
Все абсолютно верно. Тоже придумал такую ситуацию-плавный разгон, потом зависание, не стал писать после. Буду тестировать, подумаю. Возможно пойму что голову морочу себе и Вам.
Soir пишет:
По началу будет интересно...
В точку, ко всему привыкаешь.
P.S. Можно просто: если дельта>5 дельта=5. И показатель не успеет убежать сильно, и зависания не будет. Понаблюдаю с минимальным усреднением, сколько все же дельта в жизни.
Последнее редактирование: 29 март 2019 15:54 от Bogdan_kremen.
Администратор запретил публиковать записи гостям.

Цифровой указатель уровня газа в баллоне. 29 март 2019 16:45 #75

  • Soir
  • Soir аватар
  • на форуме
  • Moderator
  • Сообщений: 12278
  • Спасибо получено: 4593
  • Respect sxem.org Sponsor 2019 Author
Bogdan_kremen пишет:
Можно просто: если дельта>5 дельта=5.
A2. Только там дельта 1 (0,1л).
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
  • 3
  • 4
Модераторы: wolf2000, Vakula, Айнцвайдрайченко, Soir