Мазмұны:
- 1 -қадам: Қадам: 1 Датчиктер мен құрылғылардың жұмыс жағдайын қамтамасыз етіңіз
- 2 -қадам: Бұл қалай жұмыс істейді?
- 3 -қадам: Arduino IDE көмегімен Arduino бағдарламалау
- 4 -қадам: Proteus көмегімен модельдеу
- 5 -қадам: Жабдықтың орындалуы
Бейне: Arduino көмегімен қозғалтқыш жылдамдығын өлшеу: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Қозғалтқыштың айналу жиілігін өлшеу қиын ба ??? Мен олай ойламаймын. Міне бір қарапайым шешім.
Мұны сіздің жинағыңыздағы бір ғана IR сенсоры мен Arduino жасай алады.
Бұл жазбада мен IR сенсоры мен Arduino UNO/нано көмегімен кез келген қозғалтқыштың айналу жиілігін өлшеуді түсіндіретін қарапайым оқулық беремін.
Жабдықтар:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR сенсоры (Amazon)
3. Кез келген тұрақты ток қозғалтқышы (Amazon)
4. СКД 16*2 (Amazon)
Қолданылатын құралдар
1. Пісіру үтігі (Амазонка)
2. Сым тартқыш (Amazon)
1 -қадам: Қадам: 1 Датчиктер мен құрылғылардың жұмыс жағдайын қамтамасыз етіңіз
ИҚ сенсоры - бұл қоршаған ортаның кейбір объектілерін сезіну үшін жарық шығаратын электронды құрылғы. IR сенсоры объектінің жылуын өлшей алады, сонымен қатар қозғалысты анықтайды. Әдетте инфрақызыл спектрде барлық объектілер жылулық сәулеленудің қандай да бір түрін шығарады. Сәулеленудің бұл түрлері біздің көзімізге көрінбейді, бірақ инфрақызыл сенсор бұл сәулелерді анықтай алады.
Тұрақты ток қозғалтқышы дегеніміз не? Тұрақты ток қозғалтқышы - электр энергиясын механикалық энергияға түрлендіретін электр машинасының түрі. Тұрақты ток қозғалтқыштары электр энергиясын тұрақты ток арқылы алады және бұл энергияны механикалық айналуға айналдырады.
Тұрақты ток қозғалтқыштары шығатын білікке бекітілген ротордың қозғалысын қамтамасыз ететін электр тогынан пайда болатын магнит өрістерін пайдаланады. Шығу моменті мен жылдамдығы электрлік кіріс пен қозғалтқыштың дизайнына байланысты.
Arduino дегеніміз не?
Arduino-бұл ашық аппараттық құралдар мен бағдарламалық жасақтамаға негізделген ашық электронды платформа. Arduino тақталары кірістерді оқи алады - сенсордағы жарық, түймедегі саусақ немесе Twitter хабарламасы - және оны шығысқа айналдырады - қозғалтқышты қосады, жарық диодты қосады, желіде бір нәрсе жариялайды. Сіз тақтаға микроконтроллерге нұсқаулар жиынтығын жіберу арқылы не істеу керектігін айта аласыз. Ол үшін сіз Arduino бағдарламалау тілін (сымға негізделген) және өңдеуге негізделген Arduino бағдарламалық жасақтамасын (IDE) қолданасыз.
ARDUINO IDE жүктеп алыңыз
2 -қадам: Бұл қалай жұмыс істейді?
Сонымен мұның астарында қандай логика жатыр?
Ол кодерге ұқсас жұмыс істейді. Жаңадан бастағандар үшін кодерлерді түсіну қиын. Сізге тек ИҚ сенсоры импульсті тудырады, біз әр импульстің арасындағы уақыт аралығын білеміз.
Бұл жағдайда инфрақызыл сенсор Arduino -ға импульсті жібереді, егер оның инфрақызыл сәулесі қозғалтқыш пропеллерімен ұсталса. Әдетте біз екі жүзі бар бұрандаларды қолданамыз, бірақ мен суретте көрсетілгендей үш жүзі бар винтті қолдандым. винт қалақтарының санына байланысты RPM есептеу кезінде кейбір мәндерді өзгертуіміз қажет.
бізде екі жүзі бар пропеллер бар деп есептейік. Әрбір қозғалтқыш үшін пышақ инфрақызыл сәулені екі рет ұстайды. Осылайша, ИҚ сенсоры ұстау кезінде импульсті шығарады.
Енді біз белгілі бір уақыт аралығында ИҚ сенсоры шығаратын импульс санын өлшейтін бағдарлама жазуымыз керек.
Мәселені шешудің бірнеше әдісі бар, бірақ біз осы кодтардың қайсысы жақсы екенін таңдауымыз керек, мен үзіліс арасындағы ұзақтығын өлшедім (IR сенсоры) Мен микро секундтарда импульстердің ұзақтығын өлшеу үшін micros () функцияларын қолдандым.
Сіз бұл формуланы RPMRPM = ((1/ұзақтығы)*1000*1000*60)/пышақтарды өлшеу үшін пайдалана аласыз
мұнда, ұзақтығы - импульстар арасындағы уақыт аралығы.
60 - секундтан минутқа дейін
1000 - секундына диірмен
1000 - диірменге дейін
пышақтар - бұранда қанаттар жоқ.
LCD дисплейі - Arduino СКД дисплейінің командалары мен деректер регистрлерін жаңартады. СКД дисплейде ASCII таңбаларын көрсетеді.
3 -қадам: Arduino IDE көмегімен Arduino бағдарламалау
#қосу
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR сенсоры INPUT белгісіз ұзақ превмикрос; // Қол қойылмаған ұзақ уақытты сақтау үшін; // Уақыт айырмашылығын сақтау үшін белгісіз ұзақ lcdrefresh; // int rpm жаңарту үшін lcd уақытты сақтау үшін; // RPM мәні логикалық ағымдағы күй; // IR кіріс сканерлеуінің ағымдағы жағдайы логикалық prevstate; // ИҚ сенсорының күйі алдыңғы сканерлеудің жарамсыз күйін орнатуда () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } жарамсыз цикл () {///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// йынакленым. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////. // IR сенсорының күйін оқыңыз, егер (prevstate! = Currentstate) // Егер кірісте өзгеріс болса {if (currentstate == LOW) // Егер енгізу тек HIGH -дан LOW -ге өзгерсе {ұзақтығы = (micros () - prevmicros); // Микросекунд/мин айналу арасындағы уақыт айырмашылығы = ((60000000/ұзақтығы)/3); // айн/ мин = (1/ уақыт миллисі)*1000*1000*60; prevmicros = micros (); // түйіннің айналуын есептеу үшін сақтау уақыты}} prevstate = currentstate; // келесі сканерлеу үшін осы сканерлеу (алдын ала қарап шығу) деректерін сақтау ///////////////////////////////////// СКД дисплей, егер // ((миллис ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print («Қозғалтқыш жылдамдығы»); lcd.setCursor (0, 1); lcd.print («RPM =»); lcd.print (айн / мин); lcdrefresh = millis (); }}
4 -қадам: Proteus көмегімен модельдеу
Мен протеус көмегімен оны модельдеуге тырысқанда, бұл жоба өте жақсы жұмыс істеді.
ИК сенсорды пайдаланудың орнына мен тұрақты импульстік генераторды қолдандым.
Сіз қолданатын сенсорға байланысты бағдарламаға өзгерістер енгізуіңіз керек
LM358 бар IR сенсоры бұл пәрменді қолдануы керек.
if (currentstate == HIGH) // Егер енгізу тек LOW -дан HIGH -ға ауысса
LM359 бар IR сенсоры бұл пәрменді қолдануы керек.
if (currentstate == LOW) // Егер енгізу тек HIGH -дан LOW -ге өзгерсе
5 -қадам: Жабдықтың орындалуы
Схемалық түрде модельдеу суреттерін қолданыңыз немесе бағдарлама кодтарына сілтеме жасаңыз және соған сәйкес қосылым жасаңыз. Бағдарлама кодын Arduino -ға жүктеңіз және кез келген қозғалтқыштың айналу жиілігін өлшеңіз. Менің келесі жазбамды күтіңіз және менің YouTube каналымды қараңыз.
Ұсынылған:
Айнымалы қозғалтқыш жылдамдығын реттегіш: 8 қадам
Айнымалы қозғалтқыш жылдамдығын реттегіш: Бұл жобада мен сізге мотор жылдамдығын реттегішті қалай жасағанымды көрсетемін. Мен IC 555 көмегімен айнымалы қозғалтқыш жылдамдығының реттегішін құру қаншалықты оңай екенін көрсетемін. Алдымен бастайық
Қалай: Қозғалтқыш жылдамдығын басқару?: 5 қадам (суреттермен)
Қалай: Қозғалтқыштың жылдамдығын басқару?: Егер сізде тұрақты ток қозғалтқыштары болса, бірінші мәселе - мен бұл қозғалтқыштардың жылдамдығын қалай басқаратынымды білемін! Бұл нұсқаулықта мен мұның қаншалықты оңай екенін көрсетемін! Сіз өзіңізді жалқау сезінесіз, сонымен қатар менің каналымдағы бейнені көре аласыз
Сынақтан жасалған CNC беру жылдамдығын өлшеу құралы: 5 қадам
Сынақтан жасалған CNC беру жылдамдығын өлшеу құралы: CNC машинасында нақты беру жылдамдығын өлшегісі келген кез бар ма? Мүмкін емес, CNC жұмысынан кейін фрезерлік бөлшектер өзгермегенше … бірақ олар үнемі үзіле бастаған кезде, мүмкін, тергеу уақыты келді. Бұл нұсқаулықта сіз
Қадамдық қозғалтқыш (қадамдық қозғалтқыш): Microstep (5 қадам)
التحكم بالمحرك الخطوي (Stepper Motor) بطريقة (Microstep): في هذه المدونة اتحدث عن كيف نقوم بالتحكم بماتور خطوي عن طلق الله
Ағын жылдамдығын өлшеу: 7 қадам (суреттермен)
Ағынның жылдамдығын өлшеу: Бұл құрылғы арқылы сіз еркін ағынның жылдамдығын өлшей аласыз. Қажетті жалғыз нәрсе - Arduino және қолөнердің кейбір негізгі дағдылары және, әрине, еркін ағын. Бұл жылдамдықты өлшеудің ең практикалық әдісі емес