Innholdsfortegnelse:
- Trinn 1: Deler og komponenter
- Trinn 2: Koderen
- Trinn 3: Følsomhet
- Trinn 4: Måling
- Trinn 5: Montering
- Trinn 6: Kode
- Trinn 7: Skjemaer
- Trinn 8: Fra PoC til produksjon
- Trinn 9: Bildegalleri
Video: Measurino: a Measuring Wheel Proof of Concept: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Measurino teller ganske enkelt antall rotasjoner av et hjul, og distansen som er tilbakelagt er direkte proporsjonal med radiusen til selve hjulet. Dette er det grunnleggende prinsippet for en kilometerteller, og jeg har startet dette prosjektet hovedsakelig for å studere hvordan kretsen (håndteres av en Arduino mikrokontroller), kompatibel med flere distanser, fra millimeter til kilometer, og for å evaluere mulige problemer eller forbedringer.
Trinn 1: Deler og komponenter
- Arduino Nano rev.3
- 128 × 64 OLED diplay (SSD1306)
- Inkrementell fotoelektrisk roterende encoder (400P/R)
- Gummihjul for modellfly (51 mm dia)
- 2 trykknapper
- 9v batteri
Trinn 2: Koderen
For dette prosjektet har jeg testet flere billige rotorkodere, men jeg kastet dem umiddelbart på grunn av presisjons-/følsomhetsproblemer. Så jeg gikk til DFRobots inkrementelle fotoelektriske roterende encoder - 400P/R SKU: SEN0230. Dette er en industriell inkrementell fotoelektrisk roterende encoder med aluminiumsmateriale, metallskall og rustfritt stålaksel. Det genererer AB tofaset ortogonalt pulssignal gjennom rotasjon av gitterskiven og optokobleren. 400 pulser/runde for hver fase, og 1600 pulser/runde for tofase 4 ganger utgang. Denne roterende encoderen støtter maks 5000 r/min hastighet. Og den kan brukes til hastighet, vinkel, vinkelhastighet og andre datamålinger.
Den fotoelektriske roterende encoderen har en NPN åpen kollektorutgang, så du må bruke pullup-motstander eller aktivere den interne Arduino-pull-up. Den bruker 750L05 spenningsregulatorbrikke, som har en DC4.8V-24V bred inngangseffekt.
Trinn 3: Følsomhet
Denne optoelektriske rotorkoderen har virkelig en stor følsomhet, noe som gjør den perfekt for akselkontroll og posisjonering. Men for mitt formål var det for mye fornuftig. Med et 51 mm hjul har denne koderen en følsomhet på 0,4 mm, noe som betyr at hvis du hånden har minimale skjelvinger, blir de registrert. Så jeg senket følsomheten ved å legge til en hysterese i avbruddsrutinen:
ugyldig avbrudd ()
{char i; i = digitalRead (B_PHASE); hvis (i == 1) teller += 1; annet teller -= 1; hvis (abs (count)> = hysterese) {flag_A = flag_A+count; telle = 0; }}
Dette trikset var nok til å gi tiltaket en god stabilitet.
Trinn 4: Måling
Velg din måleenhet (desimal eller imperial), og plasser deretter hjulet med kontaktpunktet i begynnelsen av målingen, trykk på tilbakestillingsknappen og la det rotere til slutten. Fra venstre til høyre øker og summerer målingen, for høyre til venstre reduseres og trekkes det. Du kan også måle kurveobjekter (bilformen din, rekkverket til en vindeltrapp, armlengden fra skulderen til håndleddet med albuen bøyd, etc.).
En full rotasjon av et hjul med diameter = D vil måle en lengde på D*π. I mitt tilfelle, med et 51 mm hjul, er dette 16,02 cm og hver flått måler 0,4 mm (se avsnittet Følsomhet).
Trinn 5: Montering
PoC har blitt laget på et brødbrett for å demonstrere kretsene. Hver komponent er festet på brettet og den roterende omkoderen er koblet til en 2x2 polskrueklemme. Batteriet er et 9v standardbatteri og det totale strømforbruket til kretsen er rundt 60mA.
Trinn 6: Kode
For skjermen brukte jeg U8g2lib som er veldig fleksibel og kraftig for denne typen OLED -skjermer, noe som gir et bredt utvalg av fonter og gode posisjoneringsfunksjoner. Jeg brukte ikke så mye tid på å fylle opp displayet med informasjon, ettersom dette bare var en Poc.
For å lese koderen bruker jeg avbrudd generert av en av de to fasene: hver gang koderakselen beveger seg, genererer den en avbrudd til Arduino knyttet til impulsens stigning.
attachInterrupt (digitalPinToInterrupt (A_PHASE), interrupt, RISING);
Displayet skifter automatisk fra millimeter, til meter, til kilometer og (hvis valgt fra trykknappen) fra tommer, til meter, til miles, mens RST -knappen tilbakestiller målet til null.
Trinn 7: Skjemaer
Trinn 8: Fra PoC til produksjon
Hvorfor er dette et bevis på konsept? På grunn av mange forbedringer som kan/bør gjøres før du bygger et fullt fungerende utstyr. La oss se alle mulige forbedringer i detaljer:
- Hjul. Følsomheten/presisjonen til Measurino er avhengig av hjulet. Et mindre hjul kan gi deg bedre presisjon når du måler små lengder (i størrelsesorden millimeter til centimeter). Et mye større hjul med forlengelsesbom gjør det mulig å gå på veien og måle kilometer. For små hjul må materialet vurderes: et fullgummihjul kan deformere litt og påvirke presisjonen, så i så fall vil jeg foreslå et aluminium/stålhjul med bare et tynt tape for å unngå sklir. Med en triviell programvare-redigering (velg riktig hjuldiameter med en bryter), kan du vurdere interchageable hjul for å tilpasse seg ethvert mål ved å bruke en 4-pinners kontakt (dvs. usb-port).
- Programvare. Ved å legge til en annen trykknapp, kan programvaren også ta seg av måling av områder med rektangler eller vinkler amplitude. Jeg anbefaler også å legge til en "Hold" -knapp for å fryse målingen på slutten, og unngå å utilsiktet bevege hjulet før du leser verdien på displayet.
- Bytt hjulet med en tråd. Ved korte tiltak (innen få meter) kan hjulet byttes ut med en fjæret spole som inneholder tråd eller tape. På denne måten trenger du bare å trekke i tråden (få encoderakselen til å rotere), ta mål og se på displayet.
- Legg til visning av batteristatus. 3.3v Arduino referansepinne (nøyaktig innen 1%) kan brukes som en base for ADC -omformeren. Så ved å gjøre en analog til digital konvertering på 3,3V-pinnen (ved å koble den til A1) og deretter sammenligne denne avlesningen med avlesningen fra sensoren, kan vi ekstrapolere en sant til virkelighet, uansett hva VIN er (så lenge den er over 3,4V). Et fungerende eksempel kan bli funnet i dette andre prosjektet mitt.
Trinn 9: Bildegalleri
Anbefalt:
Monty - the Maker Faire Measuring Monster: 6 trinn (med bilder)
Monty - The Maker Faire Measuring Monster: Vi elsker å gå til Maker Faires, men 2020 har bestemt noe annet. Så i stedet bygger vi en passende erstatning som heter Monty, som vil fange atmosfæren og dele den med alle
Arduino Alarm - Cat Proof: 6 trinn
Arduino Alarm - Cat Proof: Katter kan være flotte. De kan være så utrolig kosete, uklare og morsomme. Men når de starter på et prosjekt, kan de være utrolig vanskelige å avskrekke. Hvilken bedre måte å avskrekke en katt enn et bevegelsesfølsomt lys og lyd? I denne leksjonen lærer du
Siste MacOS/Hackintosh High Sierra 10.13 Usb Wifi Driver "Future Proof" -løsning ved bruk av Raspberry Pi: 4 trinn
Siste MacOS/Hackintosh High Sierra 10.13 Usb Wifi Driver "Future Proof" løsning ved bruk av Raspberry Pi: Et av de mest frustrerende problemene med den nyeste macOS/Hackintosh er usb wifi driver tilgjengelig. Jeg har 3 wifi usb, ikke noen av dem fungerer på det siste macOS High Sierra 10.13 Min siste usb wifi er panda -trådløs, men driverstøtten for macO
Omni Wheel Robot Gripper Mechanism (Concept): 7 trinn
Omni Wheel Robot Gripper Mechanism (Concept): Dette er Omni Wheel Robot Gripper, og har som mål å forbedre robotgripermekanismen ved bruk av hjul (som matcher temaet for denne konkurransen), og som et bevis på konseptet gjennom Solidworks -modellen. Imidlertid har jeg ikke ressurser og
The Manta Drive: Proof-of-concept for a ROV Propulsion System .: 8 trinn (med bilder)
The Manta Drive: Proof-of-concept for a ROV Propulsion System .: Hvert nedsenkbart kjøretøy har svakheter. Alt som stikker hull i skroget (dør, kabel) er en potensiell lekkasje, og hvis noe må både stikke hull i skroget og bevege seg samtidig, multipliseres potensialet for lekkasje. Denne instruksen skisserer