Программы,... Онлайн-сервисы Интернет

Единый пульт управления роботами. Разработка дистанционной системы управления учебным роботом Подключение к серверу

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

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

Скорость и направление движения робота будет зависеть от степени и направления отклонения джойстика. Робот сможет выполнять такие команды как движение вперёд или назад, с заворотом или без, разворот на месте влево или вправо, установка всех суставов в центральные положения, ослабление всех суставов, подъем и опускание корпуса. При разрыве связи между bluetooth модулями пульта и робота, робот перестанет идти, а все его сервоприводы ослабнут.

Подробно об управлении роботом и сопряжении Bluetooth модулей рассказано ниже, в разделе «Управление».

Нам понадобится:

    Робот «QUADRUPED»:
  • Элементы питания:
    • либо 2 аккумулятора Li-ion размером .
    • либо 5 аккумуляторов Ni-MH размером .
    Пульт:
  • Элементы питания:
    • либо 1 аккумулятор Ni-MH размером крона и переходник под DC-jack .
    • либо иной для Arduino Uno .

Для реализации проекта нам необходимо установить библиотеки:

  • iarduino_Bluetooth_HC05 - для работы с Trema Bluetooth модулем HC-05.
  • iarduino_HC_SR04 - для работы с ультразвуковым датчиком расстояния HC-SR04+.
  • Библиотеки SoftwareSerial и Servo входят в базовый набор Arduino IDE и не требуют установки.

О том как устанавливать библиотеки, Вы можете ознакомиться на странице Wiki - Установка библиотек в Arduino IDE .

Видео:

Схема подключения пульта дистанционного управления:

  • Установите Trema-Set Shield на Arduino Uno .
  • Установите Trema-модуль потенциометр на 2 посадочную площадку Trema-Set Shield .
  • Установите Trema-модуль джойстик на 4 посадочную площадку Trema-Set Shield .
  • Установите Trema-модуль Bluetooth HC-05 на 6 посадочную площадку Trema-Set Shield .
  • При желании все установленные на Trema-Set Shield модули можно закрепить, используя нейлоновые винты и стойки.

В данном коде показания джойстика и потенциометра постоянно сохраняются в массив arrData после чего он отправляется по радиоканалу через bluetooth модуль. Скетч калибрует джойстик при старте, считывая показания для осей X и Y, которые до отключения питания считаются центральными. Показания осей X и Y отправляются в пределах значений от -100 до +100. Показания потенциометра отправляются в пределах значений от 0 до +100. Состояние кнопки отправляется как число 0 или 1.

Если подать питание с нажатой кнопкой джойстика, то в коде setup выполнится код вызова функции createMaster, которая установит bluetooth модулю роль мастера, инициирует поиск ведомого с именем "QUADRUPED" и PIN-кодом "1212", и если такое ведомое устройство будет доступно, то произойдёт сопряжение и соединение с этим ведомым bluetooth модулем (именно такое имя и PIN будут присвоены bluetooth модулю на роботе). Если не нажимать на джойстик при подаче питания, то функция createMaster будет пропущена, а bluetooth модуль будет принимать попытки создать соединение на основе своих последних настроек. Таким образом сопряжение с bluetooth модулем робота достаточно выполнить всего один раз.

Функции begin(), createMaster() и checkConnect() объекта objHC05 возвращают true или false, и вызываются как условие оператора while(), то есть инициализация, назначение роли и проверка соединения bluetooth модулей выполняются до тех пор пока не будет получен положительный результат. Эти функции можно вызывать однократно только в том случае если Вы уверены что второй bluetooth модуль (модуль робота) точно включён, ему назначена роль ведомого, он готов к соединению и находится в радиусе действия связи. Иначе функция вернёт false, а код продолжит выполняться не отреагировав на ошибку.

Функция send() объекта objHC05 способна отправлять массивы и переменные любых типов, и так же возвращает true или false, сообщая о результате приёма данных вторым bluetooth модулем. В нашем случае данную функцию нет необходимости вызывать в условии оператора while(), так как эта функция и так постоянно вызывается в коде цикла loop().

С подробным описанием всех функций объекта objHC05 можно ознакомиться на странице .

Код программы для робота QUADRUPED:

Значения массива cenAngle должны быть изменены (откалиброваны) на действительные углы сервоприводов в градусах, при которых все суставы робота находятся в центральном положении. Это выполняется с использованием калибровочного скетча, как описано на странице .

В данном коде управление роботом осуществляется через функции:

  • funLimbMove - установка одного сустава выбранной конечности в значение от -100 до 100.
    • Если указать funLimbMove(4,1,100), то у 4 конечности, вертикальный сустав, поднимется максимально вверх.
    • Если указать funLimbMove(4,0,-100), то у 4 конечности, горизонтальный сустав, сдвинется максимально влево.
  • funLimbStep - установка одной конечности в положение от 0 до 255.
    • Если указать funLimbStep(4,x,0,50), где x будет увеличиваться от 0 до 255, то 4 конечность совершит следующие действия: плавный сдвиг внизу назад, резкий подъём, быстрый проход сверху вперёд и резкий спуск, остановившись в той же позиции с которой начинались движения. Что похоже на реальное движение лап при движении вперёд.
    • Если указать funLimbStep(4,x,0,50), где x будет уменьшаться от 255 до 0, то 4 конечность совершит те же действия, но в обратном порядке. Что похоже на реальное движение лап при движении назад.
    • Предпоследний аргумент функции можно указывать в пределах от -100 до +100, он будет ограничивать амплитуду движений левых или правых конечностей, что вызовет заворачивание (поворот) влево (-100...0) или вправо (0...+100).
    • Последний аргумент функции можно указывать в пределах от 0 до 100, это высота подъёма корпуса в процентах, если указать 0, то QUADRUPED будет «ползти», чем больше значение, тем выше QUADRUPED. Средний подъём корпуса соответствует значению 50.
  • funLimbGait - установка всех конечностей в положение от 0 до 255. Эта функция вызывает предыдущую функцию funLimbStep для каждой конечности, указывая их положение в соответствии с алгоритмом походки.
    • Если указать funLimbGait(1, x, 0, 50), где x будет увеличиваться от 0 до 255, то все конечности совершат действия при которых QUADRUPED пройдёт вперёд и прямо на один полный шаг, а его конечности вернутся в ту же позицию с которой этот шаг начинался.
    • Если указать funLimbGait(1, x, 0, 50), где x будет уменьшаться от 255 до 0, то все конечности совершат те же действия, но в обратном порядке. Следовательно, QUADRUPED пройдёт тот же шаг но назад.
    • Если указать funLimbGait(0, x, 0, 50), где x будет увеличиваться от 0 до 255, то все конечности совершат действия при которых QUADRUPED выполнит разворот вправо на один полный шаг, а его конечности вернутся в ту же позицию с которой этот разворот начинался.
    • Последний и предпоследний аргументы выполняют те же действия что и аргументы функции funLimbStep той же позиции, а именно, выполняют заворот (поворот) и поднятие корпуса.
    • Вы можете дополнить функцию funLimbGait придумав свои варианты походок.
  • funLimbFree - ослабление всех суставов. Функция вызывается без параметров и приводит к отключению сервоприводов. Сервоприводы включатся самостоятельно при вызове любой функции управления суставами или конечностями.
  • funLimbCent - установка всех суставов в центральное положение. Функция вызывается без параметров и устанавливает суставы всех конечностей в положение установленное при калибровке.
  • funWaitMaster - эта функция проверяет нажатие на кнопку сопряжения. Если кнопка нажата, то текущее соединение (если оно есть) с мастером будет разорвано, список пар будет очищен, bluetooth модулю будет назначена роль ведомого с указанием имени «QUADRUPED» и PIN-кодом «1212», после чего он будет ожидать подключения мастера.

Получение данных и работа с Trema-модулем Bluetooth HC-05 осуществляется через функции и методы объекта objHC05 библиотеки iarduino_Bluetooth_HC05 , с подробным описанием которых можно ознакомиться на странице Wiki - Trema-модуль bluetooth HC-05 .

Управление:

Сразу после сборки, загрузки скетча и подачи питания на пульт, и QUADRUPED, суставы робота будут ослаблены, и он не будет реагировать на команды с пульта, так как Bluetooth модулям требуется сопряжение (создание пары). Сопряжение достаточно выполнить только один раз, bluetooth модули запомнят созданную пару в своей энергонезависимой памяти и будут пытаться соединится друг с другом при каждой последующей подаче питания.

  • Отключите питание пульта (если оно было подано), нажмите на джойстик (как на кнопку) и подайте питание пульта. После выполнения этих действий bluetooth модулю пульта будет назначена роль мастера и он начнёт поиск ведомого с именем «QUADRUPED» и PIN-кодом «1212».
  • Подключите питание робота (если оно не было подано), нажмите и удерживайте кнопку сопряжения не менее 1 секунды (её можно нажимать в любое время). После нажатия на кнопку, bluetooth модулю робота будет назначена роль ведомого с именем «QUADRUPED» и PIN-кодом «1212», и он будет ожидать подключение мастера.
  • Для выполнения повторного сопряжения (если оно потребуется) нужно выполнить те же действия как для пульта, так и для робота.
  • Как только связь будет установлена, суставы робота «оживут» и он будет выполнять команды пульта. Если Вы отключите питание пульта, то суставы робота ослабнут и вновь оживут при подаче питания пульта.

Управление роботом с пульта выполняется следующим образом:

  • Если отклонить джойстик вперёд, то и робот пойдёт вперёд, а скорость будет зависеть от степени отклонения джойстика.
  • Если отклонить джойстик назад, то и робот пойдёт назад, а скорость будет зависеть от степени отклонения джойстика.
  • Если отклонить джойстик вперёд и влево, или вправо, то и робот пойдёт вперёд заворачивая влево, или вправо. Скорость будет зависеть от степени отклонения джойстика вперёд, а радиус поворота от степени отклонения джойстика влево, или вправо.
  • Если отклонить джойстик назад и влево, или вправо, то и робот пойдёт назад заворачивая влево, или вправо. Скорость будет зависеть от степени отклонения джойстика назад, а радиус поворота от степени отклонения джойстика влево, или вправо.
  • Если отклонить джойстик влево или вправо, но не отклонять его вперёд, или назад, то робот начнёт разворачиваться на месте влево, или вправо, а скорость разворота будет зависеть от степени отклонения джойстика.
  • Если нажать на джойстик (при включённом питании), то все суставы конечностей робота установятся в центральные положения.
  • Если поворачивать ручку потенциометра по часовой стрелке, то корпус робота будет подниматься, вне зависимости от положения джойстика.
  • Если поворачивать ручку потенциометра против часовой стрелке, то корпус робота будет опускаться, вне зависимости от положения джойстика.

Одним из наиболее перспективных направлений развития военной техники является создание дистанционно управляемых роботов, предназначенных для решения различных задач. В настоящее время уже активно используются беспилотные летательные аппараты, работающие по такому принципу. Что касается наземной и надводной робототехники, то эти области пока не получили такого же развития. Использование в войсках дистанционно управляемой техники пока что имеет весьма ограниченное применение, что обусловлено техническими сложностями и необходимостью ее «встраивания» в существующий облик вооруженных сил. Однако в отдаленной перспективе количество дистанционно управляемых роботов может достичь того уровня, когда понадобится искать новые решения, способные облегчить взаимодействие большого количества подобной аппаратуры.

Широкое распространение боевых роботов может привести к необходимости создания специальных систем передачи информации и управления, наподобие общевойсковых. Как стало известно, в петербургском ЦНИИ Робототехники и технической кибернетики (ЦНИИ РТК) начаты работы по изучению облика и созданию единой системы управления боевыми робототехническими средствами. Интерфакс со ссылкой на представителя ЦНИИ РТК сообщает, целью работ является создание систем, позволяющих управлять сразу несколькими роботами одновременно, что даст возможность с большим удобством проводить различные операции. Кроме того, такой подход позволит унифицировать пульты управления различных робототехнических комплексов.


Естественно, разработка единой системы управления не повлечет за собой полное исчезновение «индивидуальных» пультов. Все новые роботы по-прежнему будут комплектоваться собственной аппаратурой дистанционного управления. Однако, по задумке сотрудников ЦНИИ РТИ, вся новая техника должна иметь возможность взаимодействия с некой общей многоканальной системой управления. За счет этого, как предполагается, удастся обеспечить большую гибкость применения роботов, по одному и группами. Иными словами, при определенных обстоятельствах бойцы какого-либо подразделения смогут применять несколько единиц робототехники, управляя ими с единого пульта. Соответственно, значительно облегчится взаимодействие нескольких операторов, ведь их количество значительно сократится.

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

Подобное строение «подразделения» боевых или многоцелевых роботов может быть использовано не только в условиях военных действий. Роботы с централизованным управлением могут нести разведывательную аппаратуру или вооружение. При этом они получают полезное преимущество: управляемые с одного пульта аппараты можно использовать, в том числе, для обустройства засад, либо для организации нападения на стационарные объекты с нескольких сторон. Однако такие возможности позволяют оператору или операторам «подразделения» роботов выполнять и другие задачи. К примеру, в ходе спасательных операций несколько роботов, управляемых одним оператором, могут производить разведку обстановки с большей эффективностью, чем по одному. Также несколько аппаратов со специальным оборудованием при определенных обстоятельствах способны быстро и качественно локализовать и потушить пожар или выполнить другую подобную задачу.

Однако у единой системы управления роботами есть и минусы. В первую очередь, необходимо отметить сложность создания некоего универсального пульта управления. Несмотря на ряд общих особенностей, в большинстве случаев каждая модель боевого или многоцелевого робота требует специально разработанную систему управления. Так, сверхлегкие беспилотники могут управляться комплексом, основой которого является обычный компьютер или ноутбук, а более серьезные и крупные аппараты используются в связке с соответствующим оборудованием. К примеру, американский колесный многоцелевой автомобиль с дистанционным управлением Crusher имеет пульт управления, представляющий собой некое подобие кабины с рулем, педалями и несколькими мониторами. Таким образом, единый пульт управления должен строиться по модульной схеме, причем каждый модуль в таком случае будет отвечать за особенности того или иного класса дистанционно управляемой техники, в зависимости от способа передвижения, массы и назначения.

При этом стоит напомнить, что количество отечественных роботов, которые можно использовать в военных или спасательных нуждах, пока невелико. Основная масса таких разработок приходится на беспилотные летательные аппараты. Примечательно, что разработкой этой техники занимаются сразу несколько государственных и коммерческих организаций. Само собой, каждая из них оснащает свой комплекс управлением собственной разработки. Создание единой стандартной системы управления поможет «навести порядок» в этой отрасли. Кроме того, унифицированная аппаратура управления значительно упростит обучение операторов роботизированных комплексов. Иными словами, будущий оператор сможет изучить общие принципы единой системы управления и затем дополнительно освоить те навыки и умения, которые связаны с использованием дополнительных модулей и конкретной модели робота. Таким образом, переучивание оператора на другую технику упростится и сократится в несколько раз.

И все же работы петербургского ЦНИИ Робототехники и технической кибернетики не получат большого будущего в самом ближайшем времени. Дело в том, что основная масса направлений боевой и многоцелевой робототехники в нашей стране пока не получила должного развития. Так что отечественная единая система управления, скорее всего, будет вынуждена подождать появления большого количества роботов. Стоит сказать, у этой неприятности есть одно положительное последствие. Поскольку массовое создание различной робототехники еще не началось, сотрудники ЦНИИ РТК успеют завершить свои работы над единой системой управления и представить готовую разработку до появления новых моделей роботов. Таким образом, разработка Центрального НИИ Робототехники сможет стать стандартом, который будет учитываться при разработке новых роботов для вооруженных сил, силовых и спасательных структур.

Пока еще рано говорить о подробностях нынешнего проекта: все сведения о нем ограничивается лишь несколькими сообщениями в средствах массовой информации. В то же время, ЦНИИ РТК мог только недавно получить соответствующий заказ. Тем не менее, работы в этом направлении, вне зависимости от времени их начала, необходимо вести и доводить до конца. При всей своей сложности единый пульт управления роботами будет полезен для практического использования.

По материалам сайтов:
http://interfax.ru/
http://newsru.com/
http://lenta.ru/
http://rtc.ru/

Сегодня никого не удивишь радиоуправляемыми самоделками . Но согласитесь, как-то «по старинке» нажимать на клавиши управления… Гораздо интереснее управлять поделками с помощью движений кисти, не так ли? В данной статье показан пример того, как можно организовать дистанционное управление при помощи платы Arduino и нескольких датчиков изгиба. В качестве подопытного будет выступать PHIRO Pro

Шаг 1: Что понадобится

  • Датчики изгиба;
  • Arduino UNO;

  • Bluetooth модуль HC-05;

  • Перчатка;

  • Джамперы;

  • 9B батарея;

  • Приложение Pocket Code.

Шаг 2: Загружаем стандарт Firmata на Arduino

Необходимо загрузить стандарт firmata на плату Ардуино, для того, что соединить её с Pocket Code. В данном проекте используем Arduino UNO, однако может быть использована любая плата Arduino.

  • Подключаем плату Arduino к компьютеру/ноутбуку.
  • В Arduino ID выбираем COM Port. Tools -> Serial Port -> Corresponding COM Port
  • Далее выбираем тип платы. Tools -> Board -> Your Arduino Board
  • Затем выбираем стандарт Firmata. Examples -> Firmata -> Standard Firmata
  • Нажимаем «Upload» и загружаем код на плату.

