Страница 1 из 1

Расчет расхода воздуха

Добавлено: 06 фев 2018, 16:08
AveMneAve
Помогите собрать проект манометра для расчёта разового падения давления и среднего арифметического падения за последние 10 раз.
Рбыло-Рстало=Рпадение , Р1+Р2+Р3....+Р10/10=Рср.ар. падение. При повышении давления манометр не должен реагировать и производить расчёт, расчёт только при уменьшении давления. Всю голову уже сломал,всяко разно блоки ставил,хожу вокруг да около.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 17:01
brig62
В сторону массивов смотрели?

Расчет расхода воздуха

Добавлено: 06 фев 2018, 17:03
Sancho
Массив. В него заносите 10 значений когда посчитаете нужным. Потом сумму массива делите на 10.
Да и Ваш алгоритм описан не до конца, толком не понятно, что брать за повышение, относительно чего.
Попробуйте сосредоточится и написать более детально задачу.
P.S. Самому тоже может поможет с пониманием алгоритма.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 17:47
AveMneAve
Вот только осинило, решил свою проблему,заглянул а тут ответ на мой вопрос. Выкладываю файл проекта,в нём пока временно собрал алгоритм на EPROM. Сейчас задача состоит в следующем: нужно заставить датчик изменения числа срабатывать только при уменьшении подаваемой на него величины а при возрастании числа чтоб вычисления не происходили. И еще вопрос:если ардуино перейдет в режим энергосбережения, ,статистика из массивов удалится или нет?

Расчет расхода воздуха

Добавлено: 06 фев 2018, 19:03
brig62
AveMneAve писал(а): 06 фев 2018, 17:47решил свою проблему
Ну и слава богу. Но ИМХО проект работать не будет. Что то странное там наворочено.
Sancho писал(а): 06 фев 2018, 17:03Попробуйте сосредоточится и написать более детально задачу.
С какой периодичностью надо показания сравнивать? Как я понял 2сек. Нужен генератор с таким периодом. Это как минимум. Пишите показания в переменную. Через 2 сек вычитаете из нее текущие показания. Если результат больше нуля, значит падение. Пишите дельту куда то там. Если меньше или равно, то ничего. Только не понятно , что надо делать если будет то в плюс то в минус. А оно так и будет. Причем в плюс может быть 2 единицы а в минус 1. Реально давление растет. А вы мгновенные падения считаете.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 19:19
Fuji1604
Алгоритм очень похож на прибор для каких нибудь пневмо испытаний давлением. Отсюда и расчет мгновенного падения

Расчет расхода воздуха

Добавлено: 06 фев 2018, 19:39
AveMneAve
Это будет портативный манометр на PCP винтовку. У винтовки есть резервуар который находится под давлением,при выстреле происходит снижение давления в резервуаре,происходит замер и вычисление расхода за последний выстрел и среднего расхода за последние 10 выстрелов. Но при заправке резервуара манометр не должен производить расчёты. В том и проблема, чтоб заставить детектор изменения числа видеть только снижение показания а увеличение игнорировать. Пытался играться с гистерезисом детектора изменения числа но как его настроить я так и не понял. На данном этапе в Протеусе алгоритм работает, буду собирать на макетке. Ну и на счет массивов вопрос остаётся открыт,при переходе в режим энергосбережения данные будут удаляться с массивов или нет. По сути мне и епрома хватит с лимитом перезаписи в 100т.р. Прилагаю проект в протеусе,переменный резистор эмитирует датчик давления.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 19:47
brig62
а кнопку поставить нельзя? После заправки нажали на нее и начали замеры. Или сброс по дельте вверх более некого значения.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 19:55
AveMneAve
brig62 писал(а): 06 фев 2018, 19:47а кнопку поставить нельзя? После заправки нажали на нее и начали замеры. Или сброс по дельте вверх более некого значения.
А давление в резервуаре при заправке мне как контролировать?Если бахнет резервуар я вам больше ничего написать никогда не смогу,там 300Бар. Про сброс по дельте не совсем понял?!?!

Расчет расхода воздуха

Добавлено: 06 фев 2018, 20:05
brig62
я же не сказал что мерить давление не надо. Кнопка для того, что бы ардуина знала с какого момента начинать сравнение.
AveMneAve писал(а): 06 фев 2018, 19:55Про сброс по дельте не совсем понял?!?!
То же что и кнопка, Но ардуина реагирует на рост давления как на начало замеров. Например тек значение 200. Следующее больше. Если больше чем на 50, значит идет закачка. Очищаем массив.Как только достигнет максимума и начнет снижаться, значит запись первой минусовой дельты в массив.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 20:10
AveMneAve
brig62 писал(а): 06 фев 2018, 20:05 ... Очищаем массив.Как только достигнет максимума и начнет снижаться, значит запись первой минусовой дельты в массив.
В том то и дело что статистика нужна постоянно без сброса.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 20:25
pan
[ref]AveMneAve[/ref], стеком пользуйтесь

Расчет расхода воздуха

Добавлено: 06 фев 2018, 20:38
AveMneAve
pan писал(а): 06 фев 2018, 20:25[ref]AveMneAve[/ref], стеком пользуйтесь
Я только третий день как коснулся программирования и многое ещё не понимаю. Стек-это что?

Отправлено спустя 2 минуты 18 секунд:
А всё понял,стеком я высчитывал средний расход за выстрел, а каким образом его можно прикрутить к изменению давления?

Расчет расхода воздуха

Добавлено: 06 фев 2018, 21:08
pan
берете последнее и предпоследнее значение в стеке и сравниваете. они постоянно будут обновляться продвигаясь вперед.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 22:02
AveMneAve
pan писал(а): 06 фев 2018, 21:08берете последнее и предпоследнее значение в стеке и сравниваете. они постоянно будут обновляться продвигаясь вперед.
А команду на запись в стек откуда брать?

Отправлено спустя 6 минут 29 секунд:
Команду на запись подал с детектора изменения числа,но при переходе со снижения давления на увеличение записывается одно значение и идет всё криво. А так идею нужно допилить,она хот какие-то результаты даёт.

Расчет расхода воздуха

Добавлено: 06 фев 2018, 22:10
pan
в вашем случае надо отслеживать уменьшение числа и по этому сигналу записывать.
[spoiler]Изображение[/spoiler]
в "предыдущее значение" заносите данные с помошью генератора через определенное время.
если при сравнении текущее значение меньше чем предыдущее, то по этому сигналу записываем текущее значение в стек

Расчет расхода воздуха

Добавлено: 07 фев 2018, 07:27
Fuji1604
накидал проект, в протеусе не прогонял, но должно работать. Пробуйте.
Манометр v2.flp

Расчет расхода воздуха

Добавлено: 07 фев 2018, 10:07
AveMneAve
Fuji1604 писал(а): 07 фев 2018, 07:27накидал проект, в протеусе не прогонял, но должно работать. Пробуйте.
Манометр v2.flp
В протеусе не работает, но алгоритм интересный. Спасибо за помощь,пока изучаю проектик.

Расчет расхода воздуха

Добавлено: 07 фев 2018, 11:24
Fuji1604
постарайтесь уйти от флоат переменных, используйте интеджер, во флоат можно переводить перед выводом на экран.

Отправлено спустя 58 минут 52 секунды:
алгоритм надо додумать, после накачки давления небудет считать выстрелы, т.к. предыдущее давление будет старым, а текущее намного больше. Надо добавить алгоритм определения подкачки, или вывести кнопку на переменную выстрел и после подкачки ее нажимать.