Съдържание:

Measurino: измервателно колело Доказателство за концепцията: 9 стъпки
Measurino: измервателно колело Доказателство за концепцията: 9 стъпки

Видео: Measurino: измервателно колело Доказателство за концепцията: 9 стъпки

Видео: Measurino: измервателно колело Доказателство за концепцията: 9 стъпки
Видео: Екипаж (драма, филм за катастрофа, реж. Александър Мита, 1979) 2024, Юли
Anonim
Measurino: измервателно колело, доказателство за концепцията
Measurino: измервателно колело, доказателство за концепцията

Measurino просто брои броя на завъртанията на колелото и изминатото разстояние е право пропорционално на радиуса на самото колело. Това е основният принцип на одометъра и започнах този проект главно, за да проуча как да поддържам веригата (управлявана от микроконтролер Arduino), съвместима с няколко диапазона от разстояния, от милиметри до километри, и да оценя евентуални проблеми или подобрения.

Стъпка 1: Части и компоненти

  • Arduino Nano rev.3
  • 128 × 64 OLED diplay (SSD1306)
  • Инкрементален фотоелектричен въртящ се енкодер (400P/R)
  • Гумено колело за модел самолет (диаметър 51 мм)
  • 2 бутона
  • 9v батерия

Стъпка 2: Енкодерът

Енкодерът
Енкодерът
Енкодерът
Енкодерът

За този проект тествах няколко евтини ротационни енкодера, но веднага ги изхвърлих поради проблеми с прецизността/чувствителността. Затова отидох на Инкременталния фотоелектричен въртящ се енкодер на DFRobot - 400P/R SKU: SEN0230. Това е индустриален инкрементален фотоелектричен въртящ се енкодер с алуминиев материал, метална обвивка и вал от неръждаема стомана. Той генерира двуфазен ортогонален импулсен сигнал AB чрез въртене на решетъчния диск и оптрон. 400 импулса/кръг за всяка фаза и 1600 импулса/кръг за двуфазен 4-кратен изход. Този въртящ се енкодер поддържа максимална скорост 5000 об/мин. И може да се използва за измерване на скорост, ъгъл, ъглова скорост и други данни.

Фотоелектрическият въртящ се енкодер има изход NPN с отворен колектор, така че трябва да използвате издърпващи резистори или да активирате вътрешното изтегляне на Arduino. Той използва чип за регулатор на напрежение 750L05, който има входяща мощност DC4.8V-24V в широк диапазон.

Стъпка 3: Чувствителност

Чувствителност
Чувствителност

Този оптоелектричен въртящ се енкодер има наистина голяма чувствителност, което го прави идеален за приложения за управление на вала и позициониране. Но за моята цел беше твърде разумно. С 51 мм колело, този енкодер има чувствителност от 0,4 мм, което означава, че ако ръката ви има минимални трептения, те ще бъдат записани. Затова намалих чувствителността, като добавих хистерезис в рутината за прекъсване:

void прекъсване ()

{char i; i = digitalRead (B_PHASE); if (i == 1) count += 1; else count -= 1; if (abs (брой)> = хистерезис) {flag_A = flag_A+брой; брой = 0; }}

Този трик беше достатъчен, за да даде добра стабилност на мярката.

Стъпка 4: Измерване

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

Пълното въртене на колело с диаметър = D ще измерва дължината на D*π. В моя случай, с 51 мм колело, това е 16,02 см и всяко отметка е с размери 0,4 мм (виж параграф за чувствителност).

Стъпка 5: Сглобяване

PoC е направен на макет, за да демонстрира схемата. Всеки компонент е прикрепен към платката и въртящият се енкодер е свързан към 2x2 полюсен винтов клемен блок. Батерията е 9v стандартна батерия и общата консумация на енергия на веригата е около 60mA.

Стъпка 6: Код

За дисплея използвах U8g2lib, който е много гъвкав и мощен за този вид OLED дисплеи, позволяващ богат избор от шрифтове и добри функции за позициониране. Не губех твърде много време в попълването на дисплея с информация, тъй като това беше просто Poc.

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

attachInterrupt (digitalPinToInterrupt (A_PHASE), прекъсване, RISING);

Дисплеят автоматично превключва от милиметри, на метри, на километри и (ако е избран от бутона) от инчове, в ярди, в мили, докато бутонът RST нулира мярката до нула.

Стъпка 7: Схеми

Схеми
Схеми

Стъпка 8: От PoC до производство

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

  • Колело. Чувствителността/прецизността на Measurino зависи от колелото. По -малкото колело може да ви даде по -добра точност при измерване на малки дължини (от порядъка на милиметри до сантиметри). Много по -голямо колело с удължителна стрела ще позволи да ходите по пътя и да измервате километри. За малките колела трябва да се вземе предвид материалът: колело с пълна гума може леко да се деформира и да повлияе на прецизността, така че в този случай ще предложа алуминиево/стоманено колело само с тънка лента, за да се избегне приплъзване. С тривиално редактиране на софтуер (изберете правилния диаметър на колелото с превключвател), можете да помислите за взаимозаменяеми колела, за да се адаптирате към всяка мярка, като използвате 4-пинов конектор (т.е. USB порт).
  • Софтуер. Чрез добавяне на друг бутон, софтуерът може също така да се погрижи за измерване на области на правоъгълници или амплитуди на ъглите. Съветвам също да добавите бутон "Задържане", за да замразите мярката в края, като избягвате неволното преместване на колелото, преди да прочетете стойността на дисплея.
  • Сменете колелото с макара. За кратки мерки (в рамките на няколко метра) колелото може да бъде заменено с пружинена макара, съдържаща нишка или лента. По този начин просто трябва да издърпате конеца (карайки вала на енкодера да се върти), да вземете мярката си и да наблюдавате на дисплея.
  • Добавете показване на състоянието на батерията. Референтният щифт 3.3V Arduino (с точност до 1%) може да се използва като основа за ADC конвертора. Така че, като правим аналогово-цифрово преобразуване на 3.3V щифт (като го свържем към A1) и след това сравняваме това отчитане с показанията от сензора, можем да екстраполираме истинско отчитане, без значение какъв е VIN (стига да е над 3.4V). Работен пример може да се намери в този друг мой проект.

Стъпка 9: Галерия с изображения

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