ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL
РадиоЛоцман - Все об электронике

Freescale выпускает барометр и термодатчик с цифровым интерфейсом в одном корпусе

Freescale MPL115A

Компания Freescale Semiconductor выпустила новый датчик давления с цифровым выходом MPL115A для недорогих приложений, где требуется измерение атмосферного давления.

MPL115A

Микросхема содержит встроенный MEMS-датчик давления, датчик температуры, АЦП, а также блок цифрового интерфейса I²C или SPI. Во встроенном ПЗУ размещены данные по калибровке давления, которые считываются управляющим контроллером по цифровому интерфейсу для реализации алгоритмов температурной компенсации.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Новый датчик давления предназначен для применения в барометрах, высотомерах, метеостанциях, накопителях на жестком диске, для управления охлаждающими вентиляторами, различными навигационными устройствами, индикаторами утечки разнообразных жидкостей и газов.

Основные параметры MPL115A:

  • Диапазон измеряемых давлений: 50…115 КПа;
  • Точность измерения: 1 КПа;
  • Ток потребления:
    • в спящем режиме 1 мкА;
    • в рабочем режиме 5 мкА (при одном измерении в секунду);
  • Напряжение питания: 2.4…5.5 В;
  • Цифровой интерфейс:
    • SPI (MPL115A1), быстродействие до 8 МГц;
    • I²C (MPL115A2), быстродействие до 400 кГц;
  • Рабочий диапазон температур: -40…+85 ºС;
  • Корпус LGA (3×5×1.2 мм).

MPL115A Block Diagrams

Кликните для увеличения

ЭЛТЕХ

27 предложений от 17 поставщиков
Датчик давления, I2C цифровой, абсолютное давление, 0.11мВ/кПа, 50кПа, 115кПа, 2.375В, 5.5В
MPL115A2
139 ₽
T-electron
Россия и страны СНГ
MPL115A2
253 ₽
Элитан
Россия
MPL115A1
NXP
815 ₽
MPL115A2_10
Freescale
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • Трудно сказать, я не уверен, что все данные считываются правильно. Хотя форматы данных, вроде бы совпадают. Значение давления и тем-ры считываются в 10 битном формате, т.е. последние 6 битов в младшем байте всегда равны 0, значения считываемых коэфф. тоже вроде бы правильные. "Прогнал" программу на ПК, ввел в нее полученные значения , рузультат не совпадает с реальным давлением, оно должно быть примерно 101 кПа.
  • Документ [URL="http://www.rlocman.ru/forum/showpost.php?p=24157&postcount=8"]AN3785.pdf[/URL] смотрели. Все ли пункты и условия выполнены. Т.е. ошибка в расчетах, насколько я понял, аппаратно все работает корректно?
  • К сожалению, я понятия не имею какие реально значения должны считываться из этой микросхемы. Никаких примеров в даташитах нет, кроме этой дурацкой программы. В самом даташите полно не точностей, программа составлена тупо по алгортиму. В ней есть явные несуразицы. С помощью контроллера я просчитать не могу, пришлось переделывать ее под ПК. В результате на выходе получается 400 с копейками, явная ерунда.Что касается интерфейса I2C, то он вроде бы работает нормально, вместо датчика давления я подключал часовую микросхему, считывал показания регистра секунд.Вроде бы тикали....секунды.
  • Да, информации по этому датчику еще мало, новый прибор. Просмотрев документ еще раз, я так понял, что константы компенсации постоянны (т.е. прибор калибруется в заводских условиях), хранятся во внутренней ROM и их нужно лишь один раз считать и затем применять при расчетах. Т.е. с выхода датчика мы получаем «сырые» данные с АЦП. Далее (как по даташиту) значение Pcomp мы получаем (должны получить) в диапазоне от 0 до 1023. В выражение подставляются калибровочные коэффициенты и значение температуры (тоже сырые данные). Значение Pcomp=0 соответствует 50 kPa, значение 1023 – 115 kPa Если вы получали на выходе значение 400 (что это за значение, где на выходе), То вычислив (применительно к диапазону 50 - 115 kPa мы получим 75 kPa, что тоже не внушает доверия... Это так, были рассуждения мои. Как получить и где какие коэфф. я так и не разобрался по даташиту.... Ан нет, разобрался... :) Правильно ли считывали коэффициенты?
  • Прибор калибруется производителем и все компенсирующие коэф. действительно записаны в память. Вот считывать их не необходимости. Все коррекции происходят в самом датчике. на выходе точная инф. Взгляните... [url]http://cache.freescale.com/files/sensors/doc/app_note/AN3785.pdf?fpsp=1[/url]
  • Этот документ уже есть во вложении в этой ветке чуть выше. Однако... по доке утверждается, что Host контроллер выполняет вычисления. Т.е. эти коэфф. используются для применения компенсационного алгоритма к данным поступаемым с АЦП датчика давления/температуры.
  • Рассуждения верные. На выходе датчика действительно должны быть значения в диапазоне 0 - 1023. Коэфф-ты . храняться во вн. ROM. Но вычисдятся должны произв. каждый раз при измерении.Т.к. там учитывается тем-ра. Далее, скоректированное значение давления (т.е. с учетом тем-ры и поправочных коэфф-тов) подставляется в формулу , по которой мы и получаем конечный результат. Проблема в том, что датчик выдает на выходе АЦП примерно 400 (0х1АА), а это в два раза меньше нормы. Дальше, для вычимсления полинома необх 32 битные переменные, а Си компилятор фирмы Keil, с которым я работаю, не поддерживает переменные типа long int. Я пробовал "прогонять" эту программу на ПК , в С++ Билдере, подставлял разные значения от 0 до 1023, на выходе результат все равно не правильный. Из чего я сделал вывод, что считываемые мною данные, все таки, не верны. Хотя форматы считываемых данных совпадают. Это сбивает столку. Сегодня попробую предпринять очередной мозговой штурм. Дело в том что с системой команд мне тоже не все до конца ясно. В приведенных примерах, по моему есть не понятные вещи. Например - [Start],0x60+[W],0x12,0x01,Stop. Не пойму, для чего нужна команда 0х01.
  • Программа расчета тоже написана убого, я меня сложилось впечатление, что ее писал не программмист а была составл. с помощью другой программы.Много лишнего кода.
  • Насчет этой команды 0x01 - мне так же не ясно ее происхождение именно в тексте приведенной программы. Хотя честно признаюсь, что работа с этми датчиком какая-то мудреная. В протоколе I2C для меня остались несколько непонятных моментов.
  • Я вначале решил, что эта команда, использ для временной задержки, т.к. после команты Старт, и до команды Чтение должно пройти 1-3 mSек (в разных дадашитах это время уазано разное), а сейчас у меня возникли сомнения, т.к. 0х01 - это команда чтения мл.байта датчика давления. Что касается протокола I2C вообще, то у меня к нему отношение тоже неоднозначное.В моем МК обе протокола (I2C и SPI), реализованы аппаратно, но протокол I2C реализован на мой взгляд очень неудачно, программная поддержка для него очень сложная, вся обработка происходит в обработчике прерываний, при входе в него, выставляется куча всяких флагов, затем в самом обработчике анализируются комбинации аппаратных флагов плюс программные. К тому же возможны коллизии, поэтому для работы этой шины использ. 2 таймера (второй таймер исп. для контроля за состоянием шины). А это на мой взгдят - очень расточительно. Поэтому я заказал себе новые КИТ наборы KITMPL115A1, думаю что к концу мая я их получу и перейду на шину SPI, там и скорость обмена гораздо выше и программная реализация по проще.
  • ОК, будем ждать результатов. Самому интересно, почему такая неразбериха с датчиком получается.
  • С командой 0х01, разобрался, но в остальном - все по прежнему. Данные считываются не верные. Мне кажется , что с этим датчиком я вляпался..... Такое впечатление, что покупая эти микросхемы, внес свою лепту в восстановления разрушенной ураганами американской экономики в Аризонне.
  • использование датчиков, подобных этому обсуждалось на авиа и парашютных форумах. Может быть Вам удасться "выудить" то туда полезную инф. Вот ссылка на одну из разработок [URL]http://www.avispro.com.ua/doc.php?id=1178[/URL] [URL]http://pdf1.alldatasheet.com/datasheet-pdf/view/226173/ETC2/SMD500.html[/URL] [URL]http://www.sensorica.ru/d1-5b.shtml[/URL]
  • Большое спасибо за ссылки. Некоторые из этих датчиков я встречал в инете. Я зарегистрирован на одном из авиамодельных форумов, авиабазе. Датчики очень неплохие, у них высокая точность, т.к. АЦП - 16 битный. Один недостаток. время преобразования 35-100 мСек. Ну и потом, я уже изрядно потратился на MPL115A2. На выходных протестировал шину I2C, подключив вместо датчика давления, RTC (DS3231). Вывел информацию из МК на ПК, на терминал.Часы работают нормально, время выставляется, к шине нет претензий. На скорости 100 КГц все работает, на 400 не пробовал. Вчера , проанализировав ситуацию, принял окончательное решения перейти на шину SPI. Датчики давления (MPL115A1), под эту шину я уже заказал, к тому же в моем МК для тактирования этой шины не нужен таймер, достаточно имеющегося предделителя. Пока не пришли датчики, буду осваивать SPI, подключу к МК RTC (DS3224). Попробую вначале поработать на скорости 500 кГц, а потом подниму скорость по максимуму. (2-4 МГц)
  • Рад что иф. оказалась полезной для Вас. При работе с датчиком абсолютного давления Honeywell столкнулся с интересным эффектом. Датчик чуствителен к звуку, пришлось поместь в демпфированый объём и использовать цифровой фильтр/интегратор.
  • У меня тоже были подозрения, что эти датчики чувствительные к разного рода воздействиям, вибрации, тем-ре, а тут ещек и звук... Я проверял свои датчики, при нагревании рукой корпуса микросхемы, меняется не только выходное значение тем-ры , но и давления.Кстати, значение тем-ры обратно пропорционально тем-ре
  • Так, для чего команда 0х01, если не секрет?
  • [B][COLOR="black"][COLOR="Blue"]ame50[/COLOR][/COLOR][/B]Что не понятно.....[COLOR="Blue"]Кстати, значение тем-ры обратно пропорционально тем-ре [/COLOR] по подробнее пож... Изменение показаний давления от температуры - два варианта: 1 датчик приводит показние давления к НОРМАЛЬНЫМ УСЛОВИЯМ 2 коррекция "безбожно врёт"
  • Начну по порядку. Насчет команды 0х01. Насколько я понял, микросхема работает как обычная флэшь память, т.е. команда 0х10 ,к примеру, это адрес одноименного регистра управления, для того что бы она возимела действие, туда нужно записать любую информацию. Я пробовал писать 0, 01, 02, 04, 0х12, 0xFF, результат одинаковый. И наоборот, записывая в микросхему просто команду 0х10, запуска АЦП не происходило.
  • Насчет датчика тем-ры. Считываемые значения Тadc, с увеличеним тем-ры - уменьшаются. По поводу коэффициентов. Прогонял программу на ПК, подставляя туда все считынные из МК значения, получается ерунда, 400 KPa. Я подставлял в нее данные Padc от 0 до 1023, результат тот же. к примеру, при значении Padc = 0, на выходе получаю 200 KPa. Подставлял в формулу для расчета давления значения Padc, без учета коэфф. получается слишком низкое давление. decPcomp = ((65.0/1023.0)*437)+50 = 27,77 + 50 = 77,77 KPa. Не думаю, что поправочные коэффициенты, сильно влияют на окончательный результат. Если кому интересно, файл со считынными значениями , прилагаю. Может у кого нибудь появятся мысли.
Полный вариант обсуждения »