Добавлен: 11.01.2024
Просмотров: 408
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
2, который является током базы для транзистора Т3. Ток Ik3 начинает течь через транзистор T3.
Коэффициент β у транзистора Т3 невысок, порядка 10, так как это высокомощный транзистор. У Т2 этот коэффициент меньше – порядка 40. Т1 имеет самый большой коэффициент β=100. Таким образом общий коэффициент усиления β данного каскада транзисторов составляет 40 000, что является достаточным для нашего случая. Однако, данная схема обладает существенным недостатком – высоким падением напряжения, равным 2,1 В.
Для уменьшения потерей используется схема Шиклая, представленную на рисунке 11.
Рисунок 11 – Схема Шиклая
Входной ток, протекая через базу транзистора Т1 открывает его. Возникает ток коллектора Iк1, который является током базы для n-p-n транзистора Т3. В нем возникает ток коллектора, который протекает через базу второго транзистора. Под действием этого тока он открывается и в нем возникает ток коллектора Ik2. Общий коэффициент усиления β схемы также составляет 40 000, но уже при меньшем падении напряжения (1В).
Режим реверса реализуется с введением второго транзистора (n-p-n), показанного на рисунке 12.
Рисунок 12 – Схема с режимом реверса
Ток, протекающий через базу транзистора Т2, открывает его и появляется Ik2.
Для исключения влияния температурного фактора на разработанную схему вместо управления двигателем по напряжению будем использовать управление двигателем по току (рис. 13). Для этого в схему включен прецизионный терморезистор с очень малым сопротивлением 0,01 Ом. В этом случае при изменении температуры сопротивление резистора меняется незначительно, что как раз и придает устойчивости системы к температурному фактору. Падение напряжения на резисторе Uпад=0,01∙10=0,1 В. Это очень малая величина, не влияющая на КПД двигателя.
Рисунок 13 – Схема управления двигателем по току
Необходимый коэффициент усиления в цепи обратной связи рассчитывается по следующей формуле:
(2)
Найдем мощность, рассеиваемую на транзисторе по следующей формуле:
(3)
(4)
(5)
Разрабатываемую функциональную схему манипулятора можно условно разделить на 3 контура:
Функциональная схема представлена на рисунке 14.
Рисунок 14 – Функциональная схема системы управления манипулятором:
КК1 – корректирующая схема (регулятор) стабилизации скорости вращения звеньев манипулятора; УМ – усилитель мощности, преобразующий модулированные по ширине сигналы управления в выходной ток исполнительных механизмов манипулятора; КК2 – корректирующая схема (регулятор) положения звеньев манипулятора; qi – мгновенные углы ориентации звеньев манипулятора; ωi – мгновенные угловые скорости вращения звеньев манипулятора; Ii – токи в исполнительных электродвигателях манипулятора.
Принципиальная электрическая схема системы управления манипулятора представлена в приложении А.
Данная схема является схемой управления двигателем манипулятора и включает в себя драйвер сдвоенного двигателя, два датчика тока и два операционных усилителя. Разъемы TO_MOTOR – разъемы для подключения моторов и датчиков угла поворота, разъемы TO_MCU – разъемы для подключения к микроконтроллеру, включая три линии управления контроллером и две линии для сигналов датчиков угла поворота.
Применяемые диоды в обвязке драйвера – быстродействующие диоды на напряжения и токи превышающие напряжение и ток двигателя, стабилитроны по линиям управления – защитные стабилитроны с напряжением стабилизации равным рабочему напряжению управляющего микроконтроллера, необходимые для защитить микроконтроллер в случае сбоя питания.
Для управления разработанным устройством необходимо использовать вычислительное устройство. Таким устройством может быть микроконтроллер. Этот микроконтроллер должен выполнять следующие функции: получать сигналы обратной связи по току и скорости двигателей,
рассчитывать контроллеры двигателей, управлять двигателями, выдавая управляющие сигналы драйверам двигателей. Этот микроконтроллер должен удовлетворять следующим требованиям:
В качестве датчика скорости используется инкрементальный датчик угла поворота. Для чтения его показаний используется несколько методов — программных и аппаратных. Программный метод заключается в ручном опросе дискретных входов микроконтроллера и в зависимости от их состояния определяется сигнал датчика. Этот метод не подходит для разрабатываемой системы, так как необходимо построить 7 быстродействующих САУ, а программный метод потребляет много ресурсов микроконтроллера и имеет низкую точность при высокой нагрузке на ЦП. Поэтому применяем аппаратный метод обработки датчиком. Отсюда требования к микроконтроллеру:
Наиболее распространенные микроконтроллеры на рынке – AVR, STM32, TI. Микроконтроллеры архитектуры AVR не соответствуют требованиям 1.4 и 5, поэтому их использование не рассматривается [11, 12].
И микроконтроллеры STM32, и микроконтроллеры TI построены на одной архитектуре – Cortex M. Эта архитектура поддерживает все требуемые требованиями ресурсы. Из двух линеек микроконтроллеров мы выберем STM32, т.к. микроконтроллеры TI с такими же характеристиками намного дороже первых, а также реже встречаются в продаже. На сайте производителя микроконтроллеров STM32 вы можете увидеть сравнительное описание всех линеек и всех контроллеров среди линейки. Для разрабатываемой системы была выбрана линейка контроллеров на базе ядра Cortex M4, так как линейки ниже не поддерживают аппаратные вычисления над числами с плавающей запятой, а контроллеры старшей линейки Cortex M7 значительно дороже и имеют избыточные ресурсы для разрабатываемой системы.
Микроконтроллер STM32f407vgt6 был выбран из линейки STM32F4, так как от этого контроллера идет необходимое количество внешних прерываний, а кроме того, имеется 6 аппаратных модулей для датчиков, которые позволяют обрабатывать данные с датчиков без использования процессора. Также на базе этого микроконтроллера существует популярная плата для разработчиков, включающая в себя сам микроконтроллер и необходимый для него программатор - отладчик. Использование такой платы значительно упрощает этап разработки микропроцессорных устройств. В таблице 2 приведены основные характеристики выбранного микроконтроллера, повлиявшие на его выбор [13].
Таблица 2 – Основные характеристики микроконтроллера STM32f407vgt6.
Существуют различные методы программирования для этого микроконтроллера: язык C и метод Model-Based. Последнее заключается не в написании программного кода, а в его создании в виде блок-схемы (например, в среде Simulink) и последующей компиляции в исполняемый код для микроконтроллера. Этот способ не подходит для текущей задачи, так как использует малую часть возможностей микроконтроллера, и в то же время код при такой компиляции будет менее оптимален, поэтому программирование будет производиться путем написания программы на язык Си.
Многие IDE работают с этим микроконтроллером, но среда Keil является наиболее распространенной, так как вобрала в себя самые мощные инструменты для работы с МК и имеет бесплатную версию.
Помимо того, что в этой среде есть возможность писать и компилировать программный код, в ней также предусмотрен режим отладки, позволяющий загрузить программу в контроллер и запускать ее шаг за шагом, останавливаться в любой точке, продолжать с этой точки, просматривать значения всех переменных и состояние всех периферийных устройств и многое другое. Этот инструмент очень помогает в разработке сложных систем.
Программа для микроконтроллера системы управления манипулятором представлена в приложении Б.
В курсовой работе описана система управления манипуляторов мобильного робота «Варан», приведены структурная, функциональная и электрическая принципиальная схемы систему управления манипулятором.
Также в курсовой работе приводится обоснование и выбор элементов схем и программа для микроконтроллера.
Принципиальная электрическая схема системы управления манипулятора
Программа для микроконтроллера
// Настройка портов для использования GPIO, PWM и ADC
#define AD04 (1 << 18) // P0.25
#define AD01 (1 << 24) // P0.28
#define AD02 (1 << 26) / / P0.29
#define AD03 (1 << 28) // P0.30
PINSEL1 - = AD04 - AD01 - AD02 - AD03 - (1 << 10);
PINSEL0 = 0x000A800A; // Включение каналов ШИМ PWM3, PWM2, PWM4
PINSEL2 = 0x00000000; // Подключение светодиода
IODIR1 = ((0 << 17) - (0 << 18) - (0 << 19) - (0 << 20) - (1 << 28) - (1 << 29) - (1 << 30) - (1 << 31)); // Установка выводов светодиода в качестве выхода, а контакты кнопок в качестве входа
Коэффициент β у транзистора Т3 невысок, порядка 10, так как это высокомощный транзистор. У Т2 этот коэффициент меньше – порядка 40. Т1 имеет самый большой коэффициент β=100. Таким образом общий коэффициент усиления β данного каскада транзисторов составляет 40 000, что является достаточным для нашего случая. Однако, данная схема обладает существенным недостатком – высоким падением напряжения, равным 2,1 В.
Для уменьшения потерей используется схема Шиклая, представленную на рисунке 11.
Рисунок 11 – Схема Шиклая
Входной ток, протекая через базу транзистора Т1 открывает его. Возникает ток коллектора Iк1, который является током базы для n-p-n транзистора Т3. В нем возникает ток коллектора, который протекает через базу второго транзистора. Под действием этого тока он открывается и в нем возникает ток коллектора Ik2. Общий коэффициент усиления β схемы также составляет 40 000, но уже при меньшем падении напряжения (1В).
Режим реверса реализуется с введением второго транзистора (n-p-n), показанного на рисунке 12.
Рисунок 12 – Схема с режимом реверса
Ток, протекающий через базу транзистора Т2, открывает его и появляется Ik2.
Для исключения влияния температурного фактора на разработанную схему вместо управления двигателем по напряжению будем использовать управление двигателем по току (рис. 13). Для этого в схему включен прецизионный терморезистор с очень малым сопротивлением 0,01 Ом. В этом случае при изменении температуры сопротивление резистора меняется незначительно, что как раз и придает устойчивости системы к температурному фактору. Падение напряжения на резисторе Uпад=0,01∙10=0,1 В. Это очень малая величина, не влияющая на КПД двигателя.
Рисунок 13 – Схема управления двигателем по току
Необходимый коэффициент усиления в цепи обратной связи рассчитывается по следующей формуле:
(2)
Найдем мощность, рассеиваемую на транзисторе по следующей формуле:
(3)
(4)
(5)
Разрабатываемую функциональную схему манипулятора можно условно разделить на 3 контура:
-
Контур формирования и исполнения траектории движения; -
Контур управления положением; -
Контур стабилизации скорости.
Функциональная схема представлена на рисунке 14.
Рисунок 14 – Функциональная схема системы управления манипулятором:
КК1 – корректирующая схема (регулятор) стабилизации скорости вращения звеньев манипулятора; УМ – усилитель мощности, преобразующий модулированные по ширине сигналы управления в выходной ток исполнительных механизмов манипулятора; КК2 – корректирующая схема (регулятор) положения звеньев манипулятора; qi – мгновенные углы ориентации звеньев манипулятора; ωi – мгновенные угловые скорости вращения звеньев манипулятора; Ii – токи в исполнительных электродвигателях манипулятора.
3. Принципиальная электрическая схема для манипулятора
Принципиальная электрическая схема системы управления манипулятора представлена в приложении А.
Данная схема является схемой управления двигателем манипулятора и включает в себя драйвер сдвоенного двигателя, два датчика тока и два операционных усилителя. Разъемы TO_MOTOR – разъемы для подключения моторов и датчиков угла поворота, разъемы TO_MCU – разъемы для подключения к микроконтроллеру, включая три линии управления контроллером и две линии для сигналов датчиков угла поворота.
Применяемые диоды в обвязке драйвера – быстродействующие диоды на напряжения и токи превышающие напряжение и ток двигателя, стабилитроны по линиям управления – защитные стабилитроны с напряжением стабилизации равным рабочему напряжению управляющего микроконтроллера, необходимые для защитить микроконтроллер в случае сбоя питания.
-
Построение системы управления
Для управления разработанным устройством необходимо использовать вычислительное устройство. Таким устройством может быть микроконтроллер. Этот микроконтроллер должен выполнять следующие функции: получать сигналы обратной связи по току и скорости двигателей,
рассчитывать контроллеры двигателей, управлять двигателями, выдавая управляющие сигналы драйверам двигателей. Этот микроконтроллер должен удовлетворять следующим требованиям:
В качестве датчика скорости используется инкрементальный датчик угла поворота. Для чтения его показаний используется несколько методов — программных и аппаратных. Программный метод заключается в ручном опросе дискретных входов микроконтроллера и в зависимости от их состояния определяется сигнал датчика. Этот метод не подходит для разрабатываемой системы, так как необходимо построить 7 быстродействующих САУ, а программный метод потребляет много ресурсов микроконтроллера и имеет низкую точность при высокой нагрузке на ЦП. Поэтому применяем аппаратный метод обработки датчиком. Отсюда требования к микроконтроллеру:
-
Наличие в контроллере не менее 7 внешних прерываний либо интерфейсов для датчиков; -
Наличие коммуникационного интерфейса для обмена данными с ПК; -
Высокая производительность; -
Аппаратная поддержка вычислений с плавающей запятой; -
Не менее 7 аналоговых и 70 дискретных входов.
Наиболее распространенные микроконтроллеры на рынке – AVR, STM32, TI. Микроконтроллеры архитектуры AVR не соответствуют требованиям 1.4 и 5, поэтому их использование не рассматривается [11, 12].
И микроконтроллеры STM32, и микроконтроллеры TI построены на одной архитектуре – Cortex M. Эта архитектура поддерживает все требуемые требованиями ресурсы. Из двух линеек микроконтроллеров мы выберем STM32, т.к. микроконтроллеры TI с такими же характеристиками намного дороже первых, а также реже встречаются в продаже. На сайте производителя микроконтроллеров STM32 вы можете увидеть сравнительное описание всех линеек и всех контроллеров среди линейки. Для разрабатываемой системы была выбрана линейка контроллеров на базе ядра Cortex M4, так как линейки ниже не поддерживают аппаратные вычисления над числами с плавающей запятой, а контроллеры старшей линейки Cortex M7 значительно дороже и имеют избыточные ресурсы для разрабатываемой системы.
Микроконтроллер STM32f407vgt6 был выбран из линейки STM32F4, так как от этого контроллера идет необходимое количество внешних прерываний, а кроме того, имеется 6 аппаратных модулей для датчиков, которые позволяют обрабатывать данные с датчиков без использования процессора. Также на базе этого микроконтроллера существует популярная плата для разработчиков, включающая в себя сам микроконтроллер и необходимый для него программатор - отладчик. Использование такой платы значительно упрощает этап разработки микропроцессорных устройств. В таблице 2 приведены основные характеристики выбранного микроконтроллера, повлиявшие на его выбор [13].
Таблица 2 – Основные характеристики микроконтроллера STM32f407vgt6.
Характеристика | Значение |
Объем памяти программ | До 1 Мб |
Объем оперативной памяти | До 256 Кб |
Напряжение питания | 1.8 – 3.6 В |
Тактовая частота | До 168 Мгц |
Встроенный АЦП | 3x12 бит , до 27 каналов |
Количество таймеров | 17 |
Количество внешних прерываний | 16 |
Количество портов ввода вывода | 85 |
Основные интерфейсы передачи данных | UART, USB |
Существуют различные методы программирования для этого микроконтроллера: язык C и метод Model-Based. Последнее заключается не в написании программного кода, а в его создании в виде блок-схемы (например, в среде Simulink) и последующей компиляции в исполняемый код для микроконтроллера. Этот способ не подходит для текущей задачи, так как использует малую часть возможностей микроконтроллера, и в то же время код при такой компиляции будет менее оптимален, поэтому программирование будет производиться путем написания программы на язык Си.
Многие IDE работают с этим микроконтроллером, но среда Keil является наиболее распространенной, так как вобрала в себя самые мощные инструменты для работы с МК и имеет бесплатную версию.
Помимо того, что в этой среде есть возможность писать и компилировать программный код, в ней также предусмотрен режим отладки, позволяющий загрузить программу в контроллер и запускать ее шаг за шагом, останавливаться в любой точке, продолжать с этой точки, просматривать значения всех переменных и состояние всех периферийных устройств и многое другое. Этот инструмент очень помогает в разработке сложных систем.
Программа для микроконтроллера системы управления манипулятором представлена в приложении Б.
Заключение
В курсовой работе описана система управления манипуляторов мобильного робота «Варан», приведены структурная, функциональная и электрическая принципиальная схемы систему управления манипулятором.
Также в курсовой работе приводится обоснование и выбор элементов схем и программа для микроконтроллера.
Список используемых источников
-
Анучин А.С. Системы управления электроприводов. / А.С. Анучин: Издательский дом МЭИ, 2015. – 43 с. -
Юревич Е.И. Основы робототехники. / Е.И. Юревич. - 3-е изд. - СПб.: БХВ - Петербург, 2010. - 359 с. -
Юревич Е.И. Управление роботами и робототехническими системами. / Е.И. Юревич: - СПб.: БХВ - Петербург, 2010. - 171 с. -
Манипулятор (механизм) [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/ (дата обращения: 05.04.2023) -
Fundamentals of robotics / S. Schilling Издательский дом Prentice hall, 2005. – 90 с. -
Мобильный робототехнический комплекс «Варан» [Электронный ресурс] – Режим доступа: http://niism.bmstu.ru/otdelyi-nii-sm/sm4-6/mrk-varan (дата обращения: 05.04.2023) -
МНОГОФУНКЦИОНАЛЬНЫЙ МОБИЛЬНЫЙ РОБОТОТЕХНИЧЕСКИЙ КОМПЛЕКС ЛЕГКОГО КЛАССА «ВАРАН» [Электронный ресурс] – Режим доступа: http://otvaga2004.ru/fotoreportazhi/vystavki-vooruzheniya/varan/ (дата обращения: 05.04.2023) -
Военные роботы и их разработчики. Часть 3 – заключительная [Электронный ресурс] – Режим доступа: https://habr.com/ru/articles/409007/ (дата обращения: 05.04.2023) -
Мобильный робототехнический комплекс «ВАРАН» [Электронный ресурс] – Режим доступа: https://sdelanounas.ru/blogs/5113/ (дата обращения: 05.04.2023) -
T. K. Ten. KateF. LiefhebberA. H. G. Versluis J. A. van. Woerden Collaborative Control of the Manus Manipulator [Электронный ресурс] – Режим доступа: https://link.springer.com/ (дата обращения: 08.04.2023) -
B.J.F. Driessen, ing J.A. van Woerden Enhancing the usability of the MANUS manipulator by using visual servoing [Электронный ресурс]. – Режим доступа: http://citeseerx.ist.psu.edu/ (дата обращения: 08.04.2023) -
D.-J. Kim, R. Hazlett, H. Assistive Robotics [Электронный ресурс]. – Режим доступа: http://eecs.ucf.edu/ (дата обращения: 08.04.2023) -
STM32F407VGT6, Микроконтроллер 32-Бит, Cortex-M4 + FPU, 168МГц, 1МБ Flash, USB OTG HS/FS, Ethernet [LQFP-100] [Электронный ресурс]. – Режим доступа: https://www.chipdip.ru/product/stm32f407vgt6 (дата обращения: 09.04.2023)
Приложение А
Принципиальная электрическая схема системы управления манипулятора
Приложение Б
Программа для микроконтроллера
// Настройка портов для использования GPIO, PWM и ADC
#define AD04 (1 << 18) // P0.25
#define AD01 (1 << 24) // P0.28
#define AD02 (1 << 26) / / P0.29
#define AD03 (1 << 28) // P0.30
PINSEL1 - = AD04 - AD01 - AD02 - AD03 - (1 << 10);
PINSEL0 = 0x000A800A; // Включение каналов ШИМ PWM3, PWM2, PWM4
PINSEL2 = 0x00000000; // Подключение светодиода
IODIR1 = ((0 << 17) - (0 << 18) - (0 << 19) - (0 << 20) - (1 << 28) - (1 << 29) - (1 << 30) - (1 << 31)); // Установка выводов светодиода в качестве выхода, а контакты кнопок в качестве входа