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

Шаг №16. Контроллер сбора данных на AVR. План работы. Часть 1

Обновлено 7.04.15. Всем привет. В прошлой статье мы собрали контроллер ЧПУ. В этой статье мы с Вами начнем проект по созданию контроллера сбора и передачи данных на AVR. Целью проекта является приобретение практических навыков по работе с периферийным оборудованием. Также в ходе проекта рассмотрим более детально протоколы и интерфейсы, которые будем использовать, используя язык Си, а именно SPI, TWI, UART, 1-Wire. Проект начнем с составления плана, визуального представления самого устройства, проектирования платы, разводки платы и ее изготовления, используя метод ЛУТ.

Итак начнем с цели. Для себя я представил, что это будет небольшая плата, которая будет на себе компактно размещать контроллер и периферию, а именно контроллер из себя будет представлять связку следующих устройств : Микроконтроллер ATmega8, четырех семи сегментный индикатор, карточка SD, датчики температуры цифровые , аналоговые, датчик влажности DHT11, микросхема DS1307 (часы реального времени) интерфейс UART для передачи данных на компьютер.

 

Данное устрКонтроллер сбора данных на AVRойство будет производить измерение температуры от двух и более датчиков ds18b20, измерение влажности/температуры цифровым датчиком DHT11. Эти данные будут заносится, несколько раз в суток, запись будет происходить по времени DS1307, на карту SD. При необходимости будет производится передача данных на компьютер, через UART. В будущем плата модернизируется. Но на данном этапе постараемся достичь поставленой задачи.

Для достижения данной цели составим план работ:

Разводка платы. Метод ЛУТ. 1. Спроектируем плату, используя программу Sprint-layot. Изготовим  экспериментальную плату используя метод ЛУТ. Произведем монтаж элементов на плату. Статья №17.

 

DS18B20 и AVR. Выводим температуру на индикатор. 2. Подключим семи сегментный индикатор и выведем температуру от двух цифровых датчиков ds18b20 (Статья №18). Настроим. На данном этапе, используем программу из статьи №5 (Семи сегментный индикатор) и №6 (ds18b20 и 1-wire).

 

Карта памяти SD и AVR. Подключение. 3. Подключим карту SD. Произведем наладку(Статья №24). Разберем интерфейс SPI. Произведем простейшие операции чтения/записи с помощью микроконтроллера avr.(Статья №19). Используем программу WinHex для просмотра содержимого ячеек памяти.

 

Датчик влажности DHT11. 4. Подключим цифровой датчик влажности/температуры DHT11.  Рассмотрим техническую документацию. Напишем алгоритм на Си. Сравним экспериментально значения. Выведем значения на индикатор. Статья №20.

 

Создание библиотек на СИ. 5. Разобьём весь наш код на библиотеки. Рассмотрим основные правила создания заголовков файлов.h. Рассмотрим утилиту avr-size (для мониторинга размера используемой памяти микроконтроллером). Интегрируем код ds18b20 dht11 и семи сегментного индикатора в микроконтроллер. Здесь же исходники. Статья №21.

Файловая система для AVR. 6. Познакомимся с файловой системой Petit FatFs(Статья №22). Применим ее для записи данных на карту SD. Проведем эксперименты с записью и сохранением данных на карту памяти SD (Статья №23).

 

Интерфейс TWI. 7. Познакомимся с интерфейсом TWI (последовательный двухпроводный интерфейс). Принцип работы. А также аппаратную часть микроконтроллера, отвечающую за работу этого интерфейса. Статья №28.

 

Часы реального времени DS1307. 8. Настроим часы DS1307 (Cтатья №29). Конвертируем формат BCD. Выведем результат на индикатор(Статья №30).

9. Подведем итог (Статья №31). К исходникам из пункта 5 добавлен код часов DS1307.

На этом все. В следующей статье начнем проектирование и изготовление экспериментальной платы контроллера сбора данных. Всем пока.

Просмотрено 3014 раз.

Я на Google+

Шаг №16. Контроллер сбора данных на AVR. План работы. Часть 1: Один комментарий

  1. Интересное руководство. Спасибо за пошаговый сбор устройство и написания программы.

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting