Страница 1 из 1

Манипулятор.

Добавлено: 13 июл 2018, 10:17
MTSnik1
Привет всем! Решил собрать манипулятор для изучения программирования в Flprog. Манипулятор основан на шаговых двигателях с драйверами управляемыми step/dir. На механике особо не заморачивался, собиралась из того что было под рукой с минимальными вложениями, только для ознакомительных целей программирования. Итак механика собрана и добавлены датчики. На каждую позицию по 2 датчика. Один на ограничение движения в крайнем положении, другой на валу двигателей для подсчета импульсов при движении в обратную сторону. Мозгом управления послужила мега 2560 + LCD дисплей 16х4 и 5 кнопок. В будущем планирую добавить гироскоп и ультразвуковой датчик. При написании прошивки столкнулся с небольшой проблемой. При одновременном использовании LCD и генераторов для шаговых дв. Шаговики не хотели раскручиваться. Пришлось пойти на хитрость и применить Zummerы для задания частоты. Только одновременно они так-же не захотели работать. Пришлось делать управление по очереди. Пока только написана программа для ручного управления с ограничением хода. И ручным переключением выбора двигателя. В скором времени придумаю авто режим. FLprogгом недавно стал пользоваться.(Выражаю особую благодарность создателям этой замечательной программы! 👍👍👍)
Так что сразу прошу показывать ошибки. С си не дружу. Не лезет он в меня. Может кто посоветует как заставить крутиться движки одновременно.

Манипулятор.

Добавлено: 13 июл 2018, 14:55
vacz
Используйте этот блок на прерываниях. Блок на 4 двигателя. совместим с LDC.
Generator_2_V1.0b_(CODE).ubi

Манипулятор.

Добавлено: 13 июл 2018, 18:07
MTSnik1
:smile9: спасибо большое, в понедельник на работе испытаю.

Манипулятор.

Добавлено: 17 июл 2018, 11:02
MTSnik1
Спасибо еще раз Уважаемый Vacz. Прикрутил Ваш блок :smile9: все работает. Добавил функцию обнуления в авторежиме.
Почему-то файл 1.7мБ не хочет записываться на сайт.

Отправлено спустя 6 минут 1 секунду:
Теперь пришло время делать авто режим. Как вообще промышленные программируют? Через таблицу на табло? Или как чпу через g-код?

Манипулятор.

Добавлено: 17 июл 2018, 15:51
vacz
MTSnik1 писал(а): 17 июл 2018, 11:02Почему-то файл 1.7мБ не хочет записываться на сайт.
Можете отправить сжатой папкой ZIP или RAR.
MTSnik1 писал(а): 17 июл 2018, 11:02 Как вообще промышленные программируют? Через таблицу на табло? Или как чпу через g-код?
Задавать параметры можете через блок "МЕНЮ".

Манипулятор.

Добавлено: 17 июл 2018, 18:21
MTSnik1
Через блок меню может позже сделаю когда экран побольше будет. А пока хочу попробовать блок командааппарат. Если я правильно понял в нем задаются параметры (у меня будет движение каждого двигателя в шагах) на каждый шаг. Еще в нём есть опция читать из файла. Можно по подробней об этом, что за файл, как его сделать. А то в хелпе про это ничего нет.

Манипулятор.

Добавлено: 17 июл 2018, 19:08
vacz
Интересная тема. Тоже собирался на досуге собрать что то подобное, но все не хватает времени: https://youtu.be/LcP2c1csgZA
Командоаппарат хороший блок, но информации на него действительно, пока нет. Надеемся, что автор найдет время на описание этого блока! Возможно, кто то поделится своей информацией о нем. Немного есть у Грачика. Еще можете обратить внимание на тему. Там есть на что обратить внимание.

Манипулятор.

Добавлено: 17 июл 2018, 19:13
Sancho
[ref]MTSnik1[/ref],
Была немного схожая тема, но на сервах.
Использование памяти, внешней, и блоков, поможет в заливке новых данных без перезагрузки контролера. Придётся покумекать, но!
Можно попробовать с картой памяти, но у меня не было опыта работы с ней. Возможно(наверно) ещё проще будет работать с данными...

Отправлено спустя 2 минуты 52 секунды:
[ref]vacz[/ref], И я об этой теме :)

Манипулятор.

Добавлено: 19 июл 2018, 06:44
MTSnik1
Приветствую всех. Что то не получается скрестить командааппарат с блоком step/dir. Выполняется только один шаг. Последующие не хотят. Причем выяснилось что вся проблема с блоком step/dir. На вход steps посылаю при 2-м шаге например 1000имп. Шаговик крутит, на следующем шаге командааппарата подаю 2000 и шаговик молчит. До нового перехода на 2 шаг. Получается что на входе steps всегда должно быть одно число. Гляньте пожалуйста, прав ли я.

Отправлено спустя 35 минут 8 секунд:
Выяснил в чем дело. Нужно передернуть через 0 вход startsteps, после происходит движение на нужное количество импульсов при следующем шаге. Придется между шагами движения командоаппарата делать обнуление входа startsteps.

Манипулятор.

Добавлено: 19 июл 2018, 07:18
vacz
Блок работает нормально. Вы просто, не до конца с ним разобрались.
StartSteps - Режим работы соответствующих выходов: 0 - стоп 1 - выполнить Steps (количество шагов).
Steps - количество шагов которое будет выполнено при подачи 1 на StartSteps.
[spoiler]Описание
Длительность ипульса выбрана согласно рекомендации для STEP/DIR драйверов около 10мкс, если надо поменять можно отредактировать в блоке в
секции DeclareSection #define lengthPulse 10
Возможно использовать одновременно 4 выхода для генерации импульсов
Привязку к пинам платы менять нельзя (можно, но для этого надо редактировать блок в нескольких местах)
Out1 - Пин 6
Out2 - Пин 7
Out3 - Пин 8
Out4 - Пин 9

Параметры:
OnOut1, OnOut2, OnOut3, OnOut4 - Включает использование пинов для генерации импульсов
period - Период прерывания, мкс, Менять Осторожно, Должен быть минимум в два раза больше длительности импульса
Входы:
StartSteps1, StartSteps2, StartSteps3, StartSteps4 - Режим работы соответствующих выходов: 0 - стоп 1 - выполнить Steps количество шагов, 2 - бесконечные шаги
divider1, divider2, divider3, divider4 - делитель частоты, для соответствующего выхода
Steps1, Steps2, Steps3, Steps4 - количество шагов которое будет выполнено при подачи 1 на StartSteps
Выходы:
StopOut1, StopOut2, StopOut3, StopOut4 - нет шагов на соответствующих выходах
[/spoiler]
Работа в последовательности: Задаем количество шагов,- ПУСК - Стоп.
Как вариант:
[spoiler]
1.png
[/spoiler]

Манипулятор.

Добавлено: 19 июл 2018, 13:37
MTSnik1
Принцип работы я понял, дело в том что нужно было через командоаппарат все время старт/стоп делать. Но эту проблему уже решил. Такой вопрос, кто-нибудь может в блоке Generator_2_V1.0b_(CODE).ubi добавить выходы integer значения пройденных импульсов steps? Очень нужно.

Манипулятор.

Добавлено: 19 июл 2018, 18:19
vacz
Попробуй такой блок:
Generator_2_V0.1_(CODE).ubi

Манипулятор.

Добавлено: 20 июл 2018, 05:37
MTSnik1
Спасибо за блок, но немного не то. Нужно чтоб был первоначальный блок со всеми входами/выходами + доп.выходы сколько импульсов прокрутил двиг. Например, задали steps 1000 на доп.выходах значение будет от 0 до 1000. То есть добавить 4 счетчика.

Манипулятор.

Добавлено: 23 июл 2018, 10:13
MTSnik1
Так что, в блок не получится добавить счетчики?



Пришел гироскоп, буду пока его прикручивать.

Манипулятор.

Добавлено: 31 июл 2018, 04:36
MTSnik1
Пришлось задействовать внешние счетчики, вот что получилось. Работа в ручном,автоматическом режиме. Обнуление, (при нажатии кнопок все позиции возвращаются до концевиков). Работа по программе заданной командоаппаратом.

Манипулятор.

Добавлено: 31 июл 2018, 13:41
AVGN
MTSnik1 писал(а): 31 июл 2018, 04:36все позиции возвращаются до концевиков)
зачем концевики то . Манипулятор строил на сервомоторах
Изображение

Манипулятор.

Добавлено: 01 авг 2018, 04:18
MTSnik1
У меня манипулятор на шаговых двигателях. Концевики для ограничения хода, чтоб механика не заклинила.
Вчера попробовал гироскоп приделать, :yes: пришлось добавить делитель на 1000, клешня в зажатом виде всегда в горизонтальном положении. :smile9: