HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL

Портативный автономный логгер температуры, влажности и освещенности. Часть 2

Часть 1

Прошивка микроконтроллера

Программа микроконтроллера написана на Си в компиляторе mikroC PRO PIC компании mikroElektronika. Выбор этого компилятора не случаен: он поддерживает множество микроконтроллеров PIC, постоянно обновляется, предоставляет доступ к огромному числу дополнительных библиотек, примеров приложений и инструментов отладки, иммеет обширную поддержку. Но основной причиной выбора mikroC PRO PIC является библиотека функций для работы с файловой системой FAT32, которая хорошо себя зарекомендовала и максимально упрощает работу с microSD картой памяти. Текущая версия программы микроконтроллера 00D; автор продолжает совершенствовать и оптимизировать  код, и несмотря на то, что версия полностью работоспособна, можно считать, что продукт все еще находится на стадии отладки.

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

Помимо основной задачи обработки и регистрации данных с датчиков, в программе реализован простой пользовательский интерфейс по типу командной строки в терминальной программе (Рисунок 15). С помощью простых команд в терминале пользователь может конфигурировать даталоггер.

Даталоггер: пользовательский интерфейс и командная строка
Рисунок 15. Даталоггер: пользовательский интерфейс и командная
строка в терминальной программе.

Рассмотрим важные моменты программной части.

При подаче питания система конфигурирует порты ввода/вывода и проверяет периферию: последовательные интерфейсы UART/I2C/SPI, состояние часов реального времени и устанавливает время/дату для файлов на карте памяти. Далее считывается ID устройства – параметр, который хранится в энергонезависимой памяти микроконтроллера и идентифицирует даталоггер (Рисунок 15).

Имена файлов на карте памяти формируются как yyyymmdd.ext (год, месяц, день). Начальное расширение для первого файла «000». Для каждого нового дня система создает новый файл с указанным форматом имени; таким образом, каждые 24 часа создается новый файл.

Для системы определяется период обновления и регистрации данных (Update time). Значение данного параметра сохраняется на карте памяти, пользователь может задать его самостоятельно в диапазоне 1 – 999 с. Когда это условие выполняется, микроконтроллер считывает все датчики и параметры системы, а затем выполняет запись этих данных в файл на карте памяти.

С помощью кнопки P1 пользователь может установить маркер данных в файле. Это означает, что при нажатии на кнопку система игнорирует период обновления и выполняет однократное считывание датчиков, обработку и запись данных в файл (Рисунок 16). Кнопка P2 предназначена для ручного создания нового файла данных. Имя файла в этом случае будет таким же, а расширение будет 001, 002, 003 и т.д. Каждое нажатие P2 создает новый файл (Рисунок 17).

Даталоггер: однократная регистрация параметров и маркировка записи в файле данных.
Рисунок 16. Даталоггер: однократная регистрация параметров и
маркировка записи в файле данных.
 
Даталоггер: создание нового файла данных с помощью кнопки P2.
Рисунок 17. Даталоггер: создание нового файла данных с помощью
кнопки P2.

Файлы данных на карте памяти – это обычные текстовые файлы, где каждый параметр разделен символом «;» для упрощения импорта в табличные редакторы или программы подобные Excel (Рисунок 18). Каждая строка файла данных имеет следующую структуру:

  • имя и версия прошивки;
  • идентификатор устройства;
  • период обновления и регистрации данных (update time);
  • дата;
  • время;
  • событие, по которому произведена запись данных (включение, обновление данных по заданному периоду, маркер);
  • напряжение аккумулятора;
  • значение датчика освещенности;
  • значение температуры по датчику DS18B20 (в текущей версии не используется, записывается только имя датчика);
  • значение температуры по датчику HDC1050 (°С);
  • значение относительной влажности с датчика HDC1050 (%);
  • последовательность байтов (зарезервировано для будущих функций).
Даталоггер: формат файла данных.
Рисунок 18. Даталоггер: формат файла данных.

Данные, сохраненные в подобном формате, можно анализировать с помощью табличных редакторов или использовать для построения диаграм и графиков (Рисунок 19).

Даталоггер: график изменения напряжения аккумулятора за 4 дня
Рисунок 19. Даталоггер: график изменения напряжения аккумулятора за 4 дня. 

Настройка и работа с устройством

Как было отмечено выше, пользовательский и отладочный интерфейс реализован в терминальном режиме по последовательному интерфейсу USB-UART. Инициализация устройства, подтверждения и ответы на команды пользователя сопровождаются отправкой сообщений через последовательный порт в терминальную программу.

Для настройки даталоггера необходимо подключить его к ПК или ноутбуку по USB и установить драйвер виртуального COM-порта на микросхеме MCP2221. Далее в любой терминальной программе, нужно выбрать соответствующий последовательный порт, настроить его (9600 бит/с, 8, N, 1), обязательно включить параметр Local Echo, чтобы видеть команды, которые вы отправляете, и выполнить подключение к порту. В текущей версии прошивки даталоггера поддерживаются следующие команды:

  • reset – выполнить программный сброс устройства;
  • set time – установить время (часы и минуты, секунды устанавливаются в 0);
  • set date – установить дату (год, месяц, число, день недели);
  • set update – установить интервал автомтаической регистрации данных (1 – 999 с);
  • set id – установить идентификатор устройства (0-999);
  • temp – выполнить измерение температуры датчиком HDC1050;
  • hr - выполнить измерение относительной влажности датчиком HDC1050;
  • ldr - выполнить измерение освещенности (среднее из 10 преобразований);
  • batt – выполнить измерение аккумулятора (среднее из 10 преобразований);
  • date – текущая дата даталоггера;
  • time – текущее время даталоггера;
  • id – идентификатор устройства;
  • upd – текущий интервал автоматической регистрации данных.

Загрузки

Исходный код и hex-файл прошивки (mikroC PRO PIC) – скачать

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Portable temperature, humidity and light ambient datalogger. Part 2

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя