Компьютерные системы и комплексы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Компьютерные системы и комплексы



РТУ МИРЭА

Колледж приборостроения и информационных технологий

 


КУРСОВОЙ ПРОЕКТ

 

СПЕЦИАЛЬНОСТЬ 09.02.01

Компьютерные системы и комплексы

на тему:

«Разработка программного обеспечения модели диспенсера корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino»

        

Выполнил студент

группы  ЩККО-04-17 (КС-44) 

                    Н.А.Макаров

            подпись                                ФИО студента

Руководитель

                    И.Б.Тот          

             подпись                        ФИО руководителя

 

 

Москва 2021

ЗАДАНИЕ

на курсовой проект

студенту 4 курса группы ЩККО-04-17 (КС-44)

по специальности 09.02.01 

"Компьютерные системы и комплексы"

Макарову Никите Алексеевичу

ТЕМА ЗАДАНИЯ: "Разработка программного обеспечения модели диспенсера корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino "

 

Курсовой проект выполняется студентом колледжа в следующем объеме:

 

Техническое задание.

 

I Пояснительная записка

Введение.*

Анализ технического задания.

Исследование существующих решений

1.1 Исследование работы устройств подобного типа.

1.2 Анализ характеристик входных и выходных сигналов.

Анализ аппаратной части разрабатываемого диспенсера корма

2.1 Анализ структурной схемы.

2.2 Анализ функциональной схемы.

Разработка программного обеспечения

3.1 Разработка алгоритма работы устройства.

3.2 Выбор среды разработки ПО.

3.3 Выбор языка программирования.

3.4 Описание переменных и констант.

3.5 Описание модулей программы.

Заключение.

Список использованных источников.

 

II Графическая часть проекта

Лист 1. Структурная схема.

Лист 2. Функциональная схема.

Лист 3. Блок-схема алгоритма.

Приложения

Дата выдачи      19.10.2020

Срок окончания 10.03.2021

Председатель ПЦК Компьютерных и

инфокоммуникационных систем                                        ___________ А.В. Беседин

Руководитель курсового проекта                                   ___________ И.Б.Тот

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

на разработку программного обеспечения модели диспенсера корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino.

Разработать программное обеспечение для устройства «Диспенсер корма для домашних животных с модулем реального времени».

Вычислительной основой устройства должен являться микроконтроллерный модуль Arduino.

Питание устройства должно осуществляться от постоянного источника тока 5В.

Работа устройства:

- основная функция устройства – порционная выдача корма в заданное время;

- для начала работы устройства необходимо подать питание 5В;

- время срабатывания задается с помощью внешних органов управления устройства, его возможно изменить в ходе работы устройства;

- время для модуля реального времени задается вручную с помощью органов управления, его возможно изменить в ходе работы устройства.

Основной модуль программы должен обеспечивать выполнение ряда операций без участия человека, а именно:

- сравнивание заданного вручную времени срабатывания и реального времени;

- управление сервоприводом для выдачи корма.


-

 Руковод.
Тот И.Б.
 Предс. ПЦК
Беседин А.В.  
Изм.
№ докум.
Подпись
    Дата
Лист
У
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А..
Лит.
Листов
30
КПИТ
Разработка программного обеспечения модели диспенсера корма для домашних животных с модулем реального времени на базе микроконтроллерного модуля Arduino
Лист
Пояснительная записка
1
СОДЕРЖАНИЕ

I ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Введение................................................................................................... 2

Анализ технического задания................................................................. 3

1 ИССЛЕДОВАНИЕ СУЩЕСТВУЮЩИХ РЕШЕНИЙ....................... 4

1.1 Исследование работы устройств подобного типа........................ 4

1.2 Анализ характеристик входных и выходных сигналов............... 4

2 АНАЛИЗ АППАРАТНОЙ ЧАСТИ..................................................... 6

2.1 Анализ структурной схемы........................................................... 6

2.2 Анализ функциональной схемы.................................................... 7

3 РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ........................ 12

3.1 Разработка алгоритма работы устройства................................... 12

3.2 Выбор языка программирования................................................. 17

3.3 Выбор среды разработки ПО....................................................... 19

3.4 Описание переменных и констант................................................. 21

3.5 Описание модулей программы..................................................... 23

Заключение............................................................................................... 28

Список используемых источников.......................................................... 29

Анализ структурной схемы

Структурная схема - это совокупность элементарных звеньев объекта и связей между ними, один из видов графической модели. Под элементарным звеном подразумевается часть объекта, системы управления и так далее, которая реализует элементарную функцию.

Структурная схема разрабатываемого устройства будет состоять из 4-х элементарных блоков:

- устройство контроля и управления;

- модуль реального времени;

- сервопривод;

- знакогенерирующий дисплей;

-  питание 5В.

На рисунки 2 представлена структурная схема разрабатываемого устройства.

Рис.2 Структурная схема


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 7
Устройство контроля и управления

В разрабатываемом устройстве за контроль и управление будет отвечать микроконтроллерный модуль. Это плата небольшого размера с собственным процессором и памятью. На плате также есть пара десятков контактов, к которым можно подключать всевозможные компоненты: световые индикаторы, различные датчики, модули, моторы, дисплеи. В процессор микроконтроллера загружается программа, которая будет управлять всеми этими устройствами по заданному алгоритму.

Модуль реального времени

Модуль реального времени – это плата содержащая, одну из следующих микросхем DS1307, DS1302, DS3231.

Кроме того, на плате располагаются отсек для батарейки типа LIR2032, и 6 контактов подключения. Такие модуль часто применяется для учета времени, даты, дня недели и других временных параметров.

Сервопривод

Сервопривод - устройство с электрическим мотором, которое можно повернуть на определенный угол и оставить в этом положении на определенное время.

Знакогенерирующий дисплей

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

Анализ функциональной схемы

Схема электрическая функциональная – схема разъясняющая определенные процессы, протекающие в отдельных функциональных цепях изделия или в изделии в целом. Данными схемами пользуются для изучения принципов работы изделий, а также при их наладке, контроле и ремонте.

 

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 8
Проектируемое устройство состоит из следующих функциональных узлов:

- Arduino Nano;

- модуль реального времени DS3231;

- сервопривод MG90S;

- LCD дисплей 1602;

- модуль I2C.

На рисунки 3 представлена функциональная схема разрабатываемого устройства.

 

Рис.3 Функциональная схема

 

Arduino Nano

    Arduino Nano (рисунок 4) - компактная платформа для прототипирования микроэлектронных устройств, предназначенная для использования с макетной платой.

Рис.4 Микроконтроллерный модуль Arduino Nano

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 9
Основа микроконтроллерного модуля Arduino Nano - ATmega328, логическая микросхема для обработки данных с тактовой частотой 16 МГц, имеющая на борту 8 аналоговых и 14 цифровых контактов общего назначения, а также интерфейсы: I2C, SPI и UART.

LCD дисплей 1602

Жидкокристаллический дисплей (Liquid Crystal Display) сокращенно LCD построен на технологии жидких кристаллов. При проектировании устройства, требовалось недорогое устройство для отображения информации. Из доступных LCD дисплеев, наиболее часто используемой является LCD 1602, который может отображать ASCII символа в 2 строки (16 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей.

Рис.7 LCD-дисплей

LCD 1602 (рисунок 7) представляет собой электронный модуль, основанный на драйвере HD44780 от Hitachi. LCD1602 имеет 16 контактов и может работать в 4-битном режиме (с использованием только 4 линии
Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 11
данных) или 8-битном режиме (с использованием всех 8 строк данных), так же можно использовать интерфейс I2C.

Модуль I 2C

Поскольку количество контактов на контроллерах Arduino ограничено и часто при использовании различных датчиков и модулей они заканчиваются, появляется необходимость в их экономии, для этих случай разработан этот модуль, с его помощью можно реализовать передачу по двум контактам (SDA и SCL).

Рис.8 Модуль I2C

Модуль I2C (рисунок 8) позволяет уменьшить количество используемых выводов, вместо 16 соединений, требуется только 2 (SDA и SCL).

Питание 5В.

    Питание будет осуществляется блоком питания, преобразующим 220 вольт переменного тока в 5 вольт постоянного с выходом mini USB.


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 12
3 РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Выбор среды разработки ПО

Среда разработки программного обеспечения является объединением программных средств, предназначена для написания программных продуктов. Среда разработки включает в свое содержание: компилятор, интерпретатор, отладчик, средства автоматизации сборки, а также редактор текста.

WinAVR

WinARV (рисунок 12) – это мощная среда разработки с открытым исходным кодом, созданная с целью написания программ для микроконтроллеров серии AVR от компании Atmel.WinAVR состоит из GNU
Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 20
GCC компилятора, поддерживающего языки C, C+ и Objective-C, обеспечивая полный цикл разработки для AVR/AVR32 и дополнительных инструментов, каждый из которых выполняет определенную задачу, помогая написанию программного обеспечения для микроконтроллеров. Наиболее важные из них:

- Programmers Notepad – текстовый редактор для создания программ;

- AVR-LibC – библиотека микроконтроллеров AVR;

- AVRDUDE утилита, предназначенная для программирования микросхем и использующая SPI-интерфейс;

- GNU Debugger (GDB) – отладчик с командной строкой;

- Insight – отладчик с графическим интерфейсом;

- Simulavr – симулятор микроконтроллеров AVR с поддержкой отладчика GDB;

- SRecord – целый набор утилит для работы с загрузочными файлам EPROM разных форматов.

Рис.12 Среда разработки WinAVR

WinAVR обладает обширной документацией, что упрощает работу и позволяет быстро решать возникающие вопросы в процессе разработки. Программный код у WinAVR имеет простой вид и схожий с языками C. Среди недостатков – отсутствие настройки аппаратуры AVR с помощью исходного кода и интерфейса с другими устройствами.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 21
WinAVR может объединяться с фирменным программным обеспечением микроконтроллеров Atmel Studio.

Вместе эти пакеты позволяют проводить разработку и интуитивную отладку программ, поддерживая все возможности чипов Atmel.

Arduino IDE

Это программное обеспечение, позволяющее писать программы (скетчи) для платформы Arduino. В Arduino IDE (рисунок 13) используется С-подобный язык программирования, так же для устройств, подключаемых к платформе Arduino используются различные библиотеки, которые можно подключать через программный код в среде разработки.

Рис.13 Среда разработки Arduino IDE

Описание модулей программы

Функция (модуль) – часть программы, имеющая своё название и выполняющая заданную задачу. Большая программа может строиться из нескольких функций, каждая из которых выполняет свою задачу.

Использование функций очень сильно упрощает написание и чтение кода, и в большинстве случаев делает его оптимальным по объёму занимаемой памяти.

Функция должна быть описана, и после этого может вызываться. Функция должна быть описана вне других функций.

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 24
В программном коде разрабатываемого устройства используются следующие функции:

Функция setup() (рисунок 14) выполняется один раз при загрузке микроконтроллера. В этой функции описывается режимы работы контактов, а также инициализация подключенный дополнительных модулей.

Рис.14 Функция setup()

Функция loop() (рисунок 15) выполняется непрерывно, в ней выполняется вывод времени на LCD дисплей, а также выполняются функции проверка совпадения времен и отображения времени.

Рис.15 Функция loop()

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 25
Функция time_date() (рисунок 16) вызывается из функции loop() для отображает на главном экране текущее время и время срабатывания.

Рис.16 Функция time_date()

Функция set_time() (рисунок 17) отображает меню настройки меняю для модуля реального времени, из этой функции вызывается функции настройки часов, минут и секунд.

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 26

Рис.17 Функция set_time()

Функция hours()(рисунок 18) вызывается из функции set_time(), в ней настраивается значение часов для модуля реального времени.

Рис.18 Функция hours()

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 27
В программном коде также имеются функции minuts() и seconds() их работа схожа с hours(), но они вводят значения для минут и секунд модуля реального времени соответственно.

Функция настройки времени срабатывания обозначения как set_alarm() она работает схожим образом с set_time(), но из нее вызываются функции hours_a(), minuts_a() и seconds_a(), в этих функциях выполняется настройка значений для часов, минут и секунд времени срабатывания соответственно, но введенные значения записываются в память устройства, а не в модуль реального времени.

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

Рис.19 Функция feed_time()

Функция check_alarm() (рисунок 20) выполняет проверку совпадения реального времени и времени, заданного вручную.

Рис.20 Функция hours()


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 28
ЗАКЛЮЧЕНИЕ

    В курсовом проекте было разработано программное обеспечение для спроектированной модели устройства под названием «Диспенсер корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino»

    Было про проанализировано техническое задание, в соответствии с которым было выполнена работа.

    Принцип работы устройства основан на сравнение времени полученного от модуля реального времени, а также времени выдачи, которые введен вручную с помощью элементов управления.

В курсовом проекте были разработаны структурная и функциональная схемы, подобрана элементная база устройства, рассмотрены языки и среды программирования, разработана блок-схема алгоритма работы устройства, написан программный код, а также были описаны константы и переменные, используемые в программном коде, и описана работа функций программного кода.


 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
КП-09.02.01.КС44.09.03.21 ПЗ  
 Разраб.
Макаров Н.А.
 29
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНОИКВ

1. Баранов В.Н. Применение микроконтроллеров: схемы, алгоритмы, программы. – М.: Додэка-XXI, 2014. – 288 с

2. Бродин В.Б. Микроконтроллеры. Архитектура, программирование, интерфейс. - М.: ЭКОМ, 2015. – 400 с.

3. Магда Ю.С. Современные микроконтроллеры. Архитектура, программирование, разработка устройств / Ю.С. Магда. – М.: ДМК, 2014. – 228 с.

4. Мержи И.В. Практическое руководство по логическим микросхемам и цифровой схемотехнике – М.: НТ Пресс 2017. – 256 с.

5. Монк С. Программируем Arduino: Основы работы со скетчами. – СПб.: Питер, 2016. – 176 с.

6. Петин В.А. Проекты с использованием контроллера Arduino. – СПб.: БХВ-Петербург, 2014. – 400 с.

7. Черничкин М.Ю. Большая энциклопедия электрика. – М.: Эксмо, 2014. – 272 с.

8.    www.arduino.cc - официальный сайт разработчика микроконтроллерного модуля.

9. www.arduino.ru – русскоязычный сайт по разработке на микроконтроллерном модуля Arduino

10. www.wiki.amperka.ru/продукты:text-lcd-16x2 – описание работы с LCD 1602

11. www.arduinoplus.ru/arduino-servoprivod/ - описание работы с сервоприводом


 

 

II Графическая часть


 

 

Приложения

РТУ МИРЭА

Колледж приборостроения и информационных технологий

 


КУРСОВОЙ ПРОЕКТ

 

СПЕЦИАЛЬНОСТЬ 09.02.01

Компьютерные системы и комплексы

на тему:

«Разработка программного обеспечения модели диспенсера корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino»

        

Выполнил студент

группы  ЩККО-04-17 (КС-44) 

                    Н.А.Макаров

            подпись                                ФИО студента

Руководитель

                    И.Б.Тот          

             подпись                        ФИО руководителя

 

 

Москва 2021

ЗАДАНИЕ

на курсовой проект

студенту 4 курса группы ЩККО-04-17 (КС-44)

по специальности 09.02.01 

"Компьютерные системы и комплексы"

Макарову Никите Алексеевичу

ТЕМА ЗАДАНИЯ: "Разработка программного обеспечения модели диспенсера корма для домашних животных с модулем реального времени на основе микроконтроллерного модуля Arduino "

 

Курсовой проект выполняется студентом колледжа в следующем объеме:

 

Техническое задание.

 

I Пояснительная записка

Введение.*

Анализ технического задания.



Поделиться:


Последнее изменение этой страницы: 2021-05-12; просмотров: 198; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.36.10 (0.107 с.)