Mega+shild 1.4 проблема с концевиками
- Войдите на сайт для отправки комментариев
Чт, 24/02/2022 - 15:52
Добрый день форумчане. К Mega 2560 подключены двигатели (оси x,y,z) и концевики через shild 1.4. Всё работает, но как только каретка садится на концевик с него уже не съезжает. Прошу помощи в этом вопросе.
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Ну и "за компанию":
http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-novichok-prochti
Добрый день форумчане. К Mega 2560 подключены двигатели (оси x,y,z) и концевики через shild 1.4. Всё работает, но как только каретка садится на концевик с него уже не съезжает. Прошу помощи в этом вопросе.
Что значит "не съезжает"? Может просто физически застревает и мощи не хватает сдёрнуть? Объясняйтесь толком.
может как-то так?
надо еще сделать процедуру обработки ошибок и при наезде на концевик выводить мерный остаток с кодом ошибки по оси
А если надо откалибровать нулевую точку. Налетели на концевой -> скорость в 2 раза меньше -> съезжаем с концевого -> скорость в 10 раза меньше начальной -> наезжаем снова на концевой. Так можно получить точность нуля в 2-3 импульса.
Постараюсь объяснить и не тупить сильно. Программа по управлению 3мя осями. Пока мучаю только ось x.
Подключаю мегу к пк и перепрошиваю, далее даю питаниена шилд. Так вот каретка стоит (условно) по середине оси x, далее захожу вот сюда ->
набираю x1000 каретка перемещается вправо на 1000 шагов, соответственно пишу x-1000 каретка перемещается влево на место. Концевик находится в левой стороне. Мне необходимо чтобы каретка доходила до концевика в не зависимо на каком расстоянии она находится от концевика, просто задаю максимальное значение например x-50000, концевик срабатывает и двигатель прекращает работать. Это получилось вот такой код
Но после того как концевик сработал какие бы я команды не писал двигатель не едет (ни в лево хотя я понимаю там ось заканчивается, ни в право). На данный момент делаю так, с помощью этого кода еду до концевика он срабатывает двигатель останавливается. Перепрошиваю мегу вот на такой код (предыдущий комментирую)->
пишу x1000 или x-1000 и каретка сходит с концевика и двигается в право т.к digitalWrite(X_DIR, LOW);.
Вот вопрос, а можно без перепрошивания меги каждый раз, чтобы каретка доезжала до концевика, концевик срабатывал и следующей функцией каретка съезжала с концевика в направлении от концевика?
Всем спасибо проблему решил)