Хенд мэйд как он есть
Хенд мэйд как он есть

Устройства цифровой индикации (УЦИ) набирают все большую и большую популярность среди домашних мастеров, имеющих в своем распоряжении в личной мастерской разнообразное станочное оборудование. УЦИ обеспечивает удобную индикацию положения режущего инструмента, позволяет работать в разных координатах с оперативным переключением от одной точки привязки к другой, позволяет задавать произвольную точку привязки для удобства отсчета. Также многие УЦИ имеют в своем составе калькулятор, позволяющий «не отходя от кассы» производить необходимые вычисления и множество готовых встроенных функций по расчету координат наиболее часто используемых при обработке фигур (таких как, например, круг, многоугольник).

Пример табло промышленного УЦИ (фото из интернета)
Пример табло промышленного УЦИ (фото из интернета)

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

Само устройство УЦИ несложно. Его основная задача - считать информацию с датчиков положения и отобразить на каком-либо дисплее. Датчиков положения существует большое разнообразие. Их примерно можно разделить на 3 группы: оптические, индуктивные и емкостные. Также датчики различаются и по типу выходного сигнала – цифровой или аналоговый.

Пример оптического датчика положения (фото из интернета)
Пример оптического датчика положения (фото из интернета)

Оптические датчики весьма широко применяются, например, для определения положения каретки в принтерах. Датчик представляет собой прозрачную ленту с нанесенными на нее непрозрачными рисками с очень мелким шагом. Лента входит в зазор между излучателем света (чаще всего – ИК светодиод) и двумя фотоприемниками (ИК - фотодиоды). По перекрытию света риской на одном или двух фотоприемниках можно судить о величине перемещения и о направлении движения. Для использования в станочном оборудовании выпускаются аналогичного типа датчики ВЕ-178. В отличие от прозрачной ленты в принтерах, в нем используется вращающийся стеклянный диск с нанесенными рисками. Стекло обладает большей прочностью, также оно не подвержено растягиванию, как это происходит с натянутой лентой. Также стеклянный диск заключен в герметичный корпус и не подвержен воздействию окружающей среды, пыли, стружки и различных технических жидкостей, используемых при работе станка. Минус этого решения – необходим механизм для преобразования линейного перемещения элемента механизма во вращательное движение датчика. Любой такой механизм будет вносить погрешность и будет иметь люфты. Точность и разрешение оптического датчика зависит от точности нанесения оптических рисок и то, насколько они близко расположены друг к другу.

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

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

Устройство емкостного датчика электронного штангенциркуля (фото из интернета)
Устройство емкостного датчика электронного штангенциркуля (фото из интернета)

Несмотря на постоянное совершенствование и снижение стоимости, системы УЦИ остаются больше уделом профессиональной и полупрофессиональной деятельности. Для использования в личной мастерской такие устройства пока еще слишком дороги. По этой причине энтузиастами разрабатываются и любительские устройства, позволяющие реализовать аналогичные функции. Одно из таких устройств и будет описано ниже.

Внешний вид самоделки
Внешний вид самоделки

Как уже было сказано, само устройство сложности не представляет, его задача довольно проста – считать сигнал положения с датчика и вывести его на индикатор. Проблема состоит больше в поиске подходящих датчиков, сигнал с которых можно считать без особой сложности. Промышленные датчики линейного перемещения имеют существенную стоимость. Датчики индуктивного типа требуют использования прецизионных АЦП для преобразования аналогового сигнала в цифровую форму. Любительские конструкции на основе оптических лент от принтеров имеют низкую разрешающую способность, кроме того, лента может растягиваться, требует продумывания вопросов ее защиты от внешних воздействий. В любительских конструкциях УЦИ получило некоторое распространение использование в качестве датчиков положения линеек и кареток от электронных штангенциркулей. Они, как правило, имеют возможность считать с них положение в виде цифрового выходного сигнала.

Энкодер ВЕ-178 без кожуха
Энкодер ВЕ-178 без кожуха

Мне же по случаю удалось достать два отечественных оптических датчика (энкодера) ВЕ-178 с разрешением в 100 и 1000 импульсов на один оборот. Энкодеры мне достались неисправными, в них вышли из строя микросхемы компараторов. Микросхемы были заменены на более современный импортный аналог LM311N, эти микросхемы встают на те же посадочные места и доработки печатных плат не требуется. После чего работоспособность датчиков не только восстановилась, но и появилась возможность их питания в более широком диапазоне напряжений. Аналоговая часть питается напряжением 5-15В, отдельно напряжением 5В питается ИК светодиод подсветки рисок. На выходе энкодера имеются: пара противофазных сигналов А (прямой и инвертированный), пара противофазных сигналов В, которые смещены относительно А на 90 градусов (прямой и инвертированный) и сигнал начала отсчета С (также прямой и инвертированный). Использование пар противофазных сигналов при передаче их по экранированным витым проводникам позволяет существенно снизить влияние помех на передаваемые сигналы. Если привести уровни этих сигналов к уровням ТТЛ и подать на входы микроконтроллера, то можно производить счет этих импульсов, и, соответственно, определять механическое перемещение, а по соотношению фаз сигналов А и В определять направление вращения.

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

Механизм натяжения
Механизм натяжения

Примерная кинематическая схема приведена на рисунке ниже.

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

Поскольку дискретность этих типов датчиков может быть достаточно высока (до 1000, 1024 и даже 2500 импульсов на оборот), а максимальная частота вращения доходить до 6 – 10 тыс. об/мин. частота выходных импульсов может достигать 100-250 кГц (для ВЕ-178 указывается максимальная частота выходных импульсов 130 кГц). Необходимо это учитывать при построении системы, проектировать систему таким образом, чтобы она успевала обрабатывать этот сигнал. В первом варианте схемы УЦИ я подавал эти сигналы непосредственно на входы аппаратных прерываний микроконтроллера. При должной оптимизации быстродействия обработчика прерываний это вполне рабочий вариант. И в моем случае это хорошо работало, если бы не один нюанс. Дело в том, что при обработке детали на станке часто возникают вибрации. Несмотря на то, что сам механизм стоит на месте, колебания датчика приводят к частому увеличению и уменьшению показаний. И иногда возникает такая ситуация, что сигнал на увеличение счетчика контроллер успевал обрабатывать, а следующий сразу за ним сигнал на уменьшение он пропускал. В результате счетчик положения начинал неконтролируемо увеличивать показания, хотя механизм стоял на месте без движения. Это приводит к необходимости использования аппаратной реализации счетчика импульсов.

Сигналы с энкодера
Сигналы с энкодера

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

Для обработки таких сигналов существуют специализированные микросхемы – например, LS7083N (LS7183N). Эта микросхема обрабатывает квадратурные сигналы с энкодера и формирует на выходе сигналы инкремента или декремента, которые можно подавать непосредственно на счетчик. В зависимости от сигнала на входе «MODE» микросхема может выдавать 1, 2 или 4 импульса на один период квадратурного сигнала. Резистором, подключенном ко входу «RBIAS» задается длительность формируемого импульса для счетчика. Другая микросхема, LS7366 помимо обработчика квадратурного сигнала с энкодера содержит также аппаратный 32-разрядный счетчик, схемы управления и тактирования. Эту микросхему можно подключать к микроконтроллеру по последовательному интерфейсу. Микросхема полностью нам подходит и решает все задачи по сопряжению с квадратурным энкодером. Но, к сожалению, она достаточно редка, доступна только под заказ и отсутствует в розничной продаже, вероятно, из-за ее специфичности. Также ее цена (около 10 долл.) не очень соответствует уровню любительской разработки.

Поэтому было решено реализовать ее логику (точнее, логику микросхемы LS7083N) на обычных логических элементах стандартной логики. На просторах Интернета была найдена и проверена следующая реализация интерфейса квадратурного энкодера, предложенная пользователем IMXO. В отличие от многих других схем эта схема реализует режим работы 4 импульса на период квадратурного сигнала, что для датчика положения предпочтительнее, поскольку повышает его разрешающую способность. Схема требует внешнего тактирования. Частота этого тактирования должна быть не менее чем в 8 раз выше максимальной частоты квадратурного сигнала. При максимальной частоте для датчика ВЕ-178 в 130 кГц, частота тактирования должна составлять не менее 1,04 МГц.

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

Для удобства пользования устройством индикатор должен обладать довольно крупными и контрастными цифрами, читаемыми, по возможности, с расстояния 1-1,5 м. Это необходимо потому, что обычно УЦИ устанавливается в таком месте, где оно будет недоступно для летящих из под резца или фрезы металлических опилок и смазочно-охлаждающей жидкости. Большинство из широкоупотребимых светодиодных индикаторов имеют высоту символов около 15 мм, что явно недостаточно. Более же крупные индикаторы уже существенно дороже. Поэтому было принято решение использовать имеющийся у меня в наличии жидкокристаллический графический индикатор, снятый с какого-то неисправного прибора.

Передняя панель прибора
Передняя панель прибора

Этот индикатор достаточно старый, разрешением всего 150х32 пикселя, построен на основе микросхем T7932, T7933 фирмы Toshiba. Микросхема T7932 обеспечивает формирование синхросигналов и перебора строк. Три микросхемы T7933 отвечают каждая за свою область размером 50х32 пикселя. Путем внимательного изучения описания на эти микросхемы и платы индикатора была выяснена распиновка и назначение контактов индикатора для подключения его к микроконтроллеру. Индикатор имеет параллельную 8-битную шину управления. Сигналами CS1, CS2, CS3 выбираются микросхемы, отвечающие за соответствующие им области индикатора. Сигналом R/W выбирается запись или чтение данных. Сигналом D/I выбирается тип данных, что будет записываться – графические данные или инструкции управления. Питание стандартное, 5В. Подсветка питается отдельно через гасящий резистор. Порядок инициализации индикатора и загрузки данных подробно описан в описании на микросхему. 

Схема устройства
Схема устройства

Рассмотрим схему устройства. В качестве управляющий микросхемы применен микроконтроллер ATMEGA8. У этого контроллера не очень много доступных линий ввода/вывода, но для описываемой задачи хватает. Младшая тетрада шины данных индикатора подключена к порту С (выводы РС3 – РС0). Эти же линии мультиплексированы с шиной двоичного счетчика с помощью регистра-защелки К1533ИР22. Старшая тетрада шины данных подключена к старшей тетраде порта D. На порт В заведены управляющие сигналы индикатора, к выводам РВ7, РВ6 подключен кварцевый резонатор. К выходу РС5 подключен звуковой излучатель (со встроенным генератором) и транзистор VT1 управления подсветкой. При появлении на этом выходе 0 подсветка гаснет, а звуковой излучатель начинает издавать звук. Прерывистое мигание подсветки и звуковой сигнал необходим для привлечения внимания оператора. К РС4 подключена кнопка без фиксации. На PD1, PD0 заходят сигналы с энкодера ручки управления. Энкодер и кнопка объединены конструктивно. При вращении ручки идут сигналы с энкодера, при нажатии на торец ручки замыкается кнопка. Также ручка имеет подсветку в виде надписи «SEL». Такой энкодер с ручкой управления, возможностью нажатия и подсветкой применен от старой неисправной магнитолы. Светодиод подсветки надписи в ручке подключен параллельно подсветке и мигает вместе с ней.

Для обработки квадратурных сигналов используется схема на DD1 – DD5. На входе стоит резистивные делители R2 – R9 для приведения выходного уровня сигнала с энкодера (не менее 10В при питании от источника 15В) к уровню ТТЛ и защитные стабилитроны VD1 - VD4 КС147А, защищающий вход цифровой микросхемы от перенапряжения свыше 4,7 В. На микросхеме DD1 К155ЛА3, R1, C1 собран генератор тактовых импульсов, необходимый для работы декодера. Частота генерации около 1,5 МГц. На DD2 К155ТМ2 собрана схема подавления помех и дребезга. DD2 используется в качестве RS-триггера, который переключается только когда на одном входе лог.1, а на другом лог.0. Все остальные комбинации не приводят к изменению его состояния. То есть, если вместо лог. 0 из-за действия помехи появится лог. 1, то триггер не переключится, поскольку комбинация с двумя лог.1 на входах R и S запрещена. Затем квадратурные сигналы идут на микросхему DD3 К155ТМ2, использующуюся уже как D-триггер. На тактовые входы этой микросхемы подаются тактовые импульсы с генератора на DD1, а на входы данных – квадратурные сигналы. Далее сигналы идут на логическую схему на DD4 (К155ЛП5, 4 х 2ИСКЛЮЧАЮЩЕЕ ИЛИ) и DD5 (4 х 2И-НЕ). На выхода этой схемы импульсы счета отрицательной полярности поступают на счетные входы двоичного счетчика DD6 К155ИЕ7. Состояние этого счетчика можно считать с помощью регистра-защелки К1533ИР22, подав лог.0 на входы управления (вывод PD3). Сигнал младшего разряда счетчика дублируется на вывод PD2, который настроен как вход внешнего прерывания INT0. При любом изменении состояния этого сигнала контроллер может считать состояние счетчика и посчитать перемещение. При этом контроллер может безболезненно пропустить не более 8 счетных импульсов.

Все устройство питается от внешнего стабилизированного блока питания 12В, подключаемого через разъем Х2. Напряжение питания 5 В формируется линейным стабилизатором типа 7805. Все цифровые микросхемы зашунтированы по питанию конденсаторами С2 – С8, С15.

Устройство собрано на макетной плате и помещено в подходящую пластмассовую коробку.

Внутренности устройства
Внутренности устройства

Для программирования устройства используется простой переходный кабель к LPT-порту персонального компьютера. LPT-порт в большинстве современных компьютеров отсутствует, поэтому для программирования я использую специально приобретенный ноутбук на базе древнего процессора «Пентиум II». Кабель для программирования подключается к разъему Х4.

Кабель для программирования
Кабель для программирования

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

Порядок работы устройства следующий. При включении питания включается подсветка и кратковременно показывается заставка, на которой демонстрируется название прибора и версия его программного обеспечения. Затем кратковременно на дисплее индицируется считанный из энергонезависимой памяти установленный единичный шаг перемещения. Если устройство включается впервые и размер единичного шага еще не задан, устройство переходит в режим его первоначального ввода. Об этом режиме подробнее будет сказано далее. После этого устройство переходит в режим отображения положения. Поскольку в данной системе не используется начальное позиционирование, устройство показывает только относительное перемещение. Поэтому при включении устройства текущие координаты равны 0. Перемещение отображается в миллиметрах, на целую часть выделено 3 разряда, на дробную – 2 разряда. Соответственно, дискретность отображения составляет 0,01 мм, или на токарном жаргоне – «сотка». Большая точность в любительских условиях обычно недостижима, да и не требуется. В оставшемся шестом знакоместе отображается знак числа и стрелка направления перемещения. При перемещении в направлении шпинделя показания увеличиваются, от шпинделя – уменьшаются. При нажатии на кнопку «SEL» текущее положение можно обнулить, сделав его началом отсчета. При нажатии на кнопку «RES» устройство можно аппаратно перезагрузить.

Устройство имеет функцию предупреждения оператора. При подходе на расстояние менее 5 мм к заранее запомненной точке, устройство начинает мигать подсветкой и издавать звуковой сигнал. Таких точек можно запомнить 9 штук. Для этого необходимо поставить суппорт станка в эту точку, вращая ручку «ENC» влево или вправо выбрать незанятую ячейку М1…М9. Обозначение ячейки появится в шестом знакоместе над символом знака «-». Выбрав ячейку необходимо нажать кнопку «SEL» и текущее положение запишется в эту ячейку. Необходимо обратить внимание на положение стрелки направления перед записью точки. Предупреждение будет выдаваться при приближении к точке только с этого направления. При проходе записанной точки в обратном направлении, предупреждение выдаваться не будет. Чтобы потом вернуться назад к отображению положения необходимо вращать ручку «ENC», пройдя все ячейки. Режим отображения текущего положения это как бы ячейка М0. Чтобы разом стереть все точки необходимо аппаратно сбросить устройство, нажав кнопку «RES».

Перед началом использования необходимо задать шаг, физическое расстояние, соответствующее одному импульсу перемещения. Шаг вычисляется после окончательного монтажа всей системы на станке. Если шаг уже был задан, то для входа в этот режим  необходимо нажать и удерживать кнопку «SEL» при включении питания устройства. Шаг представляет собой 6-разрядное число, выраженное в нанометрах. Число вводится начиная с младшего разряда. После введения числа оно запоминается в энергонезависимой памяти и устройство переходит в обычный режим работы. Первоначально необходимо хотя бы приблизительно оценить этот шаг. Его можно рассчитать, зная диаметр шестерни на валу энкодера. Длину обката шестерни поделить на количество импульсов на оборот, умноженное на 4 (поскольку за один период квадратурного сигнала обработчик квадратурного энкодера выдает 4 импульса): πּD/4N. В моем случае шаг был равен: 3,14∙6/4/1000=0,00471 мм = 4710 нм. Это число и необходимо ввести при первоначальной настройке.

Затем необходимо уточнить это число, измерив реальное перемещение с помощью более точных приборов. Я для этих целей использовал КМД – концевые меры длины, высокоточные шлифованные металлические пластинки из специального сплава.

Набор концевых мер длины
Набор концевых мер длины

Сначала я переместил суппорт в крайнее левое положение так, чтобы он плотно уперся резцедержателем в патрон. Обнулил показания положения. Подвигав суппорт несколько раз от патрона и снова упирая его в патрон необходимо убедится что эта точка положения воспроизводится с достаточной повторяемостью. После чего суппорт отодвигается от патрона и в образовавшуюся щель вставляется одна из плиток КМД. Плитка так же плотно поджимается. При этом, показания устройства должны быть примерно равны длине плитки. Если показания отличаются, то шаг пересчитываются через пропорцию. Например, был установлен шаг 4710 нм. Суппорт был сдвинут на длину плитки 100 мм, но устройство насчитало перемещение только 95 мм. В этом случае новый шаг должен быть 4710∙100/95=4958 нм. Зайдя в режим установки шага необходимо ввести новое число – 4958. После этого убеждаются что при перемещении суппорта на 100 мм, число, отображаемое на индикаторе с требуемой степенью точности совпадает с 100 мм. Делая многократные перемещения суппорта убеждаются в повторяемости индикации позиционирования и минимальном разбросе показаний при установке суппорта в одну и ту же точку.

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

Устройство было изготовлено в 2021 г . В планах была существенная доработка устройства, по сути - его полная переделка. Планировалось добавить измерение второй оси - поперечной подачи (для этого я планировал применить второй энкодер, на 100 имп/оборот), добавить измерение частоты вращения шпинделя (датчиком ДПКВ от жигулей), использовать большой дисплей на газоразрядных индикаторах (а-ля олдскулл) с полноценной клавиатурой и использовать под это дело более мощный процессор. Однако из-за известных событий планам не суждено было сбыться. Поэтому выкладываю на суд читателей этот промежуточный, простенький вариант, возможно кому то этот опыт покажется интересным.

Комментарии (82)


  1. Moskus
    29.07.2023 21:40
    +6

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


    1. dlinyj
      29.07.2023 21:40
      +1

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


      1. Moskus
        29.07.2023 21:40
        +1

        А не надо отключать, надо предупреждать, что скоро нужно отключить.


        1. dlinyj
          29.07.2023 21:40

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


          1. zatim Автор
            29.07.2023 21:40
            +3

            Все так, но упоров для отключения конструктивно не может быть больше 2-3 - одного на продольной подаче и два на поперечной (дальний и ближний). И для их установки (например, на продольной моего станка) необходимо воспользоваться гаечным ключом на 27 и некоторое время интенсивно крутить гайки. То есть, это девайс не для оперативной работы, он удобен только при серийном производстве, когда его один раз выставили и месяц гонят серию. Я, например, его установил так чтобы суппорт с инструментом не врезался в патрон, чуть чуть не доходил до него.


            1. dlinyj
              29.07.2023 21:40
              +2

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


              1. KReal
                29.07.2023 21:40
                +1

                В тред врывается гитарист и просит объяснить, что вы имели в виду) Понятно, что речь не об электро гитаре)


                1. zatim Автор
                  29.07.2023 21:40
                  +1

                  Гитарой на сленге (а может это уже устоявшийся термин) называют часть станка - шестеренчатую передачу от шпинделя (точнее, от трензеля) к коробке подач. Все шестерни в гитаре - сменные, что позволяет настраивать огромное количество передаточных соотношений для настройки различных шагов резьб и скоростей подач. Под каждую задачу нужно подбирать и устанавливать новый комплект шестерен, что утомительно. Поэтому последнее время стали делать привод коробки подач (или даже сразу ходовых винта или вала) от отдельного электродвигателя, электронным образом синхронизированного со шпинделем. Это позволяет менять передаточные отношения простым нажатием кнопки буквально на ходу.


    1. GennPen
      29.07.2023 21:40
      +2

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

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


      1. Moskus
        29.07.2023 21:40

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


        1. GennPen
          29.07.2023 21:40
          +3

          Я и написал что это по моему мнению, и претендую на неоспоримую истину. За станком работал, очень давно в ПТУ.


          1. GennPen
            29.07.2023 21:40
            +2

            и не претендую на неоспоримую истину

            fixed, а то куда то потерялось и фраза в корне меняется по смыслу


        1. dlinyj
          29.07.2023 21:40
          +3

          Как-то слишком токсично… Тут вариации вашей идеи развивают, а вы грубите.


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


          1. Moskus
            29.07.2023 21:40

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


          1. Moskus
            29.07.2023 21:40
            +1

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

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

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

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


            1. dlinyj
              29.07.2023 21:40
              +1

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


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



              Вот покуда я среагирую на звук, то уже врежусь в кулачки. Поэтому визуальный контроль, либо автоматическое отключение по достижения точки. Если уж делать подобную автоматизацию, то как в современных электронных гитарах, когда делают "от сих до сих", и идёт автоматическое отключение подачи. Но это уже практически полуЧПУ.


              1. MaxEkb77
                29.07.2023 21:40
                +2

                а у меня пока фигня какая то получается - плохой из меня токарь.


                1. dlinyj
                  29.07.2023 21:40

                  Ну ЧПУ — это другой мир. Снимаю шляпу, на базе чего делали?


                  Мне нравится работать вручную, и именно поэтому я не хочу ЧПУшить станок. Да, это будущее, да, это правильно.


                  1. MaxEkb77
                    29.07.2023 21:40

                    Linuxcnc, да не особо он другой. одну деталь как говорится проще руками. Сверлилку поэтому просто с уци оставил - толку больше. а вот с токаркой немного поигрался.


                    1. dlinyj
                      29.07.2023 21:40

                      А что за станок в базе?


                      1. MaxEkb77
                        29.07.2023 21:40
                        +1

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


              1. Moskus
                29.07.2023 21:40

                Боитесь врезаться - уменьшайте обороты и подачу с сохранением толщины стружки, возможно даже результат лучше будет. Но это иной use case относительно того, что я описывал, потому что задачи бывают разные и иногда не помешает сигнал "приготовиться" а не сразу "стоп". Реакция, опять же, у разных людей лучше на разное. Доработка станка до "полу-ЧПУ" - опять же, не для всех. А практически бесплатная в реализации фича для DRO, которые и так часто не используются и на треть своих возможностей никому не помешает.


                1. dlinyj
                  29.07.2023 21:40

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

                  Есть такое понятие — режим резания. Если уменьшать обороты, то просто будет не в режиме и эбонит будет скалывать, а не так красиво стружка набегать. Ну и "боюсь", это не верное выражение.
                  По этому вопросу, на самом деле, мне советы не требуются. Я привёл пример, что тут мне звуковые сигналы не очень помогут. Только если пруток большой длинны.


                  А практически бесплатная в реализации фича для DRO, которые и так часто не используются и на треть своих возможностей никому не помешает.

                  Думаю можно парктроник с зуммером совместить.


                  1. Moskus
                    29.07.2023 21:40
                    -2

                    "Режим резания" состоит всего из всего двух основных параметров: толщины стружки и трения (выделяемого тепла). Пропорционально уменьшая обороты и подачу, вы сохраняете толщину стружки, так что съем материала у вас при этом остается тем же самым. На твердых материалах (к которым эбонит не относится), могут быть вторичные факторы типа жесткости суппорта, частоты собственных колебаний и т.п., но тут это играет куда меньшую роль.

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

                    Также занятно, что вы перешли к "боюсь - неверное выражение" и безличному "мне советы не требуются", хотя сами проповедуете открытость диалога и так далее. Что с вами обсуждать, если вы сразу отвечаете на всё отказом, а сами считаете возможным предлагать ерунду? В своем глазу - бревно, да.


                    1. dlinyj
                      29.07.2023 21:40

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


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


    1. ermouth
      29.07.2023 21:40

      трассоискателях и течеискателях

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


    1. Moog_Prodigy
      29.07.2023 21:40
      +2

      Я сделал себе такую приблуду. Обычный концевик, приклеенный на магнит от харда, запитывается через тумблер от 220В и включает "пищалку" - мини сирену, которые делает например IEK, не на дин рейку а на панель. Можно любой мультивибратор с динамиком, да хоть музыкальную открытку. Сзади или спереди снизу суппорта ставим этот концевик на станину, прикидываем место, где он должен пищать опытным путем. Вообще у моего станка предусмотрено механическое отключение подачи - если усилие подачи возрастает выше определенного предела (задается настройкой) - автоподача выключается. Можно поставить просто передвижной упор. И сирену использую, и механику. Тут еще смотря какой концевик подобрать, я использую с гибкой пластиной и роликом на конце, советский. То есть если даже я протупил и вовремя сирену не услышал - пружина концевика просто изгибается и концевик не повреждается от перебега. Если усилие уже совсем большое, ну он на магните, будет просто ползти. Что станина намагнитится, переживаний нет, в том месте нет стружки, только масло. Можно было бы поставить даже бесконтактный, но смысла не вижу.

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


      1. dlinyj
        29.07.2023 21:40

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


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


    1. NutsUnderline
      29.07.2023 21:40
      +1

      подозреваю что это не делают т.к. в цеху шумно и не слышно. а если делать слышно то станет еще шумнее


  1. dlinyj
    29.07.2023 21:40
    +2

    Недостатки решения очевидны, что СОЖ и стружка может попасть на ремень. Но в остальном, решение очень достойное. Сейчас бы вместо контролёра и программатора взял Arduino UNO, та же мега8, но с программатором. В остальном, снимаю шляпу, даже сам задумался применить. Смущает только то, что ремень быстро забьётся мусором.


    1. zatim Автор
      29.07.2023 21:40
      +1

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


      1. dlinyj
        29.07.2023 21:40

        У меня энкодер гитары тоже через такой ремень подключен. Работает.


  1. sav13
    29.07.2023 21:40

    Каким то каменным веком попахивает

    Не проще в 21 веке использовать сенсорные панели? Во всех 3Д принтерах и ЧПУ станках DIY уже давно ставят графические сенсорные экранчики 2.4-3.2"

    Если мало, то вполне доступны по ценам экраны 5-7"

    Для защиты экрана можно приклеивать пленки или стекла от планшетов


    1. arteast
      29.07.2023 21:40
      +2

      А что по этому поводу думают производители "профессиональных" DRO для всяких станков? Наверняка они все дружной толпой уже обеими ногами в 21 веке и у них у всех в качестве решения предлагаются суть iPadы? Или все же в почете все еще физические кнопки?

      Поинтересуйтесь на досуге.


      1. sav13
        29.07.2023 21:40

        Ну как-то токарный станок в 21 первом веке я вижу такой

        .

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

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


    1. dlinyj
      29.07.2023 21:40
      +7

      Сенсорные панели не имеют тактильного отклика и плохо начинают работать, покрывшись слоем масла, СОЖ и стальной стружки.


      1. Radisto
        29.07.2023 21:40
        +5

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


    1. gizmio
      29.07.2023 21:40
      +6

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


    1. KotovladeletsGT
      29.07.2023 21:40
      +2

      Каким то каменным веком попахивает

      О, боюсь представить что бы вы сказали, если бы автор довёл проект до конца и поставил бы туда ГРИ (хотя я бы использовал буквенно-цифровые ВЛИ ИВ-4 или ИВ-17, у ГРИ для такой задачи яркость не ахти)

      ИН-8
      ИН-8

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


      1. sav13
        29.07.2023 21:40
        +2

        Ну я бы сказал, что автор любитель теплого лампового света и большой мазохист )))


    1. evtomax
      29.07.2023 21:40
      +3

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


      1. sav13
        29.07.2023 21:40

        Если у вас станок имеет одну функцию - Стоп/Пуск то никакого преимущества.

        Если станок имеет несколько функций настройки, причем электронной, то уже вполне себе панель рулит. Причем ту же кнопку старт/стоп вполне можно оставить аппаратной.

        Но панель это в первую очередь средство отображения информации. Если уж так важно мониторить обороты, то почему бы не вывести тренд на экран вместе с цифрой большим шрифтом.


        1. dlinyj
          29.07.2023 21:40
          +2

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


        1. Moskus
          29.07.2023 21:40

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


    1. NutsUnderline
      29.07.2023 21:40

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


  1. Otard
    29.07.2023 21:40
    +1

    добавить измерение частоты вращения шпинделя (датчиком ДПКВ от жигулей)

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


    1. zatim Автор
      29.07.2023 21:40

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


  1. YDR
    29.07.2023 21:40
    +2

    1) забудьте про АТМЕГУ в приложениях с енкодерами. Используйте STM32 в виде blackpill, настройте таймеры сразу на обработку 2 енкодеров. У ESP32 тоже, по-моему, есть обработка енкодеров, при этом есть и WiFi/Bluetooth

    2) звук можно отправлять в наушник, даже беспроводной по BT

    3) для индикации можно использовать современный дисплей с прямым подключением, а можно и телефон/планшет с подключением по WiFi.

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

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


    1. vvzvlad
      29.07.2023 21:40
      +4

      Вы станки-то вживую видели?)


      1. YDR
        29.07.2023 21:40
        -5

        станки-то в живую видел, расскажи по делу, чем ты не доволен?


        1. YDR
          29.07.2023 21:40
          -1

          отлично! за просьбу развернутого комментария заминусили. Молодцы!

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

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


          1. Moskus
            29.07.2023 21:40
            +3

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

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


  1. diakin
    29.07.2023 21:40
    +1

    А какая там дискретность получается? Сколько оборотов делает датчик на 1 метре подачи? Также, если подача на станке винтовая, то лучше датчик связать с винтом.
    И - да, удобнее использовать STM32 в виде blackpill или bluepill. Они стоили 200-300 руб. Так есть режим для аппаратного подключения энкодеров. В Arduino Due тоже есть, и к ней легко можно подключить дисплей. Но она стоит дороже. 3-4 тыс.


    1. dlinyj
      29.07.2023 21:40
      +1

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


      1. ezhik97
        29.07.2023 21:40

        Обычная шарико-винтовая передача в станках обеспечивает кинематическую точность 4-6 мкм и допускает полное устранение зазора в резьбе путем регулировки натяга. Это довольно точное устройство, которое имеет накопленную погрешность на длине перемещения в 1000мм всего 20 мкм. Не думаю что энкодер с ремешком от струйного принтера обеспечивает лучшую точность.


        1. dlinyj
          29.07.2023 21:40

          Эм, станок на который установлена это изделие имеет размыкающийся привод с шестеренками. Ни о каком ШВП там речи не идет. А люфты там составляют миллиметры. Вы немного путаете задачи и типы станков.


          Но даже с ШВП правильнее ставить непосредственное измерение перемещения, потому что с износом люфт увеличивается и исходную точность не обеспечивает.


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


          1. ezhik97
            29.07.2023 21:40
            +1

            Я ничего не путаю, я отвечал на вашу фразу, что такой датчик нельзя ставить на винт, потому что будет большая погрешность. Я с этим не согласен, потому что винты, которые используют в станках, имеют очень точную кинематику и, кстати, хорошую износостойкость. И кроме того, для компенсации износа узла ШВП в нем всегда есть регулировки зазора или натяга.

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

            А насчет правильно или нет использовать линейку. Смотрите, в ЧПУ часто используют несколько контуров обратной связи. Например, на обычный древний токарный 16К20Ф3 можно ставить как вариант ЧПУ Delta Electronics NC200, так вот там основной канал обратной связи - это энкодер, встроенный прямо в сервопривод, и выдающий 1,28 миллиона импульсов на оборот. А вот уже вторая обратная связь (опциональная) по положению для компенсации люфтов и деформаций делается как раз на оптической линейке. Но это не основной канал. Который к тому же может и отсутствовать - тогда компенсацию можно задавать по куче точек (плюс встроенная компенсация трения).
            Поэтому если в станке уже есть винт, то для домашнего применения вполне логично и правильно будет поставить энкодер именно на винт. Ну а линейку уже по желанию, если нужна высокая точность.
            А если винта нет - то и обсуждать нечего, я про это ничего не говорил.


            1. dlinyj
              29.07.2023 21:40
              +1

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


              ШВП сразу лишает возможности ручной подачи. Поэтому ставить дополнительную ШВП, если не делаешь ЧПУ — бессмысленно.


              Станок на фото выше без ШВП и там такие же люфты. Вы не очень о том говорите.


    1. zatim Автор
      29.07.2023 21:40

      Про дискретность в статье есть информация. Сам датчик выдает 1000 импульсов (периодов) на оборот. В каждом периоде 4 регистрируемых смены состояний. Диаметр шестерни на валу энкодера около 6 мм. Дискретность выходит порядка 5 микрон.


    1. dlinyj
      29.07.2023 21:40

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


      1. diakin
        29.07.2023 21:40
        +1

        //////////////////////////////////////////////////////////////////////////
        // Энкодер 1 подключается к пинам 2 и 13
        // Энкодер 2 подключается к пинам 4 и 5
        //
        // ВАЖНО: ТАКЖЕ СИГНАЛ С ПИНА 2 НАДО ПОДАТЬ ЕЩЁ И НА ПИН 3
        // этот сигнал используется как триггер для продседуры сохранения отсчётов
        // 
        // Первый энкодер является тем энкодером, изменения положения которого задают время записи отсчётов
        
        static const uint32_t STEP = 20; // примерный шаг записи отсчётов (+/- 1-3)
        
        typedef struct
        {
        	uint32_t stamp;
        	int32_t encv1;
        	int32_t encv2;
        }
        REC;
        
        static const int RECS = 4096;
        static REC rec[RECS];
        static volatile int recIdx = 0;
        
        const uint32_t PIN_INTR = 3;
        
        void pinIntr()
        {
        	static volatile int32_t lastTC0 = 0;
        	
        	int32_t curTC0 = TC_ReadCV(TC0, 0); 
        	int32_t curTC2 = TC_ReadCV(TC2, 0);
        	
        	if ((curTC0 != lastTC0) && (abs(curTC0 - lastTC0) >= STEP)) 
        	{    
        		if (recIdx < RECS)
        		{    
        			rec[recIdx].stamp = micros();  
        			rec[recIdx].encv1 = curTC0;
        			rec[recIdx].encv2 = curTC2;
        			recIdx++;               
        		}    
        		
        		lastTC0 = curTC0;
        	}
        }
        
        void setup() 
        {
        	Serial.begin(115200);
        	Serial.println("\n\nStarted");
        	
        	pinMode(PIN_INTR, INPUT);  
        	PIOC->PIO_ISR;                    // Clear status register
        	NVIC_ClearPendingIRQ(PIOC_IRQn);  // Clear pending ISR
        	attachInterrupt(digitalPinToInterrupt(PIN_INTR), pinIntr, RISING);
        	
        	PIO_Configure(PIOB, PIO_PERIPH_B, PIO_PB25B_TIOA0 | PIO_PB27B_TIOB0, PIO_DEFAULT); 
        	PIO_Configure(PIOC, PIO_PERIPH_B, PIO_PC25B_TIOA6 | PIO_PC26B_TIOB6, PIO_DEFAULT);  
        	
        	// ENC1
        	
        	pmc_enable_periph_clk(ID_TC0);  
        	// DS: Field TCCLKS of TC_CMRx must be configured to select XC0 input (i.e., 0x101). Field TC0XC0S has no effect as soon as the QDEC is enabled.
        	TC_Configure(TC0, 0, TC_CMR_TCCLKS_XC0);  
        	
        	TC0->TC_BMR = TC_BMR_QDEN //  QDEC mode enabled
        	| TC_BMR_POSEN // Position measure is enabled
        	| TC_BMR_EDGPHA // Detect quadrature on both PHA and PHB (4X decoding)
        	// | TC_BMR_FILTER // enable filter
        	// | TC_BMR_MAXFILT(63) // filter value  
        	; 
        	
        	// ENC2
        	
        	pmc_enable_periph_clk(ID_TC6);   
        	// DS: Field TCCLKS of TC_CMRx must be configured to select XC0 input (i.e., 0x101). Field TC0XC0S has no effect as soon as the QDEC is enabled.
        	TC_Configure(TC2, 0, TC_CMR_TCCLKS_XC0);  
        	
        	
        	TC2->TC_BMR = TC_BMR_QDEN //  QDEC mode enabled
        	| TC_BMR_POSEN // Position measure is enabled
        	| TC_BMR_EDGPHA // Detect quadrature on both PHA and PHB (4X decoding)
        	// | TC_BMR_FILTER // enable filter
        	// | TC_BMR_MAXFILT(63) // filter value  
        	; 
        	
        	
        	////////////////////////////////////////////////////////////////////////
        	
        	//TC0->TC_CHANNEL[0].TC_IER = TC_IER_COVFS; // Interruption enable on TC_CV overflow ( TC_CV = 0xFFFFFFFF to 0)                         
        	//TC0->TC_CHANNEL[0].TC_IER = TC_IER_CPCS;
        	//NVIC_EnableIRQ(TC0_IRQn); // enable TC0 interrupts
        	
        	TC_Start(TC0, 0);  
        	TC_Start(TC2, 0);  
        }
        
        /*
        void TC0_Handler() 
        {  
        	uint32_t status = TC_GetStatus(TC0, 0);
        	
        	if (status & TC_SR_CPCS) // RC compare
        	{     
        	} 
        	
        	if (status & TC_SR_COVFS) // overflow
        	{    
        		
        	}   
        }
        */
        
        
        
        void loop() 
        {
        	// Ожидаем 5 секунд после запуска скетча, за это время записываем положения энкодеров в массив
        	delay(5000);
        	
        	// Выводим число записанных отсчётов
        	Serial.println(recIdx);
        	
        	// Выводим первые 40 отсчётов
        	for (int i = 0; i < 40; i++)
        	{  
        		Serial.print(rec[i].encv1);
        		Serial.print(", ");
        		Serial.print(rec[i].encv2);
        		Serial.print(", ");
        		Serial.println(rec[i].stamp);  
        	}
        	
        	while (1) delay(1);
        	
        }
        


        1. diakin
          29.07.2023 21:40

          Большая простыня


          1. dlinyj
            29.07.2023 21:40

            Благодарю


            1. diakin
              29.07.2023 21:40

              Это для Arduino Due


              1. dlinyj
                29.07.2023 21:40

                Да, я увидел про коду


  1. BigDflz
    29.07.2023 21:40

    вместо ремня можно использовать металлический тросик, а передачу перемещения по тросикку использовать вариант от перемещения строительных люлек (фасадного подъемника), когда трос проходит через два ролика.


    1. dlinyj
      29.07.2023 21:40

      Слишком велик риск проскальзывания. Тут точный зуб


  1. cujos
    29.07.2023 21:40
    +1

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


    1. zatim Автор
      29.07.2023 21:40
      +1

      Пытался проверить, но тут нужно продумать методику. Одна сотка - очень маленькая величина, даже при силовом нажатии суппортом в патрон (относительно мощные и прочные детали) происходят микроперемещения, микроизгибы и показания в сотках скачут. Тем более, если станок изношен. Я проверял погрешность только на коротких расстояниях с помощью КМД. И, точно не помню, но кажется еще смотрел часовым индикатором на еще более коротких расстояниях.

      кмк она у штангеля будет меньше, чем тут

      Смотря какой штангель, если митутойо, то наверное да) Но беда в том, что штангели массово не делают на 500-1000 мм, или же они стоят как пароход.


      1. cujos
        29.07.2023 21:40
        +1

        достаточно взять индикатор(глубиномер) и несколько КМД

        как раз в силовом нажатии и люфте в винт/гайка/суппорт/станина в разных направлениях и проблема

        думаю тут речь скорее о десятке


  1. VT100
    29.07.2023 21:40
    +2

    Возможно, было бы неплохо защитить PC5 от тока зарядки C18 резистором в десяток Ом. Хотя, meg'и дубовые и так.


  1. iliasam
    29.07.2023 21:40
    +2

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


  1. vk6677
    29.07.2023 21:40
    +2

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

    Интересное решение - использовать RS триггер для диф. сигнала. Не лучше было бы использования микросхем приёмников RS-485/422, они прекрасно справляются с аналоговыми синфазными помехами.


    1. YDR
      29.07.2023 21:40

      там не синфазная помеха, не "дребезг" как у кнопки, там быстрое переключение между корректными состояниями енкодера. Тут надо или быструю полноценную обработку FSM енкодера, или Low-pass фильтры. Фильтры, наверное, могут привести к чему-то плохому. Поэтому я за быстрый специализированный обработчик енкодера. В первую очередь, встроенный в STM32, ESP32.


  1. MaxEkb77
    29.07.2023 21:40
    +1

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

    Ну если уж хендмейдить то можно еще было интерполяциую туда добавить - что бы импульсов поболее было.


  1. aabzel
    29.07.2023 21:40
    +1

    Есть ли возможность показать диски энкодера ВЕ-178?
    Есть ли возможность максимально разобрать энкодер ВЕ-178?


    1. zatim Автор
      29.07.2023 21:40
      +3

      Фото стеклянного диска с рисками
      Фото стеклянного диска с рисками
      Вид с торца
      Вид с торца

      Кроме той фото в статье есть еще 2 фотографии энкодера


      1. aabzel
        29.07.2023 21:40

        Там 1 диск с рисками или 2?


        1. zatim Автор
          29.07.2023 21:40
          +2

          Один диск. На гитхабе в папке other_info выложено ТО и ИЭ на энкодер, там есть чертеж конструкции и схема с перечнем.


          1. aabzel
            29.07.2023 21:40

            На гитхабе в папке other_info выложено ТО и ИЭ на энкодер, там есть чертеж конструкции и схема с перечнем.

            На этом github
            https://github.com/zatimof?tab=repositories

            нет такой папки


            1. zatim Автор
              29.07.2023 21:40

              Попробуйте через ВПН.


  1. aabzel
    29.07.2023 21:40

    Кто-нибудь знает промышленные образны оптических энкодеров, которые основаны на муаровом эффекте?