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

taif

МЕСТНЫЙ СТАРОЖИЛА
НАШ ЧЕЛОВЕК
Регистрация
24.05.2020
Сообщения
986
Реакции
713
Баллы
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    Нет, я не буду ничего отключать