Подскажите алгоритм управления для 2ух шаговиков (Camera Slider)

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
@rGlory,
Для того чтоб иметь возможность в рабочем цикле ехать со скоростью 200мм/сек, нужно поменять в строчке " const auto xSpeedLimit = 100 " значение 100 на 200. Вроде никаких проблем. При этом на 200 поменяется скорость и в режиме "В начало" и "В конец". Для этого режима скорость будет великовата. Вот я и спросил, можно сделать 2 переменные, одна отвечает за скорость в рабочем режиме, а другая за скорость при позиционировании.

Последний скетч работает идеально.

@rGlory,

Нашел ошибку. В меню "Задержка" там значения от 0 до 10. Но если повернуть ручку меньше нуля, то выскакивает 255... и нужно долго крутить к нулю...
 
Изменено:

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
@Андрей К.,
Исправил перескок через ноль в меню задержка и добавил две константы xSpeedPos и ySpeedPos соотвественно. Обновитесь.

Хотя странно, для рабочего режима скорость нормальная, а для перемещения - великовата.
 

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
@rGlory,
Рабочая иногда бывает и 300, но так колбасить камеру лишний раз не хотелось бы :)
Спасибо, ща гляну.

@rGlory,
Всё супер. Если ближайшее время ещё что то не замечу, то отчасти проект можно закрывать.
Если вы, как писали ранее, не захотите добавить ешё несколько ячеек памяти для записи настроек. Кстати, данные, которые выводятся на дисплей в момент сохранения или считывания не нужны. А вот вместо этого там добавить пункт подменю подтвердить или отменить былоб не плохо. Это уже из пользования, как то проскочил СТАРТ и попал на сохранение и нажал в это время кнопку... а выйти оттуда не получается... Поэтому, выводимые данные на табло убрать, а добавить опросник типа да или нет.
И если вы считаете что есть какие то лишние моменты то можно подчистить... Я сейчас говорю о тех моментах, которые вы писали для своей отладки... если такое было.
А так СУПЕР !!! Никаким китайцам такое и не снилось !

Осталось теперь платку сделать красивую, и будет супер в двойне... Пока это выглядит как то так. Сделал на макетке.

IMG_6553.JPG
IMG_6556.JPG

У Алекса есть гид по этому, когда смотришь всё легко, а как сам начинаешь, сразу всё грустно.

@rGlory,
Вопрос по переводу второй строки... за какой параметр отвечает ?

const auto ySpeedLimit = 45; // скорость поворота по Y grads/s
const auto ySpeedPos = 20; // y axis positioning speed grads/s
const auto fineYmovement = 1; // шаги по Y тонко в градусах
const auto coarseYmovement = 10; // шаги по Y грубо в градусах
 
Изменено:

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
@Андрей К.,
const auto ySpeedLimit = 45; // максимальная скорость по Y grads/s
const auto ySpeedPos = 20; // скорость позиционирования по Y grads/s (в режиме start Y и end Y)

ySpeedLimit пока не используется, по идее ее нужно использовать в проходе - если при установленной скорости X и нужном угле поворота скорость Y превысит это значение, то ограничить скорость X соотвественно.

Насчет платы, а сколько вы их собираетесь делать? Не проще использовать готовую?

Я распайку не смотрел еще, но скорее всего просто нужно будет поменять пины в настройке и можно ее использовать.
 
Изменено:

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
Понял. То есть 45, мы не трогаем, а если нужно во время настроек увеличить скорость поворота, то меняем 20 на нужное число. Правильно ?
 

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
Понял. По остальному, какие то изменения ожидать ?
В принципе смысл убирать экран с информацией о сохранении/считывании я не вижу - все равно нужно сообщить, что считывание или запись прошла успешно. Можно добавить подменю - выбор номера сохранения/записи и туда же добавить выход. Тогда убъем двух зайцев. Сейчас сделаю.

Так что насчет платы, та разве не подойдет?
 

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
@rGlory,
По поводу убирать или нет, это не критично... Для технаря это информация, для фотографа, не нужный набор цифирек... Поэтому я и предложил убрать. Главное чтоб при случайном заходе в меню, появилась возможность выйти, ничего не сохраняя или записывая...
Я не против, давай убьем зайцев.

Плата нормальная, она стоит и работает... На чем тестируем, на ней :) Это я фоткал когда собирал первый слайдер брательнику. Это было давно :)
Просто сделано кустарно. А еслиб печатка была, то как Алекс в ролике сказал, и самому приятно :)
 

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
Добавил возможность сохранять/считывать до 4 проходов. Там же есть выбор "отмена", так что можете выйти без записи, считывания. Обновитесь

росто сделано кустарно. А еслиб печатка была, то как Алекс в ролике сказал, и самому приятно
Я предложил использовать такую плату https://wiki.keyestudio.com/Ks0152_keyestudio_CNC_Shield_V4



Конечно не обязательно сам оригинал, можно взять китайский клон. Она немного оверкил, там три драйвера, а нужно два. Кстати была вроде идея использовать третью ось. Я думаю использовать ее будет проще и дешевле, чем дизайнить свою с нуля.
 

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
В платке что то есть... Но у меня под свою макетку размер коробочки... Ардуина у меня не в плате, она прикреплена к боковине, для возможности прошивки не разбирая.... В общем идея услышана. Но пока не реализуется. Спасибо.

Скетчик сейчас гляну.

@rGlory,
Получилось супер. Вот только выход бы поставить над единичкой, а не в конце... Чтоб не искать если ошибся, а сразу было видно... Пусть при входе в запись или считывание, указатель стоит напротив первой ячейки памяти, а над ней надпись выход. Чтоб 1 щелчек и вышел... Так можно ?
 
Изменено:

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
@rGlory,
Всё получилось супер. Но нашел опять бяку :( Она одинаково себя ведет при всех режимах при настройке оси Y. Я только немного прибавил скорости для вращения по этой оси... не 20 как было а 30... вот в этой строке. При 20 всё идеально.

const auto ySpeedPos = 20; // y axis positioning speed grads/s


 

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
@Андрей К.,
Он просто не успевает разогнаться и потом затормозить при этой скорости, слишком большая скорость для такого малого перемещения. В принципе простое решение - понизить скорость для тонкой настройки. Сделал, обновитесь. В след версии надо бы сделать по уму - рассчитать макс скорость, до какой он может разогнаться и затормозить, просто там формула не тривиальная.

Так, таже проблема вылазит, если сделать слишком малую дельту по X и потом нажать "к началу". Пофиксил, если успели обновится, обновитесь еще раз.
 
Изменено:

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
Может как то просто отключать разгон при низких скоростях.
Так проблема проявляется не при низких скоростях, а наоборот при слишком высоких. Сделал пока брут форсем - понижает скорость вдвое пока тормозной путь не станет вдвое меньше, чем дистанция. Обновитесь попробуйте.
 

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
Получилось нормально. Отзывчивость по Y как то вяловата... Если вы загрузите мой скетч к себе, и посмотрите как отрабатывает ось Y, станет бОлее понятно о чем я говорю... И шаги у меня мельче. Сейчас пока изъянов не нашел.
Будем смотреть.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
Ребята, у вас вроде как проект вырисовался. Вы бы название сменили, попросили модератора в раздел проектов перенести. Было бы хорошо.
Но тогда и шапку сделайте по человечески, чтобы и последняя актуальная прошивка там была, и схемы, и видео презентация какая-то.
 

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
Видео презентацию попробую сделать.
Но пока ещё вылезают бяки непонятные. Число нажатий плавает от 2ух до 5 в среднем. Иногда с первого включения. Это бывало и раньше... но я как то забывал сообщить. По остальному норма. Пока больше ничего не заметил.

 

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
Да такие глюки тяжелее всего фиксить, которые тяжедл воспроизвести. Ну попробуем теоретически. Обновитесь, проверьте.
 

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
Согласен.
@rGlory,
На данном этапе все нормально. Принудительно щелкал... пытался спровоцировать... не поддался...
Ещё немного погоняю, и тогда надеюсь с этим закончим.

По поводу третьей оси, задумки есть, но т.к. не на чем тестить третью ось, вероятно это пока отложим.
Вы и так сделали невозможное!!!

@rGlory,
Сейчас собираю все в одну папку, подскажите ещё раз, какие у нас были использованы библиотеки ?
Хочу скачать и в отдельную папку скопировать.
 
Изменено:

rGlory

★✩✩✩✩✩✩
11 Май 2021
200
20
Сейчас собираю все в одну папку, подскажите ещё раз, какие у нас были использованы библиотеки ?
На первой странице все написано https://gitlab.com/rglory/super-slider

Кстати добавил описание на русском к параметрам в settings.hpp
Отметил текущую версию как 1.0
 
Изменено:
  • Лойс +1
Реакции: Андрей К.

Андрей К.

★✩✩✩✩✩✩
25 Май 2019
287
23
Москва. Щукино
@rGlory,
Я там плохо ориентируюсь. Поэтому спросил. У меня ещё вопрос, мы для шаговых моторов использовали какую библиотеку ? Вопрос к чему, когда старый скетч подправлялся, там и библиотека AccelStepper и скетч подправлялись... может с этим было связано некоторое неадекватное поведение ? Только сейчас в голову пришло.
Пока все работает отлично.