Шаг 3: Соединяем датчики с платой и крепим их на перчатку

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

Шаг 4: Подсоединяем Bluetooth модуль HC-05 к Arduino

Соединяем выводы bluetooth модуля и платы Arduino следующим образом:

  • HC05 Tx — Arduino Rx
  • HC05 Rx — Arduino Tx
  • Vcc — 5V
  • GND — GND

Шаг 5: Соединяем Arduino с батареей

Используем 9В батарею для питания платы Arduino с Bluetooth модулем. Такой тип компоновки объясняется возможностью легкого монтажа на запястье/браслете. Чем компактнее тем лучше.

Шаг 6: Программа Pocket Code

Ниже представлены примеры использования программы. Прежде всего убедитесь, что PHIRO Pro находится в Mode 3 (Bluetooth Mode). Нажмите на кнопку Mode на PHIRO не раньше, чем синий светодиод, что расположен рядом с дисплеем на верху, включится.

Для программы, в общем есть 7 режимов.

  • Указательный палец выпрямлен. Фары светятся красным. Программа показывает STOP.
  • Указательный и средний палец выпрямлены. Фары светятся зеленым. Программа показывает STOP.
  • Указательный, средний и безымянный пальцы выпрямлены. Фары светятся синим. Программа показывает STOP.
  • Ладонь открыта. PHIRO движется вперёд. Фары светятся белым. Программа показывает FORWARD (вперёд).
  • Ладонь сжата в кулак. PHIRO останавливается. Фары выключены. Программа показывает STOP.
  • Ладонь сжата в кулак и наклонена влево (телефон наклонён влево). PHIRO поворачивает налево. Левая фара светится желтым. Программа показывает LEFT (влево).
  • Ладонь сжата в кулак и наклонена вправо (телефон наклонён вправо). PHIRO поворачивает вправо. Правая фара светится желтым. Программа показывает RIGHT (право).

Шаг 7: Проводим финальный монтаж

Для крепления телефона на руке, можете воспользоваться наручной повязкой или сделать так, как сделал я.

Купил дешевую крышку под мой мобильник, прорезал отверстия и протянул ленту липучку. Наручная повязка с телефоном готова.

Вот и всё!) Спасибо за внимание)

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Разработка дистанционной системы управления учебным роботом

Введение

робототехника пользователь программа микропроцессорный

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

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

Сотовые телефоны частично заменяют многие устройства такие как: фотоаппарат, компьютер, электронную книгу и т.п. Стоит задуматься «а почему бы не управлять с помощью телефона какими-нибудь не сложными устройствами?». Предлагается заменить не все устройство, а только некоторые средства дистанционного управления. Это упростит управление различными приборами в повседневной жизни человека. Например, один телефон с функцией Bluetooth сможет заменить все пульты от домашней техники, которые так часто теряются.

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

Bluetooth является самым распространенным каналом связи на данный момент. Он есть почти на всех телефонах, и очень прост в использовании. Bluetooth или блютус - производственная спецификация беспроводных персональных сетей. Bluetooth обеспечивает обмен информацией между такими устройствами как персональные компьютеры, мобильные телефоны, принтеры, цифровые фотоаппараты, мышки, клавиатуры, джойстики, наушники, гарнитуры. Bluetooth позволяет этим устройствам сообщаться, когда они находятся в радиусе до 200 метров друг от друга (дальность сильно зависит от преград и помех), даже в разных помещениях.

Слово Bluetooth - переводится с датского языка как «Синезубый». Это прозвище носил король Харальд I, правивший в X веке Данией и частью Норвегии и объединивший враждовавшие датские племена в единое королевство. Подразумевается, что Bluetooth делает то же самое с протоколами связи, объединяя их в один универсальный стандарт.

В данной работе производится разработка системы дистанционного управления учебным роботом. Учебный мобильный робот построен на базе машинки с радиоуправлением. А дистанционное управление осуществляется по каналу связи Bluetooth. Устройством передачи сигнала был выбран телефон с возможностью передачи информации по Bluetooth, а устройство приемник - это Bluetooth модуль установленный на плате в машинке.

Дадим определение, что такое робот. Робот - электромеханическое, пневматическое, гидравлическое устройство или их комбинация, предназначенное для осуществления производственных и других операций, обычно выполняемых человеком (иногда животным). Использование роботов позволяет облегчить или вовсе заменить человеческий труд.

С развитием робототехники определились 3 разновидности роботов:

С жёсткой программой действий;

Управляемые человеком-оператором;

С искусственным интеллектом, действующие целенаправленно без вмешательства человека.

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

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

Для выполнения цели проекта поставлены и решены следующие задачи:

1) Разработка структурной схемы устройства управления. Разрабатывается структурная схема работы учебного мобильного робота с дистанционной системой управления.

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

3) Разработка алгоритма и программы устройства управления;

1 . Разработка структурной схемы устройства управления

Структурная схема системы

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

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

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

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

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

Разработка схемы электрической принципиальной

Выбор двигателя

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

Выбор микроконтроллера

В качестве основного элемента получения и обработки сигналов был выбран микроконтроллер Atmega8 фирмы Atmel (см. приложение Б). У микроконтроллера имеются порты UART, 3 таймера, что необходимо для данной работы.

Цифровые сигнальные процессоры фирмы Atmel получили широкое применение, так как они имеют доступную цену и достаточный набор периферии.

Выбор микросхемы и интерфейса связи

Для управления двигателями стоял выбор между драйверами L298N и L293D. Но выбор остановился на драйвере L298N. Он работает в более широком диапазоне напряжений, и в связи с этим отпадает риск перегрева микросхемы. Так же он легкодоступный и имеет полный ряд функций необходимых для выполнения данной работы.

В качестве интерфейса связи с компьютером в данном проекте выбран интерфейс UART. Данный интерфейс был выбран не случайно, потому что для передачи данных используется Bluetooth модуль, который в свою очередь использует интерфейс UART. Так же его плюсом является хорошая скорость передачи данных - 9600 Кбит/с.

Расчет механической мощности.

Вес модели равен 0,7 кг, максимальная скорость 1 м/с при диаметре колес 30 мм.

Рассчитаем ускорение:

Вращающий момент рассчитывается следующим образом:

При моменте инерции и угловом ускорении б =

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

Мощность двигателя пропорциональна вращающему моменту и частоте вращения:

Расчет схемы электрической принципиальной

Выбор силового драйвера управления.

В данной работе мы используем драйвер L298N со следующими характеристиками:

Максимальное рабочее напряжение: Uпит < Uдрайвера=46 В;

Напряжение питания U пит =+5 В, +3,3 В;

Максимальный выходной ток (на один канал): Iпит < Iдрайвера=2 А:

Расчет резисторов.

Вывод Reset микроконтроллера, согласно технической документации, рекомендовано подключать к питанию через подтягивающий резистор номиналом 10 кОм.

Резисторы для соединения микроконтроллера и Bluetooth модуля устанавливаются исходя из технической документации модуля: рабочее напряжение 3.3 В, при работе с напряжением 5 В установить резисторы номиналом 4,7 кОм.

Для стабильной работы и избежание сгорания светодиода необходимо, что бы ток текущей в цепи, соответствовал номинальному (10 или 20 миллиампер), для этого установим резистор сопротивлением 1 кОм.

Расчет конденсаторов.

Для стабилизации напряжения поступающего с источника питания были параллельно подключены конденсаторы емкостью 30 мкФ и 100 мкФ.

Уже известно, что Bluetooth модуль работает от напряжения 3,3 В, получается рабочее напряжение в микросхеме 5 В будет излишним, что может привести к сгоранию модуля. Поэтому для уменьшения напряжения необходимо подключить стабилизатор L78L33. Исходя из его технической документации потребуются 2 конденсатора емкостью 0,33 мкФ и 0,1 мкФ. Схема соединения представлена на рисунке.

Схема соединения стабилизатора L78L33

Разработка печатной платы

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

При конструировании печатной платы необходимо учитывать следующее.

Если нет каких-либо ограничений, печатная плата (ПП) должна быть квадратной или прямоугольной. Максимальный размер любой из сторон не должен превышать 520 мм. Толщина ПП должна соответствовать одному из чисел ряда: 0.8; 1.0; 1.5; 2.0 в зависимости от площади ПП.

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

Диаметр монтажных отверстий, диаметры выводов микросхем колеблются в пределах 0,8…1,2 мм, а диаметры выводов резисторов колеблются около 0,66 мм. Для упрощения процесса изготовления, монтажные отверстия на плате имеют диаметр 0,8 и 1,2 мм. Шаг координатной сетки составляет 1,27 мм.

