Съдържание:

Добавете оптичен оборотомер на базата на Arduino към CNC рутер: 34 стъпки (със снимки)
Добавете оптичен оборотомер на базата на Arduino към CNC рутер: 34 стъпки (със снимки)

Видео: Добавете оптичен оборотомер на базата на Arduino към CNC рутер: 34 стъпки (със снимки)

Видео: Добавете оптичен оборотомер на базата на Arduino към CNC рутер: 34 стъпки (със снимки)
Видео: Обзор телескопа Celestron C8 A SGT + EQ5 Arsenal + EqStar pro 2024, Ноември
Anonim
Image
Image
Добавете оптичен оборотомер на базата на Arduino към CNC рутер
Добавете оптичен оборотомер на базата на Arduino към CNC рутер

Изградете оптичен индикатор за оборотите на вашия CNC рутер с Arduino Nano, IR LED/IR фотодиоден сензор и OLED дисплей за по -малко от 30 долара. Бях вдъхновен от Metro RPM на Eletro18 - Оптичен тахометър с инструкции и исках да добавя тахометър към моя CNC рутер. Опростих веригата на сензора, проектирах персонализирана 3D отпечатана скоба за моя CNC рутер Sienci. След това написах скица на Arduino за показване на цифров и аналогов циферблат на OLED дисплей

Няколко прости части и няколко часа от вашето време и можете да добавите цифров и аналогов RPM дисплей към вашия CNC рутер.

Ето списъка с части, налични за 2-дневна доставка. Вероятно можете да закупите частите за по -малко, ако желаете да чакате по -дълго.

Списък с части

$ 6,99 Arduino Nano

$ 5.99 IR LED/IR фотодиод (5 двойки)

OLED дисплей за 7,99 долара 0,96 жълто/синьо I2C

4,99 щ.д.

$ 1,00 30-инчов (75 см) 3-проводников проводник Може да бъде закупен от местния магазин за домашни консумативи (Home Depot, Lowes) в секцията за покупка на крак

0,05 долара 220 ома резистор (6,99 долара, ако искате 750 различни резистора)

$ 0,50 Термосвиваеми тръби ($ 5,99, ако искате пълен асортимент)

3D отпечатани скоби

Arduino IDE (безплатно)

Забележка: Първоначално добавих кондензатор.01μF, след като закрепих всички проводници и забелязах някои нестабилни стойности на оборотите, когато CNC се движеше. Кондензаторът работи добре за по -ниски обороти <20K, но изглади сигнала твърде много за нещо по -високо. Проследих шума до захранването на Nano и дисплея директно от CNC щита. Отделно захранване работи за всички обороти. Оставих стъпките в момента, но трябва да използвате отделен USB източник на захранване.

Стъпка 1: Отпечатайте 3D скобата

Отпечатайте 3D скобата
Отпечатайте 3D скобата

Отпечатайте 3D скобата, за да държите IR LED и IR фотодиодите. 3D файловете са тук и на Thingiverse.

www.thingiverse.com/thing:2765271

За Sienci Mill ъгловият монтаж се използва за монтиране на сензора към алуминиевите ъглови пръти, но плоският монтаж може да е по -добър за вашия проект.

Стъпка 2: По избор 3D печат на OLED дисплея и електронния корпус

По избор 3D печат на OLED дисплея и електронния корпус
По избор 3D печат на OLED дисплея и електронния корпус

Избирам да прикрепя OLED към ъглов държач на дисплея, който завинтвам върху горната част на корпус на Sienci Electronics.

Ето връзките към 3D отпечатаните части, които използвах.

Sienci Electronics корпус 3D част

Монтажна скоба за OLED дисплей 0,96"

Корпусът беше хубаво място за монтиране на скобата за OLED дисплей и държи добре Arduino Nano, плюс това се побира на гърба на мелницата Sienci. Пробих няколко дупки в горната част на корпуса, за да прикрепя OLED скобата.

Също така пробих няколко дупки в дъното, за да прокарам малка цип, за да закрепя здраво кабелния сноп

Стъпка 3: Изградете сглобяемия проводник на IR сензора

Изградете сглобката на проводника на IR сензора
Изградете сглобката на проводника на IR сензора

3-проводниковият проводник ще се използва за свързване на сензора. Един проводник ще бъде обща основа както за IR LED, така и за IR фотодиода, като всеки от другите два ще отиде до съответния си компонент.

Стъпка 4: Добавете токов ограничителен резистор за IR LED

Добавете токов ограничителен резистор за IR LED
Добавете токов ограничителен резистор за IR LED

IR LED изисква резистор за ограничаване на тока. Най -лесният начин е да включите резистора в проводника.

Огънете върховете на всеки в U-образна форма и ги блокирайте. Кримпвайте с клещи и след това ги запоявайте заедно.

Стъпка 5: Сглобени проводници за свързване

Свързващи проводници
Свързващи проводници
Свързващи проводници
Свързващи проводници

Можете да свържете кабелите на джъмпера, за да ги свържете към щифтовете на Arduino.

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

Плъзнете термосвиващата се тръба обратно през връзката (или целия резистор) и свийте тръбите, като използвате топлинен пистолет или пуснете пламък бързо върху тръбата, докато се свие. Ако използвате пламък, продължете да се движи бързо или може да започне да се топи.

Стъпка 6: Определете IR LED и фотодиодните проводници

Определете IR LED и фотодиодните проводници
Определете IR LED и фотодиодните проводници

И IR светодиодът, и IR фотодиодът изглеждат сходни, като всеки има дълъг (аноден или положителен) проводник и къс (катоден или отрицателен) проводник.

Стъпка 7: Поставете диодите в държача

Поставете диоди в държача
Поставете диоди в държача

Вземете IR LED (чист диод) и го поставете в един от отворите за държача на LED. Завъртете светодиода, така че дългият проводник да е отвън. На снимката можете да видите прозрачния светодиод в горния отвор с дългия му проводник в самия връх.

Вземете IR фотодиода (тъмен диод) и го поставете в другия отвор. Завъртете фотодиода, така че дългият му проводник да е в центъра.

Както е показано на снимката, късият проводник на светодиода и дългият проводник на фотодиода ще бъдат в центъра. Тези два проводника ще бъдат свързани към общ проводник обратно към arduino. (Вижте техническите бележки в края, ако искате повече подробности)

Вземете малко парче нишка от 1,75 и го поставете зад диодите. Това ще заключи диодите на място и ще ги предпази от въртене или излизане.

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

Стъпка 8: Закрепете заключващата нишка към държача

Предпазител на заключващата нишка към държача
Предпазител на заключващата нишка към държача

Ще искате да отрежете заключващото парче нишка само малко по -дълго от ширината на държача.

Загрейте пирон за няколко секунди в менгеме или го задръжте с клещи.

Стъпка 9: Натиснете края на нишката срещу загрятата глава на нокътя

Натиснете спиралата с нишка срещу загрятата глава на нокътя
Натиснете спиралата с нишка срещу загрятата глава на нокътя

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

Стъпка 10: Завършен държач за диоди

Завършен държач за диоди
Завършен държач за диоди

Изчерпан и спретнат

Стъпка 11: Прикрепете кабелния сноп към диодите

Прикрепете кабелния сноп към диодите
Прикрепете кабелния сноп към диодите
Прикрепете кабелния сноп към диодите
Прикрепете кабелния сноп към диодите

Подрежете проводника до дължината за вашето приложение. За мелницата Sienci ще ви трябват общо около 30 инча (~ 75 см) (тел + джъмпери) и ще имате хлабина, за да може рутерът да се движи.

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

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

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

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

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

Стъпка 12: Уверете се, че проводникът с резистора е прикрепен към дългия проводник на IR LED

Резисторът за ограничаване на тока (220 ома), вграден в кабелния сноп, трябва да бъде свързан към дългия (аноден) проводник на прозрачния IR LED. Проводникът, свързващ двата общи кабела, ще бъде свързан към земята, така че може да искате да използвате черен или гол проводник за тази връзка.

Запоявайте връзките, за да ги направите постоянни.

Стъпка 13: Свийте термосвиваемите тръби

Свийте термосвиваемите тръби
Свийте термосвиваемите тръби

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

Дръжте пламъка да се движи бързо, докато се свива и се върти, за да получите всички страни еднакво. Не се бавете или тръбите ще се стопят, вместо да се свият.

След като диодните проводници са свити, плъзнете малко по-големите термосвиваеми тръби от проводниците, през ставите и повторете свиването.

Стъпка 14: Подгответе монтажния блок

Подгответе монтажния блок
Подгответе монтажния блок

В зависимост от приложението ви, изберете монтажния блок, който отговаря на вашето приложение. За Since Mill изберете ъгловия монтажен блок.

Вземете гайка М2 и винт М2. Завийте гайката едва до края на винта.

Обърнете монтажния блок и проверете гайката M2 в отвора.

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

Развийте винта, оставяйки гайката вградена в пластмасовия монтажен блок. За допълнителна здравина нанесете капка супер лепило към ръба на гайката, за да прикрепите здраво гайката към блока.

Стъпка 15: Уверете се, че винтът M2 е с подходяща дължина

Уверете се, че винтът M2 е с подходяща дължина
Уверете се, че винтът M2 е с подходяща дължина

Уверете се, че винтът не е твърде дълъг или сензорът няма да се затегне към монтажния блок. За ъгловия монтажен блок се уверете, че винтът M2 е 9 мм или малко по -къс.

Стъпка 16: Прикрепете монтажния блок към CNC рутера

Прикрепете монтажния блок към CNC рутера
Прикрепете монтажния блок към CNC рутера

За Sienci Mill, прикрепете ъгловия монтажен блок към дъното на вътрешността на Z Rail с няколко капки супер лепило.

Стъпка 17: Прикрепете сензора към монтажния блок

Прикрепете сензора към монтажния блок
Прикрепете сензора към монтажния блок

Поставете регулируемото рамо в монтажния блок

Поставете винта М2 с шайба през слота в регулируемото монтажно рамо и го завийте в гайката.

Плъзнете регулируемото рамо, докато светодиодът и фотодиодите се изравнят с цанговата гайка на рутера

Затегнете винта

Стъпка 18: Добавете отразяваща лента към едната страна на гайката

Добавете отразяваща лента към едната страна на гайката
Добавете отразяваща лента към едната страна на гайката

Използвайте малка лента от алуминиева лента (използвана за канали на пещта) и я прикрепете към едната страна на цанговата гайка. Тази отразяваща лента ще позволи на IR оптичния сензор да улови единичен оборот на шпиндела.

Стъпка 19: Уверете се, че отразяващата лента не преминава през ръба до съседни фасети

Уверете се, че отразяващата лента не преминава през ръба до съседни фасети
Уверете се, че отразяващата лента не преминава през ръба до съседни фасети

Лентата трябва да бъде само от едната страна на цанговата гайка. Лентата е достатъчно тънка и лека, че не пречи на гаечния ключ да променя крайните фрези или да повлияе на баланса на шпиндела.

Стъпка 20: Прокарайте сензорния проводник по вътрешността на Z шината

Прокарайте проводника на сензора по вътрешността на Z -релсата
Прокарайте проводника на сензора по вътрешността на Z -релсата

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

Стъпка 21: Прикрепете сензора към Arduino Nano

Прикрепете сензора към Arduino Nano
Прикрепете сензора към Arduino Nano

Свържете проводниците към Arduino, както следва:

  • IR LED (с вграден резистор) -> Pin D3
  • IR фотодиод -> Пин D2
  • Общ проводник -> ПИН GND

Стъпка 22: Прикрепете джъмперните проводници към OLED дисплея

Прикрепете джъмперните проводници към OLED дисплея
Прикрепете джъмперните проводници към OLED дисплея

Издърпайте 4-жилен комплект от джъмперни кабели

Включете проводниците в 4 -те пина за интерфейса I2C:

  • VCC
  • GND
  • SCL
  • SDA

Стъпка 23: Прикрепете OLED дисплея към Arduino

Прикрепете OLED дисплея към Arduino
Прикрепете OLED дисплея към Arduino
Прикрепете OLED дисплея към Arduino
Прикрепете OLED дисплея към Arduino

Прикрепете проводниците на джъмпера към следните щифтове. Забележка: Тези проводници не се свързват всички към съседни щифтове, нито в същия ред.

  • VCC -> ПИН 5V
  • GND -> ПИН GND
  • SCL -> ПИН A5
  • SDA -> ПИН A4

Стъпка 24: Прикрепете OLED дисплея към държача му

Прикрепете OLED дисплея към държача му
Прикрепете OLED дисплея към държача му

Използвайки скобите, които сте отпечатали по -рано, прикрепете OLED дисплея към държача му

След това прикрепете дисплея към CNC рамката.

Стъпка 25: Подгответе Arduino IDE за зареждане на Arduino Sketch

Подгответе Arduino IDE за зареждане на скицата на Arduino
Подгответе Arduino IDE за зареждане на скицата на Arduino

Програма за Arduino се нарича скица. Интегрираната среда за разработка (IDE) за Arduinos е безплатна и трябва да се използва за зареждане на програмата за откриване на сензора и показване на оборотите.

Ако все още нямате, ето линк за изтегляне на Arduino IDE. Изберете версията за изтегляне 1.8.5 или по -нова.

Стъпка 26: Добавете необходимите OLED библиотеки

Добавете задължителните OLED библиотеки
Добавете задължителните OLED библиотеки

За да стартирате OLED дисплея, ще ви трябват няколко допълнителни библиотеки, библиотеката Adafruit_SSD1306 и библиотеката Adafruit-GFX. И двете библиотеки са безплатни и достъпни чрез предоставените връзки. Следвайте урока на Adafruit за това как да инсталирате библиотеките за вашия компютър.

След като библиотеките са инсталирани, те са достъпни за всяка скица на Arduino, която създавате.

Библиотеките Wire.h и Math.h са стандартни и автоматично се включват във вашата IDE инсталация.

Стъпка 27: Свържете Arduino към вашия компютър

Използвайки стандартен USB кабел, свържете Arduino Nano към компютъра си с Arduino IDE.

  1. Стартирайте IDE
  2. От менюто Tools изберете Board | Arduino Nano
  3. От менюто Инструменти изберете Порт |

Сега сте готови да заредите скицата, да я компилирате и да я качите в Nano

Стъпка 28: Изтеглете скицата на Arduino

Кодът на Arduino Sketch е прикачен и също е достъпен на моята страница на GitHub, където ще бъдат публикувани бъдещи подобрения.

Изтеглете файла OpticalTachometerOledDisplay.ino и го поставете в работна директория със същото име (минус.ino).

От IDE на Arduino изберете File | Отворете…

Придвижете се до работната си директория

Отворете файла OpticalTachometerOledDisplay.ino.ino.

Стъпка 29: Компилирайте скицата

Компилирайте скицата
Компилирайте скицата
Компилирайте скицата
Компилирайте скицата

Щракнете върху бутона „Провери“или изберете Sketch | Проверете/Компилирайте от менюто, за да компилирате скицата.

Трябва да видите областта за компилиране в долната част с лента на състоянието. След няколко секунди ще се покаже съобщението „Готовото компилиране“и някои статистически данни за това колко памет заема скицата. Не се притеснявайте за съобщението „Ниска налична памет“, това не засяга нищо. По -голямата част от паметта се използва от библиотеката GFX, необходима за изчертаване на шрифтовете на OLED дисплея, а не на самата скица.

Ако видите някои грешки, те най -вероятно са резултат от липсващи библиотеки или проблеми с конфигурацията. Проверете отново дали библиотеките са копирани в правилната директория за IDE.

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

Стъпка 30: Качете в Nano

Качете в Nano
Качете в Nano

Натиснете бутона „Стрелка“или изберете Sketch | Качете от менюто, за да компилирате и качите скицата.

Ще видите същото съобщение „Компилиране..“, последвано от съобщение „Качване..“и накрая съобщение „Готово качване“. Arduino започва да изпълнява програмата веднага след като качването приключи или веднага след като се включи захранването.

В този момент OLED дисплеят трябва да оживее с RPM: 0 дисплей с циферблат на нула.

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

Честито!

Стъпка 31: Използвайте специален източник на захранване

Използвайте специален източник на захранване
Използвайте специален източник на захранване
Използвайте специален източник на захранване
Използвайте специален източник на захранване

ЗАБЕЛЕЖКА: Това е източникът на сигналния шум, който е причинил нестабилните дисплеи на оборотите. Проучвам да сложа някои капачки на филтри върху захранващите джъмпери, но засега ще трябва да го захранвате чрез отделен USB кабел.

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

Имате няколко опции, можете да получите стандартно USB зарядно за стена и да стартирате Arduino от него.

Или можете да стартирате Arduino директно от електрониката на вашия CNC рутер. Дисплеят Arduino/OLED използва само 0,04 ампера, така че няма да претоварва съществуващата ви електроника.

Ако имате електроника на Arduino/CNC Router Shield (като Sienci Mill), тогава можете да използвате няколко неизползвани щифта, за да включите необходимите 5 волта мощност.

В горната лява страна на щита на CNC рутера можете да видите, че има няколко неизползвани щифта, обозначени с 5V/GND. Прикрепете чифт джъмперни кабели към тези два щифта.

Стъпка 32: Свържете Arduino към захранващите джъмпери

Свържете Arduino към захранващите джъмпери
Свържете Arduino към захранващите джъмпери
Свържете Arduino към захранващите джъмпери
Свържете Arduino към захранващите джъмпери

Тази е лесна, но не толкова красиво обозначена.

На Arduino Nano има набор от 6 пина в края на дъската. Те не са обозначени, но съм включил схемата за изваждане и можете да видите, че двата външни извода, които са най -близо до светодиодите на индикатора, са обозначени с GND и 5V на диаграмата.

Свържете джъмпера от 5V щифта на CNC щита към щифта, най -близък до този с етикет VIN (не го свързвайте към VIN, а към вътрешния ъглов щифт на групата от 6 пина). VIN е за захранване на Nano със захранване 7V-12V.

Свържете джъмпера от щифта GND на CNC щита към щифта, най -близък до щифта TX1.

Сега, когато включите електрониката на CNC рутера, дисплеят OLED RPM също ще се включи.

Стъпка 33: Технически бележки за веригата

Технически бележки за веригата
Технически бележки за веригата

Схемата на сензора използва двойка IR LED/IR фотодиоди.

IR LED работи като всеки обикновен LED. Положителният проводник (по -дългият или анодният) е свързан към положително напрежение. На Arduino Nano това е изходен щифт, настроен на HIGH. Отрицателният проводник (по -къс или катоден) е свързан към земята, за да завърши веригата. Тъй като светодиодите са чувствителни към твърде голям ток, малък резистор се поставя последователно със светодиода, за да се ограничи количеството ток. Този резистор може да бъде навсякъде във веригата, но е най -разумно да го поставите от положителната страна на веригата, тъй като отрицателният проводник споделя връзка със земята с фотодиода.

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

Важната разлика с фотодиодите е, че когато откриват светлина, фотодиодите ще позволят на електричеството да тече по всякакъв начин. Това свойство се използва за направата на светлинен детектор (в този случай инфрачервена светлина или IR). Инфрачервеният фотодиод е свързан в противоположна полярност (наречена обратно отклонение) с положителния 5V на щифта Arduino, свързан към отрицателния проводник на фотодиода, а положителният проводник е свързан чрез общ проводник заедно с инфрачервения светодиод към земята.

Без IR светлина, IR фотодиодът блокира електричеството, позволявайки на щифта Arduino с вътрешния си резистор да бъде във ВИСОКО състояние. Когато инфрачервеният фотодиод открие инфрачервена светлина, той позволява на електричеството да тече, заземявайки щифта и причинявайки ВИСОКАТА стойност на фотодиодния щифт да падне надолу към земята, причинявайки падащ ръб, който Arduino може да открие.

Тази промяна на състоянието на щифта Arduino се използва в скицата за преброяване на оборотите.

Лентата от алуминиева лента върху цанговата гайка отразява инфрачервената светлина от винаги включения IR LED обратно към IR фотодиода всеки път, когато се завърти покрай сензора.

Стъпка 34: Технически бележки за скицата на Arduino

Скицата на Arduino управлява OLED дисплея и едновременно реагира на IR LED/IR фотодиоден сензор.

Sketch инициализира OLED дисплея в целия протокол I2C (Inter-Integrated Circuit). Този протокол позволява множество дисплеи/сензори да споделят връзка и могат да четат или пишат на определено свързано устройство с минимум проводници (4). Тази връзка намалява броя на връзките между Arduino и OLED дисплея.

След това включва IR LED, като задава този щифт HIGH, осигуряващ 5V, необходими за светодиода.

Той прикрепя функция за прекъсване към щифт, който се извиква, когато открие промяна в състоянието на този пин. В този случай функцията incrementRevolution () се извиква всеки път, когато на Pin 2 бъде открит FALLING edge.

Функцията за прекъсване прави точно това, което предполага, прекъсва всичко, което се прави в момента, изпълнява функцията и след това възобновява действието точно там, където е била прекъсната. Функциите за прекъсване трябва да бъдат възможно най -кратки, в този случай просто добавя един към променлива на брояча. Малкото Arduino Nano работи на 16Mhz - 16 милиона цикъла в секунда - достатъчно бързо, за да се справи с прекъсването от 30 000 RPM, което е само 500 оборота в секунда.

Функцията Loop () е основната функция за действие за всяка скица на Arduino. Той се извиква непрекъснато, отново и отново, докато Arduino има мощност. Той получава текущото време, проверява дали е изминал определен интервал (1/4 секунда = 250 милисекунди). Ако е така, той извиква функцията updateDisplay (), за да покаже новата стойност на RPM.

Функцията за цикъл също ще затъмни дисплея след 1 минута и ще изключи дисплея след 2 минути - напълно конфигуриран в кода.

Функциите updateDisplay () извикват функцията CalcuRpm (). Тази функция взема броя на оборотите, които функцията за прекъсване постоянно увеличава и изчислява оборотите, като определя скоростта на оборотите за интервал от време и екстраполира това към броя обороти в минута.

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

Константите в горната част на скицата могат да бъдат променени, ако искате циферблат с обороти с различни основни и второстепенни стойности.

Интервалът на актуализиране и средният интервал също могат да бъдат променяни.

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