Регулировка скорости ШагоДвига в чужой схеме
- Войдите на сайт для отправки комментариев
Ср, 05/12/2018 - 13:02
Добрый!
Если лазерный гравер, работает по плоской поверхности, надо переделать на сферические поверхности.
Оставляю ось Y как есть, вместо оси Х подключаю шаговый Nema 17 (биполярный, 4х-проводной). Все ок, работает.
Но т.к. длина окружности предметов для гравировки разная - нужна подстройка пройденного растояния - меньше, чем проходит лазер через мой привод с шестеренкой.
Я так понимаю нужно подключить схему через Ардуину, на вход Ардуины втыкаю все 4 выхода на двиг с лазера, на выход подключаю Nema 17. Драйвер нужен или напрямую втыкать?
Я так понимаю нужно подключить схему через Ардуину, на вход Ардуины втыкаю все 4 выхода на двиг с лазера, на выход подключаю Nema 17. Драйвер нужен или напрямую втыкать?
Не затрагивая саму идею преобразования шагов сначала в логику, а потом обратно в шаги(бредом попахивает), отвечу только на последний вопрос - нужен ли драйвер??
Ну а сами-то как думаете? - потянет ардуина шаговый мотор без дравйвера?
Кроме того, если ваш Nema17 на напряжение более 5в - нужно еще согласование и на входе.
Работает же у людей фантазия...
Нашел такой скетч, но при прямом подключении одну ардуину спалил.
Подскажите куда копать, можно платно в личку, выложу потом сюда.
Насчет бреда - ну пардоньте, я специализируюсь в другой области.
Цитата:
a5021 Весь алгоритм -- десять строк. Без всяких прерываний, таймеров и прочей зауми.
Пины 5-7 ардуины -- это входы, 9-11 выходы. Коэффициент уширения задается в дифайне WIDTH_MUL. Остальное работает автоматически.
Первые три сверху -- это сигналы на входах, нижний -- выход от красного входа. Выход вместился только один, т.к. у виртуального осциллографа только четыре входа. Ниже, то же самое, подробнее:
Одна клетка -- это пять вольт и одна миллисекунда.
Коэффициент "уширения" задан 0.3, т.е. импульсы на выходах длятся на треть дольше, чем на входах.
С проводов двигателя лазера ардуиной ничего просто так не получить. Да и не просто так - тоже бессмысленно. Надо перехватывать управление раньше.
Так-то движок реагирует, но как-то криво.
Т.е. работой с исходящими на движок импульсами задача нерешаема, правильно?
Так-то движок реагирует, но как-то криво.
Т.е. работой с исходящими на движок импульсами задача нерешаема, правильно?
Овчинка выделки не стоит, если есть доступ ко входам драйвера, который этот движок крутит.
там чужая схема, ее спалить не хочется.. ))
Кто-нибудь сможет помочь платно?
Мозги гравера сфотаю, все покажу
0.3 это заузили импульс
0.3 это заузили импульс
да, я залил скетч с #define WIDTH_MUL 1
но движок как-то дергается, вместо вращения 1:1
там чужая схема, ее спалить не хочется.. ))
Кто-нибудь сможет помочь платно?
Мозги гравера сфотаю, все покажу
В смысле - кто хочет спалить свой станок, чтобы сделать рабочую схему для другого? ))
Все равно на своем будете экспериментировать. Посмотреть картинки могу... а там уже думать - выйдет или нет.
наверное не ширину импульса надо регулировать а их количество?
наверное не ширину импульса надо регулировать а их количество?
Проблема 1: при WIDTH_MUL = 1 (в скетче выше) импульсы 1 к 1 не проходят, т.е. без ардуины вращает ок, через ардуину - непонятные подергивания. Если бы получилось, тогда бы и количеством поигрался.
Проблема 2: я входы в ардуине спалил получается? :)
ну ок, вечером пришлю схему, если работа с исходящими импульсами не вариант
Наверно, все-таки в аппартаные вопросы.
Проблема 2: я входы в ардуине спалил получается? :)
блин, ну я ж вам на это уже ответил. Какое напряжение на моторе гравера? - если больше 5в - напрямую к ардуине подключать нельзя. это как бы очевидно, что тут обсуждать?
Вот фото схемы лазера. Коннектор на 4 провода справа - ось, на которой надо регулировать скорость движка.
Чего делать?
И какой провод куда идет? Питание - понятно, остальные как скоммутированны с драйверами?
коннектор справа, на 4 провода - идет на шаговый движок (биполярный NEMA17), подключен в этом же порядке (если перевернуть штекер - работает зеркально). Левый коннектор, 3 провода - на лазер, 4х2 коннектора, 8 проводов - на 2 движка оси Y (работают парой)
Не совсем понимаю что именно еще могу рассказатЬ, если можно - спрашивайте плз
А... так это лазер, а не питание...
И какому из двигателей надо траекторию менять - к которому 4 провода идет с правого коннектора?
В общем случае для перехвата управления (если я задачу правильно понял) нужно резать дорожку (или штырек выпаять), которая идет к STEP входу драйвера:
Потом эту разрезанную дорожку и заводить на Arduino - слушать одним входом и давать на другом выходе импульсы 1:1, 1:2, 2:1... или по какой там формуле корректировка производится.
похоже на то, увечивая время шага разгоняется только ток в обмотках мотора, а на угол поворота это не влияет.
Верно
Верно
Тогда перехватывать управление через разрыв STEP-а того драйвера, с которого эти 4 провода выходят. Другого варианта я не вижу на данный момент.
перечитал и ничего не понял... а именно: вместо того, чтобы переписать плоскую картинку в пространственную решили задать корректировку шагов двигателя? Вот тут вопрос, а как определили, где находится головка и на сколько ее нужно подкорректировать? когда это делается в программе, такая привязка однозначно задается, но в любом другом месте исполнительному устройству необходимо передать координаты для отработки по алгоритму...
Может я и не прав, но алгоритма я не понял...
Я тоже ничего не понял, но человек спрашивает, как ему управление перехватить. Я ответил. Что с этим он будет дальше делать - вопрос, конечно.
... но человек спрашивает, как ему управление перехватить. ..
так по сути вопроса вы и не ответили, для перехвата управления, нужно понимать где находишься, а я так и не понял как это задумано...
тут обсуждается перехват сигналов ШД - ну его можно обсудить... но это даже близко не управление...
Исходя из предварительным попыток получения управляющих импульсов через коннектор мотора, я сделал вывод, что ТС хочет каким-то образом производить пересчет кол-ва шагов, приходящих из штатной прошивки в кол-во шагов, которые должен пройти его двигатель. Перехват STEP-а - самое близкое к его желанию действие, которое можно относительно легко проделать ардуиной.
Однако, дальнейший смысл действий от меня пока ускользает. Впрочем, он не просил решить задачу целиком. На заданный вопрос я ответил.
>>>вместо того, чтобы переписать плоскую картинку в пространственную
не совсем. Есть лазер по плоским поверхностям, мне нужна гравировка еще и по цилиндрическим.
Вместо оси Х я подключаю движок, на котором зажимаю гравируемый цилиндр.
Все работает, есть одно но: цилиндрические детали у меня разного диаметра. Соответственно путь, который должен пройти лазер - разный.
Вижу 2 варианта:
1. Внедриться в схему управления движком и задавать коррректировочный коэффициент вращения.
2. Собрать некий вариатор, которым механически делать тож самое (по типу такого)
Можно посмотреть как это сделано для устройства Eggbot (еще ссылка с похожими функциями).
Да, 3й вариант - снять и отложить в сторону кетайскую плату и найти ее аналог, либо сделать на ардуине
Тогда перехватывать управление через разрыв STEP-а того драйвера, с которого эти 4 провода выходят. Другого варианта я не вижу на данный момент.
согласен. Вообще, задачка вроде не должна быть сложной.
Да, 3й вариант - снять и отложить в сторону кетайскую плату и найти ее аналог, либо сделать на ардуине
Я же вам написал, что делать - рвать STEP, ардуиной пересчитывать - на каждый входящий давать два исходящих. Или наоборот.
Да, 3й вариант - снять и отложить в сторону кетайскую плату и найти ее аналог, либо сделать на ардуине
Я же вам написал, что делать - рвать STEP, ардуиной пересчитывать - на каждый входящий давать два исходящих. Или наоборот.
Спасибо, соберусь с мыслями, осмотрю внимательно и попробую, опыта особо нет в этих делах, не спалить бы )
Здравствуйте, не хочу новую тему создавать, напишу здесь.
Суть такова, есть шаговый двигатель, драйвер 4988, библиотека StepperDriver, потенциомерт и кнопки.
Задача, нажав на кнопку начать вращать двигателем, на другую остановить а потенциометром, регулировать скорость вращения.
С кнопками разобрался, а вот со скоростью не очень.
Вот код:
Вот хочу для RPM брать значение с val.
Подскажите пожалуйста, как правильно это сделать?
Спасибо.
во первых в чужую тему лезть это некрасиво и не правильно.
во вторых с кнопками вы нифига не разобрались и обрабатываете вы их не верно.
Извините, я не хотел никого обидеть.
А что не так с кнопками? Работают же, ровно так как мне нужно, вкл и выкл.
Извините, я не хотел никого обидеть.
А что не так с кнопками? Работают же, ровно так как мне нужно, вкл и выкл.
вы никого не обидели, просто начните новую тему, а у кнопок есть дребезг, подробнее тут и тут
Добрый!
Если лазерный гравер, работает по плоской поверхности, надо переделать на сферические поверхности.
Оставляю ось Y как есть, вместо оси Х подключаю шаговый Nema 17 (биполярный, 4х-проводной). Все ок, работает.
Но т.к. длина окружности предметов для гравировки разная - нужна подстройка пройденного растояния
Ничего не надо перехватывать и изменять, нужно в настройках гравера указать реальное перемещение мм/шаг для конкретного диаметра. Или корректировать УП. Вы немного некорректно поставили задачу, гравировка по цилиндрической, а не сферической поверхности.