пятница, 2 сентября 2016 г.

6.2. Шаговый двигатель

Урок: 6.2. Шаговый двигатель

Транскрибация урока: Итак, шаговый двигатель. Мы будем работать вот с таким вот биполярным двухфазным шаговым двигателем, у которого максимальный крутящий момент составляет 0,9 кг*см, и он рассчитан на питание от 4,4 В. Вообще, шаговые двигатели могут отличаться по типу устройства и по своим характеристикам, но нас, как всегда, интересует практика использования. А она сводится к тому, что мы можем управлять каждым шагом такого мотора. Он, как и коллекторный мотор, с которым мы работали на прошлой неделе, может крутиться непрерывно, совершать много оборотов, но при этом мы сами задаём, сколько шагов он делает. У нашего мотора один шаг составляет 1,8 градуса, то есть полный оборот состоит из 200 шагов. Как вы можете догадаться по четырём проводам, идущим от него, управление им не совсем тривиально. Здесь мы будем использовать снова специальный драйвер. Драйвер здесь нужен не только для грамотного управления питанием, но и также для подачи верной последовательности управляющих импульсов на обмотке мотора. Мы воспользуемся драйвером в формате тройка модуля, который использует для управления моторами три пина. На самом деле, от одного до трёх. Один из пинов предназначен для, собственно, задания количества шагов, которые должен сделать мотор. Второй пин служит для управления направлением вращения. И третий можно использовать для режима удержания. То есть, если мы хотим включать-выключать мотор или, например, экономно расходовать электроэнергию в режиме удержания мотором положения, мы можем использовать и третий пин. Здесь есть клеммники для подключения четырёх проводов, ведущих в мотор. С униполярным мотором можно точно так же его использовать, просто два провода, скорее всего, это будут белый и жёлтый, у вас не будут использоваться. Также здесь есть клеммник для подключения, собственно, питания для мотора. Ну и, собственно, всё. При желании вы можете управлять шаговым двигателем и с мотор шилда, с которым мы также познакомились на прошлой неделе. В дополнительных материалах есть ссылка на инструкцию. Ещё у меня имеется втулка, которая фиксируется на валу мотора для того, чтобы полезная нагрузка вращалась вместе с валом. Поскольку вал круглый, нам эта втулка позволит лучше увидеть, как он вращается. Теперь я его соберу и будем программировать. Давайте рассмотрим тестовый скетч. Как всегда, определены пины, все три штуки для управления драйвером и шаговиком. Управление шагами, направлением и удержанием. Сделано макроопределение, которое позволит регулировать скорость вращения, это время задержки после каждого шага. Соответственно, чем меньше время задержки, тем быстрее он приходит в следующее положение. И определил количество шагов, которое мы будем делать в каждую сторону. [СНИМАЕТ ВЫДЕЛЕНИЕ] На шестой неделе вот эти строчки уже в комментарии не нуждаются точно. [СНИМАЕТ ВЫДЕЛЕНИЕ] Что происходит далее? Подаём на Enable, высокий уровень включаем, затем задаём одно из направлений вращения и в цикле делаем 200 шагов. Каждый шаг заключается в подаче высокого уровня на пин, отвечающий за шаги, и затем низкого. Между ними также делается задержка. Затем, затем на Enable пишем 100, чтобы удерживать с половинным напряжением. Пауза. Меняем направление вращения, подаём LOW на direction, на пин, отвечающий за направление. Снова Enable делаем на полную и ещё один цикл, точно такой же, как прошлый, только сейчас пин направления повёрнут в другую сторону, поэтому мотор крутится в другую сторону. Вот, собственно, и вся схема управления шаговиком через драйвер тройку. Давайте смотреть, как это работает. Мы используем все три пина, крутим мотор в одну сторону, давая ему 200 шагов, делаем полный оборот, затем ждём три секунды, меняем направление, крутим в обратную сторону на 200 шагов, то есть в полный оборот, и снова три секунды ждём. Причём в режиме ожидания мы подаём на пин Enable ШИМ скважинностью примерно половина для того, чтобы удерживать мотор в этом положении. Я сейчас попробую дождаться, когда он остановится, и прокрутить его. Не скажу, что это удаётся. То есть он сопротивляется вращению. То есть удерживает нагрузку в заданном положении. Ну отлично. Теперь вы можете с точностью что-то крутить и перемещать.

Часть: Видео

Модуль: Как создать новый предмет за час

Описание модуля: Научившись управлять шаговым двигателем, можно создавать устройства, которые будут делать очень точные перемещения. Например, 3D-принтер, который будет рассмотрен, а затем использован для печати детали.

Курс: Строим роботов и другие устройства на Arduino. От светофора до 3D-принтера

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

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

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

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

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

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

Программа:
  • Неделя 1 Один старый и много новых знакомых
  • Неделя 2 Контроллер изучает мир
  • Неделя 3 Цель обнаружена
  • Неделя 4 Как полить цветок из другого города
  • Неделя 5 Мобильный робот
  • Неделя 6 Как создать новый предмет за час
Преподаватель: Алексей Перепелкин (1), Дмитрий Савицкий (2)

Описание преподавателя: (1) Алексей Перепёлкин занимается развитием робототехники на базе ЛИОТ МФТИ. В 2012 году открыл для себя новое захватывающее чувство – когда устройство, которое сам построил и запрограммировал, работает. Свернул с финансовой дорожки и создал кружок робототехники для подростков. Готовил их к соревнованиям. Стал посещать конференции, а затем проводил мастер-классы для тех, кто тоже хочет организовать занятия. Совместно с коллегами в 2013 году разработал новые соревнования – Робопрофи – для конкурса Робот для жизни и провел их. В 2014 году впервые провел Arduino-номинацию на фестивале Робофест, а для российского финала Russian Robot Olympiad 2014 сделал творческую категорию. С тех пор эти соревнования стали регулярными. Летом 2014 провел двухнедельную мастерскую в детском лагере Никола-Ленивца, а затем преподавал в выездной школе, посвященной программированию и робототехнике, которую провели ABBYY и Яндекс. В 2015 году стал руководителем направления робототехники в GoTo Camp, выездных школах, где участники создали десятки проектов, от прототипов умных домов и операторских тележек до робота-бубниста и принтера для незрячих. В 2014 году с коллегами начал проект Роболабы: мероприятия для школьников и студентов, где участники параллельно решают усложненные задачи, а затем проводят рефлексию сделанной работы и оценивают чужие в ходе серии мероприятий.

(2) Физик, научный сотрудник, выпускник МФТИ. Запустил кружок робототехники в 2011 году. Рассказал Алексею Перепелкину о том, как здорово вести кружок робототехники. Рассказал об этом еще целому ряду людей. Побеждал со своими командами на соревнованиях. Проводил проектную работу с участниками исследовательской выездной школы МКШ с 2013 года, где руководил реализацией физических и робототехнических проектов, например, «Вслед за солнцем», в котором изучалась эффективность динамической ориентации солнечных батарей на солнце. Вместе с коллегами разрабатывал и был судьей Робопрофи. Участвовал в подготовке проекта Роболабы. Вновь пришел в МФТИ для проведения факультативного курса «Основы создания киберфизических устройств»

Организатор: Лаборатория инновационных образовательных технологий МФТИ (1), Лаборатория инновационных образовательных технологий МФТИ (2)

Описание организатора: (2) Московский физико-технический институт (неофициально известный как МФТИ или Физтех) является одним из самых престижных в мире учебных и научно-исследовательских институтов. Он готовит высококвалифицированных специалистов в области теоретической и прикладной физики, прикладной математики, информатики, биотехнологии и смежных дисциплин. Физтех был основан в 1951 году Нобелевской премии лауреатами Петром Капицей, Николаем Семеновым, Левом Ландау и Сергеем Христиановичем. Основой образования в МФТИ является уникальная «система Физтеха»: кропотливое воспитание и отбор самых талантливых абитуриентов, фундаментальное образование высшего класса и раннее вовлечение студентов в реальную научно-исследовательскую работу. Среди выпускников МФТИ есть Нобелевские лауреаты, основатели всемирно известных компаний, известные космонавты, изобретатели, инженеры.

Категория: Компьютерные науки

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

Тематика: Разработка ПО

Материал:



Практика
Если у вас есть дополнение Киберфизика.Больше движения, вы можете исследовать работу с шаговым двигателем на практике. Показанный скетч лежит в архиве w6_sketch.zip https://drive.google.com/open?id=0B6zopUwNtrV0LTBUdlFpRldGcWc

Эта обзорная неделя предназначена не только для вдохновения вас на использование 3D-принтера, но и для того, чтобы вы могли немного отдохнуть и сосредоточиться на на финальном тесте и задании про комбинации.

Ссылки на материалы
Драйвер шагового двигателя в виде Troyka-модуля http://wiki.amperka.ru/%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:troyka:stepper

Вы можете не только проектировать детали самостоятельно, но и найти тысячи готовых моделей на Thingiverse http://www.thingiverse.com/

RepRap http://reprap.org/wiki/RepRap/ru

Инструмент для программирования моделей OpenSCAD http://www.openscad.org/

Скетч https://drive.google.com/open?id=0B6zopUwNtrV0cWFpWmFfNTZzTTg, управляющий 3D-принтером