Мазмұны:
- 1 -қадам: Sigal сымын таңдаңыз
- 2 -қадам: Ардуино тақтасына сымды кеңейтіңіз
- 3 -қадам: сигналды талдау
- 4 -қадам: сигналды талдауды кодтаңыз
- 5 -қадам: Сүзгіні анықтаңыз
- 6 -қадам: Сүзу: 1 -бөлім
- 7 -қадам: Сүзу: 2 -бөлім
- 8 -қадам: Сүзу: 3 -бөлім
- 9 -қадам: Сүзу: 4 -бөлім
Бейне: Қозғалтқыштың айналу жиілігін көрсету үшін Arduino пайдаланыңыз: 10 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл нұсқаулықта менің Arduino UNO R3, I2C бар 16x2 СКД дисплейі мен Acura Integra автокөлігінде қозғалтқыштың жылдамдығын өлшейтін және ауыспалы шам ретінде қолданылатын жарықдиодты жолақты қалай қолданғаным баяндалады. Бұл тәжірибесі бар немесе Arduino бағдарламалық жасақтамасымен немесе жалпы кодтаумен, MATLAB математикалық бағдарламалық жасақтамасымен және электр тізбектерін құрумен немесе өзгертумен байланысты жазылған. Болашақта бұл тақырыптармен тәжірибесі жоқ адамдарға түсінікті болу үшін қайта қаралуы мүмкін.
1 -қадам: Sigal сымын таңдаңыз
Сізге қозғалтқыш жылдамдығына сәйкес келетін сигнал қажет. Қозғалтқыш жылдамдығын өлшейтін жүйені қосуға болады, бірақ қозғалтқыш жылдамдығы туралы ақпаратты тасымалдайтын бар сымға тигізу әлдеқайда тиімді. Бір автокөлікте бұл үшін бірнеше көздер болуы мүмкін және ол бір көліктің бір үлгісінде жыл сайын өзгеруі мүмкін. Бұл оқулық үшін мен өз машинамның үлгісін қолданамын, 2000 Acura Integra LS түрлендірілген жол. Мен қозғалтқышымда (OBD2 бар B18B1) пайдаланылмайтын кернеу бар екенін білдім, ол 12 В жоғары және толық айналымды аяқтағаннан кейін 0 В дейін төмендейді.
Қозғалтқыштың потенциалды сигналын анықтауға көмектесетін нәрселер:
- Көлігіңіздің электр схемасы
- Қозғалтқыш/ECU сигналдары қатысатын көлікке арналған форумдарды іздеу
- Мейірімді механик немесе автокөлік әуесқойы
2 -қадам: Ардуино тақтасына сымды кеңейтіңіз
Сәйкес сигналды таңдағаннан кейін, оны Arduino тақтасын қай жерге қойсаңыз да кеңейту қажет болады. Мен минаны радио қолданатын көлік құралының ішіне орналастыруды шештім, сондықтан мен жаңа сымды қозғалтқыштан, от қабырғасындағы резеңке тордан және радио аймағына қарай бағыттадым. Сымдарды тазарту, дәнекерлеу және қорғау бойынша көптеген нұсқаулықтар бар болғандықтан, мен бұл процесті түсіндірмеймін.
3 -қадам: сигналды талдау
Міне, бұл жерде жағдай күрделене түсуі мүмкін. Сигналды талдау мен басқару туралы жалпы түсінікке ие болу сізге ұзақ жолда көмектеседі, бірақ аз біліммен мүмкін.
Таңдалған сигнал сымы қозғалтқыш жылдамдығының нақты мәнін шығармайды. Қажетті қозғалтқыш айналымының нақты санын беру үшін оны пішіндеу және өзгерту қажет. Әр таңдалған автомобиль мен сигнал сымы әр түрлі болуы мүмкін болғандықтан, осы сәттен бастап мен Integra дистрибьюторының позиция сигналын қалай қолданғанымды түсіндіремін.
Менің сигналым әдетте 12В және бір толық айналуды аяқтағанда 0В дейін төмендейді. Егер сіз бір толық айналымды немесе бір толық циклды аяқтау уақытын білсеңіз, оны кейбір негізгі ұғымдарды қолдана отырып, минутына революцияға оңай аударуға болады.
1 / (секундына цикл) = секундына цикл, немесе Гц
Айналым минутына = Гц * 60
4 -қадам: сигналды талдауды кодтаңыз
Бұл әдіс кіріс сигналына бір толық циклды аяқтау үшін қажет уақытты алуды қажет етеді. Бақытымызға орай, Arduino IDE бағдарламалық жасақтамасында дәл PulseIn командасы бар.
Бұл команда табалдырықтан өту үшін сигналды күтеді, санауды бастайды және табалдырықты қайта аттағанда санауды тоқтатады. Пәрменді пайдалану кезінде ескеру қажет кейбір мәліметтер бар, сондықтан мен мұнда PulseIn ақпаратына сілтемені қосамын:
PulseIn микросекундтарда мәнді қайтарады және математиканы қарапайым ұстау үшін оны бірден қалыпты секундқа түрлендіру керек. Алдыңғы қадамдағы математикадан кейін бұл уақыт ұзақтығын тікелей RPM -ге теңестіруге болады.
Ескерту: сынақтан және қателіктен кейін мен дистрибьютордың қозғалтқыш иінді білігінің әр айналуы үшін екі айналымды аяқтағанын білдім, сондықтан мен бұл үшін жауапты 2 -ге бөлдім.
5 -қадам: Сүзгіні анықтаңыз
Егер сіз бақытты болсаңыз, сіздің сигналыңызда «шу» болмайды (қозғалыс) және қозғалтқыштың жылдамдығы дәл болады. Менің жағдайда, дистрибьютордан күткеннен алыс кернеуді беретін шу болды. Бұл қозғалтқыштың нақты жылдамдығының жалған көрсеткіштеріне айналады. Бұл шуды сүзу қажет болады.
Кейбір сигналдарды талдаудан кейін, шудың барлығы дерлік қозғалтқыш шығаратыннан әлдеқайда жоғары жиіліктерде (Гц) пайда болды (бұл нақты динамикалық жүйелердің көпшілігіне сәйкес келеді). Бұл төмен өту сүзгісі бұл мәселеге өте жақсы үміткер екенін білдіреді.
Төмен өту сүзгісі төмен жиіліктерді (қалаған) өткізуге мүмкіндік береді және жоғары жиілікті (қажетсіз) әлсіретеді.
6 -қадам: Сүзу: 1 -бөлім
Сүзгіні қолмен жасауға болады, алайда MATLAB -ты қолдану бағдарламалық қамтамасыз етуге қол жеткізе алатын болсаңыз, бұл айтарлықтай жылдамдатады.
Төмен өту сүзгісін Laplace доменіндегі (функция жиілігіне) тасымалдау функциясына теңестіруге болады. Кіріс жиілігі осы бөлшекке көбейтіледі және шығыс тек сіз қолданғыңыз келетін ақпарат бар сүзілген сигнал болып табылады.
Функциядағы жалғыз айнымалы - tau. Тау 1 / Омега -ға тең, мұнда Омега - сіз қалаған шекті жиілік (секундына радианмен болуы керек). Шектеу жиілігі - бұл жиіліктер одан жоғары жиіліктер жойылатын және одан төмен жиіліктер сақталатын шек.
Мен шектеу жиілігін қозғалтқышым ешқашан жетпейтін айналу жиілігіне тең етіп қойдым (990 айн / мин немесе 165 Гц). FFT графиктері менің шикі сигналдың қандай жиіліктерді және сүзгіден шыққан жиіліктерді көрсетеді.
7 -қадам: Сүзу: 2 -бөлім
Мұнда MATLAB қайтадан уақыт үшін қолданылды. Шектеу жиілігі анықталады, содан алынған тасымалдау функциясы көрсетіледі. Есіңізде болсын, бұл бөлшек тек Laplace доменіне қатысты және оны Arduino UNO R3 сияқты уақытқа негізделген микроконтроллерде тікелей қолдануға болмайды.
8 -қадам: Сүзу: 3 -бөлім
MATLAB -те үздіксіз функцияны (жиілік аймағы) дискретті функцияға (уақыт домені) түрлендіретін команда бар. Бұл пәрменнің нәтижесі Arduino IDE кодына оңай енгізілетін теңдеуді қамтамасыз етеді.
9 -қадам: Сүзу: 4 -бөлім
Arduino эскизінде u және y айнымалыларын орнатудан бұрын қосыңыз. Float пәрмені айнымалының деректерді қалай сақтайтынын анықтайды (максималды мән, ондық бөлшектер және т. /varia…
Шикі сигналдан қозғалтқыш жылдамдығына айналу циклінде u айнымалысы мен y еселі теңдеуін қосыңыз. Мұны қолданудың бірнеше әдісі бар, бірақ u айнымалысы өлшенетін бастапқы кіріс сигналына тең болуы керек, ал y айнымалысы сүзілген мән болады.
Ұсынылған:
Жүрек соғу жиілігін өлшеу саусағыңыздың ұшында: жүрек соғу жиілігін анықтаудың фотоплетизмографиялық әдісі: 7 қадам
Жүрек соғу жиілігін өлшеу саусағыңыздың ұшында: фотоплетизмография жүрек соғу жиілігін анықтайды: фотоплетизмография (PPG)-бұл тіндердің микроваскулярлық төсегіндегі қан көлемінің өзгеруін анықтау үшін жиі қолданылатын қарапайым және арзан оптикалық әдіс. Ол көбінесе терінің бетінде өлшеу үшін инвазивті емес қолданылады, әдетте
ИҚ негізіндегі тахометрден кері байланыс жүйесін қолданатын қозғалтқыштың айналу жиілігін автономды басқару: 5 қадам (суреттермен)
ИҚ негізіндегі тахометрден кері байланыс жүйесін қолданатын қозғалтқыштың айналу жиілігін дербес басқару: процесті автоматтандырудың қажеттілігі әрқашан болады, мейлі ол қарапайым/сұмдық. Мен бұл жобаны өзім тапқан кезде кездескен қарапайым қиындықтан алдым. Біздің шағын жерді суару/суару әдістері. Ағымдағы жеткізу желісінің жоқтығы
Үздіксіз айналу үшін Hitec Hs-325 сервисін өзгертіңіз: 3 қадам (суреттермен)
Hitec Hs-325 Servo үздіксіз айналу үшін өзгертіңіз: Серво қозғалтқыштары максималды +/- 130 градусқа айналуға арналған. Бірақ оларды 360 градусқа бұру үшін оңай өзгертуге болады. Хак әр түрлі серво -мотор модельдері үшін өте жақсы құжатталған. Мұнда мен ServoCity-те сатып алынған Hitec HS-325HB сервоын қолданамын. Th
Серво моторын үздіксіз айналу үшін қалай өзгертуге болады (бір моторлы жаяу робот): 8 қадам (суреттермен)
Үздіксіз айналу үшін сервоқозғалтқышты қалай өзгертуге болады (бір моторлы жаяу робот): Бұл нұсқаулық бір қозғалтқыштың бір бөлігі болып табылады. жаяу жүргінші/Мұндай триллион оқулық бар, мен білемін :-) Олар мектепте түскі үзілісте Sony Mavica камерасымен (флоп
Windows компьютеріндегі Linux компьютерінен X бағдарламаларын көрсету үшін SSH және XMing пайдаланыңыз: 6 қадам
Windows компьютеріндегі Linux компьютерінен X бағдарламаларын көрсету үшін SSH және XMing қолданыңыз: Егер сіз Linux -ты жұмыста, ал Windows -ты үйде немесе керісінше қолдансаңыз, кейде басқа жерге компьютерге кіру қажет болуы мүмкін. және бағдарламаларды іске қосыңыз. Сіз X серверін орнатып, SSH клиентімен SSH туннелизациясын қосуға болады, және біреуін