Talaan ng mga Nilalaman:

Measurino: isang Pagsukat sa Gulong Patunay ng Konsepto: 9 Mga Hakbang
Measurino: isang Pagsukat sa Gulong Patunay ng Konsepto: 9 Mga Hakbang

Video: Measurino: isang Pagsukat sa Gulong Patunay ng Konsepto: 9 Mga Hakbang

Video: Measurino: isang Pagsukat sa Gulong Patunay ng Konsepto: 9 Mga Hakbang
Video: Dapat mong malaman bago bumili ng gulong | Basic Motorcycle Tire Guide | 2024, Hulyo
Anonim
Measurino: isang Pagsukat sa Gulong na Patunay ng Konsepto
Measurino: isang Pagsukat sa Gulong na Patunay ng Konsepto

Binibilang lamang ni Measurino ang bilang ng mga pag-ikot ng isang gulong at ang distansya na nilakbay ay direktang proporsyonal sa radius ng gulong mismo. Ito ang pangunahing prinsipyo ng isang Odometer at sinimulan ko ang proyektong ito pangunahin upang pag-aralan kung paano panatilihin ang circuit (hawakan ng isang Arduino microcontroller), katugma sa maraming saklaw ng distansya, mula sa millimeter hanggang sa mga kilometro, at upang suriin ang mga posibleng problema o pagpapabuti.

Hakbang 1: Mga Bahagi at Mga Bahagi

  • Arduino Nano rev.3
  • 128 × 64 OLED diplay (SSD1306)
  • Karagdagang Photoelectric Rotary Encoder (400P / R)
  • Goma ng goma para sa modelo ng sasakyang panghimpapawid (51mm dia)
  • 2 pushbuttons
  • 9v na baterya

Hakbang 2: Ang Encoder

Ang Encoder
Ang Encoder
Ang Encoder
Ang Encoder

Para sa proyektong ito nasubukan ko ang maraming murang rotary encoder, ngunit agad ko itong tinapon dahil sa mga isyu sa katumpakan / pagkasensitibo. Kaya't nagpunta ako sa DFRobot's Incremental Photoelectric Rotary Encoder - 400P / R SKU: SEN0230. Ito ay isang pang-industriya incremental photoelectric rotary encoder na may materyal na aluminyo, metal shell at stainless steel shaft. Bumubuo ito ng AB two-phase orthogonal pulse signal sa pamamagitan ng pag-ikot ng grating disk at optocoupler. 400 pulso / bilog para sa bawat yugto, at 1600 pulso / bilog para sa dalawahan-phase na 4 na beses na output. Sinusuportahan ng rotary encoder na ito ang bilis ng max 5000 r / min. At maaari itong magamit para sa bilis, anggulo, anggular na tulin at iba pang pagsukat ng data.

Ang encoder ng rotary na photoelectric ay may isang bukas na output ng kolektor ng NPN, kaya kailangan mong gumamit ng mga resistor na pullup o paganahin ang panloob na paghugot ng Arduino. Gumagamit ito ng 750L05 voltage regulator chip, na mayroong isang DC4.8V-24V malawak na saklaw na pag-input.

Hakbang 3: Sensitivity

Pagkamapagdamdam
Pagkamapagdamdam

Ang Optoelectric Rotary Encoder na ito ay talagang may mahusay na pagiging sensitibo, na ginagawang perpekto para sa control-shaft at pagpoposisyon ng mga application. Ngunit para sa aking hangarin ito ay sobrang bait. Sa pamamagitan ng isang 51mm na gulong, ang encoder na ito ay may isang pagkasensitibo na 0.4mm, na nangangahulugang kung ang kamay mo ay may kaunting panginginig, maitatala ang mga ito. Kaya't binawasan ko ang pagiging sensitibo sa pamamagitan ng pagdaragdag ng isang hysteresis sa nakagambala na gawain:

walang bisa makagambala ()

{char i; i = digitalRead (B_PHASE); kung (i == 1) bilangin + = 1; kung hindi man ay bilangin - = 1; kung (abs (count)> = hysteresis) {flag_A = flag_A + count; bilangin = 0; }}

Ang trick na ito ay sapat na upang magbigay ng isang mahusay na katatagan sa panukala.

Hakbang 4: Pagsukat

Piliin ang iyong Unit of Measure (Decimal o Imperial) at pagkatapos ay iposisyon lamang ang gulong gamit ang contact point nito sa simula ng iyong panukalang-batas, pindutin ang I-reset ang pushbutton at panatilihin itong umiikot hanggang sa katapusan. Mula kaliwa hanggang kanan ang pagtaas ng panukala at pag-aayos, para sa kanan pakaliwa ay nababawasan at nababawas. Maaari mong sukatin din ang mga bagay na curve (ang hugis ng iyong kotse, ang handrail ng isang spiral staircase, ang haba ng iyong braso mula sa balikat hanggang sa pulso gamit ang baluktot ng siko, atbp.).

Ang isang buong pag-ikot ng isang gulong na may diameter = D ay susukatin ang isang haba ng D * π. Sa aking kaso, na may isang 51mm na gulong, ito ay 16.02cm at ang bawat tik ay sumusukat sa 0.4mm (tingnan ang talata sa Sensitivity).

Hakbang 5: Pagtitipon

Ang PoC ay ginawa sa isang breadboard upang maipakita ang circuitry. Ang bawat sangkap ay na-attach sa board at ang rotary encoder ay konektado sa isang 2x2 Pole Screw Terminal Block. Ang baterya ay isang 9v standard na baterya at ang kabuuang pagkonsumo ng kuryente ng circuit ay nasa paligid ng 60mA.

Hakbang 6: Code

Para sa display, ginamit ko ang U8g2lib na kung saan ay napaka-kakayahang umangkop at malakas para sa ganitong uri ng mga pagpapakita ng OLED, na pinapayagan ang isang malawak na pagpipilian ng mga font at mahusay na paggana ng pagpoposisyon. Hindi ako nag-aksaya ng labis na oras sa pagpunan ng display sa mga impormasyon, dahil ito ay isang Poc lamang.

Upang mabasa ang encoder, gumagamit ako ng mga nakakagambala na nabuo ng isa sa 2 yugto: sa tuwing gumagalaw ang encoder shaft, bumubuo ito ng isang nakakagambala sa Arduino na nakatali sa pagtaas ng salpok.

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

Ang display ay awtomatikong lumilipat mula sa millimeter, sa metro, sa kilometro at (kung napili mula sa pushbutton) mula sa pulgada, hanggang sa yarda, hanggang sa milya, habang ang pushbutton ng RST ay naitatakda ang sukat sa zero.

Hakbang 7: Mga Skematika

Mga Skema
Mga Skema

Hakbang 8: Mula sa PoC hanggang sa Produksyon

Bakit ito isang Patunay ng Konsepto? Beacuse ng maraming mga pagpapabuti na maaaring / dapat gawin bago magtayo ng isang buong kagamitan na gumagana. Tingnan natin ang lahat ng mga posibleng pagpapabuti sa mga detalye:

  • Gulong. Ang pagiging sensitibo / katumpakan ng Measurino ay nakasalalay sa gulong. Ang isang mas maliit na gulong ay maaaring magbigay sa iyo ng mas mahusay na katumpakan sa pagsukat ng maliliit na lenghts (sa pagkakasunud-sunod ng millimeter hanggang sent sentimo). Ang isang mas malaking gulong na may isang extension boom ay magbibigay-daan upang maglakad sa kalsada at sukatin ang mga kilometro. Para sa maliliit na gulong, ang materyal ay dapat isaalang-alang: ang isang gulong na buong goma ay maaaring bahagyang mabago at makakaapekto sa katumpakan, kaya't sa kasong iyon ay magmumungkahi ako ng isang aluminyo / bakal na gulong na may isang manipis na tape lamang upang maiwasan ang mga pagdulas. Sa isang walang kabuluhan na pag-edit ng software (piliin ang tamang diameter ng gulong na may switch), maaari mong isaalang-alang ang mga interchageable na gulong upang umangkop sa anumang panukala, sa pamamagitan ng paggamit ng isang 4-pin na konektor (ibig sabihin: usb port).
  • Software. Sa pamamagitan ng pagdaragdag ng isa pang pushbutton, ang software ay maaari ding mag-ingat sa pagsukat ng mga lugar ng mga parihaba o anggulo ng amplitude. Pinapayuhan ko din na magdagdag ng isang pindutan ng "Hold" upang ma-freeze ang panukala sa dulo, pag-iwas na hindi sinasadyang ilipat ang gulong bago basahin ang halaga sa display.
  • Palitan ang gulong ng isang spool. Para sa mga maiikling hakbang (sa loob ng ilang metro) ang gulong ay maaaring mapalitan ng isang springed spool na naglalaman ng thread o tape. Sa ganitong paraan kailangan mo lamang hilahin ang thread (ginagawang paikutin ang shaft ng encoder), sukatin at panoorin ang display.
  • Magdagdag ng display ng estado ng baterya. Ang 3.3v Arduino reference pin (tumpak sa loob ng 1%) ay maaaring magamit bilang isang batayan para sa ADC converter. Kaya, sa pamamagitan ng paggawa ng isang analog sa digital na conversion sa 3.3V pin (sa pamamagitan ng pagkonekta nito sa A1) at pagkatapos ay ihinahambing ang pagbabasa na ito laban sa pagbabasa mula sa sensor, maaari nating i-extrapolate ang isang true-to-life na pagbasa, hindi mahalaga kung ano ang VIN (basta nasa itaas ng 3.4V). Ang isang gumaganang halimbawa ay maaaring matagpuan sa iba pang proyekto ko.

Hakbang 9: Image Gallery

Inirerekumendang: