Turinys:

„Measurino“: matavimo rato koncepcijos įrodymas: 9 žingsniai
„Measurino“: matavimo rato koncepcijos įrodymas: 9 žingsniai

Video: „Measurino“: matavimo rato koncepcijos įrodymas: 9 žingsniai

Video: „Measurino“: matavimo rato koncepcijos įrodymas: 9 žingsniai
Video: Wonky Proportions? Use Your Pencil! 2024, Liepa
Anonim
„Measurino“: matavimo rato koncepcijos įrodymas
„Measurino“: matavimo rato koncepcijos įrodymas

„Measurino“tiesiog suskaičiuoja rato apsisukimų skaičių, o nuvažiuotas atstumas yra tiesiogiai proporcingas paties rato spinduliui. Tai yra pagrindinis odometro principas, ir aš pradėjau šį projektą daugiausia norėdamas ištirti, kaip išlaikyti grandinę (tvarkomą „Arduino“mikrovaldikliu), suderinamą su keliais atstumais, nuo milimetrų iki kilometrų, ir įvertinti galimas problemas ar patobulinimus.

1 žingsnis: dalys ir komponentai

  • Arduino Nano rev.3
  • 128 × 64 OLED diplay (SSD1306)
  • Papildomas fotoelektrinis sukamasis kodavimo įrenginys (400P/R)
  • Guminis ratas orlaivių modeliams (skersmuo 51 mm)
  • 2 mygtukai
  • 9v baterija

2 žingsnis: kodavimo įrenginys

Kodavimo priemonė
Kodavimo priemonė
Kodavimo priemonė
Kodavimo priemonė

Šiam projektui aš išbandžiau keletą pigių rotacinių kodavimo įrenginių, tačiau dėl tikslumo/jautrumo problemų juos iš karto išmečiau. Taigi aš nuėjau į „DFRobot“papildomą fotoelektrinį sukamąjį kodavimo įrenginį - 400P/R SKU: SEN0230. Tai pramoninis papildomas fotoelektrinis rotacinis kodavimo įrenginys su aliuminio medžiaga, metaliniu apvalkalu ir nerūdijančio plieno velenu. Sukdamas grotelių diską ir optroną, jis sukuria AB dviejų fazių stačiakampio impulso signalą. 400 impulsų per raundą kiekvienai fazei ir 1600 impulsų per ciklą, jei išvestis yra dviejų fazių 4 kartus. Šis sukamasis kodavimo įrenginys palaiko maksimalų 5000 aps/min greitį. Jis gali būti naudojamas greičiui, kampui, kampiniam greičiui ir kitiems duomenims matuoti.

Fotoelektrinis sukamasis kodavimo įrenginys turi NPN atvirojo kolektoriaus išėjimą, todėl turite naudoti traukimo rezistorius arba įjungti vidinį „Arduino“traukimą. Jis naudoja 750L05 įtampos reguliatoriaus lustą, kuris turi DC4.8V-24V plataus diapazono maitinimo šaltinį.

3 žingsnis: jautrumas

Jautrumas
Jautrumas

Šis sukamasis optoelektrinis kodavimo įrenginys yra tikrai labai jautrus, todėl puikiai tinka veleno valdymui ir padėties nustatymui. Bet mano tikslui tai buvo per daug protinga. Naudojant 51 mm ratuką, šio kodavimo prietaiso jautrumas yra 0,4 mm, o tai reiškia, kad jei rankos drebulys yra minimalus, jie bus įrašomi. Taigi aš sumažinau jautrumą, įtraukdamas histerezę į pertraukos procedūrą:

negaliojantis pertraukimas ()

{char i; i = digitalRead (B_PHASE); jei (i == 1) skaičius += 1; kitaip skaičiuok -= 1; if (abs (skaičius)> = histerezė) {flag_A = flag_A+count; skaičius = 0; }}

Šio triuko pakako, kad priemonė būtų gerai stabili.

4 žingsnis: matavimas

Pasirinkite matavimo vienetą (dešimtainį arba imperinį), tada matavimo pradžioje padėkite ratą su kontaktiniu tašku, paspauskite mygtuką „Atstatyti“ir sukite iki galo. Iš kairės į dešinę matas padidėja ir apibendrina, iš dešinės į kairę - sumažėja ir atimamas. Taip pat galite matuoti išlenktus objektus (automobilio formą, spiralinių laiptų turėklus, rankos ilgį nuo peties iki riešo sulenkus alkūnę ir kt.).

Visiškas rato, kurio skersmuo = D, sukimasis išmatuos D*π ilgį. Mano atveju su 51 mm ratuku tai yra 16,02 cm, o kiekviena erkė yra 0,4 mm (žr. Jautrumo pastraipą).

5 žingsnis: Surinkimas

PoC buvo sukurtas ant duonos lentos, kad būtų parodyta grandinė. Kiekvienas komponentas buvo pritvirtintas prie plokštės, o sukamasis kodavimo įrenginys prijungtas prie 2x2 polių varžtų gnybtų bloko. Baterija yra standartinė 9 V baterija, o visos grandinės energijos sąnaudos yra apie 60 mA.

6 žingsnis: kodas

Ekranui naudoju U8g2lib, kuris yra labai lankstus ir galingas tokio tipo OLED ekranams, leidžiantis platų šriftų pasirinkimą ir geras padėties nustatymo funkcijas. Negaišau per daug laiko užpildydamas ekraną informacija, nes tai buvo tik Poc.

Norėdami skaityti kodavimo įrenginį, naudoju pertraukas, kurias sukuria viena iš dviejų fazių: kiekvieną kartą, kai kodavimo velenas juda, jis sukuria pertrauką „Arduino“, susietą dėl impulso kilimo.

attachInterrupt (digitalPinToInterrupt (A_PHASE), pertraukimas, RISING);

Ekranas automatiškai persijungia iš milimetrų į metrus, į kilometrus ir (jei pasirinktas iš mygtuko) iš colių, į jardus, į mylių, o RST mygtukas atstato matavimą į nulį.

7 žingsnis: schemos

Schemos
Schemos

8 žingsnis: nuo PoC iki gamybos

Kodėl tai yra koncepcijos įrodymas? Dėl daugybės patobulinimų, kuriuos būtų galima/reikia padaryti prieš statant pilnai veikiančią įrangą. Pažvelkime į visus galimus patobulinimus išsamiai:

  • Ratas. „Measurino“jautrumas/tikslumas priklauso nuo rato. Mažesnis ratas gali suteikti jums didesnį tikslumą matuojant mažus ilgius (nuo milimetrų iki centimetrų). Daug didesnis ratas su prailginimo strėle leis vaikščioti keliu ir matuoti kilometrus. Kalbant apie mažus ratus, reikia atsižvelgti į medžiagą: visiškai guminis ratas gali šiek tiek deformuotis ir turėti įtakos tikslumui, todėl tokiu atveju aš siūlau aliuminio/plieno ratą su tik plona juostele, kad išvengtumėte slydimo. Atliekant trivialų programinės įrangos redagavimą (jungikliu pasirinkite tinkamą rato skersmenį), galite apsvarstyti galimybę sujungti ratus, kad jie prisitaikytų prie bet kokios priemonės, naudodami 4 kontaktų jungtį (pvz., USB prievadą).
  • Programinė įranga. Pridėjus dar vieną mygtuką, programinė įranga taip pat galėtų pasirūpinti stačiakampių ar kampų amplitudės plotų matavimu. Taip pat patariu pridėti „Hold“mygtuką, kad matas būtų užšaldytas pabaigoje, vengiant netyčia pasukti ratą prieš skaitant vertę ekrane.
  • Pakeiskite ratą ritine. Trumpai (keli metrai) ratą galima pakeisti spirale, kurioje yra siūlai ar juosta. Tokiu būdu jums tereikia ištraukti sriegį (sukant kodavimo veleną), išmatuoti ir žiūrėti ekrane.
  • Pridėkite akumuliatoriaus būsenos ekraną. 3.3 V „Arduino“etaloninis kaištis (tikslumas ne didesnis kaip 1%) gali būti naudojamas kaip ADC keitiklio pagrindas. Taigi, atlikdami analoginio skaitmeninio konvertavimą į 3.3V kaištį (prijungę jį prie A1) ir tada palyginę šį rodmenį su jutiklio rodmenimis, galime ekstrapoliuoti tikrovišką rodmenį, nesvarbu, koks yra VIN (jei jis yra didesnis nei 3,4 V). Veiksmingą pavyzdį galima rasti šiame kitame mano projekte.

9 veiksmas: vaizdų galerija

Rekomenduojamas: