Съдържание:

Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo: 8 стъпки (със снимки)
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo: 8 стъпки (със снимки)

Видео: Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo: 8 стъпки (със снимки)

Видео: Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo: 8 стъпки (със снимки)
Видео: Беспроводная zigbee кнопка для для автоматизаций умного дома - компактная и бюджетная 2024, Декември
Anonim
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за дебеломери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за дебеломери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo
Безжичен Bluetooth интерфейс за шублери и индикатори Mitutoyo

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

Преди няколко години изградих подобно устройство на базата на HC-05 Bluetooth модули и някои платки на микроконтролера Arduino, което би ми позволило да оставя лаптопа на маса и да се разхождам до 50 фута, като правя измервания. Това устройство работи отлично, но имаше няколко проблема. Нямаше индикация кога батерията на предавателя е напълно заредена, няма индикация за състоянието на Bluetooth връзката и индикация за успешно предаване на данни. Той също беше голям и тромав и буквално приличаше на научен проект! Дори и с тези ограничения, другите момчета в магазина предпочетоха да го използват през USB кабела за данни Mitutoyo.

Този проект преодолява тези ограничения на старото устройство, добавя повече функции и е малко по -професионален за по -малко от 100 долара.

Стъпка 1: Как работи:

Image
Image
Подготовка
Подготовка

Интерфейсът се състои от две части, предавател и приемник. Свържете предавателя към манометъра, като използвате кабела за данни, постоянно свързан към него, и свържете приемника към компютър с помощта на микро USB кабел за данни.

На предавателя плъзгането на превключвателя към края на кабела го включва. На края на приемника синият светодиод първоначално мига, което показва, че няма връзка, когато се осъществи връзка, светодиодът ще спре да мига и ще свети непрекъснато. Предавателят и приемникът вече са свързани.

Предавателят (долното устройство на снимката) се свързва с манометъра и чете необработения поток от данни Mitutoyo всеки път, когато се натисне бутона "данни". След това форматира данните, използвайки информация в потока от данни, като например местоположение на десетичната запетая, знак и единици. След това той конструира ASCII низ от тези данни и го изпраща през Bluetooth модула HM-10 в предавателя до HM-10 от страната на приемника.

На приемника (горното устройство на снимката) HM-10 изпраща ASCII символите, изпратени от предаващия HM-10, съдържащ измерването, към Arduino Pro Micro, който след това ги изпраща през USB кабела към компютъра. Той емулира клавиатура, за да направи това, така че данните след това се инжектират в отвореното приложение, в моя случай в неговия Excel. Данните са последвани от знаци, които карат курсора да пада на следващия ред. Хубавото в това е, че можете да промените това, за да правите каквото искате, ако трябва да въведете данни в персонализиран софтуер. След това приемникът изпраща искане до HM-10 на предавателя да светне синята страна на светодиода, за да покаже на оператора, че данните са получени успешно. Приемният модул също премахва символи от входящия поток от данни, свързан с дистанционното управление на HM-10 на приемника.

Зареждането на предавателя се извършва с микро USB зареждане или кабел, включен в USB гнездото на предавателя, светодиодът на приемника ще свети червено по време на зареждане и ще се изключи, когато зареждането приключи.

Има и други функции, обхванати по-късно по отношение на обработката, които могат да бъдат направени, за да се гарантира, че всички стойности са в метрични или стандартни единици или да се предупреди, ако случайно сте натиснали бутона +/-, което прави всички измервания отрицателни. Можете дори да проверите напрежението на батерията на предавателя.

Стъпка 2: Подготовка:

В допълнение към материалите, споменати в тази инструкция, има няколко други елемента за конфигуриране и програмиране на Bluetooth модулите и микроконтролерите HM-10. Ще ви е необходим сериен адаптер USB към TTL UART, за да конфигурирате Bluetooth модулите, Arduino, който да служи като програмист за микроконтролера ATTiny85 (или подобен програмист, който може да работи с Arduino IDE) и, разбира се, джъмперни проводници, за да извършите конфигурацията и програмиране. ATTiny85 в този Instructable е програмиран с помощта на Arduino Nano клон и 10 uf електролитен кондензатор, свързан между RST и GND щифтовете. Друг хардуер ще работи, ако го имате, но може да се наложи да проучите необходимите за това промени в процедурата. Този Instructable предполага, че сте запознати с Arduino IDE и сте донякъде удобни да го използвате, Google и малко търпение са необходими в противен случай.

Преди да конфигурирате Bluetooth модулите, би било добра идея да прочетете BLE урока на Martyn Currey на 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!

Няколко дефиниции, които не са включени по подразбиране в Arduino IDE, са необходими за микроконтролера Sparkfun Arduino Pro Micro и ATTiny85, използван в тази инструкция.

Можете да добавите поддръжка за тези части към IDE на Arduino, като добавите следните връзки към вашия мениджър на дъски.

За 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: ДЪСКАТА

ДЪСКАТА
ДЪСКАТА
ДЪСКАТА
ДЪСКАТА
ДЪСКАТА
ДЪСКАТА

Платката, която проектирах за този Instructable, може да бъде поръчана от JLCPCB или друг сайт, като Seedstudio ect, ако използвате файловете gerber, прикрепени към тази Instructable. Проектирах го с помощта на 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, микро програмиране на Arduino Pro
Конфигурация на модул HM-10, микро програмиране на Arduino Pro
Конфигурация на модул HM-10, микро програмиране на Arduino Pro
Конфигурация на модул HM-10, микро програмиране на Arduino Pro
Конфигурация на модул HM-10, микро програмиране на Arduino Pro
Конфигурация на модул 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 … по -горе. Уверете се, че сте избрали 3.3V 8MHz версия на Arduino Pro micro в мениджъра на дъската на Arduino IDE, когато качвате на дъската. Също така се уверете, че имате инсталирани всички реферирани библиотеки. Използвах версията Sparkfun на pro micro (червено), но клонингите се предлагат в ebay, които също ще работят, но не забравяйте да получите 3.3V 8MHz платка с микроконтролер Atmel 32U4, а НЕ ATMega328P. Вземете и син, който прилича на червения Sparkfun в този Instructable, а не на черен, черните са твърде широки, за да пасват на шаблона на дупката на печатната платка).

Стъпка 5: Монтаж на компоненти, монтиране на печатни платки в кутии

Компонентен компонент, монтиране на печатни платки в кутии
Компонентен компонент, монтиране на печатни платки в кутии
Сглобяване на компоненти, монтиране на печатни платки в кутии
Сглобяване на компоненти, монтиране на печатни платки в кутии
Компонентен компонент, монтиране на печатни платки в кутии
Компонентен компонент, монтиране на печатни платки в кутии

За Tx PCB спойка останалите компоненти върху печатната платка. Добра идея е първо да запоите USB конектора на платката BLE Tx преди другите компоненти в тази област. Може да е добра идея да запоите заглавката на ICSP последно на платката BLE Tx. Обърнете внимание как проводниците на двуцветния светодиод са „сгънати“, първоначално идеята беше това да мине през страничната част на корпуса, но по-късно реших да използвам полупрозрачен корпус, така че светодиодът да не се налага да бъде обвит макар и дупка при сглобяването. Той също така добавя приятен ефект, когато синята страна на светодиода мига след предаване на измерване. За двуцветния светодиод най-късият проводник е син, центърът е общ анод.

По това време измерете местоположението на превключвателя, USB конектора и направете дупки в кутията за тези елементи. Открих, че е най -добре да подадете кабела за данни от лявата страна (както е на снимката) на кутията (0,25 отвор, центриран по ширината и височината на корпуса). Внимателно тествайте монтажната платка, като регулирате размера на дупки, докато превключвателят се движи свободно и USB конекторът се впише в отвора. Инсталирайте 2 #2 винта, за да държите печатната платка на място (обаче, ако прилягането е плътно, печатната платка така или иначе ще бъде в плен и наистина няма да се нуждае от винтове).

На Rx PCB спойка Arduino pro micro върху печатната платка с помощта на двата 7 -пинови заглавия. Регулирайте отвора от страната на USB конектора на Rx PCB кутията, за да позволите на печатната платка да стои здраво срещу вътрешната страна на кутията. Обърнете внимание на снимката на този монтаж, че светодиодът се простира далеч от платката. Това е за стабилно локализиране на печатната платка в кутията и всъщност работи доста добре с по -малкия уплътнител. Внимателно регулирайте дължината на проводника на светодиода, така че да се получи плътно прилягане след сглобяването. ПХБ е маркиран като червен и син, по -късият проводник на светодиода е синият проводник, центърът е общ анод. Щракнете капака на Rx кутията, готово.

Стъпка 6: Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията

Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията
Програмирайте ATTiny85, Припой в кабелните връзки за данни, Свържете батерията

Сега е време да програмирате ATTiny85. Използвах клонинг на Arduino Nano, изпълняващ примерната скица на ISP на Arduino. Nano изисква 10uf електролитен кондензатор, инсталиран между GND и RST (- отвежда към GND) за програмиране. Подробностите за свързване на щифтове са в скицата на ISP на Arduino. Заглавката на ICSP на печатната платка в този проект има имена на пинове с шаблон, така че връзките трябва да са прави.

Уверете се, че сте избрали опции за ATTiny85, 8kB флаш и Вътрешен 8MHz такт в мениджъра на платката, когато качвате в ATTiny85, както е показано на снимката.

След като това стане, инсталирайте голямата втулка. Нарежете кабела за данни на около 8 "-10" от края на инструмента и отстранете външната обвивка, разкривайки няколко инча от вътрешните проводници. Оставете екраниращите нишки на около 1/2 "от раирания капак, както е показано. Запоявах екранирането на кабела за данни към превключвателя, за да му придам здравина срещу изтегляне в употреба, въпреки че има и голям отвор в печатната платка в това за това ако искате да отидете по този маршрут. Запоявайте отделните проводници към печатната платка, както е показано, цветовете на проводника за данни се пресяват върху колата върху съответната дупка.

Свържете батерията, както е показано, внимавайте с полярността, тъй като обръщането й ще изгори зарядното устройство/чип за управление LiPo на печатна платка в кратък срок (не ме питайте откъде знам …)

Стъпка 7: Тестване, използване, меню с разширени функции

Image
Image
Тестване, използване, меню с разширени функции
Тестване, използване, меню с разширени функции
Тестване, използване, меню с разширени функции
Тестване, използване, меню с разширени функции
Тестване, използване, меню с разширени функции
Тестване, използване, меню с разширени функции

Сега инсталирайте капака. Готови сте!

Всичките 4 блока, които съм построил досега, имат велкро за прикрепване на предавателя към инструмента и приемника към горната част на капака на лаптопа. На практика това работи много добре. Инсталирайте велкро размитата (контурна) страна към горната част на капака на лаптопа, грубата (куката) страна към кутията на приемника. Инсталирайте размитата (контурна) страна към кутията на предавателя и грубата (кука) страна към задната част на шублера или индикатора. По този начин можете да съхранявате предавателя и приемника заедно, когато не се използват, а също така има меката размита страна на капака на вашия лаптоп.

Тествайте зареждането на батерията, като свържете микро USB кабел към USB конектора на Tx модула, ако батерията не е напълно заредена, светодиодът трябва да светне червено. Понякога LiPo е толкова близо до напълно заредено, че IC зарядното устройство няма да го зареди, така че не се притеснявайте, ако светодиодът не светне първоначално.

Сега можете да свържете кабела за данни към шублер или индикатор (всичко, което приема типа кабел, който сте използвали).

Свържете края на Rx към микро USB кабел за данни (трябва да бъде кабел за данни, а не само кабел за зареждане) и към USB порт на вашия компютър. Може да се наложи да инсталира драйвера, който му позволява да действа като клавиатура, но трябва да е автоматичен. Включете Tx модула с превключвателя. Светодиодът на Rx модула трябва да мига за няколко секунди, след което да свети, когато се установи връзка.

Тествайте, като натиснете бутона за данни на кабела, свързващ шублера към предавателния модул. Трябва да видите измерването на екрана на компютъра. Arduino Pro Micro работи като HID клавиатура и ще вмъква входящи измервания директно, където и да е курсорът на вашия компютър.

Програмирането в предавателния модул позволява опции. Можете да получите достъп до това меню, като измерите 0 пет пъти последователно. Веднъж в режим на меню, за да изберете опция от менюто, измерете отрицателна стойност, започваща с номера на опцията в менюто, например за автоматично преобразуване на всички измервания в метрика, измерете отрицателна стойност с 1 като първата цифра, различна от нула. (-1.xx mm или -0.1 инча например). За да се върнете към нормален режим, измерете 0 пет пъти, след това измерете отрицателна стойност, която започва с 3 като първата цифра, различна от нула). Програмирано е по този начин, за да се избегне случайно конфигуриране на опции. Ако в режим меню отново измервате 0 или някоя положителна стойност автоматично отменя режима на менюто и се връща в нормален режим.

Опциите на менюто са:

  1. Автоматично преобразуване на всички измервания в метрични единици (ако е необходимо)
  2. Автоматично преобразуване на всички измервания в стандартни единици (ако е необходимо)
  3. Отмяна на автоматично преобразуване на единици
  4. Отхвърляне на отрицателни измервания (отпечатва предупредително съобщение)
  5. Отмяна на отхвърлянето на отрицателни измервания
  6. Измерете и отпечатайте напрежението на батерията на предавателя (не е документирано в менюто)

При влизане в режим на меню всички действащи опции се отпечатват в горната част като напомняне за действащите опции. Всички опции се съхраняват в EEPROM и се запазват след изключване на устройството или изтощаване на батерията. Животът на батерията за устройствата, които съм построил, е около 45 часа непрекъсната употреба, а презареждането отнема около 3 часа, докато напълно се изтощи.

Недокументирана функция е да влезете в режим на менюто (0 пет пъти), след което да измерите отрицателна стойност, започваща с 6 като първата ненулева цифра, което я кара да измерва и отпечатва текущото напрежение на батерията, както е показано в прикаченото видео.

Моят опит с 3 -те блока, които съм построил, е, че обхватът е до приблизително 50 фута в отворена магазинна среда.

Стъпка 8: Последни мисли - Потенциални модификации / Нови функции / Хакерство

Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство
Заключителни мисли - Потенциални модификации / Нови функции / Хакерство

Въпреки че в този момент ще имате перфектно използваем интерфейс, който може да се използва с милиони устройства по света, той в никакъв случай не е завършен в смисъл, че нищо повече не може да се направи. Едно от сладките неща при използването на този подход, вместо да купувате Mitutoyo U-Wave, е, че сега имате устройство, което може да бъде персонализирано по много начини.

Можете да използвате други кабели Mitutoyo за свързване към предавателя вместо този, който използвах за тази инструкция, ако вашето устройство използва различен кабел. Цветовете на вътрешните проводници и сигнали трябва да са еднакви за всички кабели на Mitutoyo. Само имайте предвид, че кабелът ще се нуждае от бутон за данни, за да задейства измерването, или би трябвало да бъдат измислени други средства за задействане на измерването. Искане за измерване може да бъде изпратено до манометъра чрез кратко свързване на двойката зелен/бял проводник към земята (синият проводник в кабела на манометъра). Това може да стане чрез инсталиране на превключвател или 1/8 аудио жак в предавателната кутия, свързана към тези проводници, и чрез нея чрез свързване на външен превключвател. подходът за аудио жак би бил идеален.

Ако всичко, от което се нуждаете, са серийни данни (RS232 TTL, SPI, I2C и т.н.), които могат да бъдат постигнати чрез промяна на кода на приемника и свързване директно към щифтовете на Pro Micro, които решите да използвате за извеждане на данните.

Дистанционно управление: Друга интересна възможност би била да свържете транзистор между зелено-бялата двойка и синята маса от манометъра с портата, свързана към пина HM-10 26. След това към края на приемника, свържете 38kHz IR дистанционен детектор с изходният щифт към приемника Arduino Pro Micro pin 7. след това променете кода на този микроконтролер, за да потърсите специфични команди от всяко инфрачервено дистанционно управление и след това задействате транзистора, инсталиран в предавателя чрез дистанционно повикване AT+PI031 / AT+PI030, подобно на начина, по който мига синия светодиод на предавателя сега. Това би дало възможност за задействане на показания от отдалечено място, което при определени обстоятелства би могло да бъде много удобно. Мога да проектирам друга печатна платка с тази вградена функция.

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

Сега има налично търговско безжично устройство за комуникация на данни от Mitutoyo, но когато проверих цената на това беше около 800 долара за системата. Общите разходи за изграждането на това устройство са около 100 долара и могат да бъдат по -малко, особено ако използвате Arduino Pro Micro и или имате кабел за данни Mitutoyo, който да лежи наоколо, за да се свържете с манометъра, тъй като това са два от най -разходните елементи в BOM. Сериозно се съмнявам, че U-Wave на Mitutoyo е хакнат, за да добави функции като тази.

Надявам се да ви е харесал този Instructable, първият ми!

Моля, оставяйте коментари, въпроси, отзиви, идеи и предложения! Ако ви харесва, моля, гласувайте за него в конкурса за печатни платки! Благодаря!!!!

Конкурс за печатни платки
Конкурс за печатни платки
Конкурс за печатни платки
Конкурс за печатни платки

Вицешампион в конкурса за печатни платки

Препоръчано: