Диплом: Разработка автоматизированной информационной робототехнической системы для фиксации изображения (на примере ЧОО Во-Ассоциация"ТИЭИ")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
36
- Степень соответствия сетевой архитектуре, отсутствие конфликтов
при работе с ресурсами сети;
Факторы соответствия требованиям защиты информации:
Требования информационной безопасности при внедрении прикладных
программных решений должны учитываться в виде:
- наличия системы разграничения доступа (например, на
административный, гостевой и оперативный);
- наличия системы парольной защиты и регламентация
использования паролей (сложность, периодичность смены и др.);
- возможность проведения экспертизы на наличие
недокументированных возможностей;
- наличия требований к правам пользователя на уровне операционной
системы (необходимо ли обеспечивать права администратора на рабочей
станции при функционировании системы);
- наличия системы автоматического резервного копирования и
восстановления базы данных.
Таким образом, учет каждого и перечисленных факторов позволит
осуществить выбор программного продукта, максимально соответствующего
потребностям ВУЗа.
1.4. Обоснование проектных решений
1.4.1. Обоснование проектных решений по информационному
обеспечению
Информационное обеспечение представлено программой САПР
SolidWorks.
Для примера, что бы определить инерционно-массовых характеристик
создаваемой системы робота (объем, масса, моменты инерции) в среде
SolidWorks необходимо в дереве построения детали выбрать объект «Материал
не указан» и в открывшейся библиотеке указать на нужный материал (рисунок
1.16).
37
Рисунок 1.16 – выбор материала в SolidWorks
Средствами SolidWorks можно рассчитать массу каждой детали, с
достаточно высокой точностью. В связи с чем, данная возможность программы
позволяет определить общую массу сборки деталей.
Таким образом, информационное обеспечение SolidWorks позволяет
определить твердотельную систему робота.
1.4.2. Обоснование проектных решений по программному обеспечению
Проект на плате Arduino требует использование ПО среды Arduino и
использование языка C++.
Сформируем программное управление мобильным роботом с помощью
языка C++. Программный код будет формироваться для платы Arduino [37].
Любая программа в среде Arduino состоит из отдельных блоков. Начало
блока кода в C/C++ обозначается левой фигурной скобкой
{
, его конец - правой
38
фигурной скобкой
}
. Блоки бывают разных видов и какой из них, когда будет
исполняться, зависит от внешних условий. При запуске новой программы в
приложении Arduino появляются 2 блока: void setup( ), void loop( ) (рисунок
1.17). Такие блоки называют определением функции. Функция - это блок кода с
заданным именем. Код программы в среде Arduino так же называют Скетчем
[40].
Рисунок 1.17 – Блоки void setup( ), void loop( ) при первом
запуске программного приложения на Arduino
В данном случае присутствуют две функции с именами setup и loop.
Их присутствие обязательно в любой программе на C++ для Arduino. Они могут
ничего и не делать, как в нашем случае, но должны быть написаны. Иначе на
стадии компиляции будет ошибка.
Функция setup( ) вызывается, когда стартует скетч. Используется для
инициализации переменных, определения режимов работы выводов, запуска
используемых библиотек и т.д. Функция setup запускает только один раз, после
каждой подачи питания или сброса платы Arduino.
39
Функция loop( ) позволяет описывать действия программного кода, и
крутится в цикле, позволяя программе совершать вычисления и реагировать на
них. Используется для активного управления платой Arduino.
При составлении скетча будем использовать тип
данных int (от
англ.
integer - целое число) - один из наиболее часто
используемых типов данных для хранения чисел. Int занимает 2 байта памяти,
и может хранить числа от -32 768 до 32 767.
Arduino компилятор сам заботиться о размещение в памяти и
представление отрицательных чисел, поэтому арифметические действия над
целыми числами производятся как обычно.
Синтаксис при записи данных int выглядит следующим образом:
int var = val;
где
var
- имя переменной;
val
- значение присваиваемое переменной.
Функция pinMode
Вызов осуществляется следующим образом:
pinMode (порт, режим);
Конфигурирует указанный порт на ввод или вывод сигнала. Портномер
порта, режим которого Вы желает установить (значение целого типа от 0 до 13).
Режимлибо INPUT (ввод) либо OUTPUT (вывод).
Пример:
pinMode(13, OUTPUT); //13й вывод будет выходом
pinMode(12, INPUT); //а 12й – входом
Примечание: Аналоговые входы могут использоваться как цифровые
входы/выходы, при обращении к ним по номерам с 14 (аналоговый вход 0) по
19 (аналоговый вход 5).
Функция digitalWrite
Вызов осуществляется следующим образом:
digitalWrite(порт, значение);
40
Устанавливает высокий (HIGH) или низкий (LOW) уровень напряжения
на указанном порте.
Пример:
digitalWrite(13, HIGH); // выставляем 13й вывод в «высокое» состояние
digitalWrite(12,LOW); // выставляем 12й вывод в «низкое» состояние
digitalRead
Вызов осуществляется следующим образом:
value = digitalRead (порт);
Считывает значение на указанном порту
Возвращает текущее значение на порту (HIGH или LOW) типа int
Пример:
int val;
val = digitalRead(12); // опрашиваем 12й вывод
Примечание:
Если к считываемому порту ничего не подключено, то функция
digitalRead ( ) может беспорядочно возвращать значения HIGH или LOW.
Работа со временем с помощью функции delay.
Вызов осуществляется следующим образом: delay(время_мс);
Приостанавливает программу на заданное число миллисекунд. Время_мс
- время задержки программы в миллисекундах.
Пример:
delay(1000); //пауза 1 секунда
delayMicroseconds
Вызов осуществляется следующим образом:
delayMicroseconds(время_мкс);
Приостанавливает программу на заданное число микросекунд. Время_мкс
время задержки программы в микросекундах
Пример: delayMicroseconds(500); //пауза 500 микросекунд
Последовательная передача данных.
41
Arduino имеет встроенный контроллер для последовательной передачи
данных, который может использоваться как для связи между Arduino
устройствами, так и для связи с компьютером. На компьютере
соответствующее соединение представлено USB COM-портом. Связь
происходит по цифровым портам с помощью логических 0 и 1.
1.4.3. Обоснование проектных решений по техническому обеспечению
Техническое обеспечение проекта требует наличие Драйвера двигателя с
его подключением к плате Arduino.
Драйвер двигателя выполнен на базе микросхемы L298N и
представляет собой сдвоенный мостовой драйвер, предназначенный для
управления двигателями постоянного тока и шаговыми двигателями. Данная
микросхема находит очень широкое применение в робототехнике. Одна
микросхема L298N способна управлять двумя двигателями и обеспечивает
максимальную нагрузку до 2А на каждый двигатель, а если задействовать
параллельное включение для одного двигателя, то можно поднять
максимальный ток до 4А.
Электрическая схема устройства мобильного робота показана на
рисунке 1.18.
Рисунок 1.18 – Электрическая схема драйвера двигателя
42
Драйвер двигателя на микросхеме L298N показан на рисунке 1.19.
Рисунок 1.19 – Внешний вид драйвера двигателя на
микросхеме L298N
Драйвер имеет следующие пины подключения: Vccподключение
внешнего питания двигателей; +5 – питание логики; GNDобщий; IN1, IN2,
IN3, IN4 (разъем P4 на схеме) – входы управления двигателями; OUT1,
OUT2 (разъем P2 на схеме) – выход первого двигателя;
OUT3, OUT4 (разъем P3 на схеме) – выход второго двигателя.
Выключатель S1 служит для переключения питания логической части
микросхемы. Т.е. при включенном S1 питание логической части берется от
внутреннего преобразователя модуля. При выключенном S1 питание берется от
внешнего источника.
На модулях также присутствуют перемычки ENA и ENB для
разрешения включения двигателей. Если необходимо, их можно также
подключить к Arduino и задействовать, но это лишние 2 провода и в этих
входах нет особого смысла.
ШИМ управление позволяет плавно изменять скорость вращение
двигателя. Если нам не нужно ШИМ управление, то на соответствующий вход
нужно просто подать логическую 1. На какой именно вход IN1 или IN2 вы
43
подадите сигнал ШИМ, либо направление вращенияразницы не имеет. Тоже
самое справедливо и для входов IN3, IN4.
Схема подключения шилда L298N к контроллеру Arduino показана на
рисунке 1.20.
Рисунок 1.20 – Схема подключения шилда L298N к контроллеру
Arduino
Для питания логической части схемы необходимо нажать кнопку или
вставить перемычку (зависит от типа модуля). Если же на вашем модуле не
предусмотрен преобразователь 5В, то дополнительно, необходимо соединить
вывод 5V от Arduino к входу +5 шилда. Как видно из схемы выше, 2 и 4 вывод
используются для установки направления движения.
44
Глава 2. Проектная часть
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Жизненным циклом ИС считается период формирования и применения
информационной системы, охватывающий различные её состояния, с момента
возникновения необходимости ее реализации и до момента вывода ее из
эксплуатации [9].
В наше время наиболее распространенными стандартами,
регламентирующими вопросы, связанные с реализацией жизненного цикла ИС
считаются [Ошибка! Источник ссылки не найден.]:
ISO 15288 «Standard for Information Technoiogy - System Life Cycle
Processes», ISO 12207 «Standard for Information Technoiogy - Software Life Cycle
Processes»;
- ГОСТ 34 (ГОСТ 34.601-90 «Автоматизированные системы Стадии
создания»).
Стандарт ГОСТ 34.601-90 в масштабе построения и развития
автоматизированных систем считается довольно обобщенным, в то же время
предъявляет жесткие требования к структуре жизненного цикла ИС, а также к
свойствам, содержанию и объемам проектной документации. Сегодня данный
стандарт считают уже устаревшим. Стандарты ISO 15288 и ISO 12207
считаются международными стандартами, которыми регламентируется
структура жизненного цикла. Эти стандарты считаются более современными, в
сравнении с ГОСТом 34. Отличаются данные стандарты тем, что ISO 12207
применяется при разработке только программных продуктов, а стандарт ISO
15288 предназначен для полного анализа автоматизированных систем, включая
аппаратную и программную платформы. По этой причине, в предоставленном
проекте воспользуемся стандартом жизненного цикла ISO 12207.
Имеются такие основные стратегии по внедрению системы [10]:
45
1. Параллельная стратегия, когда осуществляется одновременное
функционирование старой (ручной) и новой систем, и выполняется сравнение
выходных их документов. Если согласование документов занимает длительное
время, то выполняется переход на новую систему.
2. "Скачок". Эта стратегия не рекомендуется, хотя считается
привлекательной.
3. "Пилотный проект". Считается наиболее часто применяемой
стратегией. "Пилотный проект" представляет собой тактику "скачка", но
применяемую к ограниченному количеству процессов. Сфера использования
"Пилотного проекта" - небольшой участок работы. Этот подход считается
наиболее надежным и позволяет снизить риски. Сегодня эту тактику
применяют практически все предприятия.
4. "Узкое место"- считается малой частью технологического процесса. В
случае использования данного похода, план внедрения реализовывается
исключительно для "узкого места" и для сотрудников, которые работают в нем.
Точность данных увеличивается исключительно для изделий в этом "узком
месте"; переподготовка требуется только для сотрудников, которые работают в
нем; анализ эффекта расходов выполняется исключительно для него и т.д.
Стратегией внедрения системы избрана модель "Пилотный проект".
Модель жизненного цикла ИС в себя включает [Ошибка! Источник
ссылки не найден.]:
1. Этапы.
2. Результаты выполнения работ на каждом этапе.
3. Ключевые событияточки окончания работ и выработки
решений.
Этап считается частью процесса создания ИС, ограниченной
установленными временными рамками и завершающаяся выпуском
определенного продукта (документации, программных компонентов, моделей),
определяемого установленными для данного этапа требованиями.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран