Импульсийн өргөн модуляц (PWM) нь дижитал дохионы төрөлд зориулагдсан гоёмсог нэр томъёо юм. PWM нь нарийн төвөгтэй хяналтын хэлхээ зэрэг олон төрлийн хэрэглээнд ашиглагддаг. Бидний SparkFun дээр ашиглах нийтлэг арга бол RGB LED-ийг бүдгэрүүлэх эсвэл сервогийн чиглэлийг хянах явдал юм. PWM нь дохионы өндөр байх хугацааг аналог байдлаар өөрчлөх боломжийг бидэнд олгодог тул бид эдгээр програмуудын аль алинд нь олон төрлийн үр дүнд хүрч чадна. Хэдийгээр дохио нь ямар ч үед зөвхөн өндөр (ихэвчлэн 5V) эсвэл бага (газар) байж болох ч бид тогтмол хугацааны интервалд дохионы өндөр байх хугацааны хувь хэмжээг багатай харьцуулахад өөрчилж болно.
Дохио өндөр байвал бид үүнийг "цагтаа" гэж нэрлэдэг. "Цагдаа"-ын хэмжээг тодорхойлохын тулд бид үүргийн мөчлөгийн тухай ойлголтыг ашигладаг. Ажлын мөчлөгийг хувиар хэмждэг. Ажлын мөчлөгийн хувь нь дижитал дохио нь интервал эсвэл хугацааны дотор асаалттай байх хугацааны хувийг тусгайлан тодорхойлдог. Хугацаа нь долгионы хэлбэрийн урвуу давтамж юм. Хэрэв дижитал дохио хагас цагийн үед асаалттай, нөгөө хагас нь унтарсан бол бид дижитал дохио нь хамгийн тохиромжтой квадрат долгионтой адил 50% ажлын мөчлөгтэй гэж бид хэлдэг. Хэрэв хувь нь 50% -иас их бол дижитал дохио нь бага төлөвтэй харьцуулахад өндөр төлөвт илүү их цаг зарцуулдаг ба ажлын мөчлөг 50% -иас бага бол эсрэгээр. Дараах диаграмм нь эдгээр гурван тохиолдлыг харуулж байна.

100% ажлын мөчлөг нь хүчдэлийг 5 вольт (өндөр) болгохтой адил юм. 0% -ийн ажлын мөчлөг нь дохиог газартай холбохтой адил юм.
жишээ
Та ажлын мөчлөгийг тохируулснаар LED-ийн гэрлийг хянах боломжтой.

RGB (улаан, ногоон, цэнхэр) LED-ийн тусламжтайгаар та холилдсон гурван өнгө тус бүрийн хэмжээг өөр өөр хэмжээгээр бүдгэрүүлэх замаар хянах боломжтой.

Хэрэв гурвыг ижил хэмжээгээр асаавал үр дүн нь цагаан гэрлийн янз бүрийн сүүдэртэй болно. Цэнхэр, ногоон өнгийн ижил холилдох нь хөх-ногоон өнгийг бий болгоно. Бага зэрэг төвөгтэй жишээний хувьд, улбар шар өнгө үүсгэхийн тулд улааныг бүрэн асааж, 50%-ийн ажлын мөчлөгт ногооныг бүрэн асааж, цэнхэр өнгийг бүрэн унтрааж үзээрэй.

LED-ийг удирдахдаа дөрвөлжин долгионы давтамж нь зохих бүдэгрүүлэх нөлөө үзүүлэхийн тулд хангалттай өндөр байх ёстой. 1 Гц давтамжтай 20%-ийн ажлын мөчлөг нь таны нүдэнд асаалттай, унтарч байгааг тодорхой харуулах бол 20 Гц ба түүнээс дээш давтамжтай 100%-ийн ажлын цикл нь бүрэн асаалттай байх үеийнхээс бүдэгхэн харагдана. Үндсэндээ, хэрэв таны зорилго бол LED-ийн тусламжтайгаар бүдгэрүүлэх нөлөө үзүүлэх юм бол энэ хугацаа хэт том байж болохгүй. Та мөн робот гар гэх мэт механик төхөөрөмжид холбогдсон серво моторын өнцгийг хянахын тулд импульсийн өргөн модуляцийг ашиглаж болно. Серво нь хяналтын шугаман дээр тулгуурлан тодорхой байрлал руу эргэдэг босоо амтай байдаг. Манай серво моторууд ойролцоогоор 180 градусын хүрээтэй.
Давтамж/хугацаа нь тодорхой сервог удирдахад зориулагдсан. Ердийн серво мотор нь 20 мс тутамд шинэчлэлт хийх бөгөөд импульс нь 1 мс-ээс 2 мс-ийн хооронд хэлбэлздэг, өөрөөр хэлбэл 50 Гц долгионы хэлбэрт 5% -аас 10% хүртэл ажиллах мөчлөгтэй байдаг. 1.5 мс импульсийн үед серво мотор нь байгалийн 90 градусын байрлалд байх болно. 1ms-ийн импульсийн үед серво нь 0 градус, 2ms-ийн импульсийн үед серво нь 180 градус байх болно. Та сервог завсрын утгуудад шинэчилснээр хөдөлгөөний бүрэн хүрээг авах боломжтой.
Импульсийн өргөн модуляцийг янз бүрийн хэрэглээнд, ялангуяа хяналтанд ашигладаг. Одоо та үүнийг LED гэрлийг бүдгэрүүлж, серво моторын өнцгийг хянахад ашиглаж болохыг мэдэж байгаа тул бусад боломжит хэрэглээг судалж эхлэх боломжтой. Хэрэв та төөрөлдөж байгаа бол импульсийн өргөн модуляцийг ашиглах жишээг агуулсан SparkFun зохион бүтээгчийн багцыг үзээрэй. Хэрэв та даруй код бичиж эхлэхэд бэлэн бол Arduino-той бол эндээс PWM кодлох жишээг үзээрэй.
Шуудангийн цаг: 2025-07-31


