2 заметки с тегом

BMP085

«Калибровка» термодатчиков

9 мая 2016, 13:55

Для основной и дополнительной миссий в нашем спутнике CanSat будет использоваться несколько термодатчиков. А именно:

  1. DS18b20 — находится внутри спутника, входит в базовый набор и обязательную миссию;
  2. DS18b20 — будет находится снаружи спутника, входит в дополнительную миссию;
  3. BMP085 — термодатчик в составе датчика давления, будет находится внутри спутника, входит в дополнительную миссию.


    В процессе предварительной работы с датчиками у нас закралось подозрение в точности их настройки, мы решили провести их калибровку.

В качестве идеального термометра мы использовали лабораторный ртутный термометр, с ценой деления 0.2 градуса Цельсия:

Спутник с подключенными термодатчиками, а также ртутный термометр были помещены в «термокамеру», туда же поместили вентилятор для усиления конвекции:

Для понижения температуры в «термокамеру» поместили замороженные овощи. После того как температура опустилась ниже 16-ти градусов по Цельсию, овощи убрали, дождались стабилизации температуры. Затем начали постепенное нагревание с помощью лампы накаливания, яркость которой регулируется реостатом.
Спутник передавал данные по радиоканалу, прием велся на компьютере через терминал. Данные с ртутного термометра снимали вручную. Результаты измерений:

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

Испытания датчиков для CanSat 2016

11 января 2016, 23:33

Наша команда ТОК. Продолжает подготовку к чемпионату CanSat 2016. Мы участвуем в регулярной лиге чемпионата, поэтому обязательно должны использовать конструктор, который предоставляют организаторы.

Поскольку конструктора у нас пока нет, а есть только на половину работающая( об этом дальше) плата с датчиками, было решено для экспериментов использовать имеющийся микроконтроллер Atmega8:

Из датчиков у нас есть

  • цифровой термосенсор DS18B20 (интерфейс 1-wire)
  • еще один термосенсор DS18B20 в защищенном исполнении для наружного применения
  • аналоговый датчик давления MPX5100 (на выходе измеряется напряжение)
  • и цифровой датчик давления, со встроенным датчиком температуры BMP085 (интерфейс I2C)

Идея такая: один термосенсор находится внутри корпуса спутника и используется для основной миссии проекта — измерение зависимости температуры от высоты, второй термосенсор находится снаружи спутника и измеряет температуру воздуха там, затем сравниваем результаты. Точность измерения датчиков, заявленная производителем — 0,0625 С. Аналоговый датчик давления находится внутри спутника. Оба датчика (MPX5100 и DS18B20) смонтированы на одной плате.

Для вывода информации использовали небольшой ЖК дисплей (16х2), который тоже подключили к микроконтроллеру.
Вот схема соединения элементов:

Собрано все было на макетке, так что выглядит не очень презентабельно.

Показания датчиков t1 — «внешний термометр», t2 — «внутренний», t3 — встроенный в BMP085 (он меряет температуру с точностью до десятых градуса). Как видно, показания первого и третьего термометра примерно похожи, а вот второй (который с платы) как-то выбивается из общей массы.

Аналогично с аналоговым датчиком давления, как-то его показания не сходятся с цифровым, откалиброванным на заводе. По показаниям датчика BMP085 с помощью барометрической формулы была рассчитана высота «над уровнем моря». Как видно на первом этаже высота примерно 185 метров, на третьем — 192 метра, что и ожидалось увидеть (разница примерно 7 метров).

Все исходные тексты программы и проект в CodeVisionAVR здесь .