Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос, скорее, по физике...  (Прочитано 21625 раз)
0 Пользователей и 1 Гость смотрят эту тему.
xelos
Гость
« : 06-01-2006 10:42 » 

в общем, такая фигня...

собрал девайс. Девайс меряет давление в баллоне со сжатым воздухом (баллон по типу для подводного плавания) - давление 300 атм, объем баллона известен, температура воздуха в нем нет.

начинаем потреблять воздух из баллона (типа дышим воздухом оттуда). Давление есс-но падает. Девайс должен рассчитать при текущем потреблении на скока долго хватиит воздуха. Потребление неизвестно (дышим, а при дыхании неизвестно с какой частотой и с каким объемом воздуха дышим).

Вроде формула напрашивается сама собой - меряем падение давления за промежуток времени и потом давление делим на падение.

у тут начинаются загвоздки... При постоянном потреблении - падение давление при высоком давлении отличается от падения при "низких" давлениях (порядка 100 атм). Первое размышление и воспоминание термодинамики дало - воздух не идеальный газ и его коэффициент сжимаемости не равен 1 при 300 атм (он изменяется от 1 при 200атм, до 0,9 при 300 атм). Корректируем это - чуть получше, но все равно далеко от идеала.

Дальше вспоминаем, что при снижении давления в баллоне происходят различные термические эффекты (сжатый воздух в баллоне охлаждается), зависящие от скорости потребления воздуха... Попробовал изменить формулу - базируясь на аддиабатическом процессе (если надо, могу формулу привести)... еще чуть получше, но все равно далековато от идеала...

в общем все что придумал - сделал кучу опытов, и вроде, как нарисовалась зависимость коэффициента корректировки от давления (формула старая, давление/падение давления, корректируем падение давления в зависимости от давления)... Могу графики показать... Ничего лучше в голову не лезет... Может кто сталкивался с подобной задачей? любые идеи приветствуются, а то уже целый месяц над этим бьюсь...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 06-01-2006 11:25 » 

а если по нескольким подряд замеренным точкам оценивать кривую и по касательной в последней точке для каждого следующего момента определять скорость, а далее - по второй производной - ускорение изменения давления?

ну и принять допущение, что третья производная равна нулю Улыбаюсь

то есть а дальше расчитать, за сколько времени эта мгновенная формула сожрёт объём

ps просто мысль, реализовать бы я с трудом мог сам
« Последнее редактирование: 06-01-2006 11:29 от Алексей1153 » Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 06-01-2006 11:30 » 

Мы говорим все таки об акваланге и человеке, или о процессах в атмосфере с нормальным давлением?
Т.е. каковы условия эксплуатации системы?
« Последнее редактирование: 06-01-2006 11:31 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
xelos
Гость
« Ответ #3 : 06-01-2006 11:52 » 

Мы говорим все таки об акваланге и человеке, или о процессах в атмосфере с нормальным давлением?
Т.е. каковы условия эксплуатации системы?

и то, и то верно - используется данный девайс для защитных аппаратов пожарников. Т.е. принцип как у акваланга, а используется при атмосферном давлении. чтобы не заморачиваться раньше времени - при температуре 25°C.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #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.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #7 : 06-01-2006 12:26 » 

ам. Понял. Как-то туда надо учесть внешнее...
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #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
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #10 : 06-01-2006 13:09 » 

Давай пойдем от противного. Объем баллона величина практически постоянная. При данной температуре, при данном давлении в балон помешается определенная масса воздуха. Если воздух течет равномерно после понижаюшего редуктора, значит масса воздуха в балоне уменьшается на это количество.
Отсюда следует чтобы найти примерное время расходывания, надо
t=(Mmax - Most)/Mexit
где,
Mmax - масса полного баллона
Most  - остаточная масса
Mexit - масса выхода за единицу времени.

