Բովանդակություն:
- Քայլ 1: Քայլ. 1 Ապահովեք տվիչների և սարքերի աշխատանքային վիճակը
- Քայլ 2: Ինչպե՞ս է այն աշխատում:
- Քայլ 3. Programրագրեք ձեր Arduino- ն ՝ օգտագործելով Arduino IDE- ն
- Քայլ 4: Proteus- ի օգտագործմամբ մոդելավորում
- Քայլ 5: Սարքաշարի կատարում
Video: Շարժիչի արագության չափում Arduino- ի միջոցով. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Դժվա՞ր է շարժիչի rpm- ը չափելը ??? Կարծում եմ `ոչ: Ահա մեկ պարզ լուծում.
Միայն մեկ IR սենսոր և ձեր հանդերձանքի Arduino- ն կարող են դա անել:
Այս գրառման մեջ ես կտամ մի պարզ ձեռնարկ, որը բացատրում է, թե ինչպես չափել ցանկացած շարժիչի RPM- ն ՝ օգտագործելով IR սենսոր և Arduino UNO/nano:
Պարագաներ:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR սենսոր (Amazon)
3. DC շարժիչ ցանկացած (Amazon)
4. LCD 16*2 (Amazon)
Օգտագործված գործիքներ
1. Sոդման երկաթ (Amazon)
2. Wire Stripper (Amazon)
Քայլ 1: Քայլ. 1 Ապահովեք տվիչների և սարքերի աշխատանքային վիճակը
Ի՞նչ է IR սենսորը IR սենսորը էլեկտրոնային սարք է, որը լույս է արձակում `շրջակա միջավայրի ինչ -որ առարկա զգալու համար: IR սենսորը կարող է չափել օբյեկտի ջերմությունը, ինչպես նաև հայտնաբերել շարժումը: Սովորաբար, ինֆրակարմիր սպեկտրում բոլոր օբյեկտները ճառագայթում են ջերմային ճառագայթման ինչ -որ ձև: Այս տեսակի ճառագայթներն անտեսանելի են մեր աչքերի համար, սակայն ինֆրակարմիր տվիչը կարող է հայտնաբերել այդ ճառագայթումները:
Ի՞նչ է DC շարժիչը: Ուղղակի հոսանքի (DC) շարժիչը էլեկտրական մեքենայի տեսակ է, որը էլեկտրական էներգիան փոխակերպում է մեխանիկական էներգիայի: DC շարժիչները էլեկտրական էներգիա են ստանում ուղիղ հոսանքի միջոցով և այդ էներգիան փոխակերպում են մեխանիկական պտույտի:
DC շարժիչներն օգտագործում են մագնիսական դաշտեր, որոնք առաջանում են առաջացած էլեկտրական հոսանքներից, ինչը հզորացնում է ելքային լիսեռի մեջ ամրացված ռոտորի շարժը: Ելքային ոլորող մոմենտը և արագությունը կախված են ինչպես էլեկտրական մուտքից, այնպես էլ շարժիչի նախագծումից:
Ի՞նչ է Arduino- ն:
Arduino- ն բաց կոդով էլեկտրոնիկայի հարթակ է, որը հիմնված է հեշտ օգտագործման ապարատային և ծրագրային ապահովման վրա: Arduino- ի տախտակները կարող են կարդալ մուտքերը `լույս սենսորի վրա, մատը կոճակի վրա կամ Twitter հաղորդագրություն, և այն վերածել ելքի` ակտիվացնելով շարժիչը, միացնելով LED- ը, ինչ -որ բան հրապարակելով առցանց: Դուք կարող եք ասել ձեր տախտակին, թե ինչ պետք է անի ՝ մի շարք հրահանգներ ուղարկելով տախտակի վրա գտնվող միկրոկառավարիչին: Դա անելու համար դուք օգտագործում եք Arduino ծրագրավորման լեզուն (հիմնված է լարերի վրա) և Arduino ծրագրային ապահովման վրա (IDE) ՝ հիմնված մշակման վրա:
Ներբեռնեք ARDUINO IDE- ն
Քայլ 2: Ինչպե՞ս է այն աշխատում:
Այսպիսով, ո՞րն է դրա տրամաբանությունը:
Այն շատ նման է կոդավորողին: Սկսնակների համար կոդավորողները դժվար է հասկանալ: Այն, ինչ ձեզ հարկավոր է իմանալ, այն է, որ IR սենսորը առաջացնում է զարկերակ, և մենք պարզում ենք յուրաքանչյուր զարկերակի միջև ընկած ժամանակահատվածը:
Այս դեպքում IR սենսորը զարկերակ կուղարկի Arduino- ին, երբ երբևէ նրա IR ճառագայթը խոչընդոտվի շարժիչների պտուտակներով: Սովորաբար մենք օգտագործում ենք երկու շեղբեր ունեցող պտուտակներ, բայց ես օգտագործել եմ երեք շեղբերով պտուտակներ, ինչպես ցույց է տրված նկարում: կախված պտուտակի շեղբերների քանակից, մենք պետք է փոփոխենք որոշ արժեքներ RPM հաշվարկելիս:
Եկեք համարենք, որ մենք ունենք պտուտակ, որն ունի երկու շեղբեր: Յուրաքանչյուր հեղափոխական շարժիչի համար սայրը երկու անգամ կհասցնի IR ճառագայթը: Այսպիսով, IR սենսորը երբ երբ որ ընդհատումներ անի, իմպուլսներ կարտադրի:
Այժմ մենք պետք է գրենք մի ծրագիր, որը կարող է չափել IR սենսորի արտադրած թվային իմպուլսները որոշակի ժամանակային ընդմիջումով:
Խնդիրը լուծելու մեկից ավելի եղանակներ կան, բայց մենք պետք է ընտրենք, թե որն է լավագույնը այս ծածկագրերում: Ես չափել եմ ընդհատումների միջև տևողությունը (IR սենսոր) Ես միկրո () գործառույթների միջոցով չափել եմ իմպուլսների տևողությունը միկրո վայրկյանում:
կարող եք օգտագործել այս բանաձևը ՝ RPMRPM = ((1/տևողությունը)*1000*1000*60)/շեղբեր չափելու համար
որտեղ, տևողությունը - իմպուլսների միջև ընկած ժամանակահատվածը:
60 - վայրկյանից րոպե
1000 - միլից վրկ
1000 - միկրո դեպի ջրաղաց
շեղբեր - պտուտակի մեջ թևեր չկան:
LCD էկրան - Arduino- ն թարմացնում է LCD էկրանին հրամանների և տվյալների գրանցամատյանները: Որը ցուցադրում է ASCII նիշերը LCD էկրանին:
Քայլ 3. Programրագրեք ձեր Arduino- ն ՝ օգտագործելով Arduino IDE- ն
#ներառում
LiquidCrystal LCD (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR սենսոր INPUT անստորագիր երկար պրևմիկրո; // unsամանակը անստորագիր երկար տևելու համար. // differenceամային տարբերությունը չստորագրված երկար lcdrefresh պահելու համար; // cամանակ պահելու համար, որպեսզի LCD- ը թարմացնի int rpm- ը; // RPM արժեքը բուլյան ընթացիկ վիճակ; // IR մուտքի սկանավորման ներկա վիճակը boolean prevstate; // IR սենսորի վիճակը նախորդ սկանավորման դատարկության պարամետրում () {pinMode (IR_IN, INPUT); lcd. սկսել (16, 2); prevmicros = 0; prevstate = OWԱOWՐ; } void loop () {////////////////////////////////////////// ///////////////////////////////////// RPM Չափման ընթացիկ վիճակ = digitalRead (IR_IN); // Կարդացեք IR սենսորի վիճակը if (prevstate! = Currentstate) // Եթե մուտքի մեջ փոփոխություն կա {if (currentstate == LOW) // Եթե մուտքը միայն HIGH- ից ցածր է փոխվում {duration = (micros () - prevmicros); // revolutionամանակի տարբերությունը միկրովայրկյան rpm- ում պտույտի միջև = ((60000000/տևողություն)/3); // rpm = (1/ անգամ միլիլ)*1000*1000*60; prevmicros = micros (); // պահեստավորել ժամանակ նեկտի հեղափոխության հաշվարկման համար}} prevstate = currentstate; // պահեք այս սկանավորման (նախորդ սկանավորման) տվյալները հաջորդ սկանավորման համար /////////////////////////////////// ///////////////////////////////////////////////// LCD Display if ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Շարժիչի արագություն»); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}
Քայլ 4: Proteus- ի օգտագործմամբ մոդելավորում
Այս նախագիծը հիանալի աշխատեց, երբ ես փորձեցի նմանակել այն proteus- ի օգնությամբ:
IR սենսոր օգտագործելու փոխարեն ես օգտագործեցի DC զարկերակային գեներատոր, որը նմանակելու է IR զարկերակին նմանվող գեներատորին, երբ IR ճառագայթները հարվածում են պտուտակների շեղբերին:
դուք պետք է փոփոխություններ կատարեք ձեր ծրագրում ՝ կախված ձեր օգտագործած սենսորից
LM358- ով IR սենսորը պետք է օգտագործի այս հրամանը:
if (currentstate == HIGH) // Եթե մուտքագրումը փոխվում է միայն LOW- ից HIGH- ի
LM359- ով IR սենսորը պետք է օգտագործի այս հրամանը:
if (currentstate == LOW) // Եթե մուտքագրումը փոխվում է միայն HIGH- ից LOW- ի
Քայլ 5: Սարքաշարի կատարում
Սխեմատիկ կերպով օգտագործեք մոդելավորման նկարները կամ հղեք ծրագրի ծածկագրերը և համապատասխանաբար կատարեք կապերը: Վերբեռնեք ծրագրի կոդը Arduino- ում և չափեք ցանկացած շարժիչի RPM- ը: Հետևեք իմ հաջորդ գրառմանը և դիտեք իմ YouTube ալիքը:
Խորհուրդ ենք տալիս:
Շարժիչի արագության փոփոխական կարգավորիչ ՝ 8 քայլ
Փոփոխական շարժիչի արագության վերահսկիչ. Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես եմ պատրաստել Motor Speed Controller & Ես նաև ցույց կտամ, թե որքան հեշտ կարող է լինել փոփոխական շարժիչի արագության վերահսկիչ IC 555- ի օգնությամբ: Սկսենք:
DC շարժիչի արագության կառավարման միացում `5 քայլ
DC շարժիչի արագության կառավարման միացում. Այս կարճ հոդվածում մենք պարզում ենք, թե ինչպես ձևավորել DC շարժիչի արագության բացասական հետադարձ կապի միացում: Հիմնականում մենք պարզում ենք, թե ինչպես է աշխատում սխեման և ինչ է վերաբերում PWM ազդանշանին: և ինչպես է օգտագործվում PWM ազդանշանը ՝ կարգավորելու համար
Ինչպես վերահսկել անօդաչու թռչող սարք Quadcopter Brushless DC շարժիչը (3 լարերի տեսակը) ՝ օգտագործելով HW30A շարժիչի արագության կարգավորիչը և Arduino UNO- ն ՝ 5 քայլ
Ինչպես վերահսկել անօդաչու թռչող սարք Quadcopter Brushless DC շարժիչը (3 լարերի տեսակը) `օգտագործելով HW30A շարժիչի արագության կարգավորիչը և Arduino UNO- ն: Նկարագրություն. HW30A շարժիչի արագության կարգավորիչը կարող է օգտագործվել 4-10 NiMH/NiCd կամ 2-3 բջջային LiPo մարտկոցներով: BEC- ը գործում է մինչև 3 LiPo բջիջով: Այն կարող է օգտագործվել Brushless DC շարժիչի արագությունը (3 լար) առավելագույնը մինչև 12Vdc: Հատուկ
Ինչպես պատրաստել DC շարժիչի արագության վերահսկիչ `5 քայլ
Ինչպես պատրաստել DC շարժիչի արագության վերահսկիչ. Բարև, ընկերներ այս բլոգում, ես պատրաստելու եմ մի արագաչափ արագաչափ, որն օգտագործվում է որպես լույսի լուսամփոփ և DC շարժիչի արագության վերահսկիչ: եթե ցանկանում եք այս նախագիծը կատարել տանը, ձեզ հարկավոր են հետևյալ բաղադրիչները և միացում ներքևում: Լավագույն լուծումը
DC շարժիչի արագության կառավարում PID ալգորիթմի միջոցով (STM32F4). 8 քայլ (նկարներով)
DC շարժիչի արագության կառավարում PID ալգորիթմի միջոցով (STM32F4). Բարև բոլորին, սա tahir ul haq է մեկ այլ նախագծով: Այս անգամ այն STM32F407 է որպես MC: Սա կիսամյակային ծրագրի ավարտ է: Հուսով եմ, որ ձեզ դուր կգա: Այն պահանջում է շատ հասկացություններ և տեսություն, ուստի մենք առաջինը կմտնենք դրա մեջ: Համակարգիչների գալուստով և