1 заметка с тегом

LCD

Испытания датчиков для 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 здесь .