Привет.
Есть задача: проехать нужное расстояние и плавно остановиться двум моторам.
Ставим команды:
сервомотор, дистанция;
ожидание ввода;
ряд команд по снижению скорости.
После достижениея указанной дистанции происходит сброс скорости до нуля. Тем самым затея плавной остановки рушится.
Пробовали после ожидания ввода ставить команду Стоп, затем Влево 8. Результат тот же.
Как выйти из этого положения?
Сервомотор - дистанция
Сервомотор - дистанция
Последний раз редактировалось YuZ 16 фев 2020, 23:54, всего редактировалось 1 раз.
Re: Сервомотор - дистанция
Прилагаю пример программы.
- Вложения
-
- test_3_stop.png (42.77 КБ) 15958 просмотров
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Сервомотор - дистанция
Привет!
Это пример, который не работает?
Это пример, который не работает?
Re: Сервомотор - дистанция
Все варианты, и этот тоже, сопровождаются провалом скорости.
Хорошо видно на модели, которая "клюёт" носом при резком торможении.
Получается, что после команды "ожидание ввода" неукоснительно выполняется команда "стоп"?
Хорошо видно на модели, которая "клюёт" носом при резком торможении.
Получается, что после команды "ожидание ввода" неукоснительно выполняется команда "стоп"?
Mr.Kubikus писал(а): Это пример, который не работает?
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Сервомотор - дистанция
Мне удалось решить задачу плавного снижения скорости в синхронном режиме с помощью счётчика, который считает импульсы, поступающие от встроенного в сервомотор энкодера.
Профиль скорости:
Блок схема алгоритма
-
- Сообщения: 5
- Зарегистрирован: 18 ноя 2019, 11:10
Re: Сервомотор - дистанция
День добрый!
Чтобы постепенно снижать скорость вращения, можно отказаться от использования команды "Дистанция" при управлении сервомотором, т.к. после прохождения заданной дистанции мотор останавливается (выполняется команда STOP - "Остановить").
Если нужно плавно затормозить с 8-ой скорости до 1-ой примерно за один оборот колеса Первооткрывателя, то получается такая программа с циклом. Небольшая "отдача" в самом конце тормозного пути остаётся, но рывки при снижении скорости отсутствуют.
Для визуализации процесса торможения в режиме "Онлайн" можно использовать "осциллограф" (Элементы интерфейса -> Элементы отображения -> 9.1.4) и Списки (8.4.5) для сохранения в csv. файлах, например, значений счётчиков. В автономном режиме "Загрузка" доступен дисплей контроллера для отображения "контрольных значений".
Пример программы:
Чтобы постепенно снижать скорость вращения, можно отказаться от использования команды "Дистанция" при управлении сервомотором, т.к. после прохождения заданной дистанции мотор останавливается (выполняется команда STOP - "Остановить").
Если нужно плавно затормозить с 8-ой скорости до 1-ой примерно за один оборот колеса Первооткрывателя, то получается такая программа с циклом. Небольшая "отдача" в самом конце тормозного пути остаётся, но рывки при снижении скорости отсутствуют.
Для визуализации процесса торможения в режиме "Онлайн" можно использовать "осциллограф" (Элементы интерфейса -> Элементы отображения -> 9.1.4) и Списки (8.4.5) для сохранения в csv. файлах, например, значений счётчиков. В автономном режиме "Загрузка" доступен дисплей контроллера для отображения "контрольных значений".
Пример программы:
- Вложения
-
- braking_M1_Sync.rpp
- (76.85 КБ) 906 скачиваний
Re: Сервомотор - дистанция
Здравствуйте,
Спасибо за ваши предложенные решения. Проверить удалось только сегодня.
Первый вариант отработал нормально.
В виду компактности использовали второй вариант.
Его доработали в том плане, что скорость снижали не до ноля, поскольку на малых скоростях не хватает крутящего момента для движения.
Спасибо за ваши предложенные решения. Проверить удалось только сегодня.
Первый вариант отработал нормально.
В виду компактности использовали второй вариант.
Его доработали в том плане, что скорость снижали не до ноля, поскольку на малых скоростях не хватает крутящего момента для движения.