Сервомотор - дистанция

Обсуждаем модели и конструкции, построенные своими руками
Ответить
YuZ
Сообщения: 22
Зарегистрирован: 14 мар 2019, 10:34

Сервомотор - дистанция

Сообщение YuZ »

Привет.

Есть задача: проехать нужное расстояние и плавно остановиться двум моторам.
Ставим команды:
сервомотор, дистанция;
ожидание ввода;
ряд команд по снижению скорости.
После достижениея указанной дистанции происходит сброс скорости до нуля. Тем самым затея плавной остановки рушится.
Пробовали после ожидания ввода ставить команду Стоп, затем Влево 8. Результат тот же.

Как выйти из этого положения?
Последний раз редактировалось YuZ 16 фев 2020, 23:54, всего редактировалось 1 раз.
YuZ
Сообщения: 22
Зарегистрирован: 14 мар 2019, 10:34

Re: Сервомотор - дистанция

Сообщение YuZ »

Прилагаю пример программы.
Вложения
test_3_stop.png
test_3_stop.png (42.77 КБ) 10861 просмотр
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Сервомотор - дистанция

Сообщение Mr.Kubikus »

Привет!
Это пример, который не работает?
С уважением, Григорий
GitHub FB ВК
YuZ
Сообщения: 22
Зарегистрирован: 14 мар 2019, 10:34

Re: Сервомотор - дистанция

Сообщение YuZ »

Все варианты, и этот тоже, сопровождаются провалом скорости.
Хорошо видно на модели, которая "клюёт" носом при резком торможении.

Получается, что после команды "ожидание ввода" неукоснительно выполняется команда "стоп"?
Mr.Kubikus писал(а): Это пример, который не работает?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Сервомотор - дистанция

Сообщение Mr.Kubikus »

Мне удалось решить задачу плавного снижения скорости в синхронном режиме с помощью счётчика, который считает импульсы, поступающие от встроенного в сервомотор энкодера.
support-rp-01-07.rpp
(92.05 КБ) 570 скачиваний
Профиль скорости:
support-rp-01-07-1.jpg
support-rp-01-07-1.jpg (65.21 КБ) 10834 просмотра
Блок схема алгоритма
support-rp-01-07-2.jpg
support-rp-01-07-2.jpg (63.3 КБ) 10834 просмотра
С уважением, Григорий
GitHub FB ВК
Mr.Schraubchen
Сообщения: 5
Зарегистрирован: 18 ноя 2019, 11:10

Re: Сервомотор - дистанция

Сообщение Mr.Schraubchen »

День добрый!

Чтобы постепенно снижать скорость вращения, можно отказаться от использования команды "Дистанция" при управлении сервомотором, т.к. после прохождения заданной дистанции мотор останавливается (выполняется команда STOP - "Остановить").
Если нужно плавно затормозить с 8-ой скорости до 1-ой примерно за один оборот колеса Первооткрывателя, то получается такая программа с циклом. Небольшая "отдача" в самом конце тормозного пути остаётся, но рывки при снижении скорости отсутствуют.
Для визуализации процесса торможения в режиме "Онлайн" можно использовать "осциллограф" (Элементы интерфейса -> Элементы отображения -> 9.1.4) и Списки (8.4.5) для сохранения в csv. файлах, например, значений счётчиков. В автономном режиме "Загрузка" доступен дисплей контроллера для отображения "контрольных значений".

Пример программы:
Вложения
braking_M1_Sync.rpp
(76.85 КБ) 542 скачивания
YuZ
Сообщения: 22
Зарегистрирован: 14 мар 2019, 10:34

Re: Сервомотор - дистанция

Сообщение YuZ »

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