Парковка в полный шаг

McPaul
Идет загрузка
Загрузка
04.04.2021
2974
96
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

28

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

В этот момент сила тока наиБольшая в одной обмотке и минимальна, в другой.

К счастью, это известно разработчикам микросхем драйверов.  TMC2208, 2209 и более новые и старшие модели имеют специальный вывод Index, согласно описанию из паспорта - выдаёт сигнал каждые 4 полных шага.

На графике это выглядит так: (из паспорта на ТМС2208)

Служит для повышения точности парковки при использовании недорогих, неточных концевиков. Ну а если использовать высокоточные, будет еще лучше. Осталось придумать как использовать этот Index сигнал.

Вывод Index выделен на картинке. Чтоб проверить теорию, один канал осциллографа подцепил на вывод Step, ну а другой канал на Index. И тишина - никакого сигнала там нет. Открыл паспорт на микросхему, выяснил номер вывода 12, стал прозванивать мультиметром и опа - выводы перепутали. Там где должен быть DIAG звонится Index. Ну да и ладно, я парковку без концевиков не использую, перепаял пин. И вот такую картину увидел:

Дано:

- Ось Z

- Винт трапеция, 4мм\ оборот

- Микрошаг 1/8. Шагов на мм: 400.

Как видно по картинке, Index подаётся каждые 32 микрошага. Величина перемещения 1 шага = 0,0025мм.

Значит каждые (0.0025х32) = 0,08мм ротор двигателя встаёт в полный шат. Но чтобы это произошло, нужно изначально припарковаться в позицию полного шага.

Однако, моя конструкция упорно парковалась с перелётом на 3-5 шагов.

Так, значит нужно одновременно учитывать сигнал и от концевика, и от драйвера. Итого будем двигаться к концевику, после сработки которого движение продолжится до тех пор пока не поятупит сигнал от драйвера.

В цифровой технике есть такой замечательный элемент И -  2 входа, 1 выход.

Сигнал на выходе изменится только лишь в случае получения сигналов на входе 1 И 2.

Например замечательная микросхема К155ЛА3 - аж 4 канала внутри. Но она огромная, хватит одного канала. Соединяем 2 NPN транзистора последовательно, получаем 2 входа 1 выход.

Но с биполярниками не "взлетело". Применил обычные, проверенные полевые транзисторы, и заработало. Начал делать печатные платки, одну, вторую...

Итого на четвёртом подходе нарисовал самый удобный вариант.

А на картинке ниже, 3й вариант, тоже хорош.

Вставляться должен непосредственно в гнездо. Итого, в белое гнедо вставляется концевик, как обычно, а рядом дополнительный "Пин" проводок к драйверу.

Светодиод помогает визуально увидеть нахождение мотора в полном шаге.

Кому интересно, первый вариант был таким:

С помощью этого решения и были получены следующие картинки:

Парковка с учетом сигнала Index. Четко видим, что двигатель "тикает", и встаёт точно в нужной позиции.

Теперь подвигаем ось, -0,08мм

-0.16мм

-0,24мм

А вот если выставим высоту 0.2мм то попадать в полный шаг будем каждые 2 раза по 0.2мм. То есть через слой.

Хорошо, но в таком материале уже не обойтись без примеров печати. Пусть будет калибровочный кубик быстрого приготовления в 2 стенки по 0.4мм и дно 1 слой, без заполнения.

Но, придётся Вам побыть немножко "радистами" - попытаться из шума и вибраций выделить суть.

Мой принтер, подопытный кролик ZAVmini с прямой головой Direct, с рождения имеет небольшие уродства конструкции. Поэтому наблюдаются некоторые неточности.

Впрочем, освещение подбирал специально, чтоб подсветить наихудший вид. В реальности этого не видно.

Итак, слева направо, вывота слоя:

0.16мм, первый слой такой же. То есть каждый слой Z на полном шаге.

0.2мм, первый слой такой же, так получилось, что ни один слой не попал в полный шаг.

0.2мм, первый слой 0.24мм - каждый второй слой в полный шаг встаёт

ну и высота слоя 0.24мм, аналогично, 0.16.

Как видно, некоторая зависимость прослеживается. И поразила удивительная точность укладки печати слоем 0.24мм.

Если смотреть на распечатки без "микроскопа", то разница До и После весьма заметна. А если потереть стенку наждачкой, так сразу видно.

Вот так, подошел к вопросу кратности высоты слоя с другой стороны.

Очевидно, полезно для оси Z и почти не имеет смысла для XY.

Удобней всего, когда концевик находится в минимуме. Тогда оптимальная высота первого слоя элементарно вычисляется.

Также, светодиод очень помогает

У меня концевик в максумме, высота точки 0 - 106мм, попадаю в полны шаг.

И некоторые пересчеты:

Если микрошаг 1\16, шагов 800, значит сигнал Index будет подаваться уже каждые 64 шага. И т.д.

Кто собирается сам паять, есть ньюанс по схемотехнике. Простое - не всегда гениально. Так и с транзисторами, лучше применить спец микросхему, Типа К155ЛА3 или аналоги. 

Для своих изделий я заказал специализированные высокоскоростные микросхемы, с симметричным выходом. Сделал 2 варианта Подороже и подешевле (с транзисторами) в крошечном форм-факторе. размер платки 10x14.5м.

Платки заказаны в производстве, скоро доступны для заказа.

Напоминаю телеграм https://t.me/elecronica3d

Как принято говорить - подписывайтесь, интересуйтесь. Там свежие новости в концетрированном виде.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

28
Комментарии к статье

Комментарии

04.04.2021 в 16:20
0

На ЛА3 можно сделать одну плату с 3 разъёмами под все концевики.

04.04.2021 в 17:12
0

сразу хотел было возразить, но за чаем подумал, и действительно сразу на 3 концевика.

Это решение ведь для получения максимально точной парковки.

04.04.2021 в 16:49
0

Как Вы считаете, почему 0.16 получилось хуже, чем 0.24 ? В обоих случаях толщина слоя кратна шагу.

04.04.2021 в 17:02
0

я думаю дело в мелком слое. Толщина меньше, поэтому малейшая неровность движений сразу отображается на стенках.

Причина скорей всего в осях ХY, там установлены "убитые" похрустывающие подшипники.

На это указывает и то, что в некоторых местах встречаются особо гладкие полянки.

05.04.2021 в 04:53
0

советую еще латунную гайку на винте заменить на черную из POM. сразу слои ровнее становятся

05.04.2021 в 07:08
0

Да, правильный совет. Это с POM гайкой, я такие 2 года назад распробовал!

04.04.2021 в 17:17
1

Было бы интересно сравнить точность парковки с сигналом Index и без него...

04.04.2021 в 17:43
0

... с перелётом на 3-5 шагов. тоесть +- 2 шага = 2x0.0025 =0.005mm.

Это чисто математически. Концевик, тот самый Lerdge, без триггера шмитта.

+ остановка в промежуточном положении, еще добавит неточности неизвестно сколько,

- пусть столько же, уже в сумме 0,01мм. Вполне достаточно для получения разных узоров первого слоя.

А если добавить сюда прочие неточности механики и температурных зависимостей, легко выйдём на 0.015 - 0.02мм

Чтоб уверенно измерить такие величины в натуре, нужен прибор очень высокого класса.

04.04.2021 в 17:56
0

Да, пожалуй не измерить.

04.04.2021 в 17:23
0

В Marlin 2 есть похожий функционал.


04.04.2021 в 17:30
2

да, я видел, когда изучал вопрос. Там это реализовано так сказать в теоретическом виде, программным способом.

Короче говоря, как всегда, бета версия, не рекомендуют включать.

Здесь же настоящая хардварная реализация. Работает абсолютно на любой прошивке, и не требует её редактирования.

04.04.2021 в 20:31
0

бета версия, не рекомендуют включать

Это ниже в конфиге, про SQUARE_WAVE_STEPPING )

05.04.2021 в 07:14
0

на форумах, не рекомендуют включать. Некоторые пытались настроить, не вышло. Теперь отговаривают.

Может они просто не смогли. Но как настраивать? по хорошему нужно осциллограф прицепить к выводу  Index и прошивать - перешивать, пока не найдём нужную комбинацию фаз.

Можно светодиод повесить, но мы не сможем отличить одну вспышку от 2х, даже если парковаться со скоростью 5мм\мин.

05.04.2021 в 10:24
0

Вообще, это пришло в Марлин из Клиппера. Может в нюансах реализации есть отличия.

15.04.2021 в 12:00
0

Чушь какая, настройка примитивна.

Там 4 фазы можно выбрать в прошивке, и лишь одна из них "неудачная". Тоесть вероятность угадать нужную фазу с первого раза 3 из 4.

Включаешь опцию, делаешь парковку по 3м осям, если не повезло и не угадал фазу, принтер тебе говорит что по такой-то оси фаза "неудачная" выбери соседнюю. Выбираешь в прошивке другую фазу и готово.

15.04.2021 в 14:17
0

некрасиво поступаете. Вполне допускаю, что плохого в мой адрес не адресовали, но слово чушь мне  неприятно видеть.

Тем более категорически я не высказывался, просто выразил своё мнение и некоторые соображения основанные на прошлом опыте.

15.04.2021 в 14:30
0

выразил своё мнение и некоторые соображения основанные на прошлом опыте.

Перепроверил, написанное по прежнему выглядит как чушь. Не хочется писать чушь - не надо писать о том что не пробовал.

15.04.2021 в 14:53
0

сурово.

15.04.2021 в 11:53
0

Работает отлично, уже давно пользуюсь на всех 3 осях с 2209 и безсенсорной парковкой.

Ничего настраивать не надо, просто включил опцию в прошивке и выбрал соседнюю фазу если не угадал.

04.04.2021 в 17:57
0

Вместо 155ЛА3 поставить SN74HC00D. Будет помельче.

04.04.2021 в 20:42
1

SN74LVC1G00DBVR

04.04.2021 в 20:50
1

вывод Index, согласно описанию из паспорта - выдаёт сигнал каждые 4 полных шага....

.- Винт трапеция, 4мм\ оборот- Микрошаг 1/8. МИКРОШагов на мм: 400. Как видно по картинке, Index подаётся каждые 32 микрошага. Величина перемещения 1 шага = 0,0025мм.Значит каждые (0.0025х32) = 0,08мм ротор двигателя встаёт в полный шаг ЧЕТЫРЕ РАЗА!!!

Или 0.02мм на один полный шаг. А не 0.08 как вы посчитали.(0.08 это период таблицы фаз index, а не механического шага)

То есть слои 0.16, 0.2, 0.24 они все кратны полному шагу и на ваших картинках разница имеет совершенно иную основу, чем вы предположили.

В связи с этим дальнейшие рассуждения непонятны и результаты опыта неоднозначны


04.04.2021 в 21:21
2

"McPaul" скрыл для себя Ваши комментарии.

Блин зачем я такой вредный. Нарушил человеку картину мира(

04.04.2021 в 22:43
0

>> ... скрыл для себя Ваши комментарии ...
>> ... Нарушил ... картину мира ...

При опросе на нашем с Вами ресурсе лично я был ПРОТИВ этого функционала блог-сайта.


Что-ж поделать...

ski
04.04.2021 в 23:00
1

ну... не знаю. Если альтернативой будут ругань, переход на личности и склоки...  то может и пусть его.
ЗЫ картинка зачетная)

07.04.2021 в 22:33
-1

Чувак почти впарил свою приблуду, изготовленную за миску риса в поднебесной, для этого даже сам поверил в то, что "влил в глаза" читателю, а Вы тут бизнес на корню одной фразой убили)

07.04.2021 в 23:48
0

Сама статья достаточно интересная, я просто призываю не делать далеко идущих выводов, как то:
1. о точности и повторяемости срабатывания концевиков на основании длинны переходного процесса триггера шмидта (предыдущая теория автора).
2. о точности парковки на основании использования факта полного шага, начисто игнорируя прочую механику.
Идея использовать выход index неплоха сама по себе, но не является панацеей от всего на свете.

08.04.2021 в 09:15
-1

Я всю эту теорию воспринимаю как саморекламу "своей" продукции. Есть такая манера у мамкиных предпринимателей. Мол делаю себе, но так получилось что сделал с избытком. А тут еще и явный призыв к действию - покупайте скоро будет.

А по теме, даже если шаговик будет снижать скорость после сработки последнего "индекса" перед концевиком (для более точной парковки), то кривая механика дешевого концевика всё равно сделает свое дело.

Мой принтак сначала ищет концевик, потом отходит от него чуть чуть и уже очень медленно становится на него. Так же перед началом печати. Так что никакого огорода покупать не нужно. Достаточно в слайсере указать немного стартового кода

08.04.2021 в 09:22
0

Вас просто наизнанку выворачивает. 

08.04.2021 в 13:39
-1

Да. От вранья и желания поиметь на шару, если Вы понимаете о чем я.

08.04.2021 в 14:19
0

От вранья

Где именно  ТС соврал?

желания поиметь на шару

на какую шару и кого или что поиметь?

08.04.2021 в 09:48
1

Тут речь не о снижении скорости парковки. Автор рассчитывает на  повышение повторяемости парковки за счёт использования известных позиций шаговика. Точность парковки при этом как раз существенно снижается(в 32 раза, точнее, это не точность а дискретность, но все равно связь почти прямая) 

Далее автор, опираясь на известный факт нелинейности перемещения в микрошаге по сравнению с ошибкой позиционирования  в точках полного шага, говорит, что теперь можно использовать положение стола только в точках полного шага, что в теории приведёт к меньшей ошибке позиционирования по Z. Теоретически. 
Практически же - у него ошибка в эксперименте и подгонка результата под теорию. А ошибку позиционирования в микрошаге по сравнению с нелинейностью основного шага китайских шаговиков никто не измерял и с точностями механики принтера не соотносил. 
Так что польза от этой гомеопатии пока не доказана экспериментально. Что, правда, не умаляет старания автора. 

08.04.2021 в 13:38
0

Я это им имел в виду. Достигаю повторяемости, за счет снижения скорости с целью компенсации механических отклонений.

08.04.2021 в 14:42
0

Есть некоторая граница повторяемости, обусловленная конструкцией самого чуствительного элемента(механический микрик, щелевая оптопара, датчик холла) и шумами прочими паразитными...  Выше этой повторяемости, независимо от скорости парковки ничего не изменится (ну можно усреднять но это уже немного другое, там уже вопрос распределения значений)
Какая реальная повторяемость концевика - никто обычно никто не измеряет. Почему этого не сделал автор - я удивлен, потому что там буквально один шаг остался до этого измерения! В статье упоминается что парковка происходит с перелетом на 3-5 микрошага - фактически это почти и есть повторяемость. Правильнее поделать хоум без сброса координат и сравнить (но это надо в прошивке ковырятся).

08.04.2021 в 16:56
0

Так и я о том же. Достаточно не гнать башку в парковку на скорости 150 и остановливаться по первому щелчку и все будет ок. Я утрирую но все же

08.04.2021 в 17:20
0

Видите ли, как раз перед этим, автор меня убеждал, что по его исследованиям точность срабатывания  механических концевиков тем выше, чем выше скорость парковки. Что мол при большей скорости механика быстрее отрабатывает неопределенное состояние и точность повышается.
И я даже на секунду поверил, пока в предыдущей статье автора не выяснилось, что под точностью срабатывания он понимает длительность переходного процесса ЭЛЕКТРИЧЕСКОГО сигнала (см предыдущую публикацию). Иногда это так, но в обратную сторону это утверждение не работает

11.04.2021 в 12:30
0

а я и продолжаю стоять на этом

- точность срабатывания механических концевиков тем выше, чем выше скорость парковки

Но, вовсе не только механических, а и оптических без триггера шмитта.

Насчет скорости, в разумных пределах естественно. Существует некий компромисс когда все линии сходятся в одну оптимальную точку.

У меня своеобразный характер изложения материала. Понимаю.

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

Из ваших нелицеприятных комментариев у меня сложилось именно такое впечатление. 

09.04.2021 в 19:38
0

Не провёл измерения, потому что не знаю как. Признаю, не всё знаю.

Если снизойдёте и поможете настроить парковку без обнуления координат охотно сделаю измерения.

09.04.2021 в 20:45
0

Измерение повторяемости.
Вариантов несколько.  В коде G28 марлина копаться мне прям тяжко - как то сам хотел проверить. Открыл, запутался в переопределениях и ужаснулся...
остается вот:

1. измерить повторяемость относительно того же сигнала index (вы собственно это уже делали, хотя в ручную это не удобно и много статистики не соберется)
2. после парковки - переключить провод концевика стола на другой вход, который описать в прошивке как датчик карты высот ( типа BFPTouch) и при помощи команды M48 - выяснить разброс. (только надо обратить внимание, чтоб программные эндстопы были выключены, или координаты переопределить, вот тут не уверен на вскидку как правильно).
3. просто поставить аналогичный датчик. С касанием либо в стол(предпочтительней закреепить датчик на неподвижной части), либо на голову(вообще пробник будет), который описать как щуп-пробник( типа BFPTouch - он как раз без управления, про настройку прошивок к нему должно быть описание) и потыкать им при помощи M48.

Главное скорости-ускорения снизить. А можно, и разные попробовать - результаты тоже будут интересные.

---------------
Насчет измерения уже почти точности (а не повторяемости). 
Я бы воспользовался микрометром. А-ля советский механический микрометр имеет шаг 0.01мм (про погрешность не скажу, надо выяснять) при относительно небольшой цене. 

У меня была мысль(при отсутствии времени, к сожалению) - нацепить на один конец штока микрометра концевик, на другой шторку и вручную попробовать перемещать (выбирая люфт и фиксируя результат только при движении в одном направлении).  Крепление только надо либо распечатать либо... 
Это конечно шальная мысль - результат не обещаю. Есть большая вероятность что результат будет меняться от паразитных засветок и тряски. Сложно сказать, что получится, но опыт достаточно простой, результат можно и на осциллографе и на мультиметре увидеть.

Для механических концевиков - можно попробовать точность срабатывания посмотреть.
Для оптических щелевых - интересен график изменения сигнала(без триггера шмидта) от степени перекрытия зазора шторкой - он косвенно даст понимание точности.
Совсем точность опыт не покажет, но можно будет увидеть зависимость сигнала от степени закрытия шторки 


Пардон, сосредоточился, чтоб логически связный текст получился - видимо отдает снобизмом)

09.04.2021 в 21:46
0

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

Ну значит будем считать, что это уже сделал, относительно сигнала полного Шага, Index.

Микрометра нет, взять негде.

Команда М48 не поддерживается.

Насчет измерений вольтажа относительно степени перекрытия щели - делал.

Делал так: Согласно своим вычислениям - длина 1 степ сигнала = 0.0025мм. Вот на это расстояние и могу двигаться. Хотя, если микрошаг 1\16 выставить, наверное еще помельче.

Так вот, по памяти там было 4 или 5 импульсов, от полного 0 до полного срабатывания концевика. Изменение напряжение носило довольно нелинейный характерб но 4 точки маловато для такой оценки.

Тест засветки проводил на своих концевиках, с триггером - абсолютно никакой зависимости.

09.04.2021 в 22:55
0

единичное измерение - повторяемость не показывает, только отклонение. тут именно разброс нужен. пара десятков измерений.
 G30 вместо M48 можно вручную. M48 просто сразу десяток раз измеряет и выводит мин-макс, среднее и дисперсию считает. 
тест засветки после триггера уже не тот тест. Он показывает только то, что уровня фоновой ИК засветки недостаточно для превышения порога срабатывания триггера.  Но этого уровня может хватать чтобы внести смещение точки срабатывания, к примеру.
То что на перекрытие щели приходилось 4-5 импульсов, говорит, что даже если погрешность порогового устройства допустим процентов 10 хотя бы(шумы, температурный дрейф нуля и т.д.), то точность срабатывания концевика будет близка к разрешению микрошага и это хорошо.  это на какой оптопаре? на мелком омроне или на китайской с щелью в 1мм?

10.04.2021 в 09:22

Комментарий удалён

12.04.2021 в 15:09
0

жаль стерли - интересные таблички измерений были, не успел ответить.

Думал о концевиках лердж - хуже, хотя возможно это просто влияние усилителя... если это были лерджи конечно.

12.04.2021 в 15:56
0

да, удалил. сутки подумал... и передумал - табличка к этой теме не относится.

Мне просто не понравилось, то как составил её. 

В статье о тестировании концевиков есть картинка с осциллографа, она весьма достоверно повторяет полученные данные.

В любом случае это сложная связка двигателя, механики, электрики и самого концевика. Вдобавок концевик несколько модифицирован. 

04.04.2021 в 20:56
0

В свое время то-же, мучился с tmc 2208 на оси z (у меня на ремне 200микро шагов мм).  В итоге поставил а4988 и успокоился. Моё мнение, виной всему адаптивная регулировка тока в 2208. По всей видимости, ваш вариант решает проблему при условии кратности высоты слоя / количеству полных шагов.

P.S.: На буржуйском форуме встречал рассуждизмы, по поводу интерполированных микрошагов. Смысл сводится к тому что, если при удержании на интерполированном микрошаге драйверу не хватает тока, то но пропускает интерполированные шаги до полноценного микрошага. В итоге пропуска микрошагов нет, но точность позиционирования плавает +/- 0,5 микрошага.  Как-то так...

04.04.2021 в 21:26
0

А я ведь скромно умолчал, что интерполяцию не использую. Она главным образом для бесшумности.

Но дело в том, что корпус ZAV резонирует, с выключенной интерполяцией шумит также. Так зачем она нужна? - это не вопрос.

14.04.2021 в 21:34
0

У меня конструкция своя, конечно не с нуля. Частично от Zav, позаимствовано. Корпус из АКП, его не водит и не коробит при изменении влажности. Проектировал и резал сам, причем в домашних условиях на MPCNC ;) Сейчас на осях X,Y,E TMC2209 step-dir Z a4988. От uart отказался,  т.к. SKR MINI V1.1 временами подглючивала. Концевики оси Z оптические.

06.04.2021 в 03:09
1

Смысл сводится к тому что, если при удержании на интерполированном микрошаге драйверу не хватает тока, то но пропускает интерполированные шаги до полноценного микрошага.

Думаю что не везде и не всегда применимо.

Пробовал я и без интерполяции и без дробления шага, и три разных вида двигателей, везде проблема одинакова.

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

14.04.2021 в 21:02
0

Я тоже, в свое время наигрался, в итоге поставил а4988 и успокоился. Во время печати оси Z не слышно. Подъем и опускание стола считанные секунды.

04.04.2021 в 21:31
0

Извините за вольность перевода паспорта на ТМС с английского, возможно слишком дословно перевёл и не уловил сути между строк. Расчёты и картинки с прибора верные.

04.04.2021 в 22:18
0

идея интересная, снимать сигнал с драйвера, но все же лучше если это будет делать программа. И что-то мне подсказывает, что такая реализация где-нибудь на клипере уже есть. Суть идеи-то не нова, на больших станках выравнивание нуля идет по ноль метке датчика, а в шаговике вот так вот, и первое выравнивание происходит при включении драйвера, а дальше просто отсчет шагов, а счет шагов в программе - первейшая задача, это шаговик, положение можно по счету только определить. Городить схему, паять провод к драйверу, еще и драйвер должен иметь такой выход или точку на плате, куда припаяться. А с другой стороны - не видел проблем и без этой коррекции... но если в марлине это реализуют - будет плюс. При схемной реализации надо будет еще и шкиф сдвигать на среднее положение, чтобы не усугубить ситуацию и не попасть в пограничное положение, тогда можно вместо точности получить проскок на 64 шага, а это уже проблема. На больших станках двигают флажок по тестовым данным, чтобы не попасть на эту границу. А вот для программной реализации можно сделать запоминание отклонения и ноль ставить на любой позиции, т.е. как и было по срабатыванию датчика, а не рядом, с контролем и минимальной корректировкой, если чуть не совпало и пограничная зона уже будет не важна. И тут же вопрос встает, как вы будете ловить эту пограничную зону без программной поддержки (можно по светодиоду но это очень примерно будет), чтобы скорректировать механику, плюс шкив на валу с фаской не сдвинуть, придется сам микрик двигать или флажок, а чаще флажком выступает корпус головы или еще чего... тут больше проблем чем пользы. Но для единичного решения с конкретным станком, драйверами и знанием того, что хочешь получить - пойдет.

04.04.2021 в 22:50
0

Да все уже давно украдено за нас - TMC_HOME_PHASE для драйверов с быстрой шиной.

04.04.2021 в 23:19
0

ух, ты, на томсонах можно начальную фазу выставлять, не знал, или это как раз про эту тему,.. все наингыше... есть ссылка на русском про это?

05.04.2021 в 07:06
0

Можно попытаться ловить  попадание в полный шаг перемещая концевик, или толкатель. Но это ненадёжно, Сейчас поймал, а на следующей парковке уже нет. Механически эту птицу не поймать.

Короче говоря они вывели Index наружу - я сделал работающее применение, и вынес на обсуждение.

Вместо ЛА3, есть не менее легендарная К561ЛА7 - она КМОП.

11.04.2021 в 02:14
0

я так вижу эту тему, во первых механически подогнать, а уже этим сигналом проводить корректировку, но мое мнение - что все таки лучше это делать математикой прошивки, но это или сложно или не возможно из-за отсутствия поддержки программистами. А чтобы не продавливать микрик дальше срабатывания использовать оптический, с ним этой проблемы нет, если вообще такая проблема есть))))

11.04.2021 в 07:14
0

нельзя назвать это прямо проблемой...

"Ситуация" остановки на промежутоточном положении есть? - несомненно!

Программисты предложили своё решение, хардварщики - своё.

Моё мнение - программное решение это некий костыль, настраивать долго, муторно и результат вообще  не гарантирован. Измените например чтото в конструкции, подвините концевик - опять подбор параметров через Ж, то есть через прошивку.

Реализация на аппаратном уровне работает гарантированно и надёжно. Разумеется для тех, у кого TMC2208 и старше.

Но конечно же, скажу полегче - мнение моё.

11.04.2021 в 19:09
0

для программного решения все же просто, движек при включении встает всегда в полный шаг, двигаем до микрика, расстояние всегда под контролем, делим на количество шагов полного шага и получаем остаток - на который надо сдвинуть. Если остаток сильно изменился, то значит механика ушла, нужна проверка, и возможно настройка, а это еще плюсом дополнительная проверка механики. Сложность только в том, что это не было задумано во многих прошивках.

11.04.2021 в 22:01
0

в теории так часто - просто. На практике возникают неожиданности. Впрочем рассуждения бессмысленны. Нужно приборами проверять.

04.04.2021 в 22:47
0


1. SN7400N ~ К155ЛА3 - рулит, СССР - Forewer!

2. Макетка - это хорошо, но можно реализовать и простейшим навесным монтажом, и даже закатать в смолу включая разъём, чтобы был простой в использовании модульный штеккер.

 

P.S.

Причина пропажи всех К155ЛА* :


ski
04.04.2021 в 23:14
1

так 155 на биполярных транзисторах вроде и работать не будет, к тому же 5В, а сейчас многие драйвера 3.3В с платы управляются, ищем другую микросхему

05.04.2021 в 00:49
0

Согласен почти со всем, однако надо пробовать.

Помнится, именно эта микросхема обладала удивительными недокументированными характиристиками...

Да и пресловутые 5v питания при обилии бак-конвертеров - не проблема.

Мне проще кинуть ещё один проводок...

05.04.2021 в 12:32
0

КР1533ЛА3 работает. И от логики 3.3вольт, и от 5 вольт. Питание, естественно 5 вольт, с концевика берётся. 155ЛА3 найти у себя не удалось.

Поражает удивительная повторяемость графиков, сколько бы раз не парковался - 1к1.

Время и график в сравнении. Серый - ЛА3, Зелёный - 2 транзистора, Желтый - просто второй раз перепарковался. 15 против 35 микросек.


06.04.2021 в 02:42
0

1533 - другое дело)))) 561 серия тоже нормально

06.04.2021 в 07:04
0

почему другое дело? Вот что пишут:

Основное отличие 1533 от 155 серий - в 2 раза меньше энергопотребление .

У 1533 напряжение переключения выше 1.5 против 1.2 вольт

Для целей концевиков это несущественно.

11.04.2021 в 01:56
0

входные токи 

04.04.2021 в 23:30
0

По схеме, получается что флажок нажимает микрик, но сигнала мы не получаем, продавливаем микрик до начального шага двигателя, а это может быть пол миллиметра, мы не раздавим микрик? С оптическим это может прокатить если флажек длинный... сомнительная система... если и ловить полный шаг, то перед включением микрика, а не раздавив его, но тогда схему надо сложнее, а надо ли? Даже если мы не раздавим микрик, то можем получить ошибку по току от некоторых плат, а не ожидаемый результат.

05.04.2021 в 06:48
1

да, получается так. Но! сигнал подаётся каждые 0.08мм. Так что больше чем 0.08мм не продавит.

Если у микрика удалили нажимную лапку, это может быть проблемой. А може и не быть, 0.08мм совсем немного.

Первым должен сработать концевик - откуда система узнает, что каретка приехала?

05.04.2021 в 09:10
0

Принтер RepRap из конструкционного профиля на алюминиевых уголках.

Плата Duet Eth.

Двигатели 2.4A 400 шагов/оборот с низкой индуктивностью и высоким моментом удержания.

Bltouch.

Винт 2мм/оборот.

Пом гайка.

Точность 2/400=0,005мм за 1 полный шаг двигателя.

Чисто теоретически я должен очень часто вставать в полный шаг имея такую точность, точней почти всегда.

А у меня такие же волны и понять не могу почему, возможно как писали выше, нужно выключить интерполяцию...

05.04.2021 в 10:06
0

Чисто теоретически я должен очень часто вставать в полный шаг имея такую точность, точней

- почти никогда! Вот я бы так сказал. 

Точность 2/400=0,005мм за 1 полный шаг двигателя.

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

Имея сигнал Index и подключив светодиод, можно, двигая на микроны концевик добиться остановки в полном шаге. Но механически эту птицу не поймать, потому что достаточно 1 импульса степ в +-, и все нарушится. А это легко - вибрации и температурные влияния.

05.04.2021 в 10:31
0

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

Понял, спасибо.

06.04.2021 в 03:07
0

- почти никогда! Вот я бы так сказал.

У меня проблема в другом, моторы отлично работают, пробовал разные, 1,8 градуса 2,5А, 1,8 градуса 1,7А, 0,9 градуса 2,4А, везде проблема одинаковая, каждые 2мм волна, шаг  винта 2мм, вывод напрашивается сам собой, не соосное вращение всей оси Z.

Дробление шага, интерполяция, сила тока - ни коем образом не влияют, а вот расположение винта влияет.

05.04.2021 в 09:30
0

Дано: - Ось Z - Винт трапеция, 4мм\ оборот - Микрошаг 1/8. Шагов на мм: 400. Как видно по картинке, Index подаётся каждые 32 микрошага. Величина перемещения 1 шага = 0,0025мм. Значит каждые (0.0025х32) = 0,08мм ротор двигателя встаёт в полный шат. Но чтобы это произошло, нужно изначально припарковаться в позицию полного шага.

При всем моем уважении, но:

4 мм / 400 шагов/оборот = 0,01 мм/шаг

0,01 мм/шаг / 1/8 деление шага = 0,00125 мм/микрошаг

0,00125 мм/микрошаг * 32 микрошага = 0,04 мм

Или 1 мм / 100 шагов/мм = 0,01 мм/шаг

100 шагов/мм * 1/8 деление шага = 800 микрошагов/мм

1мм / 800 микрошагов/мм = 0,00125 мм/микрошаг

0,00125 мм/микрошаг * 32 микрошага = 0,04 мм

Но не 0,08мм и не 0.0025мм...

Ваши расчеты не верны.

05.04.2021 в 09:39
0

4 мм / 400 шагов/оборот = 0,01 мм/шаг

Микрошаг 1/8. Шагов на 1 мм: 400

Наверное тогда двигатель нужно упомянуть - стандартный, 1.8гр. 

Тем более, мои расчеты подтверждены осциллограммами. 

05.04.2021 в 09:41
2

Я лично эти расчеты понял по-другому:

1. 4мм на оборот ходовой винт,  двигатель 200 шагов на оборот. 8-ми кратный микрошаг.

Соответственно в логике автора - 4 /200 / 8 = 0,0025 мкм на микрошаг.

0,0025 х 32 = 0,08 мм перемещения на 4 шага.

PS, Я бы считал по-другому - 4 /200 = 0,02 мм на полный шаг. 0,02 Х 4 = 0,08 мм на 4 полных шага.

Хотя все равно - результат один.

05.04.2021 в 09:56
0

Спасибо. Именно, 1 импульс Step драйверу перемещает столик на 0,0025мм.

Проверено, шагает! Может быть некоторых запутал, а мне было интересно узнать расстояние 1 импульса.

Соответственно с пересчетом на микрошаг 1\16 это будет уже 0.00125мм.

Но сигнал индекс будет подаваться уже каждые 64 импульса, что опять выводит нас в теже 8 соток перемещения для вставания в полную позицию.

05.04.2021 в 10:30
0

Может быть некоторых запутал

Сбило с толку:

Микрошаг 1/8. Шагов на мм: 400

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

Поэтому и не понял почему не сходятся расчеты, но теперь все встало на место.

05.04.2021 в 09:43
0

а зачем так заморачиваться с точностью парковки ? - это просто выставление точки отчета....
потом, в процессе печати "парковка" не используется
на одноголовом принтере у меня за пару лет таких ситуаций с парковкой в процессе печати не возникало...

05.04.2021 в 09:48
0

главным образом я хотел сказать о кратности движений, чтоб каждый новый слой попадал на полный шаг.

То есть это касается прежде всего оси Z.

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

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

Для осей XY основным преимуществом остаётся только высочайшая точность парковки, что может быть полезно для целей продолжения печати после перебоев с электричеством, редко, но бывает метко.

05.04.2021 в 10:58
0

главным образом я хотел сказать о кратности движений, чтоб каждый новый слой попадал на полный шаг.То есть это касается прежде всего оси Z.Если изначальная точка отсчета не попадает на полный шаг, то и остальные слои будут располагаться между полным шагом, лишь идредка и непредсказуемо попадая в полный.

Согласен, мысль здравая, но на практике, будет много но... - например рандомное начало слоя и некратность размеров модели полному шагу, не забудем окружности....

+ физ разрешение полного шага не константа - у кого оно 0,2, и более, эта тема актуальна, но оно может быть и 0,1 и 0,05 и не кратно четным величинам....

А вот возобновление печати после сбоя, т.е. запоминание положения каждого шага и восстановление положения после смещения, это тема крутая ! правда одними концевиками тут делу не поможешь :)

смотрел в сторону closed loop - дорого... да и не понятно как это будет с клиппером работать и вообще походу про такое клиппер не знает пока еще....

05.04.2021 в 11:02
0

MKS SERVO42 Nema 17 Closed Loop Stepper Motor
или чтото похожее с али

05.04.2021 в 11:26
0

Я на какой то датчик холла для подобной схемы смотрел, там точность фиговая - пол процента. Модель не помню, может есть лучше. Да, на A1333, получше: точность +/- 0.4град = +/-0.2 полного шага для 1.8градусного шаговика.

Так что это все не про то

05.04.2021 в 11:37
0

Единственное Но это использование карты высот кривого стола. Там Z постоянно в микродвижении.

05.04.2021 в 18:49
0

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

05.04.2021 в 21:45
0

Парковка в полном шаге важна только на оси Z. Для достижения нормальной точности можно применить редукцию. Например, у меня в принтере на винты с шагом 2мм передается вращение от двигателя с редукцией через ременную передачу 1/2. На винт передается 400 шагов за оборот. 2мм/400=0,005мм В итоге имеем точность высоты слоя 0,05мм +-0,005 ( точность 10%) На слое 0,1мм уже точность 5%. Следовательно, достаточно использовать на оси Z полный шаг + ременный редуктор до желаемой точности.

06.04.2021 в 03:04
0

Следовательно, достаточно использовать на оси Z полный шаг

Не совсем верно, вы пробовали использовать полный шаг? Вы слышали какой звук издается при этом?

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

Даже 16х шумновато, а вот 16х + интерполяция очень тихо получается.

06.04.2021 в 14:08
0

А теперь добавляем автоуровень и вся эта ерунда становится бессмысленной.

И что мешает просто сделать слой кратным шагу? Или, если есть подозрение на закусывание винта, всегда сначала опускать Z ниже, чем нужно, а потом возвращать на нужный уровень?

06.04.2021 в 15:57
0

дело в том, что изначально НУЖНО припарковаться на полный шаг, тогда каждый новый слой будет попадать на шаг - при условии высоты слоя кратным шагу. 

В противном случае, хоть кратно, хоть некратно, в шаг не попадём - точка отсчета находится гдето между.

Автоуровень да, портит наши старания по кратности высоты слоя, но остаётся преимущество высочайшей точности парковки.

08.04.2021 в 00:16
1

А зачем так сложно ? 
Хочется зачем-то парковаться в полный шаг ? После парковки снимите (M18) и подайте обратно (M17) напряжение на шаговик(и). Поздравляю: вы на полном шаге.
Способ, конечно, не подходит для оси Z на ремнях. Ну и в случае, если изначальная парковка произошла почти ровно посередине шага - повторяемость результатов может гулять на один шаг. Зато не нужно ничего кроме добавления пары строчек в стартовый G-Code в слайсере. И работать должно на любых драйверах. 

08.04.2021 в 08:46
0

Хорошо предложили. А еще лучше было бы проверить на практике, подкрепить теорию, а затем на публику выставлять.

Провели бы тест, повторяемость результатов, и подобные связанные с этим вещи?!

Ради общего вклада в дело, в поисках истины.

08.04.2021 в 14:40
0

А зачем так сложно ? 

где именно и что сложно? 1 элемент И-НЕ, светодиод, резистор, разъем и проводок от драйвера?

08.04.2021 в 13:05
0

У вас в чем сомнения ? В том что при подаче питания движок встанет в полный шаг ?

Или в том, что стол на винтовом приводе при отключении питания не уползет на несколько шагов ?

Ради общего вклада в дело, в поисках истины
Истины? Ну что ж: вот печать в режиме вазы. Т.е. с практически 100% НЕ попаданием в полный шаг. Скажите, с какой ветряной мельницей здесь бороться (кроме того, что пластик чуть подсушить) ?


08.04.2021 в 14:08
0

Сомнение в том, что после процедуры выкл-вкл позиция будет 100% повторяться. Иначе говоря, стабильность толщины первого слоя. Если винт 8мм на оборот - без вариантов. 4мм на оборот - сомнительно, 2 мм на оборот - сомнительно, но может быть. Зависит от гладкости гайки и веса подвижной системы.

Вот это и предлагал Вам проделать, как автору "законопроекта".

Насчет фото, неизвестна высота слоя, а я думаю ваза ваша достаточно широким слоем навинчивалась и освещение...

Режима вазы ээто совсем не касается, сами понимаете почему. Так что, некорректное сравнение,

но я могу перефоткать в другом свете.

Та самая модель, что у меня в примерах, высота слоя 0.2мм


08.04.2021 в 20:26
0

Провел эксперименты. Каюсь - вспылил, был неправ. Причем совершенно не с той стороны, что ожидалось.
Дано: привод Z - винт T8 с шагом 8, кетайский NEMA 17 1,8° на шаг, драйвером банальный A4988 с 16 микрошагами (0,04мм на полный шаг/0,0025 на микрошаг). Концевик и датчик уровня на банальных микриках. Гайка-винт не задрюченные и смазанные: при отключенном моторе от достаточно легкого нажима стол едет вниз, крутя шаговик.

Паркуем Z (G28 Z) и замеряем стол (G30). Повторяемость результатов G30 на серии из 10 измерений - одна сотка. Вернее 8 результатов одинаковые, два +0,01


Паркуем Z (G28 Z), отключаем мотор (G18 Z), включаем мотор (G17 Z, в принципе можно не делать - сам) и замеряем стол (G30). Повторяемость результатов та же самая. Более того, и результат - тот же самый, что и без отключения мотора (да, я проверял, мотор реально отключается).

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

После чего полез в даташит:

Enable Input (ENABLE). This input turns on or off all of the FET outputs. When set to a logic high, the outputs are disabled. When set to a logic low, the internal control enables the outputs as required. The translator inputs STEP, DIR, and MSx, as well as the internal sequencing logic, all remain active, independent of the ENABLE input state

Короче по крайней мере для A4988 установка !ENABLE не сбрасывает внутреннее состояние по микрошагам и при обратном включении состояние восстанавливается.
В даташите на TMC2209 прямых упоминаний такого поведения не нашел, но вживую проверить смогу не раньше выходных.

Вывода два:
1) даже на винте с шагом в 8 отключение питания ШД не приводит к перемещениям стола больше чем за границу шага.
2) изначальный посыл, что выкл-вкл мотора приводит к сбросу внутреннего состояния драйвера (и установке мотора на полный шаг) - не верен (по крайней мере верен не для всех драйверов).

08.04.2021 в 21:27
0

хорошо, что Z далеко не уплывает, но тем не менее терзают меня смутные сомнения.

- В прошивках прямым текстом предупреждают - не использовать отключение двигателя в процессе. В противном случае пострадает точность. 

А следуя вашим экспериментам можно включать двигатель только для перескока на следующий слой, и сразу после отключаться. - экономия энергии.

Отключается выходной каскад, а процессор работает - так это для всех, ну ладно - для большинства драйверов так.

08.04.2021 в 21:52
0

А следуя вашим экспериментам можно включать двигатель только для перескока на следующий слой

Абсолютно нет. В моих экспериментах принтер не вибрировал, экструдер не вдавливал (под каким-никаким давлением) в деталь пластик и стол был без дополнительного веса детали.

08.04.2021 в 18:56
0

Вот такой комплектик приходит от известной фирмы трёх больших деревьев. Может немножко дороже, зато весьма качественные, а главное позволяют воспользоваться полными возможностями микросхем. В том числе и сигнал Index. Драйвера TMC2226 - аналог 2209, современней и лучше. Покупал здесь, доставка всегда быстрая, 2 недели.

Индекс там где ему и положено быть. В комплекте проводочек - как раз для этих целей.

Радиатор мне не понадобился - настроил ток 600мА.


 

09.04.2021 в 19:19
0

О, какие баталии я пропустил мимо. 

Послушайте! я ничего не подгоняю под теорию не пытаюсь этого делать.

В этом материале всё согласно даташиту на микросхему ТМС. Там есть средство повышения точности парковки, я его реализовал.

Есть умные товарищи, пишут очень умные комментарии, но это теории.

Я же на практике реализовал потенциал драйвера, и хотел бы, чтобы и обсуждения велись на основании результатов полученных на практике. 

Товарища в очках - убираю из игнора, он говорит, а я не в курсе. так не честно- плохая система!

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Коротко на видео о сборке лазерной диодной головы на numb диоде

Действующие акции на пластик для 3D печати

Недельный Дайджест от Импринты №8

Мелки из Dark Souls

Пасхальный кролик Роберт и яичная тележка

Anycubic chiron. Обзор , сравнение с конкурентами, и ремонт. Часть 1