Робототехника как прикрепить колесо к двигателю
Перейти к содержимому

Робототехника как прикрепить колесо к двигателю

  • автор:

Забористые колёса

Давно уже мы ломали голову как порадовать общественность (и себя=) доступным и качественным движителем для роботов. Ничего не выходило — готовые компоненты — слишком дорого, заказывать производство — тоже не бюджетно выходило, самим делать из не предназначенных для этого деталей — получается жуткий колхоз.
И вот после долгой и безуспешной борьбы с сервами, стеклоподъёмниками, шуруповёртами, колёсами от роликовых коньков, мебели и ещё чёрт знает от чего, когда мы уже сдались — закупили дорогие мотор-редукторы, крепёж и колёса…Совершенно неожидано, братья-коммунисты решили проблему с перевыполнением плана=)
Встречайте — колёсный узел от китайского робота-пылесоса!

Это законченный агрегат с 12 вольтовым мотором, металлическим редуктором, энкодером, с симпатичным колесом в цепкой резиновой покрышке, с подвеской и датчиком отрыва от пола! Причём всё это весьма приличного качества.
Ниже всё подробно, с разборкой и большим количеством фоток.

Есть колёса левые и правые — отличаются зеркально. Далее рассматривать будем левое

Разглядим внешне:




Состоит агрегат из двух частей — «мотоблока» (двигатель-редуктор-колесо)и «корпуса» в котором всё это подвешено и закреплён разъём.
Мотоблок качается на оси закреплённой в «корпусе» так, что колесо ходит вверх-вниз. В свободном состоянии пружина в верхней части корпуса сжата и оттопыривает мотоблок создавая максимальный «клиренс» — 33мм.
Если на корпус нажать то пружина сжимается — получается своего рода подвеска=)


Растягивается полностью пружина под весом 1.2кг и тогда просвет становится 13мм. Для не слишком тяжёлых роботов — сойдёт за подвеску для езды по коврам и порожкам.
При полностью оттопыренном колесе — замыкается микрик в верхней части корпуса — датчик отрыва от пола.
Так что можно выключать дисковые пилы своего робота-убийцы когда его поднимают(или наоборот включать…). А можно сделать чтобы он орал дурным голосом требуя вернуть его на землю =)
Снаружи всё ясно, начнём ковырять! Первым делом снимаем заглушки колпаки с колёсных болтов.

Очень меня повеселила такая обстоятельная конструкция колеса=)Дальше больше!
Крутим три винта обнаруживаем, что диски у нас не просто литьё, а ещё и разборные:

Резина низкопрофильная, мягкая, а чтоб не проворачивалась на дисках — сидит на «штифтах»

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

Не китайский запас прочности=)
Снимаем крышку редуктора и опять удивляемся — пластиковые шестерёнки не высыпаются на стол, отнюдь!

Там опять всё из металла и пластмассой только прикрыто=)
Редуктор не разборный — заклёпан между двумя толстыми стальными пластинами и надёжно прикручен к металлическому корпусу двигателя.


Всё обстоятельно, капитально и аккуратно — наверно делали пленные немцы…
У редуктора только одна шестерня пластиковая — вторая (на самом моторе — латунная) — наверно для демпфирования, в сервах такое, говорят, встречается.

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

Хотелось бы шариковые подшипники но это было бы уже слишком=)
Так, с редуктором разобрались, приятно поудивлялись, полезем дальше.
Нужно разнять «мотоблок» и «корпус» — «располовинить»=)
Это оказалось весьма непросто — ось запрессована очень туго — пришлось жестоко выбивать, на удивление без последствий. Так же надо вывернуть два винта по бокам от разъёма и аккуратно снять пружину

Корпус разнимается на верхнюю и нижнюю половины.

Виден крючок для пружины на мотоблоке и пазы для платы разъёма в нижней части корпуса.
Никакого термоклея и стяжек — даже провод от микрика проложен в специальном канале=)
Если поднатужиться и выбить-вытянуть ось ещё дальше — можно отделить мотоблок от корпуса.

Провода к разъёму не ахти какие гибкие и наверное могут со временем поломаться, если активно использовать подвеску — время покажет.
Кстати, со снятым корпусом открывается ещё одна замечательная возможность использования этого агрегата.
Кого смущает низкая посадка колёсного узла в сборе, могут его закрепить вот в таком виде


Можно сделать как здесь.
Ковыряем дальше мотоблок.
Снимаем заднюю крышку и видим энкодер

стянем кодирующий диск (16 просветов)

под ним обнаруживается оптика и недурственный фильтр

Отпаяем плату и удивимся ещё раз — фильтрец полнейший!

кстати вот схема этой платы — обозначены провода приходящие на плату разъёма

Двигатель снабжён честными медно-угольными щётками (а не трёт по коллектору латунными лепестками, как бывает в дешёвых движках)

Мотоблок в полном разборе

Плата-разъём, контакты «желтого металла», всё подписано=)


Обратите внимание, что на плате разъёма один из выводов микрика-датчика отрыва соединён с землёй(см схему)
Распиновка:

Пока мы в поисках правильной ответной части на этот разъём, замечу что шаг у него 2.54
и на него прекрасно напаивается кусочек PLD-шки (5х2). Совершенно без разборки, для удобства можно срезать часть пластмассы

Эстеты впоследствии могут стянуть пластмаску с PLD-шки натянуть туда пластмаску от IDC10-MS

В общем вот такая вот загагулина.

Работает негромко, резина тянет прилично. Крутится колесо начинает от 3В но тормозиться при этом слишком легко, при 12В на холостых вертится ~90об/мин и тормозиться рукой с ощутимым трудом.
Зато измерили момент — при 12В поднимает до 1.7кг вертикально(на колесо намотана верёвка с подвешенным грузом.) Тесть крутящий момент на валу приблизительно 6кгсм(диаметр колеса 68мм).
Как всё это выглядит в динамике:

Сколхозили за 15минут телегу — скорость проверить. Просто батарея на моторы.

