Mundarija:

Arduino PWM yordamida MOSFETni qanday boshqarish kerak: 3 qadam
Arduino PWM yordamida MOSFETni qanday boshqarish kerak: 3 qadam

Video: Arduino PWM yordamida MOSFETni qanday boshqarish kerak: 3 qadam

Video: Arduino PWM yordamida MOSFETni qanday boshqarish kerak: 3 qadam
Video: Hack: modify 20A DC 10-60V PWM Motor Speed Controller and control with Arduino 2024, Iyul
Anonim
Image
Image
O'chirish diagrammasi
O'chirish diagrammasi

Bu yo'riqnomada biz Arduino PWM (Pulse Width Modulation) chiqish signali yordamida oqimni MOSFET orqali qanday boshqarishni ko'rib chiqamiz.

Bu holda biz arduino kodini manipulyatsiya qilamiz, bu bizga arduino raqamli 9 -pinli o'zgaruvchan PWM signalini beradi va biz MOSFET eshigiga qo'llaniladigan sozlanishi shahar darajasini berish uchun filtrlaymiz..

Bu bizga tranzistorni bir necha milliampli oqim oqimi bo'lmagan holatga yoki bizda tranzistor orqali bir necha amperlik oqim oqimi bo'lgan holatga oqim bo'lmagan holda nazorat qilish imkonini beradi.

Bu erda men PWM -ni o'rnatamiz, shunda bizda 8192 puls kengligi o'zgaradi, bu bizga MOSFET -ni juda yaxshi nazorat qiladi.

1 -qadam: O'chirish diagrammasi

O'chirish juda oddiy. Arduino D9 pinli PWM signali R1 va C1 kombinatsiyasi bilan birlashtirilgan yoki filtrlangan. Ko'rsatilgan qiymatlar 1,95 KGts chastotali chastotada yoki 8192 bosqichli 13 bitli ishda yaxshi ishlaydi (2 ta quvvat 13 = 8192).

Agar siz boshqa qadamlarni ishlatishga qaror qilsangiz, R1 va C1 qiymatlarini o'zgartirishingiz kerak bo'ladi. Masalan, agar siz 256 qadamdan foydalansangiz (8 bitli operatsiya), PWM chastotasi 62,45 KGts bo'ladi, siz boshqa C1 qiymatini ishlatishingiz kerak bo'ladi. Men bu chastota uchun 1000uF yaxshi ishlaganini topdim.

Amaliy nuqtai nazardan, PWM 0 sozlamasi MOSFET eshigidagi shahar darajasi 0V bo'ladi va MOSFET to'liq o'chiriladi. PWM -ning 8191 sozlamalari shuni ko'rsatadiki, MOSFET eshigidagi shahar darajasi 5V bo'ladi va agar MOSFET to'liq yoqilmagan bo'lsa.

R2 qarshiligi, darvozani erga tortib, darvozadagi signal o'chirilganda, MOSFET o'chib ketishini ta'minlash uchun o'rnatiladi.

Quvvat manbai MOSFET eshigidagi PWM signallari tomonidan belgilangan oqimni etkazib bera oladigan bo'lsa, siz oqimni cheklash uchun uni ketma -ket qarshiliksiz to'g'ridan -to'g'ri MOSFETga ulashingiz mumkin. Oqim faqat MOSFET tomonidan cheklanadi va u ortiqcha quvvatni issiqlik sifatida tarqatadi. Agar siz undan yuqori toklar uchun foydalansangiz, etarli issiqlik qabul qilgichni ta'minlaganingizga ishonch hosil qiling.

2 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

Arduino kodi biriktirilgan. Kod yaxshi izohlangan va juda oddiy. 11 - 15 -qatorlardagi kodlar bloki D9 pinli chiqish bilan PWM tez ishlashi uchun arduino -ni o'rnatadi. PWM darajasini o'zgartirish uchun siz OCR1A solishtirish registrining qiymatini o'zgartirasiz. PWM qadamlarining sonini o'zgartirish uchun siz ICR1 qiymatini o'zgartirasiz. Masalan, 8 bit uchun 255, 10 bit uchun 1023, 13 bitli ish uchun 8191. Bilingki, ICR1 o'zgarganda, operatsiya chastotasi o'zgaradi.

Loop faqat ikkita tugmachaning holatini o'qiydi va OCR1A qiymatini yuqoriga yoki pastga oshiradi. Men bu qiymatni setup () da 3240 ga o'rnatganman, bu MOSFET yoqila boshlagan qiymatdan pastda. Agar siz boshqa tranzistor yoki C1 va R1 filtrli sxemasidan foydalansangiz, bu qiymat siz uchun biroz boshqacha bo'ladi. Birinchi marta urinib ko'rganingizda, oldindan belgilangan qiymatni noldan boshlash yaxshidir!

3 -qadam: test natijalari

Sinov natijalari
Sinov natijalari
Sinov natijalari
Sinov natijalari

ICR1 8191 ga o'rnatilganda, men olingan natijalar 0 va 2 AMPS oralig'ida o'zgarib turadi:

OCR1A (PWM sozlamalari joriy (ma) eshikli kuchlanish (Vdc) 3240 0 ma 0v3458 10ma 1.949v4059 100ma 2.274v4532 200ma 2.552v4950 500ma 2.786v5514 1000ma 3.101v6177 1500ma 3.472v6927 2000ma 3.895v

Tavsiya: