- Лоботрясы

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

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

Статьи по AVR

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



    Дата-логгер с дисплеем - Version 1.0
Просмотров: 2448
     Очередная попытка (удачная или нет?) довести уже рабочее и проверенное решение до совершенства. Иными словами - перфекционизм в его явном виде. Просто решил посмотреть - каких ещё плюшек можно добавить к процедуре сбора аналоговых данных. Результат таков - помимо индикации текущего времени, размера свободного места на карте памяти (дабы не загружать контроллер лишними расчётами, обновление значения свободного места на карточке происходит при включении устройства и по окончании записи файла), имени рабочего файла (в который идёт запись данных) и режимов настройки, было реализовано отображение измеренного аналогового сигнала (от 0 до 5 Вольт) в виде графиков. В качестве основы для этой реализации логгера была использована первая версия программы - Дата-логгер v 1.1. Но в обилии новых фич кроется и ложка дёгтя - так как был применён всё тот же ATmega32 с его астрономическим объёмом памяти, то для возможности впихнуть новый вариант кода пришлось отказаться от четырёх каналов измерения. Печатную плату на данный проект я ещё не делал, т.к., во-первых, ещё полностью не представляю всех тех возможностей, которых хотел бы видеть от данного приборчика, а во-вторых, ещё толком не решил, каким образом осуществить его питание - от аккумулятора от мобильного телефона (с парочкой импульсных блоков питания для, собственно, контроллера и подсветки дисплея) или от адаптера на 12 Вольт, правда об автономности в этом случае говорить не приходится... В качестве дисплея был выбран LPH9157-2 (такого сокровища у меня достаточно...).
     Электрические схемы основной платы и блока питания на данный момент получились такими:
     А теперь наглядный результат того, чего можно добиться, пропустив пару пивных бунтов с друзьями и послав на пару-тройку дней близких родственников к чёрту...     
     При включении приборчика, если всё тип-топ, то можно увидеть картинку слева. Если длительно нажать кнопку SB2, то приборчик перейдёт в режим настройки - картинка справа:
     Теперь, нажимая кнопку SB1 для выбора и SB2 для установки параметра, устанавливаем время, дату и интервал времени измерения каналов АЦП (на рисунке - интервал измерения 2 секунды).
     Следующая пара рисунков показывает процесс записи (включается кнопочкой SB1) и результат её успешного завершения (та же кнопочка). Каналы АЦП я специально оставил висящими в воздухе, в результате чего на дисплее появилась такая вот приятная синусоидальная хреньпомеха. Окно для графиков имеет ширину в 60 пикселей, а высоту - в 100 пикселей. То есть, каждый пиксель по ширине представляет собой заданный в настройках конфигурации интервал времени (по умолчанию - 10 секунд), а каждый пиксель по высоте - это 0,1 Вольт (вершина окна - это 5 Вольт).
     Полностью координатную сеточку делать не стал (ограничился только рисками по оси Х и У), т.к. маленькая скорость ввода данных по интерфейсу SPI в дисплей приводит к заметному и неэстетичному обновлению картинки (выжимал, всё что мог!).
     А вот если при запуске схемы звёзды у вас не сложились, то логгер вас об этом порадует в такой форме:
     Фьюзы на контроллер аналогичны предыдущим вариантам дата-логгеров, поэтому приводить лишний раз их не буду. Ах, да! Ещё дополнительно нужно отключить JTAG-интерфейс, сбросив бит JTAGEN!
     Логичным решением было бы объединение функционала обоих вариантов прошивок - V1.1 и V2.0, но ATmega32, увы, не резиновый! Поэтому пока остановлюсь на первом варианте программы с возможностью задания временных интервалов измерения аналоговых сигналов.
     К тому же, на данном этапе работу по доводке шайтан-машины на некоторое время сворачиваю, т.к. появились более приоритетные идеи, а муза - вещь (или баба?) капризная... Так что ковыряйтесь в исходнике на свой страх и риск (я уже сам начинаю забывать, что там и к чему :-)


     Скачать:

Опубликовано 17.01.2015
©Igoryosha, 2015
 
 
Назад к содержимому | Назад к главному меню