Давление полного баллона зависит от температуры и массы.
Остаточное  давление и остаточная масса также зависит от температуры. (ну не верю, что редуктор идеальный и будет выдавать полностью весь воздух из баллона)
Масса выхода газа примерно постоянная величина по условиям задачи.
Ты хочеш найти зависимость массы выхода от градиента давлений.
Я так думаю это будет не прямая линейная зависимость. А скорее всего что то типа графика косинуса в первой четверти.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 06-01-2006 13:34 » 

Finch, расход все же не линейный, а пульсирует в такт дыханию. Потом, на показание датчика влияет скорость газа, проходящего мимо него (все зависит от конструкции и положения датчика). В момент вдоха он может показать меньшее значение.

Тут задача сходная работе экономайзера в авто: есть мгновенный расход, а есть средний и нужно расчитать на сколько еще хватит.

Думаю, что выдача только оставшегося времени не совсем верна, т.к. при разном потреблении может меняться в несколько раз. Представте себе: пожарный спокойно стоя, проверяет запас воздуха и видит, что его на 10 минут, потом начинает активно двигаться и хватает запаса на 2 минуты. Какая польза от такого предсказания?
Лучше выдавать несколько _примерно_ расчитанных значений: оставшееся время по минимальному, максимальному и среднему (не за весь период, а, скажем, за последние пару минут) значению. Тут точно никак не расчитаешь: ведь неможет железка знать, чем будет заниматься человек.
Ну и, чтобы быть информативнее и совсем запутать пожарного, выдать остаток в литрах или килограммах.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 06-01-2006 13:37 » 

кстати, о птичках: архиватор показывает ПРИКИНУТОЕ время , оставшееся до. Условия эксплуатации схожие - железо разное, уровень занятости проца - непредсказуем. Почему бы не сделать так? Тогда двух производных достаточно
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 06-01-2006 13:44 » 

Алексей1153, несравнимые задачи: время архивации не является жизненноважным фактором...

xelos, почитай тут: http://sapr2000.ru/invision/index.php?showtopic=2728
Они про метан говорят, но смысл тот же - мерить расход.
« Последнее редактирование: 06-01-2006 13:46 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline 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
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #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 » new

Ну тогда звиняйте. Как видно из приведенной формулы, давление прямо пропорционально температуре при нулевом потреблении. Так что если кто откинет ласты от удушья по причине того, что его баллоны нагрелись в огне и датчик показал несколько лишних литров, которых в помине нет, пусть не обессудит - не переразводить же платы из-за таких мелочей.
Записан
xelos
Гость
« Ответ #22 : 06-01-2006 18:19 » 

первый показатель, на который ориентируются пожарники - давление в баллоне (инструкция у них такая). расчет оставшегося времени - это приблуда. кто-то кому-то когда-то пообещал, теперь это надо делать. воздух в баллонах не нагревается - баллоны на спине, плюс очень хорошая теплоизоляция самих баллонов.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #23 : 06-01-2006 20:02 » 

Цитата
первый показатель, на который ориентируются пожарники - давление в баллоне (инструкция у них такая).
Ну это зависит от менталитета. Если говорить скажем о немцах. То они будут следовать букве инструкций. Если о других то будут следовать "Как удобно". Знакомый мой работал в ГДР 1989 году монтажником высоковольтных линий. Бригада была смешанной. Половина немцев. Половина из Союза. Немци застегивали пять строп страховки (согласно инструкции). Наши застегивали одну стропу (согласно "как удобно). Хотя в экстремальных проффесиях все таки стараются следовать букве инструкий. Но герои всегда найдутся.

Здесь также не известно какая смесь в баллоне. При таких давлениях скорее всего часть газа будет сжиживаться. Как известно жидкость намного хуже уплотняется.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #24 : 06-01-2006 20:14 » 

Finch, азот и кислород при таком давлении и комнатной температуре пока еще газы.
xelos, если не изменяет мне память, живет во Франции - надеюсь, там безалаберности меньше.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines