Я тоже это заметил, это 1 минус 2 в степени минус ...Еще не понял...Вот формула:
Pcomp = Pbegin + [ Pgas - Pbegin ] x [ 1 - 2 -te/tht ]
Непонятна мне вторая скобка...Как это - (1-2) и при этом в следующем примере у них получается ПОЛОЖИТЕЛЬНОЕ число???
Pcomp = 0.79 + [ 3.16 - 0.79 ] x [ 1 - 2 -10/27]
Сборка и испытания IDA-71S1 (этап 1). Проектирование этапа 2
Модераторы: трофи, Максим Васильев, KWAK, DukeSS
Что-то у меня не получается, дай в личку какой-нибудь e-mail,
А блин, тогда понятноЛистригон писал(а):Что-то у меня не получается, дай в личку какой-нибудь e-mail,Я тоже это заметил, это 1 минус 2 в степени минус ...Еще не понял...Вот формула:
Pcomp = Pbegin + [ Pgas - Pbegin ] x [ 1 - 2 -te/tht ]
Непонятна мне вторая скобка...Как это - (1-2) и при этом в следующем примере у них получается ПОЛОЖИТЕЛЬНОЕ число???
Pcomp = 0.79 + [ 3.16 - 0.79 ] x [ 1 - 2 -10/27]



PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Отправил.
Еще вопрос, Te (время экспозиции) написано что нужно брать в минутах. Т.е. если у нас секунды - надо все равно переводить, верно?
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Надо повнимательней посмотреть, сходу не скажу.
Обрати внимание по табличке. дает очень близкие значения к таблице PADI/
Посмотрел- помоему все равно, там же отношение времен.
Обрати внимание по табличке. дает очень близкие значения к таблице PADI/
Посмотрел- помоему все равно, там же отношение времен.
Так. Сделал первую версию проги. Не смеяться, Дельфи юзал только ради скорости
Время ускорено в 60 раз.
http://dive.preferance.ru/upload/Bullmann.exe
Да, глубину желательно двигать по 1 метру. Естественно, насыщение-рассыщение будет быстро прыгать, если сразу двинуть на 10 метров или 50, так как зависимость - экспонента. В реальном декомпрессиметре просто будет очень плавно изменяться глубина, вот и цифры будут стремиться к реальности...
А, да.
Это для 5й группы только.
Temin - это общее время погружения
Te - это время экспозиции
Pgas, Pbegin - считается при изменении глубины от текущего Pcomp.
Таким образом, если ошибок нигде нет - думаю, алгоритм Бульмана реализован для одного вида ткани. Для 16 реализовать - проблемы нет.

http://dive.preferance.ru/upload/Bullmann.exe
Да, глубину желательно двигать по 1 метру. Естественно, насыщение-рассыщение будет быстро прыгать, если сразу двинуть на 10 метров или 50, так как зависимость - экспонента. В реальном декомпрессиметре просто будет очень плавно изменяться глубина, вот и цифры будут стремиться к реальности...
А, да.

Temin - это общее время погружения
Te - это время экспозиции
Pgas, Pbegin - считается при изменении глубины от текущего Pcomp.
Таким образом, если ошибок нигде нет - думаю, алгоритм Бульмана реализован для одного вида ткани. Для 16 реализовать - проблемы нет.
Последний раз редактировалось Lt_Flash 07-10-2005 17:59, всего редактировалось 1 раз.
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Интересно получилось,а на 16 сложно сделать? А потом как у меня depthsafe расчитать и вывести в окно- нагляднее будет.
Последний раз редактировалось Листригон 07-10-2005 17:59, всего редактировалось 1 раз.
Да кстати у тебя IAR для атмела с С -компилятором нет?
Я выше отредактировал пост, + обновил версию проги. Не, у меня для Атмела практически ничего нет, у меня все под ПИК. А на нем либо на асме, либо на своем Си...
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Дык оно в реальном времени показываетЛистригон писал(а):Интересно получилось,а на 16 сложно сделать? А потом как у меня depthsafe расчитать и вывести в окно- нагляднее будет.


PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
и depthsafe обязательно, именно она и будет на ЖКИ.
Дык все параметры будут, сейчас закончу только...Блин, сейчас не успеваю, еду домой, там закончу, как закончу - выложу на фтп. Сорри.Листригон писал(а):и depthsafe обязательно, именно она и будет на ЖКИ.
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Так, закончил. Текущую безопасную глубину смотрите в поле Safe Depth, всякие давления даны для 5го типа тканей (те, что слева, а не в таблице). Время дано в минутах, где Te - время пребывания на текущей глубине (после смены глубины), Tmin - общее время дайва в минутах... Что еще...Прикольно сразу поставить метров 50, подождать минут 40, увидеть как зашкалит сначала первый тип, потом остальные, а потом резко поставить 0 в глубине - и рассасывается совсем по-другому
Тестируйте...Вроде ошибок нету, могу потом показать сурсы, но там дикий бардак - писал на скорую руку, без красивостей...
ЗЫ. Проверил на своем Суунто Випере - практически все совпадает
Наприме, для 20 метров Випер дал 41 минуту НДЛ, в то время как по Бульману у нас еще 1.7 минуты
А вот для 30 метров - Бульман дал 15.4 минуты, Суунто - 17 минут.
ЗЫЗЫ. Если кто-нибудь бы еще смог вывести время пребывания на заданной глубине из формулы Pcomp - было бы вообще круто...А то я че-то не помню как правильно преобразовать из степени. То, что ln(x) - это понятно, но не хочу гадать...


ЗЫ. Проверил на своем Суунто Випере - практически все совпадает


ЗЫЗЫ. Если кто-нибудь бы еще смог вывести время пребывания на заданной глубине из формулы Pcomp - было бы вообще круто...А то я че-то не помню как правильно преобразовать из степени. То, что ln(x) - это понятно, но не хочу гадать...


PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
А по ссылке старый вариант скачивается??
Просматривал тут формулы: и вот сомнения гложут, годится ли формула Pamb.tot=(P comp-a)xb для ребризера, что-то как-то она плохо с парциальными давлением азота увязывается.
А со временем - может итерациями проще.
зы: все нормально скачал
Просматривал тут формулы: и вот сомнения гложут, годится ли формула Pamb.tot=(P comp-a)xb для ребризера, что-то как-то она плохо с парциальными давлением азота увязывается.
А со временем - может итерациями проще.
зы: все нормально скачал
Вот про формулы я наврядли помогу...Хоть и оканчивал МИФИ, но с физикой не очень силен...Зато реализовать могу практически любой алгоритм, если есть человек, который разжуетЛистригон писал(а):А по ссылке старый вариант скачивается??
Просматривал тут формулы: и вот сомнения гложут, годится ли формула Pamb.tot=(P comp-a)xb для ребризера, что-то как-то она плохо с парциальными давлением азота увязывается.
А со временем - может итерациями проще.
зы: все нормально скачал

По поводу плохой увязки - нифига себе! Это как - плохо вяжется? Рассчет Pcomp полностью завязан на азот! Значит и Pamb тоже на него опирается. Тут вообще все на азоте...Никакой другой газ не рассматривается. Единственное - я везде брал вариант с воздухом, т.е. азот везде принимался за 0.79, в ребризере вроде бы так и будет, ведь там 0.21 кислород стабильно...Так что для ребризера отлично подходит метод, имхо...
ЗЫ. Наткнулся в статье на то, что данный метод Бульмана является классически-теоретическим, а для компов берут модифицированный, вариант C. Может, есть смысл достать его таблицу? Там ниче больше не меняется...
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Что-то у меня комп. постоянно рушится.
Про Pcomp вопросов нет, я про Pamb (кстати в ребризере не 0.21 , а 1.2-1.3 глубже 10м, и 0.7 выше), у нас рО2 const а pN2 нет, а в этой модели и то и то меняется согласовано. Представим мифического (каламбур получился) дайвера , который не перекинется при дыхании на глубине 40 метров чистым О2, и вот он переключился со смеси на чистый кислород находясь в режиме декомпрессионного погружения (ребризер позволяет этого добится), Pamb не изменился, а pN2=0, что при этом произойдет? Думаю катастрофа.
А ссылка на вариант С там есть?
Про Pcomp вопросов нет, я про Pamb (кстати в ребризере не 0.21 , а 1.2-1.3 глубже 10м, и 0.7 выше), у нас рО2 const а pN2 нет, а в этой модели и то и то меняется согласовано. Представим мифического (каламбур получился) дайвера , который не перекинется при дыхании на глубине 40 метров чистым О2, и вот он переключился со смеси на чистый кислород находясь в режиме декомпрессионного погружения (ребризер позволяет этого добится), Pamb не изменился, а pN2=0, что при этом произойдет? Думаю катастрофа.
А ссылка на вариант С там есть?
Ссылки нету, просто описано, что такая модель применялась в декомпрессиметрах, после усовершенствований модели категориями Б и Ц...Листригон писал(а):Что-то у меня комп. постоянно рушится.
Про Pcomp вопросов нет, я про Pamb (кстати в ребризере не 0.21 , а 1.2-1.3 глубже 10м, и 0.7 выше), у нас рО2 const а pN2 нет, а в этой модели и то и то меняется согласовано. Представим мифического (каламбур получился) дайвера , который не перекинется при дыхании на глубине 40 метров чистым О2, и вот он переключился со смеси на чистый кислород находясь в режиме декомпрессионного погружения (ребризер позволяет этого добится), Pamb не изменился, а pN2=0, что при этом произойдет? Думаю катастрофа.
А ссылка на вариант С там есть?
А вот про то, что меняется pN2 - это понятно, смотри Pgas - это расчетное значение парциалки азота на заданной глубине...Но рассчитывал я все согласно формулам...Т.е. как раз в моем расчете азот меняется и на основе этого изменения рассчитывается насыщение азотом тканей...В общем-то сделано без вариаций - чистый бульман.
Вот эту фразу не понял:
Это что за давление, кислорода? В принципе я могу легко ввести условие пересчета от глубины, если надо...Просто насколько я понял из твоих постов выше - в ребризере все время 0.21 поддерживается...Я сам никогда с ребризером не ходил, поэтому практически не знаю ничего. Заказывай - как и что исправить, все сделаем. А потом на микроконтроллер перенесем без проблем...я про Pamb (кстати в ребризере не 0.21 , а 1.2-1.3 глубже 10м, и 0.7 выше)
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Нет я говорил , что постоянное pO2.
Поддерживать 0,21 не имеет смысла- задача уменьшить долю N2 в смеси, поддерживая максимально возможное безопасное рО2, вплоть до 1.4.
А то что сделано по Бульману, я и не сомневаюсь, результаты близкие к таблицам(которые считаются практическими), хоть он и классически-теоретический. Просто думаю может перестраховаться и делать так:
PN2=Pamb.tot*0.79
Pamb.tot_reb= setpointO2 +PN2;
Т.е в этом случае depthsafe будет глубже.
Поддерживать 0,21 не имеет смысла- задача уменьшить долю N2 в смеси, поддерживая максимально возможное безопасное рО2, вплоть до 1.4.
А то что сделано по Бульману, я и не сомневаюсь, результаты близкие к таблицам(которые считаются практическими), хоть он и классически-теоретический. Просто думаю может перестраховаться и делать так:
PN2=Pamb.tot*0.79
Pamb.tot_reb= setpointO2 +PN2;
Т.е в этом случае depthsafe будет глубже.
Проверил результаты? Т.е. на первом приближении прога верно считает?Листригон писал(а):Нет я говорил , что постоянное pO2.
Поддерживать 0,21 не имеет смысла- задача уменьшить долю N2 в смеси, поддерживая максимально возможное безопасное рО2, вплоть до 1.4.
А то что сделано по Бульману, я и не сомневаюсь, результаты близкие к таблицам, хоть он и классически-теоретический. Просто думаю может перестраховаться и делать так:
PN2=Pamb.tot*0.79
Pamb.tot_reb= setpointO2 +PN2;
Т.е в этом случае depthsafe будет глубже.
Далее, PN2 через Pamb если считать, то получится, что замкнутый круг. Разверни сам:
PN2=Pamb*0.79, Pamb = (Pcomp-a)*b, Pcomp = Pbegin + (Pgas-Pbegin)*(1-2^Te/Tht), отсюда PN2 = ((Pbegin + (Pgas-Pbegin)*(1-2^Te/Tht))-a)*b*0.79, где Pgas = PN2 по идее

Я предлагаю лучше для Pcomp сделать пересчет каждые 1/n секунд в зависимости от датчика кислорода в мешке (или где еще, главное, чтобы в зависимости от глубины). Тогда Бульман вроде остается прежним...Ведь просто будут другие Pgas (PN2) и таблица сохраняет свою действенность.
А DepthSafe на данный момент в модели пересчитывается в реальном времени - всплываешь и уменьшается, плавно выводя тебя на поверхность. Другое дело, что надо будет ввести какой-то алгоритм подъема, а то очень медлеенно уменьшается безопасная глубина. Например, выдало 12 метров безопасной, ты на нее поднялся - а там уже 10-9-8 и меньше - но стоять лучше на 12ти метрах, а потом уйти на 5, и потом на 3.
ЗЫ. Меня удивило то, что согласно курсу ПАДИ через 3 часа после любого бездекомпрессионного дайва мы попадаем в группу А по азоту и можем нырять как бы с нуля. А согласно Бульману получается что даже через 5 часов на поверхности азота остается больше, чем нормальные 0.79 в тканях с 11 по 14ю (примерно беру, сейчас точно не помню с каких по какие).
Нашел единственное объяснение - в моделях ПАДИ и моделях Суунто РГБМ учитывают только 9 тканей. Тогда более-менее нормально - через 3-4 часа азота остается в первых 9 тканях менее 0.85, а вот в остальных...
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
IANTD EANx Nitrox Diver
Нет, то что я написал, это только,для расчета глубины (depthsafe), а Рgas, считать исходя из показаний датчиков кислорода и датчика давления.
А вот в Суунто вообще непонятно как учитываются группы тканей, там у них свой алгоритм.
Так я это и предлагал раньше.А DepthSafe на данный момент в модели пересчитывается в реальном времени - всплываешь и уменьшается, плавно выводя тебя на поверхность. Другое дело, что надо будет ввести какой-то алгоритм подъема, а то очень медлеенно уменьшается безопасная глубина. Например, выдало 12 метров безопасной, ты на нее поднялся - а там уже 10-9-8 и меньше - но стоять лучше на 12ти метрах, а потом уйти на 5, и потом на 3.
А вот в Суунто вообще непонятно как учитываются группы тканей, там у них свой алгоритм.
По таблице вроде до 6 часов.ЗЫ. Меня удивило то, что согласно курсу ПАДИ через 3 часа после любого бездекомпрессионного дайва мы попадаем в группу А по азоту и можем нырять как бы с нуля.