создана функция, которая облегчает управление. Для перемещения в задан-
ное место необходимо указать номер сервомотора, необходимый градус,
направление и задержку между каждым шагом. Задержка необходима для плавного или быстрого перемещения сервомотора.
Данные, необходимые для функции поступают в протокол, а для опре-
деления направления используется команда, считающая начальное и требуе-
мое положение сервомотора, если оно отрицательное, то поворачивается в обратную сторону, иначе наоборот. Так же используется параметр скорости поворота, благодаря которому можно регулировать скорость перемещения каждой степени свобод. Алгоритм представлен на рисунке 18.
Рисунок 18 – Алгоритм поворота сервомотора
ВКР. 155510.09.04.04.ПЗ
Изм. Лист № докум. |
Подпись Дата |
Лист
61
Для изменения объёма дозатора была написана функция, позволяющая выполнять данную процедуру. В качестве входного параметра используется только одно число, отвечающее за нужный объём. Далее сравнивается требу-
емое значением со значением, которое хранится в энергонезависимой памя-
ти. Если они совпадают, то действия не требуется, если меньше, то нажима-
ется кнопка для уменьшения, иначе для увеличения объёма дозируемой жид-
кости. После чего происходить запись в энергонезависимую память. Данная процедура отражена на рисунке 19. Пример скетча для ардуино реализующий поворот сервомотора приведен в приложении А.
Для совершения нажатий использовались специальные электронные ключи, благодаря которым появляется возможность управлять кнопками на дозаторе. Поэтому для нажатия любой кнопки необходимо отправить коман-
ду на электронный ключ, также необходимо делать задержки в связи с осо-
бенностью использования данных микросхем.
Рисунок 19 – Алгоритм изменения объёма дозатора.
ВКР. 155510.09.04.04.ПЗ
Изм. Лист № докум. |
Подпись Дата |
Лист
62
В теле самой программ происходит проверка условий на первый вход-
ной ключ, который отвечает за выполнения определенного действия. После определения входных параметров они передаются в функцию и выполняются требуемые операции.
Всего используется шесть различных типов. При получении параметра
«33» выполняется поворот требуемого сервомотора, параметр «44» отвечает за набор определенного количества жидкости на дозаторе. Значение «55»
выполняет нажатие на синюю кнопку, которая является системной на дозато-
ре, параметр «66» производит сброс пипетки, параметр «77» выполняет нажатие на клавишу enter и, используя значение «99», мы можем изменить значение энергонезависимой памяти.
5.5 Принцип работы приложения для компьютера
Основной функционал программ для персонального компьютера со-
стоит в том, чтобы позволить управлять химической лаборатории в реаль-
ном времени, позволять создавать свои алгоритм и воспроизводить ранее написанные.
Так как всё управление происходит через COM порт, каждый раз необходимо указывать в какой именно порт необходимо отправить данные,
в противном случае программа не будет выполнять свой основной функци-
онал. Чтоб узнать номер порта необходимо подключить микроконтроллер и посмотреть в диспетчере устройств номер, к которому привязана платфор-
ма.
Для создания протокола управления микроконтроллером программа производит сбор информации с текстовых полей и формирует пакет, кото-
рый в дальнейшем отправляется на микроконтроллер. Процесс создания и отправления происходит только после нажатия соответствующей кнопки на форме. Таким образом, за раз можно управлять только одним сервомото-
ром. Это позволяет более точно скоординировать положение в простран-
стве.
|
|
Лист |
|
|
ВКР. 155510.09.04.04.ПЗ |
63 |
|
Изм. Лист № докум. Подпись Дата |
|||
|
В качестве считаемых параметров выступает угол поворота и время задержки в миллисекундах. Номер сервомотора присвоен каждой кнопке,
что делает достаточно наглядным процесс управления.
После отправки каждого пакета, он дублируется в специальный лог,
который в дальнейшем можно сохранить и повторить. Помимо этого, мож-
но полностью отчистить лог или поставить метки, а также исправлять ин-
формацию непосредственно в самой программе. Также имеется возмож-
ность оставлять комментарии, что позволяет структурировать полученные алгоритм.
Все выполнения алгоритм сохраняются в специальный файл, который создается при нажатие на клавишу, для сохранения алгоритма. За счет ис-
пользования текстового формата, полученные алгоритм можно исправлять в любом текстовом редакторе, а так же компоновать, ранее полученные ал-
горитмы.
Для отправления сформированного пакета данных используется функция serialPort1.Write() которая позволяет записывать указанное число байтов в последовательный порт, используя буфер в котором хранится ин-
формация о требуемом двигателе и угле поворота.
На форме присутствует возможность изменять объём жидкости элек-
тронного дозатора и производить нажатие на требуемые кнопки. Таким об-
разом, имеется возможность изменять значение, хранящееся в энергонеза-
висимой памяти, и задавать требуем объём, который измеряется в микро-
литрах и изменяет свое значение за раз на пять единиц. Максимальное зна-
чение 1000 микролитров, минимальное значение 50.
Для фиксации выбранного значения предусмотрены кнопки, позво-
ляющие произвести нажатие enter на дозаторе. Помимо этого есть кнопки,
позволяющие произвести сброс использованного наконечника и нажать си-
нюю кнопку, которая является системной.
Таким образом, было разработано программное обеспечение для управления химической роботизированной лабораторией, выполняющая
|
|
Лист |
|
|
ВКР. 155510.09.04.04.ПЗ |
64 |
|
Изм. Лист № докум. Подпись Дата |
|||
|
основной функционал, а так же написана программа для микроконтролле-
ра, которая позволяет принимать входную информацию с персонально компьютера и выполнять требуемые действия.
5.6 Практические результаты
В результате проделанной работ были изучен принципы работы микро-
контроллера, изучен способ передачи данных и управления платформ ардуи-
но с помощью компьютера, особенности работы с COM портом. Составлен специальный проток передачи данных, который позволяет управлять основ-
ными функциями химической лаборатории.
Благодаря универсальности протокола, возможно расширять структуру программ микроконтроллера и приложения для персонального компьютера.
Так же разработано программное обеспечение для микроконтроллера,
который позволяет принимать данные и обрабатывать, приводя в движение манипулятор и химический дозатор. Программа имеет модульную структуру,
что позволяет расширять и улучшать имеющиеся команды.
Для управления химическим дозатором использовались электронные ключи, которые подключаются непосредственно к самой вычислительной платформе и позволяет нажимать определённые кнопки. В проекте использо-
валось два мультиплексора, которые управляются с помощью четырёх вход-
ных сигналов. Благодаря этому имеется возможность набирать жидкость,
сливать выбирать требуемое количество жидкости и производить сброс ис-
пользованной пипетки.
Программа для персонального компьютера разработана, чтобы созда-
вать свои алгоритм и воспроизводить их в будущем. Благодаря данному про-
граммному обеспечению были написаны несколько библиотек, позволяющие производить некоторые стандартные операции, такие как открытие химиче-
ской посуды, захват дозатора и другие.
Также данная программа составляет пакет для управления данных, ко-
торые передаются на микроконтроллер и отображаются в логе. Для удобства
|
|
Лист |
|
|
ВКР. 155510.09.04.04.ПЗ |
65 |
|
Изм. Лист № докум. Подпись Дата |
|||
|