Цифровой штангенциркуль принцип работы

Этот прибор используется для измерения внутренних и наружных замеров, а также между поверхностями деталей, применяется для измерения глубины отверстий и выступов. Электронный штангенциркуль имеет очень полезную функцию по сравнению с механическим — он настраивается на ноль в любой точке шкалы, благодаря этому можно наблюдать отклонения в каждом участке размера. То есть можно обнулить его в размере, допустим, 21,55 мм, и уже от него отсчитывать длинну.

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

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

Как работает цифровой штангенциркуль

Для начала раберём этот измерительный прибор и посмотрим как он устроен изнутри.

Принцип его работы — ёмкостной цифровой нониус, вот техдокументация о его работе . В основе работы цифрового штангенциркуля используется емкостная матрица — кодер.

Электронный штангенциркуль использует несколько пластин для формирования емкостного массива, который может точно чувствовать перемещение. Существует статор и ползунок («ротор») пластины. Статор находится в металлической линейке. А подвижная часть с LCD экраном имеет ползунок.

Статор шаблон сфабрикованы в верхнем слое медной стандартной стекло эпоксидные ламината и приклеены к нержавеющая сталь бар суппорта. Ползунок шаблона, показанного аналогично сфабрикованы на PC ламинат, диски в 100 кГц сигнала через sin / cos пластины электродов статора и подхватывает переменного напряжения на двух центральных пикап плиты которые описывают сигналов sin(displacement) и cos(displacement).

Читайте также:  Что можно сделать из лазерного принтера

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

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

Если у вас немного другой штангенциркуль, то лучше самому проверить осциллографом где какой сигнал. А то мало ли чего там китайцы намудрили, я например встречал в сети другие распиновки. Ну а если нет осциллографа то методом научного тыка. Землю легко найти просто прозвонив по очереди каждый из четырёх контактов и минусовой контакт к которому подключается батарейка. И когда будете паять проводки то лучше вытащить её на всякий случай. Ну вот казалось бы теперь остается только подключить его к контроллеру, и с аппаратной частью на этом всё. Ан нет! Есть проблемка с логическими уровнями. Максимум что может выдать штангенциркуль с его крохотной батареечкой это полтора вольта. До логической единицы явно не дотягивает. Поэтому я решил усилить логическую единицу до пяти вольт при помощи несложной схемки на двух транзисторах:

Читайте также:  Как делать габионы своими руками

Конечно данная схема инвертирует сигнал, но нас это мало волнует т.к. прошивку мы пишем сами и учесть в ней инверсию сигнала совсем не сложно. Использовать мегу32 для такого проекта слишком жирно. Хватит и обычной тини2313 с тактированием от кварца. Если затактировать от встроенного RC генератора, то могут возникнуть проблемы с передачей данных через UART. При изменении температуры или напряжения питания, частота этого генератора будет плавать и соответственно данные будут передаваться в компьютер с ошибками. В моей версии я использовал обычный COM порт. При желании можно выкинуть весь преобразователь RS-232 UART на микросхеме max232 и поставить вместо него USB UART. Например, вот такой у меня уже давно работает в отладчике JTAG ICE. Теперь с аппаратной частью покончено и настало время поговорить о протоколе по которому штангенциркуль выдает данные. По началу он взорвал мне мозг, а потом оказалось что всё очень просто. Для начала посмотрим на осциллограмму:

Не трудно догадаться что верхний сигнал это данные, а нижний тактовый сигнал. Паузы через каждые 4 бита ввели меня в заблуждение, я аццки затупил и не догадался что это самый обычный SPI! И в результате сам того не осознавая замутил программную реализацию этого интерфейса 🙂 Такие посылки данных штангенциркуль выдает 4 раза в секунду. Каждая посылка состоит из 3 байт. Сначала передается младший байт. Внутри байта порядок следования бит тоже начинается с младшего. Первым приходит младший бит а затем страшие. Первые два байта содержат непосредственно данные об измерениях в сотых долях миллиметра. Третий байт содержит бит-признак отрицательного числа. На осциллограмме штангенциркуль передает число 6,75 мм. Как получить это число: Для начала вспомним, что считанные данные нужно инвертировать . В результате из считанного 00111010 10111111 11111111 получаем 11000101 01000000 00000000 . Старший байт сразу можно отбросить, так как его 4-й бит сброшен, а значит результат измерений положительный. Вспоминаем, что порядок байт и бит внутри них обратный. Переворачиваем и получаем 00000010 10100011 . Теперь переводим это в десятичную систему счисления и получаем число 675. Делим его на сто и получаем результат в миллиметрах. По идее можно уже в виде этих трех байт передавать результаты в комп, и заставить его расшифровывать их, но я пошел дальше и сделал вывод в нормальном виде. Результаты измерений можно просматривать в любой терминальной программе хоть в Hyper Terminal. Нужно только поставить правильный номер COM порта и выбрать скорость 9600. Стоит отметить что выдача результатов измерения происходит не постоянно, а только когда результат нового измерения отличается от предыдущего. Для более удобного просмотра результатов измерений был написан небольшой софт. По идее, он готов показать всё что приходит в порт. Сам порт нужно предварительно выбрать в окне настроек которое вызывается щелчком по главному окну программы:

Читайте также:  Какие металлы входят в состав бронзы

Ну а для тех кому мало картинок и фотографий то вот еще небольшой ролик показывающий как оно работает:

А зачем это вообще нужно? Хм… хороший вопрос ! Я делал это just for fun, ну а на практике такое может пригодится например в самодельных станках с ЧПУ, ну или еще где-нибудь где нужно цифровое измерение чего либо. Варианты применения, вопросы и предложения принимаются в комментариях.

Рекомендованные сообщения

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Войти

Уже зарегистрированы? Войдите здесь.

Сейчас на странице 0 пользователей

Нет пользователей, просматривающих эту страницу.

Отправить ответ

  Подписаться  
Уведомление о
Adblock
detector