INHOUDSOPGAWE:

Measurino: 'n meetwielbewys van konsep: 9 stappe
Measurino: 'n meetwielbewys van konsep: 9 stappe

Video: Measurino: 'n meetwielbewys van konsep: 9 stappe

Video: Measurino: 'n meetwielbewys van konsep: 9 stappe
Video: क्या होता है यह GESTATIONAL SAC (HINDI) 2024, November
Anonim
Measurino: 'n meetwielbewys van konsep
Measurino: 'n meetwielbewys van konsep

Measurino tel eenvoudig die aantal rotasies van 'n wiel en die afgelegde afstand is direk eweredig aan die radius van die wiel self. Dit is die basiese beginsel van 'n kilometerteller en ek het hoofsaaklik met hierdie projek begin om te ondersoek hoe om die stroombaan (hanteer deur 'n Arduino -mikrobeheerder) versoenbaar te hou met verskillende afstande, van millimeter tot kilometers, en om moontlike probleme of verbeterings te evalueer.

Stap 1: Onderdele en komponente

  • Arduino Nano rev.3
  • 128 × 64 OLED diplay (SSD1306)
  • Inkrementele foto -elektriese roterende enkodeerder (400P/R)
  • Rubberwiel vir modelvliegtuie (51 mm dia)
  • 2 drukknoppies
  • 9v battery

Stap 2: Die enkodeerder

Die Encoder
Die Encoder
Die Encoder
Die Encoder

Vir hierdie projek het ek verskeie goedkoop roterende encoders getoets, maar ek het dit onmiddellik weggegooi weens probleme met presisie/sensitiwiteit. Ek het dus na die DFRobot se inkrementele foto -elektriese roterende enkodeerder gegaan - 400P/R SKU: SEN0230. Dit is 'n industriële inkrementele foto -elektriese roterende encoder met aluminium materiaal, metaal dop en vlekvrye staal as. Dit genereer AB twee-fase ortogonale polssignaal deur die rotasie van die roosterskyf en optokoppelaar. 400 pulse/rondte vir elke fase, en 1600 pulse/ronde vir dubbel-fase 4 keer uitset. Hierdie roterende encoder ondersteun 'n maksimum spoed van 5000 r/min. En dit kan gebruik word vir spoed, hoek, hoeksnelheid en ander meting van data.

Die foto-elektriese roterende encoder het 'n NPN-oop kollektor-uitgang, dus u moet pullup-weerstande gebruik of die interne Arduino se optrek moontlik maak. Dit gebruik 'n 750L05-spanningsreguleerder-chip, wat 'n DC4.8V-24V kragreeks het.

Stap 3: Gevoeligheid

Gevoeligheid
Gevoeligheid

Hierdie opto-elektriese roterende enkodeerder het 'n uitstekende sensitiwiteit, wat dit perfek maak vir asbestuur en posisionering van toepassings. Maar vir my doel was dit te verstandig. Met 'n 51 mm -wiel het hierdie encoder 'n sensitiwiteit van 0,4 mm, wat beteken dat as u met die hand minimale bewing het, dit aangeteken word. Dus het ek die sensitiwiteit verlaag deur 'n histerese in die onderbrekingsroetine by te voeg:

leemte onderbreek ()

{char i; i = digitalRead (B_PHASE); as (i == 1) tel += 1; anders tel -= 1; as (abs (telling)> = histerese) {flag_A = flag_A+telling; telling = 0; }}

Hierdie truuk was genoeg om 'n goeie stabiliteit aan die maat te gee.

Stap 4: Meting

Kies u maateenheid (desimaal of imperiaal) en plaas dan die wiel met sy kontakpunt aan die begin van u maat, druk die Reset -drukknop en laat dit draai tot die einde. Van links na regs neem die maat toe en som dit op, vir regs na links neem dit af en aftrek. U kan ook voorwerpe met kromme meet (u motorvorm, die leuning van 'n wenteltrap, die lengte van u arm van die skouer tot by die pols met die elmboog gebuig, ens.).

'N Volle rotasie van 'n wiel met deursnee = D meet 'n lengte van D*π. In my geval, met 'n 51 mm -wiel, is dit 16,02 cm en elke bosluis meet 0,4 mm (sien Sensitivity -paragraaf).

Stap 5: Monteer

Die PoC is op 'n broodbord gemaak om die stroombane te demonstreer. Elke komponent is op die bord aangebring en die draaikodeerder is aan 'n 2x2 -polige skroefklemmenblok gekoppel. Die battery is 'n 9v standaardbattery en die totale kragverbruik van die kring is ongeveer 60mA.

Stap 6: Kode

Vir die skerm het ek die U8g2lib gebruik, wat baie buigsaam en kragtig is vir hierdie soort OLED -skerms, wat 'n wye verskeidenheid lettertipes en goeie posisioneringsfunksies moontlik maak. Ek het nie te veel tyd gemors om die skerm vol inligting te maak nie, want dit was net 'n Poc.

Om die encoder te lees, gebruik ek onderbrekings wat deur een van die twee fases gegenereer word: elke keer as die encoder -as beweeg, genereer dit 'n onderbreking vir Arduino wat verband hou met die styging van die impuls.

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

Die skerm skakel outomaties oor van millimeter, na meters, na kilometers en (as dit uit die drukknop gekies word) van duim, na meters, na myle, terwyl die RST -drukknop die maat op nul stel.

Stap 7: Skema's

Skemas
Skemas

Stap 8: Van PoC tot produksie

Waarom is dit 'n bewys van konsep? Omdat daar baie verbeterings is wat gedoen kan word voordat 'n volledig funksionerende toerusting gebou kan word. Kom ons kyk na alle moontlike verbeterings in besonderhede:

  • Wiel. Die sensitiwiteit/presisie van Measurino hang af van die wiel. 'N Kleiner wiel kan u 'n beter presisie gee in die meting van klein lengtes (in die orde van millimeter tot sentimeter). Met 'n veel groter wiel met 'n verlengstuk kan u op die pad loop en kilometers aflê. Vir klein wiele moet die materiaal in ag geneem word: 'n vol-rubber wiel kan effens vervorm en die presisie beïnvloed, so in hierdie geval sal ek 'n aluminium/staal wiel met 'n dun band voorstel om glip te voorkom. Met 'n triviale sagteware-wysiging (kies die korrekte wieldiameter met 'n skakelaar), kan u oorweeg om tussen die wiele te pas om by elke maat aan te pas, met behulp van 'n 4-pins-aansluiting (dws usb-poort).
  • Sagteware. Deur nog 'n drukknop by te voeg, kan die sagteware ook sorg vir die meting van oppervlaktes van reghoeke of hoekamplitude. Ek raai u ook aan om 'n "Hou" -knoppie by te voeg om die maat aan die einde te vries, en vermy om die wiel per ongeluk te beweeg voordat u die waarde op die skerm lees.
  • Vervang die wiel met 'n spoel. Vir kort maatreëls (binne 'n paar meter) kan die wiel vervang word met 'n veerspoel met draad of band. Op hierdie manier hoef u net aan die draad te trek (sodat die encoder -as draai), die maat meet en op die skerm kyk.
  • Voeg die weergawe van die batterystatus by. Die 3.3v Arduino -verwysingspen (akkuraat binne 1%) kan as basis vir die ADC -omskakelaar gebruik word. Dus, deur 'n analoog na digitale omskakeling te doen op die 3.3V-pen (deur dit aan A1 te koppel) en dan hierdie lesing te vergelyk met die lesing van die sensor, kan ons 'n lewensgetroue les ekstrapoleer, ongeag wat VIN is (solank dit bo 3.4V is). 'N Werkende voorbeeld kan gevind word in hierdie ander projek van my.

Stap 9: Beeldgalery

Aanbeveel: