Mundarija:
Video: Pwm2pwm: 4 qadam
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-10 13:49
Kirish PWM signalini Enkoder yordamida boshqa PWM signal chiqishiga o'zgartiring.
Bu loyiha men birinchi lazerli kesgichni sotib olganimda tug'ilgan. PWM quvvatini birinchi marta kesmoqchi bo'lgan materialga ko'ra o'rnatish oson emas. Shunday qilib, ijro paytida quvvatni o'zgartirish uchun kichik qurilma yaratmoqchiman.
1 -qadam: Komponentlar ro'yxati
Ushbu loyiha uchun sizga kerak:
- 1 x Oled displeyi, mening holatimda I2C
- 1 x Arduino, menimcha, kichik o'lcham uchun arduino mini pro.
- 1 x tugmachali trimmer.
- 3 x 10k rezistor, trimmerni tortish uchun 2 ta, pastga tushirish uchun bittasi.
Ushbu qadamda siz lazer deb nomlangan boshqa Arduino mini pro -ni ko'rasiz, chunki men ushbu Arduino yordamida lazer tekshirgichining (signalli pwm) mahoratini simulyatsiya qildim.
2 -qadam: ulanishlar
Ushbu sxemada 3 rezistorni tortish va tushirish ulanishini unutmang.
Birinchi marta men sizga kod va ulanishning birgalikda ishlashini tekshirish uchun ikkinchi Arduinoni (oldingi bosqichda lazer deb ataladi) ulashni tavsiya qilaman.
Agar siz sxematik ko'rinishni yaxshi bilsangiz, pwmTOpwm.svg -ni oching.
3 -qadam: Arduino eskiz
Siz mening kodimni GitHub sahifasidan osongina ko'chirishingiz mumkin:
Ushbu kodning asosiy ko'nikmalari "pulseIn" buyrug'ining integratsiyasi, qo'shimcha ma'lumot:
Agar siz PWM signalini mikrokontrolderga kirishini o'lchashga harakat qilsangiz, signal qancha vaqtgacha (yoki pastda) turishini hisoblashingiz kerak. Siz "pulseIn" buyrug'idan foydalanishingiz mumkin.
Agar siz puls in signalini tuzishga harakat qilsangiz, beqaror narsani ko'rishingiz mumkin.
Ushbu muammoni hal qilish uchun biz o'rtacha filtrdan foydalanishimiz kerak, mening vaziyatimda eksponensial harakatlanuvchi o'rtacha (EMA).
Siz bu misol yordamida ushbu ajoyib va oson filtrni sinab ko'rishingiz mumkin:
Xavotir olmang, filtr allaqachon kodga kiritilgan: p.
Agar siz ikkinchi Arduino (lazer) dan foydalanayotgan bo'lsangiz, ushbu arduino -ga bu misolni yuklashingiz mumkin:
4 -qadam: PCB
Men ushbu loyiha uchun KiCad bilan tenglikni yaratmoqchiman.
Agar men PCBga o'zgartirishlar kiritsam, ularni GitHub sahifasida bo'lishaman.