Паять элементы припоем ПОС-61. Материал платы стеклотекстолит фольгированный СТЭФ 2-1,5-50 по ГОСТ 10316-86.

Разработка сборочного чертежа

В ходе разработки сборочного чертежа необходимо уделить внимание следующим требованиям:

1) разработка сборочного чертежа устройства управления двигателями постоянного тока осуществляется на основе разработанной принципиальной электрической схемы с учетом требований к чертежным документам;

2) в соответствии со схемой деления изделия на составные части присвоить обозначение сборочной единице и ее элементам по ГОСТ 2.201-68;

3) проставить необходимые размеры согласно требованиям ГОСТ 2.109-73;

4) заполнить спецификацию, выдерживая все требования ГОСТ 2.108-68;

5) заполнить основную надпись и выполнить другие необходимые надписи (технические требования и пр.).

3 . Разработка алгоритма и программы устройства управления

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

Разработка алгоритма для микропроцессорного устройства управления двигателями постоянного тока.

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

Значения передаваемого байта:

10: 00 - Стоп; 01 - Вперед; 10 - Назад; 11 - Стоп.

23: 00 - Стоп; 01 - Вправо; 10 - Влево; 11 - Стоп.

Разработка программы.

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

Данная программа необходима для управления двигателями постоянного тока. Микроконтроллер управляется программой с телефона.

Программа управления двигателем постоянного тока, с использованием микроконтроллера ATmega8 (см. приложение А).

Разработка программы на телефон.

Для запуска этой программы необходимо иметь на компьютере установленную версию Windows 98/2000/ME/XP. Данная программа разрабатывалась в среде Android SDK.

Для работы используются следующие пространства имен:

import java.io.IOException;

import java.io. OutputStream;

import java.util. List;

import java.util.UUID;

import android.app. Activity;

import android.app. AlertDialog;

import android.app. ProgressDialog;

import android.bluetooth. BluetoothAdapter;

import android.bluetooth. BluetoothDevice;

import android.bluetooth. BluetoothSocket;

import android.content. Context;

import android.content. DialogInterface;

import android.content. Intent;

import android.content. DialogInterface. OnClickListener;

import android.hardware. Sensor;

import android.hardware. SensorEvent;

import android.hardware. SensorEventListener;

import android.hardware. SensorManager;

import android.net. Uri;

import android.os. Bundle;

import android.os. Handler;

import android.os. Message;

import android.view. LayoutInflater;

import android.view. Menu;

import android.view. MenuInflater;

import android.view. MenuItem;

import android.view. MotionEvent;

import android.view. View;

import android.widget. Button;

import android.widget. TextView;

import android.widget. Toast;

Назначение и условия применения программы.

Программа предназначена для формирования и передачи сигналов на микропроцессорное устройство.

Для запуска этой программы необходимо иметь устройство с операционной системой Android любой версии. Данная программа разрабатывалась в среде Android SDK.

Обращение к программе

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

Для запуска программы необходимо включить Bluetooth на устройстве и запустить приложение «BluCar». С помощью кнопки «Connect to a device» установить соединение с Bluetooth модулем («linvor»). После того как светодиод перестанет мигать можно приступать к передаче данных.

4. Руководство пользователя

Для проверки работоспособности учебного мобильного робота необходимо следующее:

Включить питание учебном мобильном роботе при помощи кнопки представленной на рисунке.

Кнопка включения питания

Дождаться мигания двух светодиодов представленных на рисунке 5. Первый (белый) установлен на схеме мигая через каждую секунду, извещая о том, что в схеме есть питание и она готова к работе. Второй светодиод находится на Bluetooth модуле, и имеет 2 режима работы:

Мигание: ожидание подключения;

Постоянное горение: показывает наличие подключения.

Рабочее состояние светодиодов

Далее включаем на телефоне Bluetooth и запускаем программу «BluCar» представленную на рисунке 6. В программе нажимаем кнопку «Connect from device», из предоставленного списка выбираем linvor, которым является Bluetooth модуль. Дожидаемся когда светодиод на модуле начинает гореть постоянно, что означает успешное подключение. Учебный мобильный робот с дистанционной системой управления готов к работе.

Программа на телефоне «BluCar»

Способы управления:

Кнопка «Forward» - движение вперед;

Кнопка «Reverse» - движение назад;

Поворот телефона по горизонтальной плоскости правым ребром вниз - поворот передних колесо вправо;

Поворот телефона по горизонтальной плоскости левым ребром вниз - поворот передних колес влево;

Для выключения мобильного робота необходимо отключить питание схемы и в программе нажать кнопку «Disconnect from device».

Заключение

В результате выполнения выпускной квалификационной бакалаврской работы на тему: «Разработка дистанционной системы управления учебным роботом» произведена и создана система дистанционного управления учебным роботом по каналу связи Bluetooth. Учебным роботом является машинка с двумя двигателями постоянного тока и элементом питания. Устройством передачи сигнала был выбран телефон с возможностью передачи информации по Bluetooth, а устройство приемник - это Bluetooth модуль установленный на плате в машинке.

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

Созданная система дистанционного управления осуществляется с помощью микроконтроллера. Микроконтроллеры намного лучше своих предшественников. Они намного меньших размеров и обладают большей производительностью, а так же существенно ускоряют работу поставленной им задачи. В данной работе микроконтроллер используется для обрабатывания сигналов, которые поступают на него с телефона. Так же он отвечает за формирование сигналов для драйвера двигателей, заставляющего непосредственно крутиться движки. Микроконтроллер установлен в схеме, которая в свою очередь установлена в машинке и подсоединена к движкам.

Вышеуказанные выводы сделаны по первой (теоретической) части. Создана структурная схема.

Во второй главе описано как разработано микропроцессорное устройство дистанционного управления двигателями постоянного тока.

В третьей главе создан алгоритм и программа на телефон для визуализации управления двигателями постоянного тока.

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

Список литературы

1. Семенов Б.Ю. Силовая электроника для любителей и профессионалов - М.: Солон-Р, 2001. -126 с.

2. Лорен Дэрси, Шейн Кондер: Android за 24 часа. Программирование приложений под операционную систему Google. Изд. Рид Групп, 2011 г.

3. Касаткин А.С. Электротехника: Учеб. пособие для вузов. 4-е изд. - М.:Энергоатомиздат, 1983. -440 с., ил.

4. Евстифеев А.В.: Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. Издательский дом «Додэка-XXI», 2008. - 558 с.

5. Романычева Э.Т. Разработка и оформление конструкторской документации радиоэлектронной аппаратуры. / Справочник. М.: Радио и связь, 1989. - 448 с.

6. Сивухин Д.В. Общий курс физики: Т.1. Механика: Учебное пособие для физических специальностей вузов. - М.: Наука, 1974. - 520 с.

7. Хорвиц П., Хилл У. Искусство схемотехники. В 3-х томах. Пер. с англ. - М.: Мир, 1993.

8. Atmel, 8-bit Microcontroller with 16K Bytes In-System Programmable Flash Atmega16 - Datasheet.

9. L298 - Dual Full-Bridge Driver - Datasheet.

10. L78L00 SERIES - Positive voltage regulators - Datasheet.

11. Bluetooth Serial Converter UART Interface 9600bps User"s Guide - Datasheet

12. Википедия: Свободная энциклопедия. 2012. URL: http://ru.wikipedia.org. (Дата обращения 20.05.2012).

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа , добавлен 24.06.2013

    Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.

    курсовая работа , добавлен 14.01.2011

    Характеристика устройства и технологических данных промышленного робота СМ40Ц. Описание микропроцессорного комплекта серии U83-K1883, системы его команд, микросхемы К572ПВ4, функциональной, принципиальной схем и алгоритма работы программы управления.

    курсовая работа , добавлен 02.06.2010

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

    курсовая работа , добавлен 25.10.2009

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

    дипломная работа , добавлен 25.11.2014

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

    дипломная работа , добавлен 11.04.2012

    Актуальность задачи. Разработка функциональной схемы устройства. Радиолокационная установка (РЛУ). Микропроцессорная часть. Обоснование алгоритма работы устройства. Разработка управляющей программы устройства. Схема алгоритма. Пояснения к программе.

    курсовая работа , добавлен 18.10.2007

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

    курсовая работа , добавлен 31.07.2012

    Современные технологии ведения боя. Роботизированные средства в военной сфере. Устройство беспилотных летательных аппаратов, наземных и морских роботов. Разработка программы на языке Prolog для выполнения задачи разминирования военным роботом-сапером.

    курсовая работа , добавлен 20.12.2015

    Проектирование микропроцессорного устройства, которое преобразует интерфейс RS-232 (COM-порт) в IEEE 1284 (LPT-порт). Структурная схема устройства. Преобразование последовательного интерфейса в параллельный интерфейс на микроконтроллере ATMega 8.