2
3
4
АҢДАТПА
Бұл дипломдық жұмыс медициналық мекемелерде MSR1 роботымен
біріктіруге арналған автоматтандырылған сұрыптау және беру модулін әзірлеуді
ұсынады. Дәрілік заттарды басқару процестерін жетілдіруге ерекше назар
аударылады. Модульде робототехника мен автоматтандырудың озық
технологиялары қолданылады. Медициналық мекемелерде дәрі-дәрмектерді
қабылдаудың жұмыс процестерін кешенді талдау арқылы функционалдық
сипаттамалары мен интеграцияға қойылатын талаптарды анықтайтын
тұжырымдамалық жоба тұжырымдалды. Модуль сұрыптау және жеткізу
тапсырмаларына
арналған
роботтық
манипуляцияларды,
сондай-ақ
тапсырмаларды жоспарлау мен үйлестіруге арналған бағдарламалық
алгоритмдерді қамтиды. Модульдің өнімділігі мен ыңғайлылығын жақсарту үшін
прототиптеу және итеративті тестілеу жүргізілді. Нәтижелер операциялық
тиімділіктің, дәрі-дәрмектің дәлдігінің және пациенттердің қауіпсіздігінің
айтарлықтай жақсарғанын көрсетеді.
АННОТАЦИЯ
В этом дипломной работе представлена разработка автоматизированного
модуля сортировки и подачи, предназначенного для интеграции с роботом MSR1
в медицинских учреждениях. Особое внимание уделяется совершенствованию
процессов управления лекарственными средствами. В модуле используются
передовые технологии робототехники и автоматизации. Посредством
комплексного анализа рабочих процессов приема лекарств в медицинских
учреждениях был сформулирован концептуальный проект, в котором определены
функциональные характеристики и требования к интеграции. Модуль включает
в себя роботизированные манипуляции для задач сортировки и поставки, а также
программные алгоритмы для планирования и координации задач. Для улучшения
производительности и удобства использования модуля были проведены
прототипирование и итеративное тестирование. Результаты демонстрируют
значительное улучшение операционной эффективности, точности приема
лекарств и безопасности пациентов.
ABSTRACT
This thesis presents the development of an automated sorting and feeding
module designed for integration with the MSR1 robot in healthcare settings. Particular
attention is paid to improving medicines management processes. The module uses
advanced robotics and automation technologies. Through a comprehensive analysis of
medication administration workflows in healthcare settings, a conceptual design was
formulated that defined functional characteristics and integration requirements. The
module includes robotic manipulation for sorting and delivery tasks, as well as
software algorithms for planning and coordinating tasks. To improve the performance
and usability of the module, prototyping and iterative testing were carried out. The
results demonstrate significant improvements in operational efficiency, medication
accuracy, and patient safety.
СОДЕРЖАНИЕ
Введение
9
1
Основная часть
10
1.1 Общая информация
10
1.1 Выявление проблем и их решения
16
2 Технологический процесс
2.1 Рассмотрение основных функциональных, принципиальных схем
19
2.2 Список и основные параметры используемого оборудования
21
3
23
Экспериментальная часть
19
3.1 3D модель модулей
23
3.2 Подключение электрических компонентов устройства
Заключение
24
Список использованных литератур
30
Приложение А
32
29
ВВЕДЕНИЕ
В эпоху, когда технологические достижения меняют каждый аспект нашей
жизни, автоматизация играет ключевую роль в повышении эффективности,
точности и надежности в различных областях. Здравоохранение, не являясь
исключением, может значительно выиграть от интеграции автоматизации в свои
процессы. Появление роботов в медицинских учреждениях предоставляет
уникальную возможность произвести революцию в способах сортировки и
отпуска лекарств.
Роботу MSR1, сложному оборудованию, предназначенному для оказания
помощи медицинским работникам в различных задачах, требуется надежная и
эффективная система для работы с лекарствами. Чтобы удовлетворить эту
потребность, мы приступаем к разработке специализированного модуля
автоматизированной сортировки и подачи лекарств для робота MSR1.
Этот модуль направлен на оптимизацию процесса управления приемом
лекарств в медицинских учреждениях, обеспечивая своевременную и точную
доставку лекарств пациентам под наблюдением медицинского персонала.
Автоматизируя задачи сортировки и выдачи, традиционно выполняемые
вручную, модуль не только снижает нагрузку на медицинских работников, но и
минимизирует риск ошибок, связанных с вмешательством человека.
В этом проекте мы описываем методологию и ключевые этапы разработки
модуля автоматизированной сортировки и подачи для робота MSR1. От анализа
требований до проектирования, внедрения и интеграции — каждый этап
тщательно планируется, чтобы обеспечить бесперебойную функциональность и
совместимость модуля с платформой MSR1
Благодаря сотрудничеству с экспертами в области робототехники,
управления аптеками и здравоохранения мы стремимся создать надежное и
универсальное
решение,
отвечающее
разнообразным
потребностям
медицинских учреждений. Используя возможности автоматизации, мы
стремимся повысить эффективность, безопасность и качество доставки лекарств,
что в конечном итоге способствует улучшению ухода за пациентами и
улучшению результатов.
Поставленные цели в реализации данного дипломного проекта:
− Изучение и анализ альтернативных схем автоматизированных модулей
на основе литературного обзора.
− Разработка, моделирование функциональных и других схем
автоматизированного модуля.
− Осуществление экспериментально с целью определения основных
параметров автоматизированного модуля по составленным схемам.
1 Основная часть
1.1 Общая информация
Что такое автоматизация?
Слово «модульный» означает меньшие части целого, которые можно
расположить по-разному. Его можно применять к производственной линии,
производственному предприятию или продуктам. Слово «автоматизация»
означает что-то, что делается само по себе с минимальным участием человека.
«Модульная автоматизация» — это следующий этап автоматизации
производства, при котором производственная линия может быть разделена на
мобильные модули и быстро переконфигурирована для различных целей.
В робототехнике автоматизированные модули относятся к различным
компонентам или подсистемам робототехнической системы, которые выполняют
определенные функции автономно или полуавтономно. Эти модули позволяют
роботам воспринимать окружающую среду, принимать решения и выполнять
задачи без постоянного вмешательства человека.
Датчики предоставляют роботам информацию об их окружении. К ним
могут относиться, среди прочего, камеры, LiDAR (обнаружение света и
определение дальности), ультразвуковые датчики, инфракрасные датчики и
тактильные датчики. Они помогают роботам воспринимать объекты, расстояния,
формы и условия окружающей среды. Актуаторы — это механизмы, которые
позволяют роботам физически взаимодействовать с окружающей средой. К ним
могут относиться двигатели, пневматические приводы, гидравлические приводы
и электромагниты. Актуаторы позволяют роботам двигать суставами,
манипулировать объектами и выполнять различные задачи.
Системы управления управляют поведением роботов, обрабатывая данные
датчиков и отправляя команды исполнительным механизмам. Эти системы могут
варьироваться от простых контуров обратной связи до сложных алгоритмов
планирования движения, формирования траектории и обхода препятствий.
Манипуляторы — это роботизированные руки или рабочие органы,
предназначенные для выполнения конкретных задач, таких как сбор и
размещение объектов, сварка, покраска или сборка. Они могут включать в себя
несколько суставов и степеней свободы для достижения широкого диапазона
движений. Модули навигации и локализации позволяют роботам перемещаться
и локализоваться в окружающей среде. Обычно это включает в себя
картографирование окружающей среды, оценку позы робота (положение и
ориентацию) и планирование оптимальных путей для достижения желаемых
мест.
В сфере здравоохранения автоматизированные модули включают в себя
множество компонентов или систем, которые поддерживают предоставление
услуг, улучшают уход за пациентами и упрощают административные задачи. В
этих модулях используются автоматизация и передовые технологии для
повышения эффективности, точности и общего качества медицинских услуг.
Системы электронных медицинских карт (EHR) автоматизируют сбор, хранение
и поиск данных о состоянии здоровья. Они состоят из разделов, посвященных
демографии, истории болезни, диагнозам, лекарствам, планам лечения и
результатам анализов. Системы EHR облегчают беспрепятственный обмен
информацией между медицинскими работниками. Системы поддержки принятия
решений (CDSS) помогают медицинским работникам принимать клинические
решения, анализируя информацию о пациентах и предлагая рекомендации,
основанные на фактических данных. Эти системы могут предупреждать
поставщиков о взаимодействии лекарств, предлагать диагностические тесты или
предоставлять рекомендации по лечению, основанные на устоявшейся практике
и медицинской литературе. Платформы телемедицины позволяют проводить
консультации между пациентами и медицинскими работниками посредством
видеозвонков,
обмена
сообщениями
или
телефонных
разговоров.
Автоматизированные
функции
телемедицинских
систем
упрощают
планирование приемов, прием пациентов в залах ожидания, а также безопасные
каналы связи. Устройства удаленного мониторинга, такие как датчики или
гаджеты IoT (Интернета вещей), автоматически. Можно передавать данные
пациента для непрерывного мониторинга жизненно важных показателей
хронических заболеваний или восстановления после операции.
Автоматизированные компоненты в устройствах визуализации, таких как
МРТ (магнитно-резонансная томография), КТ (компьютерная томография) или
рентгеновские аппараты, помогают в захвате, обработке и оценке медицинских
изображений. Сложные алгоритмы и методы искусственного интеллекта
автоматизируют анализ изображений, помогают рентгенологам выявлять
нарушения и повышают точность.
Автоматические системы выдачи лекарств, такие как аптечные роботы
или автоматизированные шкафы для выдачи лекарств, автоматизируют хранение,
поиск и выдачу лекарств в медицинских учреждениях. Эти системы помогают
предотвратить ошибки при приеме лекарств, обеспечить точную дозировку и
отслеживать использование лекарств для управления запасами и соблюдения
нормативных требований.
Автоматизированные модули для планирования посещений, регистрации
пациентов и выполнения административных задач оптимизируют рабочие
процессы в медицинских учреждениях. Платформы онлайн-записи на прием,
порталы для пациентов и электронные формы автоматизируют процессы
регистрации пациентов, сокращают бумажную работу и повышают
вовлеченность пациентов.
Робототехника в здравоохранении включает в себя автоматизированные
модули,
такие
как
роботизированные
хирургические
системы,
реабилитационные роботы, роботизированные экзоскелеты и роботыпомощники для таких задач, как доставка лекарств или логистика в больницах.
Эти системы автоматизируют определенные медицинские процедуры, помогают
медицинским работникам в уходе за пациентами и улучшают результаты
реабилитации.
В робототехнике все чаще используются методы машинного обучения и
искусственного интеллекта, позволяющие роботам учиться на основе данных,
адаптироваться к меняющимся условиям и принимать разумные решения. Эти
методы используются в таких задачах, как распознавание объектов, обработка
естественного языка и автономное принятие решений.
Модули связи позволяют роботам взаимодействовать с другими системами,
устройствами или людьми. Сюда могут входить протоколы беспроводной связи,
сетевые интерфейсы и человеко-машинные интерфейсы (например, сенсорные
экраны или голосовые команды).
Рисунок 1.1 – Умный дозатор таблеток DOSECONTROL с BLUETOOTH
Первая коробка для таблеток WIFI, связанная с немецким центром данных–
самый технологичный автоматический дозатор таблеток модели 2021 года
DoseControl с дистанционным управлением и мониторингом, идеально подходит
для удаленного ухода со стороны родственников или лиц, осуществляющих уход
за вашими близкими, помогает придерживаться плана приема лекарств и
избежать передозировки / двойное дозирование.
Дистанционное управление и мониторинг дозатора через WLAN - с
помощью Android-приложения вы можете удаленно управлять настройками
дозаторов (программирование непосредственно на дозаторе с помощью кнопок
больше не требуется) и удаленно контролировать работу дозатора (принятые
дозы, пропущенные дозы, разряженные батарейки) или отсутствие лекарств)
посредством уведомлений по электронной почте и push-сообщений. Собранные
данные о лекарствах сохраняются в центре обработки данных, принадлежащем
DoseControl, в Германии.
− по времени выдача от 1 до 9 доз в день; будет выдана
ЕДИНСТВЕННАЯ назначенная доза на данный день и время (час и минута)
− Простое и безопасное управление – в заданное время срабатывает
сигнализация и вращающийся контейнер для таблеток перемещает лекарство к
отверстию для раздачи, пациент просто опрокидывает дозатор и высыпает
таблетки в руку или другой подходящий контейнер; чаевые выключают
будильники
− Напоминание о приеме таблеток – от 1 до 9 раз в течение суток с
помощью встроенного визуального сигнала (подсветка вокруг дисплея) и
звукового сигнала (3 типа – вкл., выкл., сообщение) и 3 уровней тона – высокий,
низкий, выкл.); напоминания длятся до 30 минут после срабатывания будильника
− Вращающийся съемный контейнер для таблеток с 28 отделениями — в
каждом просторном отделении можно разместить до 35 таблеток размером с
аспирин; контейнер можно снять, чтобы подготовить запас лекарства
Рисунок 1.2 – Портативный автоматический электронный дозатор
таблеток DoseControl Med-O-Wheel Secure
Единственный уникальный портативный автоматический электронный
дозатор таблеток с сигнализацией, который можно использовать вне дома и
идеально подходит для вас или ваших родственников, которым нужна помощь в
правильной дозировке нескольких лекарств.
Автоматический дозатор лекарств DoseControl Med-O-Wheel существенно
помогает исключить риск ошибок при приеме лекарств – передозировки, приема
других лекарств по назначению или просто забывания их принять.
Этот портативный автоматический дозатор таблеток представляет собой
профессиональное устройство, прошедшее клинические испытания и
обеспечивающее выдачу нужного лекарства в нужное время во время проведения
клинических исследований.
− Контролируемый по времени отпуск лекарств от 1 до 4 раз в сутки,
доставляя ТОЛЬКО назначенную дозу на каждый день и время (час, минута); у
пациента НЕТ доступа к другим дозам
− Каждый день можно установить от 1 до 4 звуковых и визуальных
сигналов на нужный час и минуту для напоминания о необходимости приема
лекарств, установленное время будет повторяться каждый последующий день.
− 3 часа времени приема каждой дозы – доза доступна уже за 1 час до
(тихая сигнализация) и через 2 часа после назначенного времени
(звуковая/визуальная сигнализация)
− В запрограммированное время (часы и минуты) срабатывает
сигнализация, для того чтобы выбросить лекарство, пациенту необходимо
нажать большую прозрачную кнопку на крышке. При нажатии на кнопку
вращающийся лоток перемещает лекарство к отверстию выдачи, а
звуковая/световая сигнализация отключается.
− Автоматический электронный дозатор таблеток оснащен двумя
лотками для таблеток: один с 14 и один с 28 большими отделениями для загрузки
лекарств (1 отделение на 14 дней вмещает до 18 таблеток размером с аспирин).
− Дозатор таблеток можно запереть металлическим замком и ключом для
защиты пациента.
− Доступно также устройство с подключением к GSM для пациентов,
которым необходим постоянный контроль режима приема лекарств – см. здесь
подключенную версию.
− Загрузка препарата осуществляется с помощью прилагаемых
дозировочных колец, рассчитанных на 14 и 28 отсеков для таблеток
соответственно.
− Дозатор таблеток предлагается со сплошной белой крышкой с
прозрачной кнопкой посередине (видны индикаторы времени на дисплее).
− Энергоснабжение устройства обеспечивают 2 батарейки типа АА; на
дисплее имеется индикатор разряженных батареек; батарейки, входящие в
комплект поставки продукта
− Практичный портативный размер - диаметр всего 12 см и вес всего 300
г, устройство можно легко вынести за пределы дома и поместить в карман.
− Размеры: 12 х 6 см.
− Производство: Финляндия
Рисунок 1.3 – Еженедельный электронный дозатор таблеток с
сигнализацией MedControl
− Последняя версия популярного электронного дозатора таблеток
MedControl с более мощной сигнализацией.
− Цветные лотки для таблеток для лучшего разрешения дня/недели
− Ярлыки дней недели на английском языке
− Настройка цифрового звукового оповещения о приеме лекарств 4 раза
в день
− Дозатор лекарств также можно использовать в качестве ежедневной
версии, просто подключив лоток для определенного дня с таймером - он
превращается в практичное устройство, помещающееся в карман; таймер
включает в себя монтажное кольцо
− Содержит отдельные съемные дозаторы на 7 дней, разделенные на
части дня (утро, полдень, вечер, ночь) - их легко пополнять на целую неделю
вместе с родственниками или близкими.
− В один отдельный отсек можно поместить примерно 5-6 таблеток.
− Легко программировать благодаря большим кнопкам и ЖК-экрану для
удобства использования.
− Размеры 18x10x3 см.
− Питание от 2 батареек типа АА (не входят в комплект).
− Интерфейс дозатора на английском языке
Рисунок 1.4 – Ежемесячный электронный дозатор таблеток с
сигнализацией MedControl
− Последняя версия популярного электронного дозатора таблеток
MedControl с более мощной сигнализацией.
− Цветные лотки для таблеток для лучшего разрешения дня/недели
− Ящик для лекарств с сигнализацией содержит 7 лотков по 4 отделения
каждый, т. е. возможность хранения лекарств до 28 дней.
− Настройка цифрового звукового оповещения о приеме лекарств 4 раза
в день
− Дозатор лекарств также можно использовать в качестве ежедневной
версии, просто подключив лоток для определенного дня с таймером - он
превращается в практичное устройство, помещающееся в карман; таймер
включает в себя монтажное кольцо
− В один отдельный отсек можно поместить примерно 5-6 таблеток.
− Легко программировать благодаря большим кнопкам и ЖК-экрану для
удобства использования.
− Размеры 18x10x3 см.
− Питание от 2 батареек типа АА (не входят в комплект).
− Интерфейс дозатора на английском языке
1.1 Выявление проблем и их решения
В медицинских учреждениях ручная сортировка и выдача лекарств
сопряжена с рядом проблем:
−
ручная сортировка и выдача подвержены человеческим ошибкам,
таким как неправильная дозировка, неправильное лекарство или неправильная
маркировка, что может иметь серьезные последствия для безопасности
пациентов.
− ручная сортировка и выдача лекарств являются трудоемкими задачами,
отвлекающими внимание медицинских работников от более важных действий по
уходу за пациентами.
− ручные процессы могут привести к неэффективности рабочих
процессов управления лекарствами, вызывая задержки в доставке лекарств и
потенциально влияя на результаты лечения пациентов.
− Эти проблемы можно решить следующим образом:
− автоматизируя сортировку и выдачу лекарств, модуль снижает риск
человеческих ошибок, гарантируя, что пациенты получают нужные лекарства в
правильных дозировках, тем самым повышая безопасность пациентов и
уменьшая побочные эффекты. Автоматизация оптимизирует процессы
управления лекарствами, позволяя медицинским работникам более эффективно
распределять свое время, концентрироваться на задачах по уходу за пациентами
и повышать общую производительность рабочего процесса.
− автоматизированная сортировка и выдача лекарств способствуют более
быстрой доставке лекарств пациентам, сводя к минимуму время ожидания и
обеспечивая своевременное назначение лечения, что имеет решающее значение
для лечения острых состояний и оптимизации результатов лечения пациентов.
− благодаря использованию робототехники и технологий автоматизации
разработка модуля автоматизированной сортировки и распределения
представляет собой значительный прогресс в сфере оказания медицинских услуг,
демонстрируя инновации и прокладывая путь для будущих разработок в области
роботизированного управления лекарствами.
1.2 Преимущества разработки этого проекта
− Автоматизируя процесс сортировки и отпуска лекарств, модуль
значительно сокращает время и усилия, необходимые медицинским работникам.
− Человеческие ошибки при приеме лекарств, такие как неправильная
дозировка или выдача неправильного лекарства, могут иметь серьезные
последствия для безопасности пациентов. Автоматизированный модуль
обеспечивает точность и аккуратность при сортировке и выдаче лекарств, сводя
к минимуму риск ошибок и улучшая результаты лечения пациентов.
− интеграция модуля с роботом MSR1 упрощает рабочий процесс
управления приемом лекарств в медицинских учреждениях. Лекарства можно
сортировать и распределять быстро и беспрепятственно, что позволяет
медицинскому персоналу более оперативно и эффективно оказывать помощь
пациентам.
− модульная конструкция автоматизированного модуля сортировки и
выдачи обеспечивает масштабируемость и адаптируемость для удовлетворения
растущих потребностей медицинских учреждений. Его можно легко
интегрировать с существующими роботизированными платформами, включая
робота MSR1, и настроить для соответствия различным типам лекарств и
требованиям учреждения.
2 Технологический процесс
2.1 Рассмотрение основных функциональных, принципиальных схем
Тактовая
кнопка
(2 шт)
StepStick
A4988 Драйвер
шагового двигателя (2
шт)
Сервоприво
д Tower Pro 9g SG90
(2шт)
Arduino Nano
Понижающий
преобразователь
(регулируемый)
KY-024
магнитный датчик
Холла
Шаговый
двигатель Nema
17HS4023
(2 шт)
Четырехсимволь
ный дисплей на ТМ1637
Рисунок 2.1 – Структурная схема автоматизированного модуля
сортировки и подачи медикаментов для робота MSR1
Рисунок 2.2 – Принципиальная схема автоматизированного модуля
сортировки и подачи медикаментов для робота MSR1
Рисунок 2.3 – Алгоритм работы автоматизированного модуля сортировки
и подачи медикаментов для робота MSR1
Рисунок 2.4 – Смоделированные 3D модели автоматизированного модуля
сортировки и подачи медикаментов для робота MSR1
2.2 Список и основные параметры используемого оборудования
1) Arduino Nano
Технические характеристики Arduino Nano:
− Напряжение питания 5 В;
− Входная мощность 7 - 12В (рекомендуется);
− Количество цифровых контактов-14, 6 из которых можно использовать
как выход ШИМ;
− 8 аналоговых входов;
− Максимальный цифровой выходной ток 40 мА;
− 16 Кб или 32 Кб Флэш-памяти, в зависимости от чипа;
− 1 Кб или 2 Кб оперативной памяти, в зависимости от чипа;
− EEPROM 512 байт или 1 Кб;
− Частота 16 МГц;
− Размеры 19 х 42 мм;
− Вес 7 г.
Плату Arduino Nano можно подавать двумя разными способами:
− Через mini-USB или microUSB при подключении к компьютеру;
− Через внешний источник питания с низким уровнем пульсации 6-20 В.
Стабилизация внешнего источника осуществляется с помощью схемы
LM1117IMPX-5.0-5В. При подключении от компьютера по кабелю подключение
к стабилизатору происходит через диод Шоттки. [1]
2) StepStick A4988 Драйвер шагового двигателя с радиатором
Особенности:
− Простой интерфейс управления шагом и направлением
− Пять различных разрешений шага: полный шаг, полушаг, четверть
шага, одна восьмая ступень и одна шестнадцатая ступень.
− Потенциометр для контроля максимального выходного тока
− Интеллектуальное управление, которое автоматически выбирает
правильный текущий режим.
− Автоматический контроль температуры/перегрева
− Поставляется в комплекте с радиатором.
− Цвет доски красный.
− Спецификация:
− Рабочее напряжение логики: от 3 до 5,5 В;
− Рабочий фазный ток: от 1 до 2 А;
− Рабочее напряжение от 8 до 35 В.
3) Гибридный шаговый двигатель Nema17-17HS4023
4) Сервопривод Tower Pro 9g SG90
5) Четырехсимвольный дисплей на TM1637
6) Тактовая кнопка 6x6x5мм
7) Магнитный датчик Холла
8) XL4015E1 DC-DC понижающий преобразователь регулируемый
9) Блок питания импульсный 12В, 1А
3 Экспериментальная часть
3.1 3D модель модулей
Для создания 3D модели автоматизированного модуля было использовано
программное обеспечение Autodesk Inventor. Autodesk Inventor – это
профессиональное приложение для компьютерного – помощенного
проектирования, специально разработанное для создания 3D моделей
механических конструкций. Оно помогает дизайнерам создавать точные
цифровые прототипы, проводить анализ и тестирование конструкций перед
физической реализацией.
Материал для 3D печати модулей - PLA пластик. PLA - биоразлагаемый
пластик, получаемый из натуральных ресурсов, таких как кукуруза или тростник.
Он характеризуется отличной прочностью, устойчивостью к деформации и
легкостью обработки. Эти свойства делают PLA одним из самых популярных
материалов для 3D печати прототипов и функциональных деталей.
3D модель автоматизированного модуля включает в себя основной блок
диаметром 138мм, блок для установки шагового двигателя размером 43 х 43 мм,
а также корпуса для шаговых двигателей и инфракрасного датчика. Каждая часть
модели была разработана с учетом размеров электронных компонентов,
обеспечивая точное соответствие параметрам.
Рисунок 3.1 – Модель основного блока устройства
Вторая часть устройства представляет собой поворотный механизм с 9
ячейками. Его форма напоминает диск с зубьями по краям, что обеспечивает
движение при вращении шаговым двигателем. Шаговый двигатель 1 также
оснащен шестеренчатым модулем, который взаимодействует с другими частями
механизма для обеспечения точного и контролируемого движения.
Этот
блок механизма закреплен на неподвижной первой части устройства через
отверстие диаметром 55 мм. Это обеспечивает надежное и устойчивое
соединение между двумя частями устройства.
Третья часть устройства – механизм вращения. Его внешний диаметр
составляет 128 мм, а внутреннее отверстие имеет диаметр 5 мм. Это отверстие
предназначено для вала шагового двигателя 2, который обеспечивает вращение.
Механизмы вращения играют ключевую роль в функционировании
устройства, позволяя его модулям поворачиваться и выполнять заданные
операции в соответствии с программным управлением.
3.2 Подключение электрических компонентов устройства
При подключении и настройке электрических компонентов устройства
используются следующие методы:
Питание системы осуществляется с помощью блока питания,
обеспечивающего напряжение 12 вольт и ток 2 ампера. Для подпитки устройств,
включая Arduino Nano и прочие модули, за исключением шагового двигателя,
применяется dc-dc понижающий преобразователь. Его выходное напряжение
регулируется с помощью подстроечного резистора для достижения необходимых
5.25 В.(рис. 3.2)
Рисунок 3.2.1 – DC-DC понижающий преобразователь
Для настройки тока драйверов шаговых двигателей A4988 перед их
использованием проводится процедура ограничения максимальной величины
тока через катушки. Это позволяет предотвратить превышение номинального
тока двигателя. Регулировка осуществляется с помощью маленького
потенциометра, при этом для двигателя 17HS4023 типичное значение составляет
0.85 В.
Рисунок 3.2.2 – Драйвер шагового двигателя
Чтобы реализовать микрошаговый режим работы, применяется драйвер
A4988, который может обеспечивать промежуточные уровни питания для
катушек двигателя. Это позволяет улучшить точность и плавность движения
шагового мотора. Для настройки микрошагов используются выводы MS1, MS2 и
MS3 драйвера.
Подключение выводов MS1, MS2 и MS3 драйвера второго шагового
двигателя к GND Arduino Nano позволяет настроить микрошаг на уровне 1/16.
Это обеспечивает более высокую точность и плавность работы двигателя за счет
увеличения числа шагов на каждый оборот вала. Этот режим идеален потому, что
требуется медленное и плавное движение вала двигателя 2 для выполнения
точных поворотов.
Подключение выводов MS1, MS2 и MS3 драйвера первого шагового
двигателя к пинам 5В, GND и 5В на Arduino соответственно обеспечивает
быструю работу двигателя и позволяет вращению вала двигателя происходить на
более высокой скорости. Это важно для быстрой сортировки медикаментов, когда
необходимо обеспечить быстрое перемещение верхней пластинки устройства.
При такой настройке микрошага двигатель способен быстро и плавно выполнять
свои функции, что обеспечивает эффективное и точное перемещение
медикаментов по соответствующим ячейкам.
Программа управления выдачей медикаментов использует шаговый
двигатель, чтобы перемещать ячейки к выходному отверстию. Шаговый
двигатель поворачивает ячейки на 40 градусов от начального положения, чтобы
они соответствовали отверстию. Каждая ячейка расположена так, чтобы при
повороте открывании кармана медикамент выпадал из неё. Компонент из 3Dпечатного пластика прикреплен к выходному валу сервопривода. Когда
сервопривод находится в положении 0 градусов, карман выдачи закрыт. При
повороте сервопривода на 30 градусов медикамент выпадает из ячейки. После
этого сервопривод возвращается в исходное положение (0 градусов), и карман
закрывается снова. После того, как карман выдачи закрывается, шаговый
двигатель поворачивает ячейки на 40 градусов, чтобы следующая ячейка совпала
с карманом выдачи, готовой к процессу выдачи следующего медикамента.
Рисунок 3.2.3 – Карман выдачи медикаментов
Инфракрасные датчики, установленные на неподвижной части устройства,
активируются, когда таблетка проходит через них и падает в ячейку. Приемник
датчика постоянно находится в состоянии высокого уровня сигнала. Однако, если
объект появляется между передатчиком и приемником, приемник переключается
в низкий уровень сигнала, сигнализируя о прохождении объекта.
Когда датчик срабатывает, шаговый двигатель 1 немедленно
останавливается, а затем шаговый двигатель 2 поворачивает пластинку с
ячейками на 40 градусов, подготавливая следующую ячейку к процессу приема
следующей таблетки.
Рисунок 3.2.4 – Инфракрасный датчик
Для загрузки ячеек медикаментами и выдачи медикаментов используются
кнопки. Когда кнопка нажата, шаговый двигатель 2 поворачивает пластинку с
ячейками на нулевую позицию. Нулевая позиция устанавливается с помощью
датчика Холла, который находится на неподвижной части устройства. Магнит,
расположенный на вращающейся части механизма, активирует датчик Холла,
когда он находится над ним, что приводит к остановке шагового двигателя.
Рисунок 3.2.5 – Датчик Холла
Если нажата кнопка 2, сервопривод открывает карман, и медикамент
падает вниз. Затем сервопривод закрывает карман, а шаговый двигатель делает
поворот на 40 градусов, подготавливая следующую ячейку для выдачи
медикамента.
ЗАКЛЮЧЕНИЕ
В заключение в данном дипломном проекте разработан модуль
автоматизированной сортировки и выдачи лекарств для робота "MSR 1". На
основе литературного обзора были проведены анализы других аналогичных
современных проектов и составлена эффективная схема. Разработан модуль
автоматизированной сортировки и выдачи лекарств для робота MSR 1,
разработаны функциональные, принципиальные схемы. Экспериментально
реализовано с целью определения основных параметров созданного проекта.
Благодаря тщательному проектированию, созданию прототипов и
испытаниям модуль доказал свою способность автономно идентифицировать,
сортировать и поставлять лекарства с высокой степенью точности и
эффективности. Его внедрение предлагает ощутимые преимущества, такие как
повышение операционной эффективности, снижение количества ошибок при
назначении лекарств и повышение безопасности пациентов.
В дальнейшем продолжающиеся усилия в области исследований и
разработок будут сосредоточены на совершенствовании масштабируемости,
совместимости и адаптации модуля к различным средам здравоохранения. Кроме
того, постоянная оценка и оптимизация будут необходимы для обеспечения
устойчивой эффективности и надежности модуля в реальных приложениях.
При проектировании устройства были выбраны устройства, которые не
потребляют большое количество источника тока. Отметим, плата Arduino Nano,
StepStick A4988 драйвер шагового двигателя с радиатором, NEMA17-17HS4023
гибридный шаговый двигатель, сервопривод Tower Pro 9g SG90,
четырехсимвольный дисплей на TM1637, Тактовая кнопка, магнитный датчик
Холла, XL4015E1 DC-DC регулируемый понятийный репетитор, Импульсный
блок питания на 12В. Код написан на C++ и приложен к приложению А.
СПИСОК ИСПОЛЬЗОВАННЫХ ЛИТЕРАТУР
1. https://radiomart.kz/drajvery-dvigatelej/2452-stepstick-a4988-drajvershagovogo-dvigatelya-s-radiatorom-krasnyj-8542399010.html [1]
2. https://www.medcontrol.eu/p/363/portable-automatic-electronic-pilldispenser-dosecontrol-med-o-wheel-secure?pp=48aedb88
3. https://radiomart.kz/shagovye-dvigateli/5926-shagovyj-dvigatel-nema-174223mm-1-8-17hs4023-xh-2-54--8501310000.html
4. https://radiomart.kz/servodvigateli/579-servoprivod-tower-pro-9g-sg90ts90m-8501522009.html
5. https://cnc-tex.ru/news/4/draiver-shagovogo-dvigatelya-a4988.html
6. Chang Hong-Ti, Jhu-Yu Chen. (2014). The intelligent pill box e design and
implementation.
7. Clifton D., Wong D., Clifton L., Wilson S, Way R. (2013). A large-scale
clinical validation of an integrated monitoring system in the Emergency Department.
8. Huang S.C, Chang H.Y. (2006). The intelligent pill box-design and
implementation.
9. JR. R. (2009). Rosati RJ. Evaluation of remote monitoring in home health
care. In: 2009 international conference on eHealth, telemedicine, and social
medicine;.
10. Lisby M, Nielson L.P, Mainz J. (2005). Lisby M, Nielsen LP, Mainz J.
Errors in the medication process: fre-quency, type, and potential clinical
consequences.
11. PJ., V. (2006). An individual based framework for a study on medical error.
Sankar AP, Nevedal DC, Neufeld S. (б.д.). What is a missed dose?
12. Implications for construct validty and patient adherence.
13. Sawand A, Djahel S, Zhang Z, Na F. (2014). Multidisciplinary approaches
to achieving efficient and trustworthy eHealth monitoring systems., (стр. 187). 9
Rosati RJ. Evaluation of remote monitoring in home health care. In: 2009
international conference on eHealth, telemedicine, and social medicine; 2009. p.
25e7.10 M3DITRACK3R. A design of an automated patient tracking and
medicine
DispensingMobile
robot
for
senior
citizens
published in computer, communications, and control technology (I4CT). 2014.
International Conference on Date 2-4 Sept. 2014 at Langkawi.
14. A smartphone-enhanced pill-dispenser providing patient identification
and intake recognition C. Crema, A. Depari, A. Flammini, M. Lavarini, E. Sisinni
published in medical measurements and applications (MeMeA). 2015. IEEE
International Symposium on Date 7-9 May 2015 at Torino, Italy. 11 Kulkarni Alok,
Sathe Sampada. Healthcare applications of the internet of things:A review.
(IJCSIT) Int J Comput Sci Inf Technol 2014;5(No 5): 6229e32. 13 Pang Z.
Technologies and architectures of the internet-of- things (IoT) for health and wellbeing. Ph.D. dissertation. Stockholm, Sweden: Dept. Electron.Syst., School Inf.
Commun.Technol., Royal Inst. Technology (KTH); 2013.
15. MacLaughlin Eric J, et al. Assessing medication adherence in the elderly.
Drugs Aging 2005;22(3):231e55.
Приложение А
#include <TM1637Display.h> // П о д к л юч а е м б и б л и о т е к у д л я р а б о т ы с д и с п л е е м TM1637
#include <Servo.h> // П о д к л юч а е м б и б л и о т е к у д л я р а б о т ы с с е р в о п р и в о д о м
Servo servo; // С о з д а е м о б ъ е к т д л я у п р а в л е н и я с е р в о п р и в о д о м
#define PIN_STEP1 4 // Оп р е д е л я е м п и н д л я ша г о в о г о д в и г а т е л я 1
#define PIN_DIR1 5 // Оп р е д е л я е м п и н д л я н а п р а в л е н и я в р а ще н и я ша г о в о г о
дв иг а т е ля 1
#define PIN_STEP2 6 // Оп р е д е л я е м п и н д л я ша г о в о г о д в и г а т е л я 2
#define PIN_DIR2 7 // Оп р е д е л я е м п и н д л я н а п р а в л е н и я в р а ще н и я ша г о в о г о
дв иг а т е ля 2
#define button1 8 // Оп р е д е л я е м п и н д л я к н о п к и 1
#define button2 9 // Оп р е д е л я е м п и н д л я к н о п к и 2
#define STEPS_PER_REVOLUTION 3200 // З а д а е м к о л и ч е с т в о ша г о в н а о б о р о т
#define STEP_CELL (STEPS_PER_REVOLUTION * 4 / 9) // В ыч и с л я е м к о л и ч е с т в о ша г о в н а
я ч ейк у
#define SPEED 1 // З а д а е м с к о р о с т ь д в и же н и я , ч е м в ыше т е м н и же с к о р о с т ь
const int hall = 2; // П и н д л я д а т ч и к а Х о л л а
const int IR = 3; // П и н д л я И н ф р а к р а с н о г о д а т ч и к а
TM1637Display display(10, 11); // С о з д а е м о б ъ е к т
у к а з а н и е м п и н о в CLK и DIO
для ра бот ы с
д и с п л е е м TM1637 с
void setup() {
Serial.begin(9600); // И н и ц и а л и з и р у е м п о с л е д о в а т е л ь н у ю с в я з ь
servo.attach(12); // П о д к л юч а е м с е р в о п р и в о д к п и н у 12
delay(10); //Жд е м 10 ми л и с е к у н д
servo.write(0); //П о в о р а в ч и в а е м с е р в о н а 0 г р а д у с
delay(100); //Жд е м 100 ми л и с е к у н д
pinMode(PIN_STEP1, OUTPUT); // У с т а н а в л и в а е м п и н д л я ша г о в о г о д в и г а т е л я 1 к а к
в ых о д н о й
pinMode(PIN_DIR1, OUTPUT); // У с т а н а в л и в а е м п и н д л я н а п р а в л е н и я в р а ще н и я
ша г о в о г о д в и г а т е л я 1 к а к в ых о д н о й
pinMode(PIN_STEP2, OUTPUT); // У с т а н а в л и в а е м п и н д л я ша г о в о г о д в и г а т е л я 2 к а к
в ых о д н о й
pinMode(PIN_DIR2, OUTPUT); // У с т а н а в л и в а е м п и н д л я н а п р а в л е н и я в р а ще н и я
ша г о в о г о д в и г а т е л я 2 к а к в ых о д н о й
pinMode(button1, INPUT_PULLUP); // В к л юч а е м в н у т р е н н и й п о д т я г и в а ющи й р е з и с т о р
для к нопк и 1
pinMode(button2, INPUT_PULLUP); // В к л юч а е м в н у т р е н н и й п о д т я г и в а ющи й р е з и с т о р
для к нопк и 2
pinMode(hall, INPUT); // У с т а н а в л и в а е м п и н д а т ч и к а Х о л л а к а к в х о д н о й
pinMode(IR, INPUT); // У с т а н а в л и в а е м п и н И К -д а т ч и к а к а к в х о д н о й
display.setBrightness(0x0f); // У с т а н а в л и в а е м я р к о с т ь д и с п л е я TM1637 н а ма к с и му м
}
void loop() {
Serial.println("Ч т е н и е с о с т о я н и я к н о п о к "); // В ыв о д и м с о о б ще н и е о ч т е н и и
с ос т оя ния к нопк и
if (digitalRead(button1) == LOW) { // Е с л и к н о п к а 1 н а жа т а
Serial.println("К н о п к а 1 н а жа т а "); // В ыв о д и м с о о б ще н и е о н а жа т и и к н о п к и 1
while (digitalRead(hall) == HIGH) { // П о к а д а т ч и к Х о л л а н е о б н а р у же н
Serial.println("Д а т ч и к Х о л л а н е о б н а р у же н . В р а ща е м ша г о в и к 1"); // В ыв о д и м
с о о б ще н и е о в р а ще н и и ша г о в о г о д в и г а т е л я 1
Serial.println(digitalRead(IR)); // В ыв о д и м с о с т о я н и е И К -д а т ч и к а
rotateStep(PIN_STEP1, PIN_DIR1, STEP_CELL); // В р а ща е м ша г о в ый д в и г а т е л ь 1 н а о д и н
ша г
}
for (int i = 0; i < 9; i++) { // П о в т о р я е м 9 р а з
rotateStep2(PIN_STEP2, PIN_DIR2, STEP_CELL); // В р а ща е м ша г о в ый д в и г а т е л ь 2 н а о д и н
ша г
display.showNumberDec(i+1, false); // От о б р а жа е м ч и с л о 1 н а д и с п л е е TM1637
Serial.println("В р а ща е м ша г о в и к 1"); // В ыв о д и м с о о б ще н и е о д в и же н и и ша г о в о г о
дв иг а т е ля 1
Serial.println(digitalRead(IR)); // В ыв о д и м с о с т о я н и е И К -д а т ч и к а
one_cell(PIN_STEP1, PIN_DIR1); // Д в и г а е м ша г о в ый д в и г а т е л ь 1 н а о д н у я ч е й к у
}
}
else if (digitalRead(button2) == LOW) { // Е с л и к н о п к а 2 н а жа т а
Serial.println("К н о п к а 2 н а жа т а "); // В ыв о д и м с о о б ще н и е о н а жа т и и к н о п к и 2
servo.write(30); // П о в о р а ч и в а е м с е р в о п р и в о д н а 30 г р а д у с о в
delay(1000); // Жд е м 1 с е к у н д у
servo.write(0); // В о з в р а ща е м с е р в о п р и в о д в и с х о д н о е п о л о же н и е
delay(300); // Жд е м 0.3 с е к у н д ы
one_cell(PIN_STEP1, PIN_DIR1); // Д в и г а е м ша г о в ый д в и г а т е л ь 1 н а о д н у я ч е й к у
delay(30); // Жд е м 30 ми л л и с е к у н д
}
else {
Serial.println("К н о п к а н е н а жа т а "); // В ыв о д и м с о о б ще н и е о жи д а н и я
}
}
void one_cell(int stepPin, int dIR) { // Фу н к ц и я д л я п е р е ме ще н и я н а о д н у я ч е й к у
digitalWrite(dIR, LOW); // У с т а н а в л и в а е м н а п р а в л е н и е в р а ще н и я
for (int step = 0; step < STEP_CELL; step++) { // П о в т о р я е м STEP_CELL р а з
digitalWrite(stepPin, HIGH); // У с т а н а в л и в а е м в ыс о к и й у р о в е н ь н а п и н е ша г а
delay(SPEED); // З а д е р жк а
digitalWrite(stepPin, LOW); // У с т а н а в л и в а е м
н и з к и й у р о в е н ь н а п и н е ша г а
delay(SPEED); // З а д е р жк а
}
}
void rotateStep(int stepPin, int dIR, int steps) { // Фу н к ц и я д л я в р а ще н и я ша г о в о г о д в и г а т е л я 1
digitalWrite(dIR, LOW); // У с т а н а в л и в а е м н а п р а в л е н и е в р а ще н и я
for (int step = 0; step < steps; step++) { // П о в т о р я е м steps р а з
Serial.println(digitalRead(IR)); // В ыв о д и м с о с т о я н и е И К -д а т ч и к а
if (digitalRead(hall) == LOW) { // Е с л и о б н а р у же н д а т ч и к Х о л л а
Serial.println("Hall sensor detected. Stopping rotation."); // В ыв о д и м с о о б ще н и е о с т а н о в к и
в р а ще н и я
break; // В ых о д и м и з ц и к л а
}
digitalWrite(stepPin, HIGH); // У с т а н а в л и в а е м в ыс о к и й у р о в е н ь н а п и н е ша г а
delay(SPEED); // З а д е р жк а
digitalWrite(stepPin, LOW); // У с т а н а в л и в а е м н и з к и й у р о в е н ь н а п и н е ша г а
delay(SPEED); // З а д е р жк а
}
}
2
void rotateStep2(int stepPin, int dIR, int steps) { // Фу н к ц и я д л я в р а ще н и я ша г о в о г о д в и г а т е л я
digitalWrite(dIR, LOW); // У с т а н а в л и в а е м н а п р а в л е н и е в р а ще н и я
for (int step = 0; step < steps; step++) { // П о в т о р я е м steps р а з
Serial.println(digitalRead(IR)); // В ыв о д и м с о с т о я н и е И К -д а т ч и к а
if (digitalRead(IR) == HIGH) { // Е с л и о б н а р у же н И К -д а т ч и к
Serial.println("И К -д а т ч и к с р а б о т а л . Ос т а н о в к а в р а ще н и я ."); // В ыв о д и м с о о б ще н и е
о с т а н о в к и в р а ще н и я
break; // В ых о д и м и з ц и к л а
}
digitalWrite(stepPin, HIGH); // У с т а н а в л и в а е м в ыс о к и й у р о в е н ь н а п и н е ша г а
delay(SPEED); // З а д е р жк а
digitalWrite(stepPin, LOW); // У с т а н а в л и в а е м н и з к и й у р о в е н ь н а п и н е ша г а
delay(SPEED); // З а д е р жк а
}
}
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )