псевдо-автофокус для лазера

taif

ЗНАЕТ ЧТО ГОВОРИТ
НАШ ЧЕЛОВЕК
Регистрация
24.05.2020
Сообщения
921
Реакции
661
Баллы
183
Имя
Александр
Arduino Uno. Шаговик Nema17. Драйвер 4988

Задача проста как «два пальца …»: После нажатия кнопки каретка едет вниз и, касаясь концевиком нужной точки(houmе), возвращается на прописанное в прошивке расстояние.

В Arduino ID установил библиотеку GyverStepper. Определился, выбрал «EndSwitch».

Ну и смотрю в неё, а вижу …

Не умею я «править» скетчи. И вроде там даже по-русски написано, а не въезжаю.

Мож кто поможет??
 
Ну для этого как минимум нужен сам скетч...
 
  • Одобряю
Реакции: taif
Ну для этого как минимум нужен сам скетч...
// пример с концевиком
#include <GyverStepper.h>
//GStepper<STEPPER4WIRE> stepper(2048, 5, 3, 4, 2);
GStepper<STEPPER2WIRE> stepper(2048, 2, 5);

void setup() {
// наша задача - при запуске крутить мотор в сторону до нажатия на кнопку
pinMode(12, INPUT_PULLUP); // кнопка на D12 и GND

stepper.setRunMode(KEEP_SPEED);
stepper.setSpeedDeg(-10); // медленно крутимся НАЗАД

// пока кнопка не нажата
while(digitalRead(12:) {
stepper.tick();
// yield(); // для esp8266
}
// вот тут кнопка нажата, сразу вырубаем мотор.
// Текущее положение также сбрасывается в 0
stepper.reset();

// дальше например врубаем FOLLOW_POS
stepper.setRunMode(FOLLOW_POS);
}

void loop() {
// и качаемся в 20 шагах от кнопки и до 300
static bool dir;
if (!stepper.tick(:) {
dir = !dir;
stepper.setTarget(dir ? 20 : 300);
}
}
 
Имею две прошивки

1. движение по оси «вверх» - «вниз», с регулировкой скорости шагового двигателя потенциометром. Устройство сейчас работает на отдельной от «Дятла» плате.

2. И найденный в инете скетч идти в «home» с последующим «отскоком» на заданное расстояние (управление из терминала Ардуино, а нужно чтобы с кнопки эта команда запускалась).

Обе прошивки под "наш» шаговик Nema

В общем, по сути, «куски» программного обеспечения нашего станка.

Может быть кто-то поможет объединить эти две прошивки, с добавлением кнопки в скетч «home», что б я залил её в МК своей отдельной платы.

Какой день читаю ардуиновскую тему, но ни черта не понимаю, как это сделать. (А уж создать самостоятельно скетч из библиотек Ардуино и вовсе для меня китайская грамота)

При моём образовательном уровне найти ПО и прошить микроконтроллер, есть предел в программировании. (так бывает, по себе знаю.:)
 
Обе прошивки под "наш» шаговик Nema

В общем, по сути, «куски» программного обеспечения нашего станка.
А может стоит к вашей плате допаять внешний драйвер и использоватьстандартный GRBL, а в LaserGRBL прописать дополнительные кнопки на Z?
 
А может стоит к вашей плате допаять внешний драйвер и использоватьстандартный GRBL, а в LaserGRBL прописать дополнительные кнопки на Z?
Наверное можно…
У меня сейчас ось Z никак не привязана к GRBL. Отдельная плата.
Лазер катается вверх-вниз двумя кнопками.
Удобно поднимать-опускать модуль кнопками, потому что иной раз бывают заготовки высотой до 100мм.
Ось Z достаточно высокая (я конструкцию, здесь, на сайте показывал)
Теперь, казалось бы, добавить в имеющуюся прошивку команду «home» и проблема решена.
Установив концевик, можно будет точно позиционировать лазер в фокус, нажатием кнопки.
Самое обидное, скетч движения шаговика с регулировкой скорости, я нашел в инете влёт. А вот такого же проекта, но с «home», никак!
Видать неверно формулирую вопрос.
 
Наверное можно…
У меня сейчас ось Z никак не привязана к GRBL. Отдельная плата.
Лазер катается вверх-вниз двумя кнопками.
Удобно поднимать-опускать модуль кнопками, потому что иной раз бывают заготовки высотой до 100мм.
Ось Z достаточно высокая (я конструкцию, здесь, на сайте показывал)
Теперь, казалось бы, добавить в имеющуюся прошивку команду «home» и проблема решена.
Установив концевик, можно будет точно позиционировать лазер в фокус, нажатием кнопки.
Самое обидное, скетч движения шаговика с регулировкой скорости, я нашел в инете влёт. А вот такого же проекта, но с «home», никак!
Видать неверно формулирую вопрос.
Прошивка, файл config.h

Там есть две строчки.
#define HOMING_CYCLE_0 (1<<Z_AXIS) // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 :(1<<X_AXIS)|(1<<Y_AXIS:)// OPTIONAL: Then move X,Y at the same time.

Попробуйте закомментировать вторую строчку. Тогда при нажатии home будет искать концевик только по оси Z.
 
2-taif
И в чем не устраивает команды Z-probe ??
 
2-taif
И в чем не устраивает команды Z-probe ??
Ось Z "отвязана" от Дятла,отдельным контроллером управляется. Если использовать возможности Дятла, придется лишние и ненужные "телодвижения" производить. Ну так я вижу, по-своему. Сейчас добрые люди помогают организовать скетч. В железе все готово, осталось ПО. Как сделаю покажу.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать