Mundarija:

Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: 10 qadam (rasmlar bilan)
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: 10 qadam (rasmlar bilan)

Video: Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: 10 qadam (rasmlar bilan)

Video: Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning: 10 qadam (rasmlar bilan)
Video: [Qurilma Avto] sensor tizimlari ma'lumotlar yig'ish uchun # 20 2024, Noyabr
Anonim
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning
Dvigatelning aylanish tezligini ko'rsatish uchun Arduino -dan foydalaning

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

Sigal simini tanlang
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

Arduino kartasiga simni uzating
Arduino kartasiga simni uzating
Arduino kartasiga simni uzating
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

Signalni tahlil qilish
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

Signal tahlilini kodlang
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

Filtrni aniqlang
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

Filtrlash: 1 -qism
Filtrlash: 1 -qism
Filtrlash: 1 -qism
Filtrlash: 1 -qism
Filtrlash: 1 -qism
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

Filtrlash: 2 -qism
Filtrlash: 2 -qism
Filtrlash: 2 -qism
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

Filtrlash: 3 -qism
Filtrlash: 3 -qism
Filtrlash: 3 -qism
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

Filtrlash: 4 -qism
Filtrlash: 4 -qism
Filtrlash: 4 -qism
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: