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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос, скорее, по физике...  (Прочитано 23222 раз)
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
Технический
Администратор

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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 » 

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

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

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


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

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

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

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

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

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

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

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

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines