Комментарии 34
BMP085 ~ 5$
HP203B ~ 8$
HP206C ~ 13$
И это с алиэкспресса
Есть где дешевле?
Причём за эту цену BMP085 уже распаян и имеет на борту стабилизатор, позволяющий ему питаться от 5В.
Тогда, во время тестирования, я нигде не нашел упоминаний о стоимости продукта. Только что посмотрел на али, действительно, так и есть. Но мне кажется что релиз еще не состоялся, поэтому они сейчас на вес золота.
Бегло просмотрел даташит. Различий, кроме корпуса, не увидел. Все также данные идут в сыром виде, которые также нужно обсчитывать.
Да, там в даташите так и написано, что: The BMP180 is the function compatible successor of the BMP085, a new generation of high precision digital pressure sensors for consumer applications.

Разница ещё в цене, почти в 2 раза дешевле
Судя по даташиту, у BMP180 относительная точность выше. Правда, тогда непонятно, почему они стоят дешевле. Сам такие недавно на пробу заказал, посмотрим, что из них выйдет.
собственно, у них и аналоговые датчики давления стоят минимум 2,5 бакса. Но дешевле вы все равно ничего не найдете
Задал я им вопрос по-поводу стоимости датчиков. Ответ:
HP203B 10pcs US$2.5/pcs
HP206C 10pcs US$8.5/pcs
Обидно, что в тестах нет MS5611 производства Measurement Specialities. В частности в большинстве современных контроллеров для мультикоптеров именно он пришел на смену BMP085, и дает намного большую точность удержания высоты + устойчивость к изменению температуры и набегающим потокам. Было бы интересно посмотреть на объективное сравнение на низком уровне.
Тестировал с тем что было под рукой. Между прочим, когда брал BMP085, глаз пал и на этот датчик. Тогда характеристики были действительно впечатляющими, но и цена кусалась. К сожалению я его так и не приобрел.
Очень информативно, хороший допник к даташиту. Спасибо.

P.S. Не могли m-файл матлабовский выложить.
Да без проблем. В нем нет ничего особенного.

Собственно код:
i = 1;
s=serial('COM2');
fopen(s);
figure(1);
while(1)
    T_BMP085(i) = fread(s,1,'int32')/10;
    P_BMP085(i) = fread(s,1,'uint32')/100;
    
    T_HP203B(i) = fread(s,1,'int32')/100;
    P_HP203B(i) = fread(s,1,'uint32')/100;
    H_HP203B(i) = fread(s,1,'int32')/100;
    
    T_HP203C(i) = fread(s,1,'int32')/100;
    P_HP203C(i) = fread(s,1,'uint32')/100;
    H_HP203C(i) = fread(s,1,'int32')/100;
    
    t(i)=datenum(clock);
    
    subplot(3,1,1);
    plot(t, T_HP203B, 'b',t, T_HP203C, 'r', t, T_BMP085, 'g');
    ylim([-10,30])
    datetick('x',15)
    xlabel('Время, ЧЧ:ММ')
    ylabel('Температура, С')
    grid on
    title('Температура')
    legend('HP203B','HP203C','BMP085')
    
    subplot(3,1,2);
    plot(t, P_HP203B, 'b', t, P_HP203C, 'r', t, P_BMP085, 'g');
    ylim([950,1025]);
    datetick('x',15)
    xlabel('Время, ЧЧ:ММ')
    ylabel('Давление, гПа')
    grid on
     title('Давление')
    legend('HP203B','HP203C','BMP085')
    
    subplot(3,1,3);
    plot(t, H_HP203B, 'b', t, H_HP203C, 'r');
    ylim([-50,250]);
    datetick('x',15)
    xlabel('Время, ЧЧ:ММ')
    ylabel('Высота, м')
    grid on
     title('Высота')
    legend('HP203B','HP203C')
    
     pause(0.001);
    i = i + 1;
end
grid minor
fclose(s);
delete(s);
%clear f s i ans
clc

А есть ли у китайцев какие-либо датчики чтоб мерили воздух в магистрали компрессора от 0 до 10 атмосфер? В выдачей пригодной для подачи в Arduino?
Да собственно я у HOPE тоже нашел www.hoperf.com/sensor/pressure/HSFXXXX-XX.htm
Датчики абсолютного давления, есть варианта до 10 и до 20 bar. Уже польза, спасибо.
Хочется попробовать сваять систему управления для пневмы в авто.
Хору, кстати, неплохое получилось, не минусуйте его так уж рьяно.
А есть что-нибудь подобное, что измеряло бы разницу давлений в двух емкостях, т.е. относительно атмосферного? Без привлечения второго датчика.
Например, высоту столба жидкости. Точности такого датчика вполне хватает для сантиметровых значений уровня. А вот атмосферное давление колеблется естественным образом, и нужно учитывать эти колебания, чтобы вычитать их из показаний.
Ну теперь ясна задача. Но подобных датчиков лично я не встречал. Да и эти не совсем они подходят для этого. Для водонепроницаемого датчика заявленная точность гарантирована в диапазоне до 1100 гПа. А теперь представьте что атмосферное составляет 1000 гПа. Имеем запас в 100 гПа или в 10000 Па, что соответствует высоте в 10000Па/(1000кг/м^3 * 10 м/с^2)=1м. Тоесть с заявленой точностью имеем возможность измерить до 1м столба воды, а дальше не понятно какой разброс. Даже если взять overpressure который составляет 2 атм и предположить что точность распотраняется до этого значения, Вы сможете измерить до 8м водяного столба максимум.
А для бытового применения больше метра и не нужно. Уровнеметры в баках всяких, например, или в аквариуме. Редко когда это больше метра.
Если взглянуть на мои графики, станет видно что максимум давления был 1020 гПа. Я живу на высоте 200 м над уровнем моря. На уровне моря это давление будет больше. А подскочить оно может и до 1080 гПа, тогда запаса будет всего 20 см. Но это с заявленной точностью. Не думаю что после 1100 гПа случается нечто экстраординарное, поэтому для аквариума сойдет.
Мелковатые графики. Но из того, что я разглядел, реальная разрядность датчиков — около 10-11 бит. Так?

// а, в табличке с характеристиками примерно то же самое. Т.е. реально около 10 бит. А зачем писать 24-битные?
Потому что внутри используется 24-битное АЦП. А что касается реальности, то во-первых, шумы, включая тепловые, никто не отменял. И их уровень вполне себе может занимать первые несколько разрядов. А во вторых, динамический диапазон АЦП больше чем диапазон входных данных.
А для того чтобы посчитать выходную разрядность возьмем максимальное значение показаний в 1200 гПа и разделим на разрешающую способность в 0.01 гПа, итого получим 120000 попугаев. Для того чтобы оцифровать эту цифру двоичным кодом необходима разрядность в log(120000)/log(2) = 16.87 бит. Тоесть 17 бит.
Полноразмерные графики вы можете открыть в новой вкладке, кликнув по ним правой кнопки мыши и выбрав соответствующее меню.
а Omrom Absolute Pressure Sensor не рассматривали или он из другой оперы? Просто широко пиарили его на момент выпуска
ну, про них много материалов, но потом пошёл спад инфы
Скажите, а они позволяют считывать информацию чаще, чем раз в секунду? Скажем, каждую 0.1 сек?
время конвертации зависит от оверсемплинга и чем он выше тем время преобразования больше. При максимальном значении OSR оно составляет 131.1 мс, при минимально возможном — 4.1 мс.
Если датчик BMP085 у нас в проекте уже давно ушел в массы из-за относительной дешевизны и легкой доступности, то вот остальные надо признать в новинку. Реальный профит от новинок есть?
Профит явно в разных аппаратных фичах сенсора, которые могут быть использованны в коптерах, альтиметрах и т.д. Что касается погоды — использовать эти проще, ввиду компенсированого вывода данных, но это для ленивых программистов. Нужно также обращать внимание на другие фичи, например потребляемая мощность, если девайс мобильный, размеры. BMP085 пыле- и влагонезащищен, например, в отличии от HP206C. А если просто выводить значение текущего давления, то с этим и BMP085 справляется неплохо, при прочих равных.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.