Скорость ползания с грузом в 3,8кг на 12В вышла около 0,29м/с.

  • Двигатель — коллекторный постоянного тока
    • Напряжение питания 12В (видимо)
    • Ток ХХ 60мА (при 12В)
    • Ток заторможенного 1,05А (при 12В)
    • Подшипники выходного вала — два, скольжения.
    • Передаточное отношение ~1/63
    • Обороты ХХ (на выходном валу редуктора) 90об/мин
    • Момент (на выходном валу редуктора) 6кгс*см
    • за оборот двигателя — 16 импульсов
    • за оборот колеса — 1000 импульсов
    • Диаметр колеса 68мм
    • Ширина 15мм
    • клиренс 13-33мм
    • выжимается при 1,2кг на колесо

    А на закуску — чертёж

    Ну и наконец — купить это чудо восточной мысли и инженерии можно в нашем магазине.

    Мотор колесо своими руками

    Мотор-колесо (МК) является главным компонентом электрического привода велосипеда. Оно наиболее распространено среди велосипедных электродвигателей, так как позволяет довольно быстро сделать велосипед электрическим — легко устанавливается и подключается. МК подходит для любой рамы велосипеда с эксцентриковым креплением колёс. Поэтому многих интересует вопрос как сделать мотор колесо для велосипеда своими руками.

    В статье мы рассмотрим:

    • Что такое мотор колесо?
    • Разновидности мотор-колёс
    • Устройство и принцип действия мотор-колеса
    • Как сделать мотор колесо своими руками

    Что такое мотор колесо?

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

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

    Разновидности мотор-колёс

    Чтобы лучше представлять как сделать мотор колесо своими руками, давайте разберёмся, какие бывают велосипедные мотор-колёса и чем они отличаются:

    • По месту установки — задние и передние. Задние мотор-колеса используются чаще, так как при старте транспортного средства вес переносится на заднее колесо, оно лучше прижимается к дороге и обеспечивает хорошее сцепление. Передние мотор-колеса применяются как сами по себе, так и в составе полноприводных моделей.
    • По наличию редуктора — редукторные и безредукторные (прямого привода). Редукторные мотор-колеса имеют низкий вес (двигатель весит от 1,5 кг), обладают неплохими тяговыми характеристиками и хорошей эффективностью, особенно на низких скоростях. Электровелосипеды с редукторным МК имеют хороший накат. Двигатели мотор-колес прямого привода больше по диаметру и проще по конструкции, из-за чего считаются более надёжными. Кроме этого, они поддерживают рекуперативное торможение, за счёт которого можно подзаряжать аккумулятор. Безредукторные МК чаще применяются на скоростных электробайках, способных разгоняться более 50 км/ч, но и потребление энергии у них выше.
    • По наличию датчиков — с датчиками Холла и без них. Большинство мотор-колес оснащается датчиками скорости и положения ротора (датчики Холла), при этом на двигатель от контроллера идёт кабель с тремя силовыми проводами и 5-6 сигнальными (тонкими). Это можно легко увидеть если посмотреть на разъём двигателя. Кабели бездатчиковых МК содержат только три силовых провода, и для управления такими мотор-колесами необходимы соответствующие контроллеры.
    • По ширине — для фэтбайков и обычных велосипедов. Мотор-колеса для фэтбайков шире, чем для обычных велосипедов, так как они имеют более широкий обод и соответствующий двигатель.

    Кроме этого, мотор-колёса различаются по длине и диаметру оси, размеру обода, толщине спиц, номинальному напряжению, мощности и скорости.

    Устройство и принцип действия мотор-колеса

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

    Статор электродвигателя содержит обмотки из медной проволоки, на которые поочерёдно подаётся напряжение от контроллера. Обмотки соединены по схеме “звезда” или “треугольник”, в редких случаях эти две схемы совмещаются (как в мотор колесе Дуюнова).

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

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

    Как сделать мотор колесо своими руками

    Чтобы собрать мотор колесо для велосипеда своими руками, потребуются различные инструменты и навыки, а самое главное — достаточное количество свободного времени и большое желание добиться успешного результата.

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

    Более трудоёмким вариантом является приобретение неисправного электродвигателя и его ремонт, который может включать следующие этапы:

    • перетяжка кабеля;
    • замена датчиков Холла;
    • замена обмоток статора;
    • замена или ремонт ротора;
    • замена подшипников;
    • замена шестерней редуктора.

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

    1. Проектирование конструкции электродвигателя с моделированием, расчётом магнитных полей и электрических характеристик.
    2. Изготовление статора, включающее нарезку и сборку пластин, установку изоляторов, формирование обмоток из медной проволоки;
    3. Изготовление ротора (вытачивание вала, нарезка и сборка пластин, установка магнитов, нарезание резьбы на валу электродвигателя).
    4. Изготовление редуктора (в случае редукторного двигателя).
    5. Изготовление корпуса мотора.
    6. Установка подшипников.
    7. Протяжка кабеля двигателя.
    8. Распайка силовых и сигнальных проводов, подключение датчиков Холла.
    9. Окончательная сборка двигателя.

    Имея готовый двигатель, остаётся заспицевать его в обод. Для этого необходимо подобрать обод и спицы в соответствии с целями использования самодельного мотор-колеса. Размер обода должен соответствовать размеру колёс велосипеда, а его ширина подбирается в соответствии с типом байка. Для горных велосипедов подходят ободья шириной от 23 мм, а для фэтбайков — 101 мм.

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

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

    Спицовка колеса включает установку спиц, их натяжку, устранение “яйца”, “восьмёрки” и выведение “зонта”. Это довольно длительный и кропотливый процесс, так что торопиться не следует.

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

    Автор статьи: Евгений Бегин

    DIY: SPROT — простой робот на колесах под управлением Arduino. Пошаговая инструкция по созданию

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

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

    Шаг 1. Что вам для этого нужно:

    • Аппаратная платформа arduino
    • макет
    • 2 моторы-редукторы
    • чип для работы двигателя (можно получить из любого транзистора)
    • средняя макетная плата
    • небольшая планка для основной платформы
    • ИК-датчик расстояния
    • 1 крепкий шарик
    • смешанная проволока
    • колеса
    • клей (можно суперклей)
    • коллекторы
    • резинки
    • лента
    • корпус для батарей + сами батарейки

    Инструменты для работы:

    Шаг 2. Создание шасси:

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

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

    1 — скобка правого угла; 2 — пайка контроллера двигателя; 3 — мраморный шарик

    1 — двигатель и передатчик; 2 — механическая скобка;

    1 — мраморный шарик;

    1 — припой; 2 — провод, который крепит шарик

    Шаг 3. Колеса:

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

    1 — найдено дома; 2 — механическое;

    1 – неудачный прототип колес

    Шаг 4. Работа двигателя:

    Для управления двигателем можно использовать чип H-Bridge Motor Driver 1A — SN754410. Это устройство может управлять двумя двухнаправленными моторами, но лучше при установке использовать следующую схему (картинка 1), к которой можно припаять макетную плату и двигатели. Это легко сделать с помощью транзистора, но он займет гораздо больше места на плате, чем чип.

    Если чип начнет перегреваться, можно использовать радиатор.


    1 — чип для управления двигателем

    Шаг 5. ИК-датчик расстояния:

    ИК-датчик расстояния – это очень простой датчик, который определяет расстояние, если получает сигнал 1. Но если он посылает сигнал 0, он не может определить расстояние. Для этого нужен красный светодиод на задней панели, что делает поиск намного проще. Датчик подсоединяется к контакту 9 на Arduino, а другие контакты служат для питания робота.

    1 — датчик расстояния

    Робот управляется от аппаратной платформы freeduino — это клон Arduino с использованием Arduino IDE. Вы можете также использовать обучающую платформу picaxe или другой микроконтроллер. Необходимо сделать основной макет для Arduino, начертив линию по всей макетной плате, чтобы она охватывала контакты от 8 до 13 и первые четыре контакта в нижнем ряду. Arduino работает на 4-ех батарейках AA, которые припаяны к основной плате с полярностями. Чип H-bridge имеет 4 входа для проверочных двигателей, для их работы можно использовать контакты 10, 11,12, 13, 10 и 11. Скорость можно контролировать и использовать проверочные двигатели в будущем. На схеме показано, какие выводы где находятся.

    1 — pin 11; 2 — pin 10; 3 — pin 13; 4 — pin 12

    Исходный код для программирования на Arduino:

    const int dist = 8; int diststate = 0; void setup() < pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); pinMode(9, INPUT); >void loop() < diststate = digitalRead(dist); if (diststate == 0)< digitalWrite(11, LOW); digitalWrite(12, LOW); digitalWrite(10, HIGH); digitalWrite(13, HIGH); delay(50); >if (diststate == 1) < digitalWrite(12, LOW); digitalWrite(13, LOW); analogWrite(10, 227); analogWrite(11, 227); delay(50); >>

    Шаг 7. Макет:

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

    1 — пластиковая трубка, которая поддерживает макет

    Шаг 8. Батарея:

    Проект использует 4 батарейки AA, что обеспечивает чуть более 5В для питания Arduinо. Нужно закрепить батареи в держатель и при необходимости их можно достать. Держатель должен быть прочным и надежным. Батареи являются важными, поскольку они выступают в качестве противовеса против тяжелых двигателей. Если батареи легкие, например, литий-полимерные, робот не сможет быть достаточно тяжелым, чтобы оказывать противовес.

    Шаг 9. Возможные улучшения:

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

    Робототехника как прикрепить колесо к двигателю

    Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна

    Введение:

    На втором занятии мы детальнее познакомимся со средой программирования и подробно изучим команды, задающие движение нашему роботу-тележке, собранному на первом занятии. Итак, давайте запустим среду программирования Lego mindstorms EV3, загрузим наш проект lessons.ev3, созданный ранее и добавим в проект новую программу — lesson-2-1. Программу можно добавить двумя способами:

    • Выбрать команду «Файл»-«Добавить программу» (Ctrl+N).
    • Нажать «+» на вкладке программ.

    Добавить программу в проект

    Рис. 1

    2.1. Палитры программирования и программные блоки

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

    Зеленая палитра называется: «Действие»:

    Палитра Действие

    Рис. 2

    На данной палитре расположены программные блоки управления моторами, блок вывода на экран, блок управления индикатором состояния модуля. Сейчас мы начнем изучение этих программных блоков.

    2.2. Зеленая палитра – блоки действия

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

    Программный блок - Большой мотор

    Рис. 3

    Для правильной настройки блока управления большим мотором мы должны:

    1. Выбрать порт, к которому подключен мотор (A, B, C или D) (Рис. 3 поз. 1)
    2. Выбрать режим работы мотора (Рис. 3 поз. 2)
    3. Настроить параметры выбранного режима (Рис. 3 поз. 3)

    Чем же отличаются режимы? Режим: «Включить» включает мотор с заданным параметром «Мощность» и после этого управление передается следующему программному блоку программы. Мотор будет продолжать вращаться, пока не будет остановлен следующим блоком «Большой мотор» с режимом «Выключить» или следующий блок «Большой мотор» не будет содержать другие параметры выполнения. Режим «Включить на количество секунд» включает большой мотор с установленной мощностью на указанное количество секунд, и только по завершению времени мотор остановится, а управление в программе перейдет к следующему программному блоку. Аналогично поведет мотор себя в режимах «Включить на количество градусов» и «Включить на количество оборотов»: только после выполнения установленного вращения мотора, он остановится и управление в программе перейдет к следующему блоку.

    Параметр мощность (на Рис. 3 мощность установлена в 75) может принимать значения от -100 до 100. Положительные значения мощности задают вращение мотора по часовой стрелке, отрицательные — против часовой. При значении мощности равном 0 мотор вращаться не будет, чем «выше» значение мощности, тем быстрее вращается мотор.

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

    Отдельно следует сказать о параметре «Тормозить в конце». Данный параметр, если установлен в значение «Тормозить» заставляет мотор тормозить после выполнения команды, а если установлен в значение «Двигаться накатом», то мотор будет вращаться по инерции, пока сам не остановится.

    Следующие два программных блока «Рулевое управление» и «Независимое управление моторами» реализуют управление парой больших моторов. По умолчанию левый большой мотор подключается к порту «В», а правый — к порту «С». Но вы можете в настройках блока поменять порты подключения в соответствии с требованиями вашей конструкции (Рис. 4 поз. 1).

    Программный блок - Рулевое управление

    Рис. 4

    Параметр «Рулевое управление» (Рис. 4 поз. 2) может принимать значения от -100 до 100. Отрицательные значения параметра заставляют робота поворачивать налево, при значении равном 0 робот движется прямо, а положительные значения заставляют робота поворачивать направо. Стрелка над числовым параметром меняет свою ориентацию в зависимости от значения, подсказывая тем самым направление движения робота (Рис. 5).

    Параметры блока - Рулевое управление

    Рис. 5

    Программный блок «Независимое управление моторами» похож на программный блок «Рулевое управление». Он также управляет двумя большими моторами, только вместо параметра «Рулевое управление» появляется возможность независимого управления мощностью каждого мотора. При равном значении параметра «Мощность» для левого и правого мотора робот будет двигаться прямолинейно. Если на один мотор подать отрицательное значение мощности (например -50), а на второй — положительное значение (например 50), то робот будет разворачиваться на месте (Рис. 6).

    Программный блок - Независимое управление моторами

    Рис. 6

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

    2.3. Прямолинейное движение, повороты, разворот на месте остановка

    Итак, теперь мы можем написать программу движения робота по какому-либо маршруту.

    Задача 1: Проехать прямолинейно вперед на 4 оборота двигателя. Развернуться. Проехать на 720 градусов.

    Решение (Рис. 7):

    1. Используя программный блок «Рулевое управление» проехать вперед на 4 оборота.
    2. Используя программный блок «Независимое управление моторами» развернуться на месте (значение градусов придется подобрать экспериментально).
    3. Используя программный блок «Рулевое управление» проехать вперед на 720 градусов.

    Примечание: Почему при развороте пришлось подбирать значение градусов в блоке 2?. Разве не 360 градусов — искомая величина? Нет, если мы зададим значение параметра «Градусы» равным 360, то тем самым заставим на искомую величину провернуться валы левого и правого моторов нашего робота. На какой угол провернется робот вокруг своей оси — зависит от размера (диаметра) колес и расстояния между ними. На Рис. 7 значение параметра «Градусы» равно 385. Данное значение позволяет роботу, собранному по инструкции small-robot 45544 развернуться вокруг своей оси. Если у вас другой робот, то вам придется подобрать другое значение. Можно ли это значение найти математически? Можно, но об этом мы поговорим позднее.

    Решение задачи 1

    Рис. 7

    Задача 2: Установите на ровной поверхности какое-либо препятствие (банку, кубик, небольшую коробку), отметьте место старта вашего робота. Создайте в проекте новую программу: lesson-2-2, позволяющую роботу объехать вокруг препятствия и вернуться к месту старта.

    Сколько программных блоков вы использовали? Поделитесь своим успехом в комментарии к уроку.

    2.4. Экран, звук, индикатор состояния модуля

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

    Программный блок - Экран

    Рис. 8

    Программный блок «Экран» имеет четыре режима работы: режим «Текст» позволяет выводить текстовую строку на экран, режим «Фигуры» позволяет отображать на экране одну из четырех геометрических фигур (прямая, круг, прямоугольник, точка), режим «Изображение» может вывести на экран одно изображение. Изображение можно выбрать из богатой коллекции изображений или нарисовать свое, используя редактор изображений. Режим «Окно сброса настроек» сбрасывает экран модуля EV3 к стандартному информационному экрану, показываемому во время работы программы.

    Программный блок Экран. Предварительный просмотр.

    Рис. 9

    Рассмотрим параметры программного блока «Экран» в режиме «Текст» (Рис. 9 поз.1). Строка, предназначенная для вывода на экран, вводится в специальное поле (Рис. 9 поз. 2). К сожалению, в поле ввода текста можно вводить только буквы латинского алфавита, цифры и знаки препинания. Если режим «Очистить экран» установлен в значение «Истина», то экран перед выводом информации будет очищен. Поэтому, если вам требуется объединить текущий вывод с информацией уже находящейся на экране, то установите этот режим в значение «Ложь». Режимы «X» и «Y» определяют точку на экране, с которой начинается вывод информации. Экран блока EV3 имеет 178 пикселей (точек) в ширину и 128 пикселей в высоту. Режим «X» может принимать значения от 0 до 177, режим «Y» может принимать значения от 0 до 127. Верхняя левая точка имеет координаты (0, 0), правая нижняя (177, 127)

    Координаты экрана блока EV3

    Рис. 10

    Во время настройки программного блока «Экран» можно включить режим предварительного просмотра (Рис. 9 поз. 3) и визуально оценить результат настроек вывода информации.

    В режиме «Фигуры» (Рис. 11 поз. 1) настройки программного блока меняются в зависимости от типа фигуры. Так при отображении круга необходимо будет задать координаты «X» и «Y» центра окружности, а также значение «Радиуса». Параметр «Заполнить» (Рис. 11 поз. 2) отвечает за то, что будет отображен либо контур фигуры, либо внутренняя область фигуры будет заполнена цветом, заданным в параметре «Цвет» (Рис. 11 поз. 3).

    Вывод на экран. Режим

    Рис. 11

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

    Программный блок Экран. Отображение прямой.

    Рис. 12

    Чтобы отобразить прямоугольник следует задать координаты «X» и «Y» левого верхнего угла прямоугольника, а также его «Ширину» и «Высоту».

    Программный блок Экран. Отображение прямоугольника

    Рис. 13

    Отобразить точку проще всего! Укажите лишь её координаты «X» и «Y».

    Режим «Изображение», наверное, самый интересный и самый используемый режим. Он позволяет выводить на экран изображения. Среда программирования содержит огромную библиотеку изображений, отсортированную по категориям. В дополнение к имеющимся изображениям вы всегда можете создать свой рисунок и, вставив его в проект, вывести на экран. («Главное меню среды программирования» — «Инструменты» — «Редактор изображения»). Создавая своё изображение, вы можете также вывести на экран символы русского алфавита.

    Программный блок Экран. Изображение.

    Рис. 14

    Как вы видите — отображению информации на экране главного модуля EV3 среда программирования придает огромное значение. Давайте рассмотрим следующий важный программный блок «Звук». С помощью этого блока мы можем выводить на встроенный динамик блока EV3 звуковые файлы, тона произвольной длительности и частоты, а также музыкальные ноты. Давайте рассмотрим настройки программного блока в режиме «Воспроизвести тон» (Рис. 15). В этом режиме необходимо задать «Частоту» тона (Рис. 15 поз. 1), «Продолжительность» звучания в секундах (Рис. 15 поз. 2), а также громкость звучания (Рис. 15 поз. 3).

    Программный блок Звук.

    Рис. 15

    В режиме «Воспроизвести ноту» вам вместо частоты тона необходимо выбрать ноту на виртуальной клавиатуре, а также установить длительность звучания и громкость (Рис. 16).

    Программный блок Звук. Воспроизвести ноту.

    Рис. 16

    В режиме «Воспроизвести файл» вы можете выбрать один из звуковых файлов из библиотеки (Рис. 17 поз. 1), либо, подключив к компьютеру микрофон, с помощью Редактора звука («Главное меню среды программирования» — «Инструменты» — «Редактор звука») записать собственный звуковой файл и включить его в проект.

    Программный блок Звук. Воспроизвести файл.

    Рис. 17

    Давайте отдельно рассмотрим параметр «Тип воспроизведения» (Рис. 17 поз. 2), общий для всех режимов программного блока «Звук». Если данный параметр установлен в значение «Ожидать завершения», то управление следующему программному блоку будет передано только после полного воспроизведения звука или звукового файла. В случае установки одного из двух следующих значений начнется воспроизведение звука и управление в программе перейдет к следующему программному блоку, только звук или звуковой файл будет воспроизведен один раз или будет повторяться, пока не его не остановит другой программный блок «Звук».

    Нам осталось познакомиться с последним программным блоком зеленой палитры — блоком «Индикатор состояния модуля». Вокруг кнопок управления модулем EV3 смонтирована цветовая индикация, которая может светиться одним из трех цветов: зеленым, оранжевым или красным. За включение — выключение цветовой индикации отвечает соответствующий режим (Рис. 18 поз. 1). Параметр «Цвет» задает цветовое оформление индикации (Рис. 18 поз. 2). Параметр «Импульсный» отвечает за включение — отключение режима мерцания цветовой индикации (Рис. 18 поз. 3). Как можно использовать цветовую индикацию? Например, можно во время различных режимов работы робота использовать различные цветовые сигналы. Это поможет понять: так ли выполняется программа, как мы запланировали.

    Индикатор состояния модуля

    Рис. 18

    Давайте используем полученные знания на практике и немного «раскрасим» нашу программу из Задачи 1.

    Задача 3:

    1. Воспроизвести сигнал «Start»
    2. Включить зеленую немигающую цветовую индикацию
    3. Отобразить на экране изображение «Forward»
    4. Проехать прямолинейно вперед на 4 оборота двигателя.
    5. Включить оранжевую мигающую цветовую индикацию
    6. Развернуться
    7. Включить зеленую мигающую цветовую индикацию
    8. Отобразить на экране изображение «Backward»
    9. Проехать на 720 градусов
    10. Воспроизвести сигнал «Stop»

    Попробуйте решить задачу 3 самостоятельно, не подглядывая в решение! Удачи!

Добавить комментарий

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