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

Прога для манипулятора step/dir

Ответить
MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#1

Сообщение MTSnik1 » 13.07.2018{, 10:17}

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#2

Сообщение vacz » 13.07.2018{, 14:55}

Используйте этот блок на прерываниях. Блок на 4 двигателя. совместим с LDC.
Generator_2_V1.0b_(CODE).ubi
(272.73 КБ) 109 скачиваний
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#3

Сообщение MTSnik1 » 13.07.2018{, 18:07}

:smile9: спасибо большое, в понедельник на работе испытаю.

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#4

Сообщение MTSnik1 » 17.07.2018{, 10:56}

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

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#5

Сообщение vacz » 17.07.2018{, 15:51}

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

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#6

Сообщение MTSnik1 » 17.07.2018{, 18:21}

Через блок меню может позже сделаю когда экран побольше будет. А пока хочу попробовать блок командааппарат. Если я правильно понял в нем задаются параметры (у меня будет движение каждого двигателя в шагах) на каждый шаг. Еще в нём есть опция читать из файла. Можно по подробней об этом, что за файл, как его сделать. А то в хелпе про это ничего нет.
Вложения
P_20180709_141436_1_1.jpg.zip
(885.35 КБ) 50 скачиваний
manipul6.flp.zip
(116.39 КБ) 68 скачиваний

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#7

Сообщение vacz » 17.07.2018{, 19:08}

Интересная тема. Тоже собирался на досуге собрать что то подобное, но все не хватает времени: https://youtu.be/LcP2c1csgZA
Командоаппарат хороший блок, но информации на него действительно, пока нет. Надеемся, что автор найдет время на описание этого блока! Возможно, кто то поделится своей информацией о нем. Немного есть у Грачика. Еще можете обратить внимание на тему. Там есть на что обратить внимание.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#8

Сообщение Sancho » 17.07.2018{, 19:10}

MTSnik1,
Была немного схожая тема, но на сервах.
Использование памяти, внешней, и блоков, поможет в заливке новых данных без перезагрузки контролера. Придётся покумекать, но!
Можно попробовать с картой памяти, но у меня не было опыта работы с ней. Возможно(наверно) ещё проще будет работать с данными...

Отправлено спустя 2 минуты 52 секунды:
vacz, И я об этой теме :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#9

Сообщение MTSnik1 » 19.07.2018{, 06:09}

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

Отправлено спустя 35 минут 8 секунд:
Выяснил в чем дело. Нужно передернуть через 0 вход startsteps, после происходит движение на нужное количество импульсов при следующем шаге. Придется между шагами движения командоаппарата делать обнуление входа startsteps.
Вложения
manipultest.flp.zip
(51.14 КБ) 68 скачиваний

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#10

Сообщение vacz » 19.07.2018{, 07:18}

Блок работает нормально. Вы просто, не до конца с ним разобрались.
StartSteps - Режим работы соответствующих выходов: 0 - стоп 1 - выполнить Steps (количество шагов).
Steps - количество шагов которое будет выполнено при подачи 1 на StartSteps.
СпойлерПоказать
Описание
Длительность ипульса выбрана согласно рекомендации для 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 - нет шагов на соответствующих выходах
Работа в последовательности: Задаем количество шагов,- ПУСК - Стоп.
Как вариант:
СпойлерПоказать
1.png
1.png (12.22 КБ) 2439 просмотров
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#11

Сообщение MTSnik1 » 19.07.2018{, 13:37}

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#12

Сообщение vacz » 19.07.2018{, 18:19}

Попробуй такой блок:
Generator_2_V0.1_(CODE).ubi
(229.72 КБ) 83 скачивания
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#13

Сообщение MTSnik1 » 20.07.2018{, 05:37}

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

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#14

Сообщение MTSnik1 » 23.07.2018{, 10:13}

Так что, в блок не получится добавить счетчики?



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

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#15

Сообщение MTSnik1 » 31.07.2018{, 04:36}

Пришлось задействовать внешние счетчики, вот что получилось. Работа в ручном,автоматическом режиме. Обнуление, (при нажатии кнопок все позиции возвращаются до концевиков). Работа по программе заданной командоаппаратом.
Вложения
manipul.flp.zip
(173.33 КБ) 71 скачивание

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#16

Сообщение AVGN » 31.07.2018{, 13:41}

MTSnik1 писал(а):
31.07.2018{, 04:36}
все позиции возвращаются до концевиков)
зачем концевики то . Манипулятор строил на сервомоторах
Изображение
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

MTSnik1
Рядовой
Сообщения: 92
Зарегистрирован: 12.07.2018{, 17:06}
Репутация: 2
Имя: Timofey

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

#17

Сообщение MTSnik1 » 01.08.2018{, 04:18}

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

Ответить

Вернуться в «Помогите, а то я "нимагу"»