Mundarija:
- 1 -qadam: Sigal simini tanlang
- 2 -qadam: Arduino kartasiga simni uzating
- 3 -qadam: signalni tahlil qilish
- 4 -qadam: Signal tahlilini kodlang
- 5 -qadam: Filtrni aniqlang
- 6 -qadam: Filtrlash: 1 -qism
- 7 -qadam: Filtrlash: 2 -qism
- 8 -qadam: Filtrlash: 3 -qism
- 9 -qadam: Filtrlash: 4 -qism
- 10 -qadam: Filtrlangan dvigatel tezligini ko'rsating
Video: Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: 10 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Ushbu qo'llanmada men Arduino UNO R3, I2C bilan 16x2 LCD displey va diodli chiziqli dvigatel tezligi o'lchagichi va svetofor sifatida Acura Integra avtomashinamda qanday ishlatilganim tasvirlangan. Bu tajribaga ega bo'lgan yoki Arduino dasturiy ta'minoti yoki umuman kodlash, MATLAB matematik dasturi va elektr zanjirlarini yaratish yoki o'zgartirish borasida yozilgan. Kelgusida, bu mavzular bo'yicha tajribasi bo'lmagan va tajribasi bo'lmagan odamlarga tushunarli bo'lishi uchun uni qayta ko'rib chiqish mumkin.
1 -qadam: Sigal simini tanlang
Dvigatel tezligiga mos keladigan signalni olish kerak. Dvigatel tezligini o'lchaydigan tizimni qo'shish mumkin, lekin dvigatel tezligi to'g'risida ma'lumotni o'z ichiga olgan mavjud simni ulash ancha amaliy. Bitta mashinada buning uchun bir nechta manbalar bo'lishi mumkin va u bitta avtomobil modelida yildan-yilga farq qilishi mumkin. Ushbu qo'llanma uchun men o'z mashinamdan foydalanaman, 2000 Acura Integra LS treki o'zgartirilgan. Men o'z dvigatelimda (OBD2 bilan B18B1) 12 V balandlikda va to'liq inqilob tugagandan so'ng 0 V ga tushmagan ishlatilmagan kuchlanish borligini topdim.
Dvigatel tezligining potentsial signalini aniqlashga yordam beradigan narsalar:
- Avtomobilingizning elektr simlarini ulash sxemasi
- Dvigatel/ECU signallari ishtirokida avtomobilingiz uchun forumlarni qidirish
- Do'st mexanik yoki avtomobil ixlosmandlari
2 -qadam: Arduino kartasiga simni uzating
Tegishli signalni tanlagandan so'ng, siz uni Arduino kartasini qayerga joylashtirsangiz, uni uzaytirishingiz kerak bo'ladi. Men o'zimning mashinamni radio bo'lgan joyga qo'yishga qaror qildim, shuning uchun men yangi simni dvigateldan o't o'chirish devoridagi rezina panjara orqali va radio maydoniga olib keldim. Simlarni yechish, lehimlash va himoya qilish bo'yicha ko'plab qo'llanmalar mavjud bo'lgani uchun men bu jarayonni tushuntirmayman.
3 -qadam: signalni tahlil qilish
Bu erda hamma narsa murakkablashishi mumkin. Signalni tahlil qilish va boshqarish haqida umumiy tushunchaga ega bo'lish sizga uzoq yo'lni ochib beradi, lekin buni ozgina bilim bilan bajarish mumkin.
Ehtimol, tanlangan signal simlari dvigatel tezligining aniq qiymatini tupurmaydi. Siz xohlagan dvigatel aylanishining aniq sonini berish uchun uni shakllantirish va o'zgartirish kerak bo'ladi. Tanlangan har bir mashina va signal simlari boshqacha bo'lishi mumkinligi sababli, men bundan buyon men Integra distribyutorining joylashuv signalini qanday ishlatganimni tushuntiraman.
Mening signalim odatda 12 V ni tashkil qiladi va bitta to'liq aylanishda 0V ga tushadi. Agar siz bitta to'liq aylanishni yoki bitta to'liq tsiklni bajarish vaqtini bilsangiz, buni ba'zi asosiy tushunchalar yordamida inqilob/daqiqaga osonlikcha aylantirish mumkin.
1 / (har bir soniyada soniya) = sekundiga tsikl yoki Hz
Daqiqadagi aylanishlar = Hz * 60
4 -qadam: Signal tahlilini kodlang
Bu usul kirish signalining bitta to'liq tsiklni bajarishi uchun zarur bo'lgan vaqtni olishni talab qiladi. Yaxshiyamki, Arduino IDE dasturida aynan shu vazifani bajaradigan PulseIn buyrug'i mavjud.
Bu buyruq signalni chegarani kesib o'tishni kutadi, sanashni boshlaydi va yana chegarani kesib o'tganda hisoblashni to'xtatadi. Buyruqni ishlatishda e'tiborga olish kerak bo'lgan ba'zi tafsilotlar bor, shuning uchun men bu erda PulseIn ma'lumotlariga havolani qo'shaman:
PulseIn mikrosaniyadagi qiymatni qaytaradi va matematikani soddalashtirish uchun buni darhol oddiy soniyalarga aylantirish kerak. Oldingi qadamdagi matematikadan so'ng, bu vaqtni to'g'ridan -to'g'ri RPMga tenglashtirish mumkin.
Eslatma: sinov va xatolardan keyin men distribyutor dvigatel krank milining har bir aylanishi uchun ikkita aylanishni bajarganini aniqladim, shuning uchun men javobimni 2 ga ajratdim.
5 -qadam: Filtrni aniqlang
Agar omadingiz bo'lsa, sizning signalingizda "shovqin" (tebranishlar) bo'lmaydi va dvigatel tezligi aniq bo'ladi. Mening holatimda, distribyutordan juda ko'p shovqinlar eshitilardi, ular tez -tez kutilganidan uzoqroq kuchlanish berardi. Bu haqiqiy dvigatel tezligining noto'g'ri ma'lumotlariga aylanadi. Bu shovqinni filtrlash kerak bo'ladi.
Ba'zi signallarni tahlil qilgandan so'ng, deyarli barcha shovqinlar dvigatelning o'zi chiqarganidan ancha yuqori chastotalarda (Hz) keldi (bu haqiqiy dinamik tizimlar uchun to'g'ri). Bu shuni anglatadiki, past o'tish filtri bu haqda g'amxo'rlik qilish uchun ideal nomzod.
Past o'tkazgichli filtr past chastotalarni (kerakli) o'tishiga imkon beradi va yuqori chastotalarni (kiruvchi) susaytiradi.
6 -qadam: Filtrlash: 1 -qism
Filtrni loyihalashtirish qo'l bilan amalga oshirilishi mumkin, lekin agar sizda dasturiy ta'minot mavjud bo'lsa, MATLAB -dan foydalanish bu ishni sezilarli darajada tezlashtiradi.
Past o'tish filtrini Laplas domenidagi (chastota sohasidagi) uzatish funktsiyasiga (yoki kasriga) tenglashtirish mumkin. Kirish chastotasi bu qismga ko'paytiriladi va chiqish faqat siz foydalanmoqchi bo'lgan ma'lumotga ega bo'lgan filtrlangan signaldir.
Funktsiyadagi yagona o'zgaruvchi - tau. Tau 1 / Omega ga teng, bu erda Omega siz xohlagan chegara chastotasi (sekundiga radianlarda bo'lishi kerak). Kesish chastotasi - bu undan yuqori chastotalar olib tashlanadigan va undan past chastotalar saqlanadigan chegaradir.
Men kesish chastotasini dvigatelim hech qachon yetmaydigan tezlikka aylantirdim (990 RPM yoki 165 Hz). FFT grafigida mening signalim qanday chastotalar va filtrdan chiqqan chastotalar taxminan ko'rsatilgan.
7 -qadam: Filtrlash: 2 -qism
Bu erda MATLAB yana vaqt uchun ishlatilgan. Chiqish chastotasi aniqlanadi va bundan kelib chiqadigan uzatish funktsiyasi ko'rsatiladi. Shuni yodda tutingki, bu qism faqat Laplas domeniga taalluqlidir va Arduino UNO R3 kabi vaqtga asoslangan mikrokontrolda to'g'ridan-to'g'ri ishlatib bo'lmaydi.
8 -qadam: Filtrlash: 3 -qism
MATLAB uzluksiz funktsiyani (chastota sohasi) diskret funktsiyaga (vaqt domeni) aylantiradigan buyruqqa ega. Ushbu buyruq natijasi Arduino IDE kodiga osongina kiritilishi mumkin bo'lgan tenglamani beradi.
9 -qadam: Filtrlash: 4 -qism
Arduino eskiziga o'rnatishdan oldin u va y o'zgaruvchilarini kiriting. Float buyrug'i o'zgaruvchining ma'lumotlarni qanday saqlashini aniqlaydi (maksimal qiymat, o'nlik va boshqalar …) va bu haqda qo'shimcha ma'lumot olish uchun havola bu erda taqdim etiladi: https://www.arduino.cc/reference/en/language /varia…
Xom signaldan dvigatel tezligiga o'tish sodir bo'ladigan davrda u o'zgaruvchisi va y ko'plik tenglamasini kiriting. Buni ishlatishning bir qancha usullari bor, lekin u o'zgaruvchisi o'lchanadigan xom kirish signaliga teng bo'lishi kerak va y o'zgaruvchisi filtrlangan qiymat bo'ladi.
10 -qadam: Filtrlangan dvigatel tezligini ko'rsating
Tavsiya:
Makey Makey ko'rsatish va ko'rsatish: 12 qadam (rasmlar bilan)
Makey Makey Show va Tell Display: 19 yillik o'qituvchilik faoliyatimdan so'ng, men hech qachon yangi, yorqin va hayajonli e'lonlar taxtasiga bo'lgan muhabbatimni yo'qotmaganman! Mening e'lonlar taxtasi uslubi yillar mobaynida chiroyli, do'konda, bayramga bag'ishlangan kesmalardan tortib, o'quvchilarim ishining mazmunli qismlariga qadar rivojlandi. Men
Yurak urish tezligini o'lchash barmog'ingiz uchida: yurak tezligini aniqlashning fotopletizmografiya usuli: 7 qadam
Yurak urish tezligini o'lchash barmoq uchida: fotopletizmografiya yurak urish tezligini aniqlash usuli: fotopletizmografiya (PPG)-bu oddiy va arzon optik usul bo'lib, u ko'pincha to'qimalarning mikrovaskulyar to'shagidagi qon hajmining o'zgarishini aniqlash uchun ishlatiladi. U asosan terining sirtini o'lchash uchun invaziv bo'lmagan holda ishlatiladi, odatda
Dvigatelning aylanish tezligini avtomatlashtirilgan boshqaruv tizimi yordamida IR -ga asoslangan takometr: 5 qadam (rasmlar bilan)
Dvigatelning aylanish tezligini avtomatlashtirilgan boshqaruv tizimidan foydalangan holda IR -ga asoslangan takometrdan: har doim ham jarayonni avtomatlashtirishga ehtiyoj bor, u oddiy/dahshatli bo'lsin, men bu loyihani amalga oshirish g'oyasini topdim. Kichik er uchastkamizni sug'orish usullari. Hozirgi elektr uzatish liniyasi yo'qligi
Doimiy aylanish uchun mikro -servo dvigatelni (SG90) qanday o'zgartirish mumkin: 6 qadam (rasmlar bilan)
Uzluksiz aylanish uchun mikro servo dvigatelni (SG90) qanday o'zgartirish mumkin: Yo'q! Menda shahar motorlari tugab qoldi! Sizda o'tirgan zaxira servo va rezistorlar bormi? Oddiy servo 180 gradusga buriladi. Shubhasiz, biz uni g'ildirakda harakatlanadigan avtomobil uchun ishlata olmaymiz. Bu darslikda men xursand bo'laman
Hitec Hs-325 Servo-ni doimiy aylanish uchun o'zgartiring: 3 qadam (rasmlar bilan)
Uzluksiz aylanish uchun Hitec Hs-325 Servo-ni o'zgartiring: Servo dvigatellari maksimal +/- 130 daraja burilishga mo'ljallangan. Lekin ularni 360 graduslik burilish qilish uchun osongina o'zgartirish mumkin. Hack har xil servo motorli modellar uchun juda yaxshi hujjatlashtirilgan. Bu erda men ServoCity-da sotib olingan Hitec HS-325HB servosidan foydalanaman. Th