• ดีเอสพาวเวอร์ ไมโครเซอร์โว

ข่าว

Pulse Width Modulation คืออะไร? บอกเลยว่าใช่!

การมอดูเลตความกว้างพัลส์ (PWM) เป็นคำที่มีความหมายกว้างสำหรับสัญญาณดิจิทัลประเภทหนึ่ง PWM ถูกใช้ในแอปพลิเคชันหลากหลาย รวมถึงวงจรควบคุมที่ซับซ้อน วิธีที่ SparkFun ใช้กันทั่วไปคือการหรี่ไฟ LED RGB หรือควบคุมทิศทางของเซอร์โว เราสามารถให้ผลลัพธ์ที่หลากหลายในแอปพลิเคชันทั้งสองนี้ เนื่องจาก PWM ช่วยให้เราสามารถปรับระยะเวลาที่สัญญาณมีค่าสูงได้ในแบบอะนาล็อก แม้ว่าสัญญาณจะมีค่าสูง (ปกติคือ 5V) หรือต่ำ (กราวด์) ในเวลาใดก็ตาม แต่เราสามารถปรับสัดส่วนของเวลาที่สัญญาณมีค่าสูงเทียบกับต่ำได้ในช่วงเวลาที่สม่ำเสมอ

เซอร์โวแขนหุ่นยนต์รอบการทำงาน

เมื่อสัญญาณมีค่าสูง เราเรียกว่า "ตรงเวลา" เพื่ออธิบายปริมาณ "ตรงเวลา" เราใช้แนวคิดของรอบการทำงาน รอบการทำงานวัดเป็นเปอร์เซ็นต์ เปอร์เซ็นต์รอบการทำงานอธิบายเปอร์เซ็นต์ของเวลาที่สัญญาณดิจิทัลเปิดอยู่ภายในช่วงเวลาหรือคาบหนึ่ง คาบคือค่าผกผันของความถี่ของรูปคลื่น หากสัญญาณดิจิทัลเปิดครึ่งหนึ่งของเวลาและปิดอีกครึ่งหนึ่ง เราจะกล่าวว่าสัญญาณดิจิทัลมีรอบการทำงาน 50% ซึ่งคล้ายกับคลื่นสี่เหลี่ยมในอุดมคติ หากเปอร์เซ็นต์สูงกว่า 50% สัญญาณดิจิทัลจะใช้เวลาในสถานะสูงมากกว่าสถานะต่ำ และในทางกลับกันหากรอบการทำงานน้อยกว่า 50% แผนภาพต่อไปนี้แสดงสามกรณีเหล่านี้:

เซอร์โวอุตสาหกรรม

รอบการทำงาน 100% เท่ากับการตั้งแรงดันไฟฟ้าไว้ที่ 5 โวลต์ (สูง) ส่วนรอบการทำงาน 0% เท่ากับการต่อสัญญาณเข้ากับกราวด์

ตัวอย่าง

คุณสามารถควบคุมความสว่างของ LED ได้โดยการปรับรอบการทำงาน

PWM ใช้ในการควบคุมความสว่างของ LED

ด้วย LED RGB (แดง เขียว และน้ำเงิน) คุณสามารถควบคุมปริมาณสีทั้งสามสีที่ผสมกันโดยการหรี่แสงในปริมาณที่ต่างกัน

พื้นฐานการผสมสี

หากเปิดทั้งสามสีในปริมาณที่เท่ากัน ผลลัพธ์ที่ได้จะเป็นแสงสีขาวที่มีเฉดสีแตกต่างกัน การผสมสีน้ำเงินและสีเขียวแบบเดียวกันจะสร้างแสงสีเขียวอมฟ้า สำหรับตัวอย่างที่ซับซ้อนขึ้นเล็กน้อย ลองเปิดสีแดงให้สว่างเต็มที่ สีเขียวให้สว่างเต็มที่ที่รอบการทำงาน 50% และปิดสีน้ำเงินให้สว่างเต็มที่เพื่อสร้างสีส้ม

PWM สามารถใช้ผสมสี RGB ได้

เมื่อควบคุมหลอด LED ความถี่ของคลื่นสี่เหลี่ยมจะต้องสูงพอที่จะทำให้เกิดเอฟเฟกต์การหรี่แสงที่เหมาะสม คลื่นรอบการทำงาน 20% ที่ความถี่ 1 เฮิรตซ์จะแสดงให้เห็นได้ชัดเจนขณะเปิดและปิด ในขณะที่รอบการทำงาน 100% ที่ความถี่ 20 เฮิรตซ์หรือสูงกว่าจะดูหรี่แสงลงกว่าเมื่อเปิดเต็มที่ โดยพื้นฐานแล้ว หากเป้าหมายของคุณคือการทำให้เกิดเอฟเฟกต์การหรี่แสงด้วยหลอด LED ช่วงเวลานี้ไม่ควรนานเกินไป คุณยังสามารถใช้การมอดูเลตความกว้างพัลส์เพื่อควบคุมมุมของมอเตอร์เซอร์โวที่เชื่อมต่อกับอุปกรณ์เครื่องกล เช่น แขนหุ่นยนต์ เซอร์โวมีเพลาที่หมุนไปยังตำแหน่งเฉพาะตามสายควบคุม มอเตอร์เซอร์โวของเรามีช่วงการทำงานประมาณ 180 องศา

ความถี่/คาบเวลานี้กำหนดไว้เฉพาะสำหรับการควบคุมเซอร์โวตัวใดตัวหนึ่ง โดยทั่วไปมอเตอร์เซอร์โวจะคาดหวังการอัปเดตทุกๆ 20 มิลลิวินาที โดยมีพัลส์อยู่ระหว่าง 1 ถึง 2 มิลลิวินาที หรือกล่าวอีกนัยหนึ่งคือ รอบการทำงานอยู่ระหว่าง 5% ถึง 10% บนรูปคลื่น 50 เฮิรตซ์ เมื่อใช้พัลส์ 1.5 มิลลิวินาที มอเตอร์เซอร์โวจะอยู่ในตำแหน่ง 90 องศาตามธรรมชาติ ที่พัลส์ 1 มิลลิวินาที เซอร์โวจะอยู่ที่ 0 องศา และที่พัลส์ 2 มิลลิวินาที เซอร์โวจะอยู่ที่ 180 องศา คุณสามารถรับช่วงการเคลื่อนไหวทั้งหมดได้โดยการอัปเดตเซอร์โวเป็นค่าที่อยู่ระหว่างนั้น

เซอร์โวข้อต่อหุ่นยนต์

การมอดูเลตความกว้างพัลส์ถูกนำมาใช้ในหลากหลายแอปพลิเคชัน โดยเฉพาะการควบคุม ตอนนี้คุณรู้แล้วว่าสามารถใช้หรี่ไฟ LED และควบคุมมุมของมอเตอร์เซอร์โวได้ คุณก็สามารถเริ่มต้นสำรวจการใช้งานอื่นๆ ที่เป็นไปได้ หากคุณรู้สึกสับสน ลองดูชุด SparkFun Inventor's Kit ซึ่งมีตัวอย่างการใช้การมอดูเลตความกว้างพัลส์ หากคุณพร้อมที่จะเริ่มเขียนโค้ดทันทีและมี Arduino แล้ว ลองดูตัวอย่างการเขียนโค้ด PWM ได้ที่นี่


เวลาโพสต์: 31 ก.ค. 2568