บทความนี้จะอธิบายเกี่ยวกับการปรับความกว้างพัลส์ (PWM) ซึ่งเป็นวิธีการควบคุมพลังงานโดยการปรับความกว้างพัลส์
Pulse Width Modulation (PWM) เป็นคำที่มีความหมายกว้างสำหรับสัญญาณดิจิทัลประเภทหนึ่ง การมอดูเลตความกว้างพัลส์ถูกนำมาใช้ในแอปพลิเคชันหลากหลาย รวมถึงวงจรควบคุมที่ซับซ้อน วิธีการทั่วไปที่เราใช้ที่ SparkFun คือการควบคุมการหรี่แสงของไฟ LED RGB หรือควบคุมทิศทางของเซอร์โว เราสามารถบรรลุผลลัพธ์ที่หลากหลายในแอปพลิเคชันทั้งสองนี้ได้ เนื่องจากการมอดูเลตความกว้างพัลส์ช่วยให้เราสามารถปรับเปลี่ยนระยะเวลาที่สัญญาณมีค่าสูงได้ในลักษณะเดียวกัน แม้ว่าสัญญาณจะมีค่าสูง (ปกติคือ 5V) หรือต่ำ (กราวด์) ในเวลาใดก็ตาม แต่เราสามารถปรับอัตราส่วนของเวลาที่สัญญาณมีค่าสูงกับเวลาที่สัญญาณมีค่าต่ำได้ในช่วงเวลาคงที่
กรงเล็บหุ่นยนต์ควบคุมด้วยมอเตอร์เซอร์โวโดยใช้การปรับความกว้างพัลส์
เมื่อสัญญาณมีค่าสูง เราเรียกว่า "ตรงเวลา" เพื่ออธิบายปริมาณ "ตรงเวลา" เราใช้แนวคิดของวัฏจักรหน้าที่ วัฏจักรหน้าที่วัดเป็นเปอร์เซ็นต์ วัฏจักรหน้าที่ร้อยละหมายถึงเปอร์เซ็นต์ของเวลาที่สัญญาณดิจิทัลทำงานในช่วงเวลาหนึ่งหรือช่วงเวลาหนึ่ง ช่วงเวลานี้เป็นค่าผกผันของความถี่รูปคลื่น
หากสัญญาณดิจิทัลใช้เวลาเปิดและปิดครึ่งหนึ่งของเวลาทั้งหมด เราจะถือว่าสัญญาณดิจิทัลมีรอบการทำงาน 50% ซึ่งใกล้เคียงกับคลื่นสี่เหลี่ยมในอุดมคติ หากเปอร์เซ็นต์สูงกว่า 50% สัญญาณดิจิทัลจะใช้เวลาในสถานะสูงมากกว่าสถานะต่ำ และในทางกลับกันหากรอบการทำงานน้อยกว่า 50% นี่คือแผนภาพแสดงสถานการณ์ทั้งสามนี้:
ตัวอย่างของรอบการทำงาน 50%, 75% และ 25%
รอบการทำงาน 100% จะเหมือนกับการตั้งแรงดันไฟฟ้าไว้ที่ 5 โวลต์ (สูง) ส่วนรอบการทำงาน 0% จะเหมือนกับการต่อกราวด์สัญญาณ
คุณสามารถควบคุมความสว่างของ LED ได้โดยการปรับรอบการทำงาน
PWM ใช้ในการควบคุมความสว่างของ LED
ด้วย LED RGB (แดง เขียว น้ำเงิน) คุณสามารถควบคุมปริมาณสีที่ต้องการผสมได้โดยการหรี่แสงลงในระดับที่แตกต่างกัน
หากเปิดทั้งสามสีในปริมาณที่เท่ากัน ผลลัพธ์ที่ได้จะเป็นแสงสีขาวที่มีความสว่างแตกต่างกัน สีน้ำเงินที่ผสมเข้ากับสีเขียวอย่างสม่ำเสมอจะได้สีเทอร์ควอยซ์ สำหรับตัวอย่างที่ซับซ้อนขึ้นเล็กน้อย ลองเปิดสีแดงให้สว่างสุด แล้วเปลี่ยนเป็นสีเขียวที่รอบการทำงาน 50% และปิดสีน้ำเงินให้สว่างสุดเพื่อให้ได้สีส้ม
PWM สามารถใช้ผสมสี RGB ได้
ความถี่ของคลื่นสี่เหลี่ยมต้องสูงเพียงพอเมื่อขับหลอด LED เพื่อให้เกิดเอฟเฟกต์การหรี่แสงที่เหมาะสม คลื่นที่มีรอบการทำงาน 20% ที่ความถี่ 1 เฮิรตซ์ จะแสดงแสงเปิดและปิดอย่างชัดเจนต่อสายตาของคุณ ในขณะที่คลื่นที่มีรอบการทำงาน 20% ที่ความถี่ 100 เฮิรตซ์หรือสูงกว่าจะดูสลัวกว่าเมื่อเปิดเต็มที่ โดยพื้นฐานแล้ว รอบการทำงานไม่ควรสูงเกินไปหากคุณต้องการเอฟเฟกต์การหรี่แสงสำหรับหลอด LED ของคุณ
คุณยังสามารถใช้การปรับความกว้างพัลส์เพื่อควบคุมมุมของมอเตอร์เซอร์โวที่ติดอยู่กับกลไกบางอย่าง เช่น แขนหุ่นยนต์ เซอร์โวมีแกนที่หมุนไปยังตำแหน่งเฉพาะตามเส้นควบคุม มอเตอร์เซอร์โวของเรามีช่วงการทำงานประมาณ 180 องศา
ความถี่/คาบเวลาขึ้นอยู่กับการควบคุมเซอร์โวมอเตอร์แต่ละตัว โดยทั่วไปมอเตอร์เซอร์โวจะได้รับการอัปเดตทุกๆ 20 มิลลิวินาที โดยมีพัลส์อยู่ระหว่าง 1 ถึง 2 มิลลิวินาที หรือกล่าวอีกนัยหนึ่งคือ ระหว่าง 5 ถึง 10% ของรอบการทำงานบนคลื่นความถี่ 50 เฮิรตซ์ เมื่อใช้พัลส์ 1.5 มิลลิวินาที เซอร์โวจะอยู่ที่ตำแหน่ง 90 องศาตามธรรมชาติ เมื่อใช้พัลส์ 1 มิลลิวินาที เซอร์โวจะอยู่ที่ 0 องศา และเมื่อใช้พัลส์ 2 มิลลิวินาที เซอร์โวจะอยู่ที่ 180 องศา คุณสามารถรับช่วงการเคลื่อนไหวทั้งหมดได้โดยการอัปเดตเซอร์โวด้วยค่าที่อยู่ระหว่างนั้น
PWM ใช้เพื่อรักษาให้มอเตอร์เซอร์โวอยู่ที่มุม 90 องศากับส่วนยึด
การมอดูเลตความกว้างพัลส์ถูกนำมาใช้ในหลากหลายการใช้งาน โดยเฉพาะการควบคุม คุณคงทราบอยู่แล้วว่าการมอดูเลตนี้สามารถใช้ในการหรี่ไฟ LED และควบคุมมุมของมอเตอร์เซอร์โวได้ และตอนนี้คุณสามารถเริ่มต้นสำรวจการใช้งานอื่นๆ ที่เป็นไปได้