- Лоботрясы

Поиск
Перейти к контенту

Главное меню:

Статьи по AVR

Читать в Яндекс.Подписках



    Дата-логгер (регистратор аналоговых данных) - Version 2.0
Просмотров: 3072
     Данная статья является своеобразным переосмыслением первой версии моего Дата-логгера.
     Когда-то, так сказать, для рабочих нужд, я разработал регистратор аналоговых данных (или дата-логгер). Вещичка довольно-таки полезная, особенно для сбора информации об изменении различных аналоговых сигналов в течение промежутка времени. Разрабатывал и доводил её до ума наверное с год. И вроде бы всё отлично работает, и программу вылизал с упрямством упоротого перфекциониста, и даже выдал результат своего воспалённого инженерного мозга на-гора, как нашёлся один товарисч Виталий, читатель первого варианта моей статьи, и предлагает намного лучший и изящный вариант работы программы (ну и естественно самого дата-логгера), отличающийся намного меньшим количеством ненужных записей с одинаковыми данными и более понятной динамикой изменений записанных аналоговых сигналов. Не зря же говорится, что одна голова хорошо, а две - ещё лучше. А змею Горынычу с тремя головами так вообще сообразить на троих не проблема, и искать никого не надо... 
     Полностью повторять предложенный читателем функционал я не стал (я же не промышленный образец всё-таки делаю, а для моих нужд - предостаточно), но взял за основу запись данных не через настраиваемый промежуток времени, а через настраиваемую разницу в показаниях измеренных сигналов.
     Итак, прошу любить и жаловать - Дата-логгер V.2.0
     Как видите, плата осталась без изменений, всё те же восемь каналов для измерений (это для тех, кто читал первый вариант моей статьи) - а чего вы хотели?! Я же только программу изменил!
     А теперь подробно о работе новой версии программы...
     Установка необходимых параметров конфигурации дата-логгера осуществляется также, как и в первой версии программы, через файл конфигурации, который вы можете изменить на компьютере. Это текстовый файл с именем "auto_exe.txt", который автоматически создаётся на карте памяти при первом включении дата-логгера. 
     В этом файле будет присутствовать такая конфигурационная строка: 
HH:MM DD/MM/YY    NNNN
где HH:MM - часы и минуты, DD/MM/YY - день, месяц и год, а NNNN - это шаг напряжения в милливольтах. Если разница напряжений текущего и предыдущего измерений превысит данный диапазон (шаг), только тогда будет происходить запись измеренных данных на карту памяти. Запись будет происходить всех восьми каналов АЦП. Возможный диапазон установки шага напряжения - от 1 до 1000 (соответственно, от 1 мВ до 1 В).
     Например,
12:00 13/11/14    100
     В приведенной строке устанавливается время 12:00, дата 14 ноября 2014 года и шаг напряжения 0,1 Вольт. 
     После начальной установки текущего времени и даты в часах реального времени (DS1307), в файле конфигурации напротив конфигурационной строки установится знак «+», сигнализирующий о том, что время установлено успешно. Это предохраняет от очередной установки времени часов при последующих включениях регистратора.
     Данные сохраняются регистратором на карте памяти SD или MMC емкостью до 32 ГБайт в формате TXT. Карта памяти должна быть с файловой системой FAT. Файл данных имеет вид "DATA000.txt".
     В начале каждого вновь создаваемого файла данных я расположил "шапку", помогающую быстро соориентироваться, где и какая информация записана.
     Это видно на примере ниже, где к первому каналу АЦП (Ch1) я подключил батарейку, а потом через несколько секунд её убрал. Как можете видеть, запись данных происходит только при наличии разницы текущего и предыдущего измерений напряжения (в моём случае стоял шаг изменения напряжения в 0,1 мВ (т.е. цифра 100 в строке конфигурации), поэтому на всякие помехи типа 0,004 В логгер не реагировал). Однако, если даже изменение аналогового сигнала произойдёт только на одном канале АЦП, на карту памяти запишутся результаты всех 8-ми каналов. Я не вижу пока никакого смысла менять внешний вид таблицы с данными (такая вот печаль).
 
 
Назад к содержимому | Назад к главному меню