Indholdsfortegnelse:
- Trin 1: Dele og komponenter
- Trin 2: Koderen
- Trin 3: Følsomhed
- Trin 4: Måling
- Trin 5: Samling
- Trin 6: Kode
- Trin 7: Skemaer
- Trin 8: Fra PoC til produktion
- Trin 9: Billedgalleri
Video: Measurino: et målehjul Bevis for koncept: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Measurino tæller simpelthen antallet af omdrejninger på et hjul, og den tilbagelagte afstand er direkte proportional med selve hjulets radius. Dette er det grundlæggende princip for et kilometertæller, og jeg har hovedsageligt startet dette projekt for at studere, hvordan man holder kredsløbet (håndteret af en Arduino mikrokontroller) kompatibelt med flere afstande fra millimeter til kilometer og for at evaluere mulige problemer eller forbedringer.
Trin 1: Dele og komponenter
- Arduino Nano rev.3
- 128 × 64 OLED diplay (SSD1306)
- Inkrementel fotoelektrisk roterende encoder (400P/R)
- Gummihjul til modelfly (51 mm i diameter)
- 2 trykknapper
- 9v batteri
Trin 2: Koderen
Til dette projekt har jeg testet flere billige roterende encodere, men jeg kasserede dem straks på grund af præcisions-/følsomhedsproblemer. Så jeg gik til DFRobots Incremental Photoelectric Rotary Encoder - 400P/R SKU: SEN0230. Dette er en industriel inkrementel fotoelektrisk roterende encoder med aluminiumsmateriale, metalskal og rustfrit stålaksel. Det genererer AB tofaset ortogonalt pulssignal gennem rotation af gitterskiven og optokobleren. 400 impulser/runde for hver fase og 1600 impulser/runde for dobbeltfase 4 gange output. Denne roterende encoder understøtter max 5000 r/min hastighed. Og den kan bruges til hastighed, vinkel, vinkelhastighed og andre datamålinger.
Den fotoelektriske roterende encoder har en NPN åben kollektorudgang, så du skal bruge pullup-modstande eller aktivere den interne Arduino's pull-up. Det bruger 750L05 spændingsregulatorchip, der har en DC4.8V-24V bred indgangseffekt.
Trin 3: Følsomhed
Denne optoelektriske roterende encoder har virkelig en stor følsomhed, hvilket gør den perfekt til akselstyring og positionering af applikationer. Men til mit formål var det for meget fornuftigt. Med et 51 mm hjul har denne encoder en følsomhed på 0,4 mm, hvilket betyder, at hvis du hånden har minimale rysten, vil de blive registreret. Så jeg sænkede følsomheden ved at tilføje en hysterese i afbrydelsesrutinen:
tomrumsafbrydelse ()
{char i; i = digitalRead (B_PHASE); hvis (i == 1) tæller += 1; andet tæller -= 1; hvis (abs (count)> = hysterese) {flag_A = flag_A+count; count = 0; }}
Dette trick var nok til at give målingen en god stabilitet.
Trin 4: Måling
Vælg din måleenhed (decimal eller kejserlig), og placer derefter hjulet med dets kontaktpunkt i starten af din måling, tryk på knappen Nulstil og lad det dreje til slutningen. Fra venstre mod højre stiger og summerer målingen, for højre til venstre falder og trækkes det. Du kan også måle kurveobjekter (din bilform, gelænderet på en vindeltrappe, armens længde fra skulderen til håndleddet med albuen bøjet osv.).
En fuld rotation af et hjul med diameter = D måler en længde på D*π. I mit tilfælde, med et 51 mm hjul, er dette 16,02 cm, og hver flåt måler 0,4 mm (se afsnittet Følsomhed).
Trin 5: Samling
PoC er blevet lavet på et brødbræt for at demonstrere kredsløbet. Hver komponent er blevet fastgjort på brættet, og den roterende encoder er forbundet til en 2x2 polskrueterminalblok. Batteriet er et 9v standardbatteri, og det samlede strømforbrug i kredsløbet er omkring 60mA.
Trin 6: Kode
Til displayet brugte jeg U8g2lib, som er meget fleksibel og kraftfuld til denne form for OLED -skærme, hvilket giver et bredt udvalg af skrifttyper og gode placeringsfunktioner. Jeg spildte ikke for meget tid på at fylde displayet op med information, da dette kun var en Poc.
For at læse encoderen bruger jeg afbrydelser genereret af en af de 2 faser: hver gang koderakslen bevæger sig, genererer den en afbrydelse til Arduino, der er knyttet til impulsens stigning.
attachInterrupt (digitalPinToInterrupt (A_PHASE), interrupt, RISING);
Displayet skifter automatisk fra millimeter til meter til kilometer og (hvis det vælges fra trykknappen) fra inches til yards til miles, mens RST -knappen nulstiller målingen til nul.
Trin 7: Skemaer
Trin 8: Fra PoC til produktion
Hvorfor er dette et bevis på koncept? På grund af mange forbedringer, der kunne/bør foretages, før man bygger et fuldt fungerende udstyr. Lad os se alle mulige forbedringer i detaljer:
- Hjul. Measurinos følsomhed/præcision afhænger af hjulet. Et mindre hjul kan give dig en bedre præcision ved måling af små længder (i størrelsesordenen millimeter til centimeter). Et meget større hjul med en forlængelsesbom gør det muligt at gå på vejen og måle kilometer. For små hjul skal materialet overvejes: et fuldgummihjul kan deformere lidt og påvirke præcisionen, så i så fald vil jeg foreslå et aluminium/stålhjul med kun et tyndt bånd for at undgå glid. Med en triviel software-redigering (vælg den korrekte hjuldiameter med en switch), kan du overveje interchageable hjul til at tilpasse sig ethvert mål ved hjælp af et 4-benet stik (dvs. usb-port).
- Software. Ved at tilføje en anden trykknap kunne softwaren også tage sig af måling af områder med rektangler eller vinkler amplitude. Jeg råder også til at tilføje en "Hold" -knap for at fastfryse målingen for enden, og undgå at utilsigtet bevæge hjulet, før du læser værdien på displayet.
- Udskift hjulet med en spole. Ved korte foranstaltninger (inden for få meter) kunne hjulet udskiftes med en fjedret spole indeholdende tråd eller tape. På denne måde skal du bare trække i tråden (få encoderakslen til at rotere), tage dit mål og se på displayet.
- Tilføj visning af batteristatus. 3.3v Arduino referencepinden (præcis inden for 1%) kan bruges som en base for ADC -konverteren. Så ved at lave en analog til digital konvertering på 3,3V-stiften (ved at tilslutte den til A1) og derefter sammenligne denne aflæsning med aflæsningen fra sensoren, kan vi ekstrapolere en virkelighedstro læsning, uanset hvad VIN er (så længe den er over 3,4V). Et fungerende eksempel kunne findes i dette andet projekt af mig.
Trin 9: Billedgalleri
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Grundlæggende om motoren - Koncept super let at forstå med et eksperiment: 7 trin (med billeder)
Grundlæggende om motoren | Koncept Super let at forstå med et eksperiment: I denne instruktive vil jeg lære dig om det underliggende grundlæggende princip for motorer. Alle motorer omkring os arbejder efter dette princip. Selv generatorer arbejder på gengældende erklæring om denne regel. Jeg taler om Flemings venstrehåndede ru
Arduino bil (koncept): 4 trin
Arduino -bil (koncept): Jeg kan bruge en Arduino -bil til automatisk at styre Bluetooth via en mobilapp. Med denne app kan du bruge motorerne til at bruge. Du kan angive mængder, han skal trænge til med appens grader af hjørne, så du kan give den, hvordan han skal