Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Синхронизированные двигатели






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

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

ROBOTC включает в себя функцию под названием «Синхронизация двигателей», которая позволяет выполнить сопряжение двух двигателей, и определять их скорость относительно друг друга. Если, к примеру, вы прикажите одному двигателю ехать, а потом остановиться, то второй повторит все действия первого. Цель синхронизации – работа двигателей, как единое целое, которая имеет приоритет над достижением «идеальной» скорости.

А теперь разберемся, как это можно осуществить.

Создайте новый проект и вставьте туда следующий код:

Теперь двигатели B и C находятся в синхронном режиме. Важное значение имеет порядок букв в «synchBC», потому что один из двух двигатели будет играть ведущую роль, а другой – роль подчиненного.

Двигатель B (первая буква в " synchBC") называется «Master» мотором, а C (второй) называется подчиненным двигателем. Все команды, такие как скорость и торможение, выдаются через «Master» двигатель.

Но и в этом случае подчиненный двигатель не получает команду «скорость». Вместо этого, мы даем ему отношением команд. Этот коэффициент определяется как процент от позиции первого двигателя. Для полной синхронизации установим соотношение двигателей на 100%.

Далее дайте команду «Мастер» двигателю, чтобы он двигался вперед с 50% мощностью 4 секунды.

Сохраните программу, загрузите на робота и запустите.

Теперь двигатели постоянно обновляются для поддержания идентичных позиций. Если главный двигатель случайно остановится, то другой двигатель тоже остановится. Синхронизация используется для гораздо большего, чем просто ехать прямо. Например, для поворотов. Как вы видели, когда вы впервые столкнулись с поворотами, все, что вам нужно сделать, это установить двигатели двигаться с разной скоростью. Теперь это можно сделать и с помощью синхронизации, подчиненный двигатель должен вращаться с мощностью в -100% от скорости «Мастер» двигателя.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.