Дистанционное управление роботом. Способы управления роботом. Управление по WiFi

Сегодня никого не удивишь радиоуправляемыми самоделками . Но согласитесь, как-то «по старинке» нажимать на клавиши управления… Гораздо интереснее управлять поделками с помощью движений кисти, не так ли? В данной статье показан пример того, как можно организовать дистанционное управление при помощи платы 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: Проводим финальный монтаж

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Размещено на 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.

Здравствуй, Хабрахабр! Я сидел вечером 11 июня, смотрел фильм. Неожиданно для себя я обнаружил, что мне написала незнакомая мне ранее женщина с предложением сделать робота для их нового квеста. Суть заключается в том, что нужно разгадывать головоломки, исследовать тайники, правильно применять подсказки, использовать доступные вещи и в итоге добывать ключи и открывать двери… От меня требовалось сделать робота, управляемого с компьютера с помощью отдельной программы. У мебя были сомнения по поводу некоторых проблем, например: успею ли я и как именно сделать беспроводную передачу данных (беспроводной передачей данных я занимался до этого только на NXT)? Взвесив все за и против я согласился. После этого я стал думать над передачей данных. Поскольку требовалось сделать робота быстро, то вспоминать и доосваивать, например, Delphi не было времени, поэтому возникла идея сделать модуль который будет заниматься отправкой команд. От компьютера требуется просто посылать данные в СОМ-порт. Этот способ странный, но наиболее быстрый. Его я и хочу описать здесь. Так же я приложу 3 программы которые помогут сделать радиоуправляемую машинку.
Сборка передатчика и его программа.
Я сделал модуль для компьютера из FTDI Basic Breakout 5/3.3V от DFrobot, довольно распространённого микроконтролера ATMEGA 328P-PU с загрузчиком Arduino и радиомодуля на основе микросхемы nRF24L01. По-сути это просто Arduino Uno с радиомодулем. Что есть, то есть. У радиомодуля есть особенность, которую я не сразу заметил: входное напряжение должно быть в диапазоне от 3 до 3.6 вольт (хотя подача на него 5 вольт его не убьёт, но работать не будет), верхняя граница логической единицы составляет 5В. Это означает то, что для подключения радиомодуля к меге не нужен преобразователь уровней между 3.3В и 5В, а вот стабилизатор на 3.3В установить нужно. У FTDI есть встроенный стабилизатор, от него я и подпитал радиомодуль.

Так выглядит сам модуль (внутри и в сборке) :

Программа состоит из инициализации, стартового сообщения и обработки команд из программы управления. Так было в моём случае. Основные команды библиотеки Mirf:

#include
#include
#include
#include
#include
Эти библиотеки нужны для работы радиомодуля

Mirf.csnPin = 4 - задаёт номер пина, отвечающего за «разрешение общаться» радиомодуля и МК
Mirf.cePin = 6 - задаёт номер пина, отвечающего за режим работы радиомодуля (приёмник/передатчик)
Mirf.spi = &MirfHardwareSpi - настраивает линию SPI
Mirf.init() - инициализирует радиомодуль
Mirf.payload = 1 - размер в байтах одного сообщения (поумолчанию 16, максимум 32)
Mirf.channel = 19 - задаёт канал (0 - 127, по умолчанию 0)
Mirf.config() - задаёт параметры передачи


Mirf.setTADDR((byte *)«serv1») - переводит радиомодуль в режим передатчика
Mirf.setRADDR((byte *)«serv1») - переводит радиомодуль в режим приёмника

Mirf.send(data) - отправляет массив типа byte
Mirf.dataReady() - сообщает об окончании обработки принятых данных
Mirf.getData(data) - записать принятые данные в массив data

Прилагаю код программы передатчика.

Программа передатчика

#include
#include
#include
#include
#include

Char active;
byte data;

Void setup()
{
Serial.begin(19200);

Mirf.csnPin = 4;
Mirf.cePin = 6;

Mirf.init();
Mirf.payload = 1;
Mirf.channel = 19;
Mirf.config();

Mirf.setTADDR((byte *)«serv1»);

//сигнальное сообщение о начале работы
data=7;
Mirf.send(data);
delay(200);
}

Void loop()
{
if (Serial.available()) //Если данные готовы к считыванию
{
active=Serial.read(); // Запись данных в переменную
}

If (active=="2")
{
data=2;
}

If (active=="3")
{
data=3;
}

If (active=="4")
{
data=4;
}

If (active=="5")
{
data=5;
}

If (active=="6")
{
data=6;
}

Mirf.send(data); //Отсылаем данные
while(Mirf.isSending()); // Ждём пока данные отсылаются
}

Программа управления.

Есть одна интересная штука - Processing. Синтаксис такой же как в Arduino, только вместо void loop() там расположился void draw(). Но она становилась ещё более интересной в моей ситуации с библиотекой processing Serial, которая позволяет работать с сериал-портом. Прочитав уроки на сайте Spurkfun`а, я поигрался с миганием светодиода на подключенной к компьютеру ардуинке по клику мышки. После этого я написал программу управления роботом с клавиатуры. Прилагаю код управления с помощью стрелок. В нём, в принципе, ничего необычного нет.

Программа управления машинкой

import processing.serial.*;
import cc.arduino.*;

Serial myPort;
PFont f=createFont(«LetterGothicStd-32.vlw», 24);

Void setup()
{
size(360, 160);
stroke(255);
background(0);
textFont(f);

String portName = «XXXX»; // Сюда нужно написать имя вашего порта
myPort = new Serial(this, portName, 19200);
}

Void draw() {
if (keyPressed == false)
{
clear();
myPort.write("6");
println(«6»);
}
}

Void keyPressed()
{
// 10 - enter
// 32 - probel
// 37/38/39/40 - keys
clear();

Fill(255);
textAlign(CENTER);
//text(keyCode, 180, 80);

Switch(keyCode)
{
case 37:
text(«Edem vlevo», 180, 80);
myPort.write("1");
break;

Case 38:
text(«Edem pryamo», 180, 80);
myPort.write("2");
break;

Case 39:
text(«Edem vpravo», 180, 80);
myPort.write("3");
break;

Case 40:
text(«Edem nazad», 180, 80);
myPort.write("4");
break;

Default:
text(«Takoy kommandi net», 180, 80);
myPort.write("6");
break;
}
}

Программа приёмника.

Инициализация этой программы отличается от инициализации программы передатчика буквально одной строчкой. Ключевая команда в бесконечном цикле Mirf.getData(data). Дальше полученная команда сравнивается с числами, которым соответствуют какие-либо действия робота. Ну а дальше робот действует точно по командам. Прилагаю код программы приёмника машинки.

Программ машинки

#include
#include
#include
#include
#include

Void setup()
{
Serial.begin(9600);

PinMode(13, OUTPUT); //LED

Mirf.csnPin = 10;
Mirf.cePin = 9;
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.payload = 1;
Mirf.channel = 19;
Mirf.config();
Mirf.setRADDR((byte *)«serv1»);
}

Void loop()
{
byte data;

If(!Mirf.isSending() && Mirf.dataReady())
{
Mirf.getData(data);
Serial.println(data);
}

Switch (data)
{
case 1:
motors(-100, 100); // поворачиваем влево
break;

Case 2:
motors(100, 100); // едем прямо
break;

Case 3:
motors(100, -100); // поворачиваем вправо
break;

Case 4:
motors(-100, -100); // едем назад
break;

Default:
motors(0, 0); // стоим
break;
}

Delay(50);
}

Заключение.

Что из этого всего вышло:

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

Теги: Добавить метки

Remoute Control, ver. 0.1.1

(управление роботом удаленно по сети Wi-Fi с планшета в ручном режиме)

многоцелевая программа для мода OpenComputers

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

Например, можно пробраться роботом в труднодоступные места, выгрузить уран из реактора при этом не получив облучения, построить простую конструкцию там, куда вы сами не можете пока добраться или наоборот, привезти что-то. Робот под вашим полным контролем.

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

Можно прикрутить реакторную камеру к стене жертвы, запихать туда 4-х урановый стержень,в включить на роботе редстончик и подорвать стеночку в несколько блоков, если беспечный игрок-жертва заприватил дом тютелька в тютельку по краю стены, как это обычно делают игроки =).

Реактор на ИТ в настройках рушит блоки в радиусе 2-4 блоков. Есть шанс, что вы проберетесь в домик жертвы, при этом вы в укрытии и вас не видно никак.

Код программы (latest):

ПЛАНШЕТ: (pastebin get b8nz3PrH tabletRC.lua)

РОБОТ: (pastebin get 7V2fvm7L robotRC.lua)

Старые версии (old):

Требования к комплектации робота и планшета (за основу взял связанную карту , она обязательна, в роботе также обязателен контроллер инвентаря, остальное опционально. Можно выкинуть таблички и запихать контроллер ведра, немного добавить строчку и тырить жидкости и прочее. ЧЛ пока в программе не используется. Для грифа крайне желательна красная плата, магнит, большой инвентарь):

Планшет (хард возьмите сразу с установленной OS):

Робот (можно отказаться пока от ЧЛ и впихать контроллер-расширитель плат. Роботу сможете на лету тогда запихивать при необходимости WF карту или INET карту):