Оглавление:
- Шаг 1. Как это работает:
- Шаг 2: Подготовка:
- Шаг 3: СОВЕТ
- Шаг 4: Конфигурация модуля HM-10, микропрограммирование Arduino Pro
- Шаг 5: Сборка компонентов, установка печатных плат в корпуса
- Шаг 6: запрограммируйте ATTiny85, припаяйте кабели для передачи данных, подключите аккумулятор
- Шаг 7: Тестирование, использование, меню дополнительных функций
- Шаг 8: Заключительные мысли - возможные модификации / новые функции / возможность взлома
Видео: Беспроводной интерфейс Bluetooth для штангенциркулей и индикаторов Mitutoyo: 8 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Сегодня в мире существуют миллионы штангенциркулей, микрометров, индикаторов и других устройств Mitutoyo Digimatic. Многие люди вроде меня используют эти устройства для сбора данных прямо на ПК. Это избавляет от необходимости регистрировать и вводить иногда сотни значений, но также создает некоторые проблемы, связанные с наличием ноутбука в магазине, где ноутбуки могут упасть или иным образом повредиться. Это особенно верно, если измерения проводятся на крупных деталях или в ситуациях, когда стандартный кабель для передачи данных Mitutoyo недостаточно длинный.
Несколько лет назад я построил подобное устройство на основе модулей Bluetooth HC-05 и некоторых плат микроконтроллера Arduino, которые позволили бы мне оставить ноутбук в безопасности на столе и перемещаться на расстояние до 50 футов для измерения. Это устройство отлично работало, но имело несколько проблем. Не было индикации того, когда батарея передатчика была полностью заряжена, не было индикации статуса соединения Bluetooth и индикации успешной передачи данных. К тому же он был большим и неуклюжим и буквально выглядел как научный проект! Даже с этими ограничениями другие парни в магазине предпочли использовать его, а не USB-кабель для передачи данных Mitutoyo.
Этот проект преодолевает ограничения старого устройства, добавляет больше функций и является немного более профессиональным и стоит менее 100 долларов.
Шаг 1. Как это работает:
Интерфейс состоит из двух частей: передатчика и приемника. Подключите передатчик к прибору с помощью кабеля для передачи данных, постоянно прикрепленного к нему, и подключите приемник к ПК с помощью кабеля для передачи данных micro USB.
Перемещение переключателя к концу кабеля на передатчике включает его. На стороне приемника сначала мигает синий светодиод, указывая на отсутствие подключения, после установления подключения светодиод перестанет мигать и будет гореть постоянно. Теперь передатчик и приемник подключены.
Передатчик (нижнее устройство на фото) подключается к датчику и считывает необработанный поток данных Mitutoyo каждый раз, когда нажимается кнопка «данные». Затем он форматирует данные, используя информацию в потоке данных, такую как расположение десятичной точки, знак и единицы измерения. Затем он создает строку ASCII из этих данных и отправляет ее через модуль Bluetooth HM-10 в передатчике в HM-10 на стороне приемника.
На приемнике (верхнее устройство на фото) HM-10 отправляет символы ASCII, отправленные с передающего HM-10, содержащие измерения, на Arduino Pro Micro, который затем отправляет их через USB-кабель на ПК. Для этого он имитирует клавиатуру, поэтому данные затем вводятся в открытое приложение, в моем случае это Excel. За данными следуют символы, которые переводят курсор на следующую строку. Приятно то, что вы можете изменить это так, чтобы делать все, что захотите, если вам нужно вводить данные в специальное программное обеспечение. Затем приемник отправляет запрос на HM-10 на передатчике, чтобы он мигал синей стороной светодиода, чтобы указать оператору, что данные были получены успешно. Модуль приемника также удаляет символы из входящего потока данных, связанных с дистанционным управлением HM-10 на приемнике.
Зарядка передатчика выполняется с помощью зарядного устройства micro-USB или кабеля, подключенного к USB-разъему на передатчике, светодиод на приемнике будет светиться красным во время зарядки и погаснет, когда зарядка завершится.
Ниже описаны другие функции обработки, которые могут быть выполнены для обеспечения того, чтобы все значения были в метрических или стандартных единицах измерения, или для предупреждения, если вы случайно нажали кнопку +/-, сделав все измерения отрицательными. Вы даже можете проверить напряжение батареи передатчика.
Шаг 2: Подготовка:
В дополнение к материалам, упомянутым в этом руководстве, есть еще несколько пунктов для настройки и программирования модулей и микроконтроллеров HM-10 Bluetooth. Вам понадобится последовательный адаптер USB-TTL UART для настройки модулей Bluetooth, Arduino в качестве программатора для микроконтроллера ATTiny85 (или аналогичный программатор, который может работать с Arduino IDE) и, конечно же, перемычки для настройки и настройки. программирование. ATTiny85 в этом руководстве был запрограммирован с использованием клона Arduino Nano и электролитического конденсатора 10 мкФ, подключенного между выводами RST и GND. Другое оборудование будет работать, если оно у вас есть, но вам, возможно, придется изучить изменения в процедуре, необходимые для этого. Это руководство предполагает, что вы знакомы с IDE Arduino и до некоторой степени комфортно с ней пользуетесь, в противном случае потребуется Google и немного терпения.
Перед настройкой модулей Bluetooth было бы неплохо прочитать руководство Мартина Карри по BLE по адресу https://www.martyncurrey.com/hm-10-bluetooth-4ble-modules/ Эта статья содержит информацию о том, как отличить настоящие модули. Из подделок настройте пары, роли, режимы и информацию об обновлении прошивки для модулей HM-10, используемых в этой инструкции.
Остерегайтесь поддельных HM-10 на рынке. Ссылка в спецификации, представленная в этом руководстве, относится к реальным (или, по крайней мере, к тем, на которых установлена настоящая прошивка, когда я купил их прошлой осенью). Получение поддельных не является препятствием для сделки, но если вы в конечном итоге получите подделки, потребуется еще несколько шагов, чтобы заставить их работать так, как необходимо для Instructable, поскольку у них должна быть настоящая прошивка, прежде чем их можно будет правильно настроить. Если у вас есть подделка, вы можете прошить на нее настоящую прошивку с помощью следующего руководства https://www.youtube.com/embed/ez3491-v8Og. Есть и другие руководства о том, как прошить прошивку HM-10 на CC2541. модули (подделки). На фотографиях в этом руководстве показаны поддельные модули, которые мне пришлось прошить прошивкой HM-10 при создании этого интерфейса (это уже третий модуль, который я построил). Настоящие стоят около 6 долларов за пару, а поддельные - 3 доллара за пару, и стоит потратить дополнительные 3 доллара, чтобы получить настоящие. Я настоятельно рекомендую вам покупать настоящие модули HM-10!
Для микроконтроллеров Sparkfun Arduino Pro Micro и ATTiny85, используемых в этом руководстве, необходимы несколько определений, не включенных по умолчанию в IDE Arduino.
Вы можете добавить поддержку этих частей в Arduino IDE, добавив следующие ссылки в свой менеджер плат.
Для ATTiny85:
raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Для Sparkfun Arduino Pro Micro:
raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
Разделите эти две записи запятой, как показано на рисунке.
Также вам понадобится специальная небольшая последовательная библиотека для модуля передатчика:
SendOnlySoftwareSerial:
Шаг 3: СОВЕТ
Плату, которую я разработал для этого учебного пособия, можно заказать в JLCPCB или на другом сайте, таком как Seedstudio и т. Д., Если вы используете файлы gerber, прикрепленные к этому учебному пособию. Я разработал его с помощью easyeda.com. Вот ссылка на доску easyeda. https://easyeda.com/MrFixIt87/mitutoyo-bluematic-spc-smt-mcp73831 Если будет достаточно интереса, я могу сделать несколько печатных плат и продать их дешево на ebay.
Эту плату необходимо разрезать на две отдельные платы (одну для передатчика и одну для приемника). Вырезы будут следовать за белыми контурами в центре печатной платы на изображении выше и в одном углу платы передатчика. Эти разрезы будут следовать за красными линиями, нарисованными на изображении печатной платы выше. Будьте осторожны при разрезании плат, особенно в выемках по углам платы передатчика. Эти порезы очень близки к следам на доске. Здесь пригодится набор прекрасных файлов.
Большинство компонентов можно заказать у Digi-Key или Mouser и т. Д., Номера деталей Digi-Key включены в спецификации для позиций, которые у них есть. Некоторые товары я купил на eBay, Amazon или AliExpress. Я включил ссылки на элементы на этих сайтах по мере необходимости в спецификации.
Файл BOM.pdf читать проще всего, а URL-адреса являются интерактивными ссылками.
Шаг 4: Конфигурация модуля HM-10, микропрограммирование Arduino Pro
Хорошая идея - получить модули HM-10 прежде всего и убедиться, что вы правильно настроили их и работали в паре, так как на рынке много поддельных модулей, и требуется несколько дополнительных шагов для установки настоящих прошивка на подделках. Только настоящая прошивка HM-10 позволяет приемнику дистанционно мигать светодиодом на передатчике при нажатии кнопки «данные». Не обновляйте прошивку после версии V6.05.
Учебник Мартина Керри очень удобен для этого. Если вы будете следовать ему, у вас не будет проблем. Также убедитесь, что для этого шага у вас есть голые зубчатые модули, подобные изображенному справа на картинке. При необходимости припаяйте их к печатной плате, чтобы облегчить прикрепление временных проводов для настройки. Не припаивайте никакие другие компоненты к любой печатной плате, пока у вас не будет пары работающих модулей BLE. Припаивать нужно только контакты 1, 2, 12-15, 21-25.
На плате Tx HM-10 потребуется следующая конфигурация:
Сопряжение: подключитесь к другому HM-10 (используйте последовательный монитор для проверки потока данных между модулями при подключении)
Роль: периферийный
Режим: 2
На плате Rx HM-10 потребуется следующая конфигурация:
Сопряжение: необходимо сопряжение с периферийным устройством HM-10, указанным выше
Роль: центральная
Режим: (нет, режим есть только у периферийных устройств)
Запрограммируйте Arduino pro micro с помощью скетча Mitutoyo_Keyboard… выше. Убедитесь, что вы выбрали версию Arduino Pro micro 3.3V 8MHz в диспетчере плат Arduino IDE при загрузке на плату. Также убедитесь, что у вас установлены все указанные библиотеки. Я использовал версию Pro Micro от Sparkfun (красный), но клоны доступны на ebay, которые также будут работать, просто убедитесь, что вы получаете плату 3.3V 8MHz с микроконтроллером Atmel 32U4, а НЕ ATMega328P. Также возьмите синий, который выглядит как красный Sparkfun в этом руководстве, а не черный, черные слишком широкие, чтобы соответствовать рисунку отверстий на печатной плате).
Шаг 5: Сборка компонентов, установка печатных плат в корпуса
Для печатной платы Tx припаяйте другие компоненты к печатной плате. Рекомендуется сначала припаять разъем USB на плате BLE Tx, а затем другие компоненты в этой области. Было бы неплохо припаять заголовок ICSP к плате BLE Tx в последнюю очередь. Обратите внимание на то, как выводы двухцветного светодиода «загнуты». Первоначально идея заключалась в том, чтобы они проходили через боковую часть корпуса, но позже я решил использовать полупрозрачный корпус, чтобы светодиод не пришлось перебирать. хоть и дырка при сборке. Это также добавляет приятный эффект, когда синяя сторона светодиода мигает после передачи измерения. Для двухцветного светодиода самый короткий вывод - синий, центр - общий анод.
На этот раз измерьте расположение переключателя, разъема USB и проделайте отверстия в корпусе для этих предметов. Я обнаружил, что лучше всего прокладывать кабель для передачи данных с левой стороны (как показано на рисунке) коробки (отверстие 0,25 дюйма, центрированное по ширине и высоте корпуса). Тщательно проверьте установку печатной платы, отрегулировав размер до тех пор, пока переключатель не будет двигаться свободно и разъем USB не войдет в отверстие. Установите 2 винта №2, чтобы удерживать плату на месте (однако, если посадка будет плотной, плата в любом случае останется невыпадающей, и винты действительно не потребуются).
На печатной плате Rx припаяйте Arduino pro micro к печатной плате, используя два 7-контактных разъема. Отрегулируйте отверстие на стороне USB-разъема корпуса Rx PCB, чтобы печатная плата плотно прилегала к внутренней части корпуса. Обратите внимание на изображение этой сборки, что светодиод выходит за пределы платы. Это сделано для того, чтобы надежно разместить печатную плату в коробке, и на самом деле довольно хорошо работает с меньшей втулкой. Тщательно отрегулируйте длину провода светодиода, чтобы после сборки было обеспечено плотное прилегание. Плата обозначена красным и синим цветом, более короткий вывод светодиода - это синий вывод, в центре - общий анод. Защелкните крышку на корпусе Rx, готово.
Шаг 6: запрограммируйте ATTiny85, припаяйте кабели для передачи данных, подключите аккумулятор
Пришло время запрограммировать ATTiny85. Я использовал клон Arduino Nano с примером скетча Arduino ISP. Для программирования Nano требуется электролитический конденсатор емкостью 10 мкФ, установленный между GND и RST (- вывод на GND). Подробная информация о штыревом соединении представлена на скетче Arduino ISP. Заголовок ICSP на печатной плате в этом проекте имеет имена контактов, набитые по трафарету, поэтому соединения должны быть простыми.
Убедитесь, что у вас установлены параметры ATTiny85, 8kB flash и Internal 8MHz clock, выбранные в диспетчере платы при загрузке на ATTiny85, как показано на рисунке.
Как только это будет сделано, установите большую втулку. Обрежьте кабель передачи данных примерно на 8-10 дюймов от конца прибора и снимите внешнюю оболочку, открыв несколько дюймов внутренних проводов. Оставьте экранирующие жилы примерно на 1/2 дюйма от полосатой крышки, как показано. Я припаял экран кабеля передачи данных к переключателю, чтобы он был устойчив к выдергиванию при использовании, хотя в печатной плате также есть большое отверстие для этого. Если вы хотите пойти по этому пути, припаяйте отдельные провода к печатной плате, как показано, цвета проводов данных будут нанесены шелкографией на печатной плате в соответствующих отверстиях.
Подключите аккумулятор, как показано на рисунке, соблюдайте полярность, так как при изменении полярности микросхема зарядного устройства / менеджера LiPo на печатной плате быстро сгорит (не спрашивайте, откуда я знаю…)
Шаг 7: Тестирование, использование, меню дополнительных функций
Теперь установите крышку. Готово!
Все 4 устройства, которые я построил до сих пор, имеют липучку для крепления передатчика к прибору и приемника к верхней части крышки ноутбука. На практике это работает очень хорошо. Установите нечеткую (петлевую) сторону на липучке на верхнюю часть крышки ноутбука, а шероховатой (крючковой) стороной на корпус приемника. Установите нечеткую (петлевую) сторону на корпус передатчика, а шероховатую (крючковую) - на заднюю часть штангенциркуля или индикатора. Это позволяет хранить передатчик и приемник вместе, когда они не используются, а также имеет мягкую нечеткую сторону на крышке ноутбука.
Проверьте зарядку аккумулятора, подключив кабель micro USB к разъему USB на модуле Tx. Если аккумулятор заряжен не полностью, светодиод должен загореться красным. Иногда LiPo настолько близок к полной зарядке, что микросхема зарядного устройства не заряжает его, поэтому не беспокойтесь, если светодиод не загорится изначально.
Теперь вы можете подключить кабель для передачи данных к штангенциркулю или индикатору (все, что требует типа кабеля, который вы использовали).
Подключите конец Rx к кабелю данных micro USB (это должен быть кабель для передачи данных, а не только кабель для зарядки) и к USB-порту на вашем ПК. Возможно, ему придется установить драйвер, который позволяет ему работать как клавиатура, но это должно быть автоматически. Включите модуль Tx с помощью переключателя. Светодиод на модуле Rx должен мигать в течение нескольких секунд, а затем гореть, когда соединение будет установлено.
Проверьте, нажав кнопку данных на кабеле, соединяющем штангенциркуль с модулем передатчика. Вы должны увидеть результат измерения на экране ПК. Arduino Pro Micro работает как HID-клавиатура и вставляет входящие измерения прямо в то место, где находится курсор на вашем ПК.
Программирование в модуле передатчика допускает различные варианты. Вы можете войти в это меню, измерив 0 пять раз подряд. Находясь в режиме меню, чтобы выбрать параметр меню, измерьте отрицательное значение, начинающееся с номера параметра в меню, например, чтобы автоматически преобразовать все измерения в метрические, измерьте отрицательное значение с 1 в качестве первой ненулевой цифры. (Например, -1.xx мм или -0,1 дюйма). Чтобы вернуться в нормальный режим, измерьте 0 пять раз, затем измерьте отрицательное значение, которое начинается с 3 в качестве первой ненулевой цифры). Он запрограммирован таким образом, чтобы избежать случайной настройки параметров. Если в режиме меню снова измеряется 0 или любое положительное значение, режим меню автоматически отменяется и возвращается в нормальный режим.
Варианты меню:
- Автоматическое преобразование всех измерений в метрические единицы (при необходимости)
- Автоматическое преобразование всех измерений в стандартные единицы (при необходимости)
- Отменить автоматическое преобразование единиц
- Отклонить отрицательные результаты измерений (печатает предупреждающее сообщение)
- Отменить отклонение отрицательных измерений
- Измерьте и распечатайте напряжение батареи передатчика (не задокументировано в меню)
При входе в режим меню любые действующие параметры распечатываются вверху в качестве напоминания о действующих параметрах. Все параметры хранятся в EEPROM и сохраняются после выключения устройства или разрядки батареи. Срок службы батареи для устройств, которые я построил, составляет около 45 часов непрерывного использования, а зарядка занимает около 3 часов после полного разряда.
Недокументированная функция - войти в режим меню (0 пять раз), затем измерить отрицательное значение, начиная с 6 в качестве первой ненулевой цифры, что заставит его измерить и распечатать текущее напряжение батареи, как показано в прилагаемом видео.
По моему опыту, с 3 установками, которые я построил, диапазон составляет примерно до 50 футов в условиях открытого магазина.
Шаг 8: Заключительные мысли - возможные модификации / новые функции / возможность взлома
Хотя на этом этапе у вас будет идеально удобный интерфейс, который можно использовать с миллионами устройств по всему миру, он никоим образом не закончен в том смысле, что дальше ничего нельзя сделать. Одна из приятных особенностей такого подхода, а не покупки Mitutoyo U-Wave, заключается в том, что теперь у вас есть устройство, которое можно настраивать разными способами.
Вы можете использовать другие кабели Mitutoyo для подключения к передатчику вместо того, который я использовал для этого руководства, если ваше устройство использует другой кабель. Цвета внутренних проводов и сигналов должны быть одинаковыми на всех кабелях Mitutoyo. Просто имейте в виду, что для запуска измерения на кабеле потребуется кнопка данных, или для запуска измерения были бы разработаны другие средства. Запрос на измерение можно отправить манометру, на короткое время подключив зелено-белую пару проводов к земле (синий провод в измерительном кабеле). Это можно сделать, установив переключатель или аудиоразъем 1/8 дюйма в блок передатчика, подключенный к этим проводам, и подключив через него внешний переключатель. Если у вас есть индикатор, установленный в приспособлении, или вам не нужно прикасаться к датчику, подход к аудиоразъему был бы идеальным.
Если все, что вам нужно, это последовательные данные (RS232 TTL, SPI, I2C и т. Д.), Которые могут быть выполнены путем изменения кода на приемнике и прямого подключения к контактам на Pro Micro, которые вы выберете для вывода данных.
Дистанционное управление: Другой интересной возможностью было бы подключить транзистор между зелено-белой парой и синей землей датчика с затвором, подключенным к контакту 26 HM-10. Затем на стороне приемника подключите дистанционный ИК-детектор 38 кГц с выходной контакт к приемнику Arduino Pro Micro pin 7. затем измените код на этом микроконтроллере для поиска определенных команд с любого инфракрасного пульта дистанционного управления, а затем активируйте транзистор, установленный в передатчике, через удаленный вызов AT + PI031 / AT + PI030, аналогичный как теперь мигает синий светодиод на передатчике. Это даст возможность запускать показания из удаленного места, что в определенных обстоятельствах может быть очень удобно. Я могу спроектировать другую печатную плату с этой встроенной функциональностью.
Я уверен, что есть много других возможностей, прокомментируйте, пожалуйста, предложения, мысли и идеи.
Сейчас есть коммерческое устройство беспроводной передачи данных, доступное от Mitutoyo, но, когда я проверил, цена за систему составляла около 800 долларов. Общая стоимость создания этого устройства составляет около 100 долларов США и может быть меньше, особенно если вы используете Arduino Pro Micro и / или у вас есть кабель для передачи данных Mitutoyo, который можно использовать для подключения к датчику, поскольку это два самых затратных элемента в мире. BOM. Я серьезно сомневаюсь, что Mitutoyo U-Wave можно взломать, чтобы добавить такие функции, как эта.
Надеюсь, вам понравилась эта инструкция, моя первая!
Пожалуйста, оставляйте комментарии, вопросы, отзывы, идеи и предложения! Если он вам понравился, проголосуйте за него в конкурсе PCB! Спасибо!!!!
Финалист в конкурсе печатных плат
Рекомендуемые:
Беспроводной пульт дистанционного управления с использованием модуля 2,4 ГГц NRF24L01 с Arduino - Nrf24l01 4-канальный / 6-канальный передатчик-приемник для квадрокоптера - Радиоуправляемый вертолет - Самолет на радиоуправлении с использованием Arduino: 5 шагов (с изображениями)
Беспроводной пульт дистанционного управления с использованием модуля 2,4 ГГц NRF24L01 с Arduino | Nrf24l01 4-канальный / 6-канальный передатчик-приемник для квадрокоптера | Радиоуправляемый вертолет | Самолет на радиоуправлении с использованием Arduino: для управления автомобилем на радиоуправлении | Квадрокоптер | Дрон | Самолет RC | Лодка с дистанционным управлением, нам всегда нужны приемник и передатчик, предположим, для RC QUADCOPTER нам нужен 6-канальный передатчик и приемник, а такие типы TX и RX слишком дороги, поэтому мы сделаем один на нашем
Пользовательский интерфейс Android (remotexy) для управления серводвигателем с помощью Arduino и Bluetooth: 7 шагов (с изображениями)
Пользовательский интерфейс Android (remotexy) для управления серводвигателем с помощью Arduino и Bluetooth: в этой инструкции я дам вам быстрый шаг по созданию пользовательского интерфейса Android с помощью Remotexy Interface Maker для управления серводвигателем, подключенным к Arduino Mega через Bluetooth. Это видео показывает, как пользовательский интерфейс будет управлять скоростью и положением серводвигателя
Деревянное крепление для автомобильного телефона с беспроводной зарядкой Google Home: 7 шагов (с изображениями)
Деревянное автомобильное крепление для телефона с беспроводной зарядкой Google Home: Добро пожаловать! Вы когда-нибудь хотели задать Google вопрос во время вождения, не открывая телефон? Google Assistant - отличное приложение с интересными функциями, но оно требует, чтобы вы разблокировали телефон и открыли приложение или удерживали нажатой кнопку дома
Блок питания для беспроводной зарядки DIY: 8 шагов (с изображениями)
Блок питания для беспроводной зарядки DIY: по мере того, как телефоны становятся умнее и оснащаются более тяжелым процессором, он дает нам отличную производительность, но единственным недостатком этого является время автономной работы. При интенсивном использовании телефоны могут проработать всего несколько часов без подзарядки, но, к счастью, есть
Взломайте беспроводной дверной звонок в переключатель беспроводной сигнализации или переключатель включения / выключения: 4 шага
Взломайте беспроводной дверной звонок в переключатель беспроводной сигнализации или переключатель включения / выключения: недавно я построил систему сигнализации и установил ее в своем доме. Я включил магнитные выключатели на дверях и подключил их через чердак. Окна - это совсем другое дело, и жесткая проводка их не подходила. Мне нужно было беспроводное решение, а это