Turinys:
- 1 veiksmas: 1 veiksmas: 1 Užtikrinkite jutiklių ir prietaisų darbo sąlygas
- 2 žingsnis: kaip tai veikia?
- 3 veiksmas: užprogramuokite „Arduino“naudodami „Arduino IDE“
- 4 žingsnis: modeliavimas naudojant „Proteus“
- 5 žingsnis: aparatinės įrangos vykdymas
Video: Variklio greičio matavimas naudojant „Arduino“: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Ar sunku išmatuoti variklio apsisukimus? Aš nemanau. Štai vienas paprastas sprendimas.
Jūsų rinkinyje gali tai padaryti tik vienas IR jutiklis ir „Arduino“.
Šiame įraše pateiksiu paprastą pamoką, paaiškinančią, kaip išmatuoti bet kurio variklio apsisukimų dažnį naudojant IR jutiklį ir „Arduino UNO/nano“
Priedai:
1. „Arduion uno“(„Amazon“) / „Arduion nano“(„Amazon“)
2. IR jutiklis („Amazon“)
3. DC variklis bet koks („Amazon“)
4. LCD 16*2 („Amazon“)
Naudojami įrankiai
1. Lituoklis („Amazon“)
2. Vielos nuėmiklis („Amazon“)
1 veiksmas: 1 veiksmas: 1 Užtikrinkite jutiklių ir prietaisų darbo sąlygas
Kas yra IR jutiklis? IR jutiklis yra elektroninis prietaisas, skleidžiantis šviesą, kad jaustų tam tikrą aplinkos objektą. IR jutiklis gali išmatuoti objekto šilumą ir aptikti judesį. Paprastai infraraudonųjų spindulių spektre visi objektai skleidžia tam tikrą šiluminę spinduliuotę. Šio tipo spinduliai mūsų akims nematomi, tačiau infraraudonųjų spindulių jutiklis gali aptikti šias spinduliuotes.
Nuolatinės srovės (DC) variklis yra elektros mašinos tipas, kuris elektros energiją paverčia mechanine energija. Nuolatinės srovės varikliai ima elektros energiją per nuolatinę srovę ir šią energiją paverčia mechaniniu sukimu.
Nuolatinės srovės varikliai naudoja magnetinius laukus, atsirandančius dėl sukurtų elektros srovių, o tai lemia rotoriaus, pritvirtinto išėjimo velene, judėjimą. Išėjimo momentas ir greitis priklauso nuo elektros įėjimo ir variklio konstrukcijos.
Kas yra Arduino?
„Arduino“yra atviro kodo elektronikos platforma, pagrįsta lengvai naudojama aparatine ir programine įranga. „Arduino“plokštės gali skaityti įvestis - šviesą ant jutiklio, pirštą ant mygtuko ar „Twitter“pranešimą - ir paversti ją išvestimi - suaktyvinti variklį, įjungti šviesos diodą, ką nors paskelbti internete. Galite pasakyti savo valdybai, ką daryti, išsiųsdami instrukcijų rinkinį į plokštėje esantį mikrovaldiklį. Norėdami tai padaryti, naudokite „Arduino“programavimo kalbą (pagrįstą laidų jungtimi) ir „Arduino“programinę įrangą (IDE), pagrįstą apdorojimu.
Parsisiųsti ARDUINO IDE
2 žingsnis: kaip tai veikia?
Taigi kokia logika slypi už to ??
Jis veikia daug panašiai kaip kodavimo įrenginys. Pradedantiesiems sunku suprasti kodavimo įrenginius. Viskas, ką jums reikia žinoti, yra tai, kad IR jutiklis generuoja impulsą, ir mes išsiaiškiname laiko intervalą tarp kiekvieno impulso.
Tokiu atveju infraraudonųjų spindulių jutiklis siunčia impulsą „Arduino“, kai jo IR spindulys yra sulaikomas su variklių sraigtais. Paprastai mes naudojame sraigtus su dviem ašmenimis, bet aš naudoju sraigtus su trimis mentėmis, kaip parodyta paveikslėlyje. priklausomai nuo sraigto menčių skaičiaus, skaičiuojant apsisukimų dažnį, turime pakeisti kai kurias vertes.
pagalvokime, kad turime sraigtą, kuris turi du mentes. Kiekvieno apsisukimo variklio ašmenys du kartus sulaiko IR spindulį. Taigi IR jutiklis skleis impulsus, kai tik perims.
Dabar turime parašyti programą, kuri galėtų išmatuoti IR jutiklio sukurtus impulsus tam tikru laiko intervalu.
Yra daugiau nei vienas problemos sprendimo būdas, tačiau turime pasirinkti, kuris iš šių kodų yra geriausias. Išmatavau trukmę tarp pertraukų (IR jutiklis). Naudojau „micros“() funkcijas, norėdamas išmatuoti impulsų trukmę mikrosekundėmis.
šią formulę galite naudoti norėdami išmatuoti RPM RPM = ((1/trukmė)*1000*1000*60)/ašmenys
kur, trukmė - laiko intervalas tarp impulsų.
60 sekundžių iki minučių
1000 - malūnas iki sek
1000 - mikro iki malūno
mentės - sparnų skaičius sraigte.
LCD ekranas - „Arduino“atnaujina LCD ekrano komandų ir duomenų registrus. Kuris LCD ekrane rodo ASCII simbolius.
3 veiksmas: užprogramuokite „Arduino“naudodami „Arduino IDE“
#įtraukti
„LiquidCrystal lcd“(9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR jutiklis INPUT unsigned long prevmicros; // Ilgai laikyti nepasirašytą laiką; // Norėdami išsaugoti laiko skirtumą unsigned long lcdrefresh; // Norėdami išsaugoti laiką, kol LCD atnaujins int rpm; // RPM reikšmė loginė srovė; // Dabartinė IR įvesties nuskaitymo loginė būsena; // IR jutiklio būsena ankstesnėje nuskaitymo void sąrankoje () {pinMode (IR_IN, INPUT); LCD. pradžia (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// RPM Matavimo srovės stipris = digitalRead (IR_IN); // Skaitykite infraraudonųjų spindulių jutiklio būseną, jei (išankstinė būsena! = Dabartinė būsena) // Jei įvestis pasikeičia {if (srovės stipris == LOW) // Jei įvestis keičiasi tik iš HIGH į LOW {duration = (micros () - prevmicros); // Laiko skirtumas tarp apsisukimų mikrosekundžių aps/min = ((60000000/trukmė)/3); // aps/ min = (1/ laiko milis)*1000*1000*60; prevmicros = mikros (); // saugoti laiką nect revoliucijai apskaičiuoti}} prevstate = currentstate; // išsaugokite šiuos nuskaitymo (ankstesnio nuskaitymo) duomenis kitam nuskaitymui ///////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// LCD ekranas, jei ((milis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print („Variklio greitis“); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (aps / min); lcdrefresh = milis (); }}
4 žingsnis: modeliavimas naudojant „Proteus“
Šis projektas puikiai veikė, kai bandžiau tai imituoti naudodamas proteus.
Vietoj IR jutiklio aš naudojau nuolatinės srovės impulsų generatorių, kuris imituos IR impulsą, panašų į tą, kuris susidaro, kai IR spinduliai patenka į sraigto mentes.
turite keisti savo programą, priklausomai nuo naudojamo jutiklio
IR jutiklis su LM358 turi naudoti šią komandą.
if (currentstate == HIGH) // Jei įvestis keičiasi tik iš LOW į HIGH
IR jutiklis su LM359 turi naudoti šią komandą.
if (currentstate == LOW) // Jei įvestis keičiasi tik iš HIGH į LOW
5 žingsnis: aparatinės įrangos vykdymas
Schematiškai naudokite modeliavimo paveikslėlius arba nurodykite programos kodus ir atitinkamai prijunkite. Įkelkite programos kodą į „Arduino“ir išmatuokite bet kurio variklio apsisukimų dažnį. Sekite mano kitą įrašą ir žiūrėkite mano „YouTube“kanalą.
Rekomenduojamas:
Nuo 24 V nuolatinės srovės variklio iki didelio greičio universalaus variklio (30 voltų): 3 žingsniai
24 V nuolatinės srovės variklis į didelės spartos universalųjį variklį (30 voltų): Sveiki! Šiame projekte aš išmokysiu jus, kaip įprastą žaislinį 24 V nuolatinės srovės variklį paversti 30 V universaliu varikliu. Asmeniškai manau, kad vaizdo demonstravimas geriausiai apibūdina projektą . Taigi, vaikinai, aš rekomenduočiau jums pirmiausia pažiūrėti vaizdo įrašą. V projektas
Kaip paleisti „Drone Quadcopter“bešepetį nuolatinį variklį naudojant „HW30A“bešepetėlių variklio greičio valdiklį ir servo testerį: 3 žingsniai
Kaip paleisti „Drone Quadcopter“bešepetį nuolatinį variklį naudojant „HW30A“bešepetėlių variklio greičio valdiklį ir „Servo Tester“: Aprašymas: Šis įrenginys vadinamas „Servo Motor Tester“, kuris gali būti naudojamas servo varikliui paleisti, tiesiog prijungus servo variklį ir į jį tiekiant maitinimą. Prietaisas taip pat gali būti naudojamas kaip elektros greičio reguliatoriaus (ESC) signalų generatorius, tada jūs negalite
Kaip valdyti „Drone Quadcopter“bešepetį nuolatinės srovės variklį (3 laidų tipas) naudojant „HW30A“variklio greičio valdiklį ir „Arduino UNO“: 5 žingsniai
Kaip valdyti „Drone Quadcopter“bešepetį nuolatinės srovės variklį (3 laidų tipas) naudojant HW30A variklio greičio reguliatorių ir „Arduino UNO“: Aprašymas: HW30A variklio greičio reguliatorių galima naudoti su 4–10 NiMH/NiCd arba 2-3 ląstelių LiPo baterijomis. BEC veikia iki 3 LiPo ląstelių. Jis gali būti naudojamas valdyti bešepetėlių nuolatinės srovės variklio (3 laidų) greitį, maksimaliai iki 12 V nuolatinės srovės
Nuolatinės srovės variklio krypties ir greičio valdymas naudojant LABVIEW (PWM) ir ARDUINO: 5 žingsniai
Nuolatinės srovės variklio krypties ir greičio valdymas, naudojant LABVIEW (PWM) IR ARDUINO: Sveiki, vaikinai, pirmiausia atsiprašau už juokingą anglų kalbą. Šioje pamokoje aš jums parodysiu, kaip valdyti nuolatinės srovės variklio greitį naudojant „Labview“. Pradėkime
Nuolatinės srovės variklio greičio valdymas naudojant PID algoritmą (STM32F4): 8 žingsniai (su paveikslėliais)
Nuolatinės srovės variklio greičio valdymas naudojant PID algoritmą (STM32F4): sveiki visi! Šį kartą jis yra STM32F407 kaip MC. Tai semestro vidurio projektas. Tikimės, kad jums tai patinka. Tam reikia daug sąvokų ir teorijos, todėl pirmiausia į tai eisime. Atsiradus kompiuteriams ir