Муфты электромонтажные от производителя Fucon

Система сбора аналоговых данных на базе ATmega8

В статье рассматривается простая многоканальная система сбора данных о температуре, которая подключается к персональному компьютеру. Аппаратная часть имеет простую конструкцию, в основе – микроконтроллер Atmel AVR ATmega8.

Технология правильного хранения аккумуляторов и батареек по рекомендациям FANSO и EVE Energy

Программная часть – это достаточно функциональная программа для персонального компьютера с графическим пользовательским интерфейсом и большим количеством настроек.

Система сбора данных о температуре

Данные на ПК передаются по последовательному интерфейсу RS232, однако пользователи могут использовать мост USB-RS232 для подключения аппаратной части по интерфейсу USB (создание виртуального COM-порта).

Рассмотрим аппаратную часть

Микроконтроллер ATmega8 имеет встроенный многоканальный 10-битный АЦП. Используемые датчики температуры LM335 подключаются к аналоговым входам АЦП микроконтроллера. Следует заметить, что ATmega8 в корпусном исполнении DIP имеет 6 каналов АЦП, а ATmega8 в корпусе TQFP – имеет 8 каналов АЦП.

Для измерения температуры используются прецизионные датчики температуры LM335 – недорогие температурные чувствительные элементы с диапазоном от –40 °C до +100 °C и точностью в 1 °C. Фактически, LM335 – это стабилитрон с нормированным Температурным Коэффициентом Напряжения (ТКU =10 мВ/K). Т.е. изменение температуры датчика на 1 градус ведет к изменению напряжения на 10 мВ.

Прецизионный датчик температуры LM335

Схема включения (соответствует типовой схеме включения стабилитрона):

Типовая схема включения датчика LM335

Задавая ток через датчик в диапазоне от 0.45 мА до 5 мА (резистором R1), получаем напряжение на датчике, которое в десятках мВ представляет абсолютную температуру в градусах Кельвина.

Потенциометр, подключенный к выводу ADJ, используется для калибровки датчика при известной температуре, к примеру 2.98 В при температуре 25 °С.

Принципиальная схема аппаратной части системы сбора данных

Принципиальная схема системы сбора данных о температуре
Кликните для увеличения

Основная задача микроконтроллера – чтение данных АЦП по команде ПК и передача их по интерфейсу RS232. Рабочая частота микроконтроллера задается кварцевым резонатором 8 МГц, однако возможно использование внутреннего осциллятора 8 МГц. Возможно использование любого микроконтроллера AVR, но потребуется корректировка исходного кода программы микроконтроллера.

Для подключения микроконтроллера к ПК по последовательному интерфейсу используется специализированная микросхема MAX232 в стандартном включении. Для передачи данных используется встроенный в микроконтроллер аппаратный USART (универсальный синхронно-асинхронный приемопередатчик).

Программная часть

Отличительные особенности программы для ПК:

  • возможность настройки интервалов чтения данных;
  • просмотр в реальном времени графиков;
  • запись, сохранение и открытие сохраненных данных;
  • режим статического чтения, возможность распечатки результатов и графиков;
  • возможность ручного управления последовательной передачей данных.

Вид окна программы системы сбора данных о температуре

Программа для сбора данных о температуре

Передача данных от аппаратной части в компьютер осуществляется по следующему протоколу:

  • При первоначальном подключении к плате контроллера, после открытия последовательного порта, компьютер пытается установить связь с контроллером. Компьютер посылает символ «>» (0x3E), микроконтроллер в ответ должен повторить данную команду.
     
  • После того, как соединение установлено, мы можем посылать команды микроконтроллеру. Команда чтения данных АЦП – компьютер посылает символ «r» (0x72), ответ микроконтроллера на команду чтения данных будет выглядеть следующим образом: « D» + 2 байта (канал АЦП 0) + 2 байта (канал АЦП 1) + … +2 байта (канал АЦП 7). Всего будет передано 18 байт. Данные 16-битные (10-битное разрешение АЦП), старший байт передается первым.

Программа микроконтроллера написана на ассемблере. В основном цикле программы осуществляется прием данных от компьютера по последовательному порту. Параметры последовательного порта: скорость передачи данных 19200, 8 байт данных, без проверки четности, 1 стоп-бит. Исходный код хорошо закомментирован, пользователи могут модифицировать исходный код для своих нужд и задач.

Загрузки

Программа микроконтроллера (исходный код, hex-файл) – скачать
Программа для ПК – скачать

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

На английском языке: Data Acquisition System using ATmega8

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • При запуске выдаёт ошибку и закрывается ?
  • Проверил на XP SP3, запускается нормально без ошибок. Пытается даже подключиться по RS232 к схеме сбора данных, основные функции работают.
  • Есть ли ньюансы из какой папки запускать верхнюю программу( или что-то необычное)? У меня проц. крутится, конекта низа и верха нету!!! Кто что посоветует?
  • Как то не совсем понятно вы изъяснили проблему... Какой проц "крутится"? Как понять "коннекта низа и верха"? PS: или один я не понял...
  • Была проблема по конекту, связь уже появилась. запись не работает. Вы полностью повторяли и проверяли весь девайс и компьютерную программу? Все работает или есть проблемы?
  • Нет, сей девайс я не повторял, я лишь проверил что программа запускается и работает, к сожалению...
  • Там самое интересное происходит после нажати кнопок "конект" и "запись"..... :-)
  • здравствуйте, при запуске программы на пк, при нажатии на кнопку Connect, пишет внизу Try to connect... , и никаких результатов. В чём может быть проблема?
  • Проверяйте аппаратную часть (монтаж, схема), подключение микроконтроллера к интерфейсу RS232. Проверяйте схему преобразователя уровней на MAX232...
  • Уважаемые Господа! Стоит задача собирать данные с 4-х аналоговых датчиков, посему была выбрана данная схема. 1. Собрал данную схему на макетной плате [url]http://oakbluffclassifieds.com/Household-Goods/Atmel-avr-prototype-board-ATMEGA8-88-with-components.aspx[/url] 2. Прошил с помощью SDK200 (Pony Prog не ругалась) 3. Подключил через USB-RS232b переходник 4. Запусти Программу, но прога пишет "Try to connect" В связи с этим подскажите: 1. Назначение светодиода в данной схеме, когда он должен подавать признаки жизни 2. MAX 232 обязательно ли должна использоваться связка T1R1 или можно использовать T1R2 Заранее благодарен
  • Приветствую! Если нажимал "конект" - тогда у тебя проблемы с ком портом или на микроконтроллере или компе. Светодиод моргает при обмене данными. МАХ232 можно использовать так как ты хочешь- работает даже атмеловская схема на 2 транзисторах. Но прога на компе глючная очччень. Так что если не бедет работать- не сильно переживай....
  • Уважаемый Ingenirvn! Спасибо за Ваш ответ! Если прога на комп глючная, может порекомендуете какое-нибудь решение для поставленной задачи (4-е аналоговых датчика тензодатчик, 3-и оптических), а то конно-балетное училище не позволяет мне быстро разобраться в проблеме. С уважением, AlexMell++
  • Схема на меге8 тебе подойдет только не дип корпус, а tqfp- т.к. в нем 8-канальный ацп. На комп прогу нужно будет писать(или искать кто напишет)
  • Балетно-конное это какое и где?
  • Это типа - не специалист в данной отрасли
  • Вы где находитесь?
  • Приветствую. Можно узнать первоисточник статьи, это ведь перевод? Хочу попытаться найти исходники программы для пк.
  • Первоисточник: [url]http://www.kmitl.ac.th/~kswichit/PLogger/index.html[/url]
  • Не могу подконектиться к ПК в чем может быть проблема? светодиод не светит, в программе пишет try conect. Moжет что со фюзами нетак ?
  • У кого прибор завелся и поднял связь с программой, подскажите, пожалуйста, набор фьюз-бит.
Полный вариант обсуждения »