xelos
Гость
|
|
« : 06-01-2006 10:42 » |
|
в общем, такая фигня...
собрал девайс. Девайс меряет давление в баллоне со сжатым воздухом (баллон по типу для подводного плавания) - давление 300 атм, объем баллона известен, температура воздуха в нем нет.
начинаем потреблять воздух из баллона (типа дышим воздухом оттуда). Давление есс-но падает. Девайс должен рассчитать при текущем потреблении на скока долго хватиит воздуха. Потребление неизвестно (дышим, а при дыхании неизвестно с какой частотой и с каким объемом воздуха дышим).
Вроде формула напрашивается сама собой - меряем падение давления за промежуток времени и потом давление делим на падение.
у тут начинаются загвоздки... При постоянном потреблении - падение давление при высоком давлении отличается от падения при "низких" давлениях (порядка 100 атм). Первое размышление и воспоминание термодинамики дало - воздух не идеальный газ и его коэффициент сжимаемости не равен 1 при 300 атм (он изменяется от 1 при 200атм, до 0,9 при 300 атм). Корректируем это - чуть получше, но все равно далеко от идеала.
Дальше вспоминаем, что при снижении давления в баллоне происходят различные термические эффекты (сжатый воздух в баллоне охлаждается), зависящие от скорости потребления воздуха... Попробовал изменить формулу - базируясь на аддиабатическом процессе (если надо, могу формулу привести)... еще чуть получше, но все равно далековато от идеала...
в общем все что придумал - сделал кучу опытов, и вроде, как нарисовалась зависимость коэффициента корректировки от давления (формула старая, давление/падение давления, корректируем падение давления в зависимости от давления)... Могу графики показать... Ничего лучше в голову не лезет... Может кто сталкивался с подобной задачей? любые идеи приветствуются, а то уже целый месяц над этим бьюсь...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 06-01-2006 11:25 » |
|
а если по нескольким подряд замеренным точкам оценивать кривую и по касательной в последней точке для каждого следующего момента определять скорость, а далее - по второй производной - ускорение изменения давления? ну и принять допущение, что третья производная равна нулю то есть а дальше расчитать, за сколько времени эта мгновенная формула сожрёт объём ps просто мысль, реализовать бы я с трудом мог сам
|
|
« Последнее редактирование: 06-01-2006 11:29 от Алексей1153 »
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #2 : 06-01-2006 11:30 » |
|
Мы говорим все таки об акваланге и человеке, или о процессах в атмосфере с нормальным давлением? Т.е. каковы условия эксплуатации системы?
|
|
« Последнее редактирование: 06-01-2006 11:31 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
xelos
Гость
|
|
« Ответ #3 : 06-01-2006 11:52 » |
|
Мы говорим все таки об акваланге и человеке, или о процессах в атмосфере с нормальным давлением? Т.е. каковы условия эксплуатации системы?
и то, и то верно - используется данный девайс для защитных аппаратов пожарников. Т.е. принцип как у акваланга, а используется при атмосферном давлении. чтобы не заморачиваться раньше времени - при температуре 25°C.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #4 : 06-01-2006 12:00 » |
|
Какой параметер замеряет датчик? До или после редуктора давления?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
xelos
Гость
|
|
« Ответ #5 : 06-01-2006 12:03 » |
|
а если по нескольким подряд замеренным точкам оценивать кривую и по касательной в последней точке для каждого следующего момента определять скорость, а далее - по второй производной - ускорение изменения давления? ну и принять допущение, что третья производная равна нулю то есть а дальше расчитать, за сколько времени эта мгновенная формула сожрёт объём ps просто мысль, реализовать бы я с трудом мог сам так проблема в том и состоит, что при одинаковом потреблении воздуха скорость падения давления - разная. потребление определяется объемом воздуха, например 50 л/мин. и проблема в том, что если мы выпустим 50 л, при 300 атм падение давления будет не таким, как при 100 атм.
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #6 : 06-01-2006 12:05 » |
|
Какой параметер замеряет датчик? До или после редуктора давления?
высокое давление до редуктора, точность датчика 0,5 атм. объем баллона - 6-12 л, потребление человеком воздуха может меняться от 20л/мин, до 100.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #7 : 06-01-2006 12:26 » |
|
ам. Понял. Как-то туда надо учесть внешнее...
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #8 : 06-01-2006 12:49 » |
|
Тогда, самое простое - это ввести поправочный коэфициент. Например, вычислить его заранее для нескольких точек, а потом получатать значение интерполяцией для текущего давления в балоне.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
xelos
Гость
|
|
« Ответ #9 : 06-01-2006 13:00 » |
|
так я это так и сделал, хотелось бы еще точнее... проблема в том, что этот поправочный коэффициент меняется от скорости потребления воздуха, от объема баллона и от температуры окружающей среды. Температуру окружающей среды, в принципе, я могу мерять, но зависимость все равно остается от трех параметров и экспериментально установить как этот коэффициент меняется в зависимости от каждого отдельного параметра представляется проблематично - при желании можно, конечно, но все эти тесты растянутся на неопределенное время... ошибка может составлять до 30 процентов. обосновать с натягом можно почему такая ошибка - исходя из точности датчика и периода измерения падения давления. Есть еще решение - увеличить длительность между двумя замерами, но и так уже еле-еле втискиваюсь в ТЗ - максимальный период между двумя измерениями - 2 минуты.
если посчитать ошибку - получается, если грубо:
при максимальном баллоне, объем воздуха: 12 л* 300 атм * 0,9 = 3240 л воздуха, при потреблении 20 л/мин или 40 л/2 мин, т.е. через 2 минуты у нас останется 3200 л, переводим обратно в давление: 3200/12/0,9 = 296,3 атм при точности датчика в 0,5 атм получим 296,5, т.е падение было 3,5 атм. считаем на скока нам хватает воздуха: 296,5/3,5 = 85 мин
следующие 2 минуты - еще - 40 л, давление 3160/12/0,9 = 292,6 или 292,5 с датчика, падение давления - 4 атм считаем скока осталось: 292,5 / 4 = 73 мин
т.е. теоретически эта ошибка максимальная... на практике из-за всего, о чем я говорил вначале ошибка достигает 30%. и это много... в окнце теста при давлениях от 100 атм - формула работает отлично, а вот вначале - эту ошибку и имеем...
|
|
« Последнее редактирование: 06-01-2006 13:18 от xelos »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #10 : 06-01-2006 13:09 » |
|
Давай пойдем от противного. Объем баллона величина практически постоянная. При данной температуре, при данном давлении в балон помешается определенная масса воздуха. Если воздух течет равномерно после понижаюшего редуктора, значит масса воздуха в балоне уменьшается на это количество. Отсюда следует чтобы найти примерное время расходывания, надо t=(Mmax - Most)/Mexit где, Mmax - масса полного баллона Most - остаточная масса Mexit - масса выхода за единицу времени.
Давление полного баллона зависит от температуры и массы. Остаточное давление и остаточная масса также зависит от температуры. (ну не верю, что редуктор идеальный и будет выдавать полностью весь воздух из баллона) Масса выхода газа примерно постоянная величина по условиям задачи. Ты хочеш найти зависимость массы выхода от градиента давлений. Я так думаю это будет не прямая линейная зависимость. А скорее всего что то типа графика косинуса в первой четверти.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #11 : 06-01-2006 13:34 » |
|
Finch, расход все же не линейный, а пульсирует в такт дыханию. Потом, на показание датчика влияет скорость газа, проходящего мимо него (все зависит от конструкции и положения датчика). В момент вдоха он может показать меньшее значение.
Тут задача сходная работе экономайзера в авто: есть мгновенный расход, а есть средний и нужно расчитать на сколько еще хватит.
Думаю, что выдача только оставшегося времени не совсем верна, т.к. при разном потреблении может меняться в несколько раз. Представте себе: пожарный спокойно стоя, проверяет запас воздуха и видит, что его на 10 минут, потом начинает активно двигаться и хватает запаса на 2 минуты. Какая польза от такого предсказания? Лучше выдавать несколько _примерно_ расчитанных значений: оставшееся время по минимальному, максимальному и среднему (не за весь период, а, скажем, за последние пару минут) значению. Тут точно никак не расчитаешь: ведь неможет железка знать, чем будет заниматься человек. Ну и, чтобы быть информативнее и совсем запутать пожарного, выдать остаток в литрах или килограммах.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 06-01-2006 13:37 » |
|
кстати, о птичках: архиватор показывает ПРИКИНУТОЕ время , оставшееся до. Условия эксплуатации схожие - железо разное, уровень занятости проца - непредсказуем. Почему бы не сделать так? Тогда двух производных достаточно
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #13 : 06-01-2006 13:44 » |
|
Алексей1153, несравнимые задачи: время архивации не является жизненноважным фактором... xelos, почитай тут: http://sapr2000.ru/invision/index.php?showtopic=2728Они про метан говорят, но смысл тот же - мерить расход.
|
|
« Последнее редактирование: 06-01-2006 13:46 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 06-01-2006 13:52 » |
|
согласен, не является задачи отличаются только тем, что в программе минимальная скорость ==0 , а у воздуха из баллона == (Vmin != 0)
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #15 : 06-01-2006 14:05 » |
|
Finch, это понятно, теоретически можешь подтолкнуть к формуле? потому что сейчас я чисто экспериментально установил поправочный коэффициент. Насчет редуктора - редуктор двухступенчатый - высокое давление понижается до 7 атм, потом 7 атм до 1атм. Так что редуктор очень приближен к идеальному. Есть механические шумы (при замере давления) - но они видны только при открытии вентиля высокого давления.
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #16 : 06-01-2006 14:13 » |
|
Finch, расход все же не линейный, а пульсирует в такт дыханию. Потом, на показание датчика влияет скорость газа, проходящего мимо него (все зависит от конструкции и положения датчика). В момент вдоха он может показать меньшее значение.
Тут задача сходная работе экономайзера в авто: есть мгновенный расход, а есть средний и нужно расчитать на сколько еще хватит.
Думаю, что выдача только оставшегося времени не совсем верна, т.к. при разном потреблении может меняться в несколько раз. Представте себе: пожарный спокойно стоя, проверяет запас воздуха и видит, что его на 10 минут, потом начинает активно двигаться и хватает запаса на 2 минуты. Какая польза от такого предсказания? Лучше выдавать несколько _примерно_ расчитанных значений: оставшееся время по минимальному, максимальному и среднему (не за весь период, а, скажем, за последние пару минут) значению. Тут точно никак не расчитаешь: ведь неможет железка знать, чем будет заниматься человек. Ну и, чтобы быть информативнее и совсем запутать пожарного, выдать остаток в литрах или килограммах.
RXL, ты правильно понял проблему. Насчет информативности - в обязательном порядке выдается давление воздуха в баллоне (стандарты обязывают). Мы оговариваем, что показываемое оставшееся время - это при текущем потреблении, естественно потребление может меняться от физической нагрузки и предугадать нагрузку мы не можем. Спасибо за ссылку, читаю.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #17 : 06-01-2006 15:06 » |
|
Я бы сделал так: 1) вычислить минимальное гарантированное время по максимальному значению расхода, вычисленного заранее практически и с запасом 2) вычислить средний расход за время tn для N периодов времени (конец периодов общий - последний замер) 3) назначить каждому вычислению некий весовой коэфициент, сложить результаты и разделить на сумму коэфициентов (или заранее нормализовать коэф., чтобы их сумма равнялась единице). Результату п1 назначить самый высокий вес, результатам п2 - в зависимости от периода (чем больше, тем меньше вес).
Получается нечто вроде одного нейрона, с набором разновесных входов и аналоговым выходом. Существуют методики его обучения (см. лит). Задача обучения: чтобы ф-ия реального расхода и ф-ия выхода нейрона максимально соответствовали.
Что касается точности определения давления, то я бы выбирал из замеров максимальное значение между вдохами, когда расход минимален (или отсутствует) и влияние динамических процессов то же минимально.
Температурный датчик, в идеале, нужно поместить внутрь балона, чтобы был хороший контакт с основной массой газа, а с аппаратурой и корпусом балона - минимальный.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Alf
Гость
|
|
« Ответ #18 : 06-01-2006 17:48 » |
|
Попробовал изменить формулу - базируясь на аддиабатическом процессе (если надо, могу формулу привести)... Спасибо, не надо. А с какой радости этот процесс является адиабатическим? Неужели баллон настолько теплоизолирован, что за все время использования можно пренебречь теплообменом? Я бы добавил датчик температуры, благо, сейчас это копеечное дело. Тогда можно воспользоваться уравнением Менделеева-Клапейрона: P*V = (m/ m)*R*T Объем баллона известен и не изменяется, молярная масса дыхательной смеси тоже. Температуру и давление знаем по показаниям датчиков. Массу оставшейся в баллоне смеси получим без труда: m = (P*V* m)/(R*T) Если наделить прибор небольшим интеллектом, он может подсчитать, сколько смеси потребляется в единицу времени, а значит, предсказать, на сколько времени хватит остатка при условии постоянного потребления.
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #19 : 06-01-2006 17:56 » |
|
датчик внутрь низзя - вся электроника уже в производстве, карточки заказаны....
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #20 : 06-01-2006 18:02 » |
|
А с какой радости этот процесс является адиабатическим? Неужели баллон настолько теплоизолирован, что за все время использования можно пренебречь теплообменом?
предполагаем, что за время между 2 замерами (достаточно небольшое для тепловых процессов) теплообмена нет. конструкция баллона такова, что он сложнокомпозитный, из специальных пластиков. Теплообмен идет только через вентиль баллона (он металлический), и его поверхность мала.
|
|
|
Записан
|
|
|
|
Alf
Гость
|
|
« Ответ #21 : 06-01-2006 18:05 » |
|
Ну тогда звиняйте. Как видно из приведенной формулы, давление прямо пропорционально температуре при нулевом потреблении. Так что если кто откинет ласты от удушья по причине того, что его баллоны нагрелись в огне и датчик показал несколько лишних литров, которых в помине нет, пусть не обессудит - не переразводить же платы из-за таких мелочей.
|
|
|
Записан
|
|
|
|
xelos
Гость
|
|
« Ответ #22 : 06-01-2006 18:19 » |
|
первый показатель, на который ориентируются пожарники - давление в баллоне (инструкция у них такая). расчет оставшегося времени - это приблуда. кто-то кому-то когда-то пообещал, теперь это надо делать. воздух в баллонах не нагревается - баллоны на спине, плюс очень хорошая теплоизоляция самих баллонов.
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #23 : 06-01-2006 20:02 » |
|
первый показатель, на который ориентируются пожарники - давление в баллоне (инструкция у них такая).
Ну это зависит от менталитета. Если говорить скажем о немцах. То они будут следовать букве инструкций. Если о других то будут следовать "Как удобно". Знакомый мой работал в ГДР 1989 году монтажником высоковольтных линий. Бригада была смешанной. Половина немцев. Половина из Союза. Немци застегивали пять строп страховки (согласно инструкции). Наши застегивали одну стропу (согласно "как удобно). Хотя в экстремальных проффесиях все таки стараются следовать букве инструкий. Но герои всегда найдутся. Здесь также не известно какая смесь в баллоне. При таких давлениях скорее всего часть газа будет сжиживаться. Как известно жидкость намного хуже уплотняется.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #24 : 06-01-2006 20:14 » |
|
Finch, азот и кислород при таком давлении и комнатной температуре пока еще газы. xelos, если не изменяет мне память, живет во Франции - надеюсь, там безалаберности меньше.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|