มาดูกันว่าอะไรอยู่เบื้องหลังตัวย่อ PWM มันทำงานอย่างไร มีไว้เพื่ออะไร และเราจะใช้มันอย่างไรในการทำงานกับ Arduino
จำเป็น
- - Arduino;
- - ไดโอดเปล่งแสง;
- - ตัวต้านทานที่มีความต้านทาน 200 โอห์ม
- - คอมพิวเตอร์.
คำแนะนำ
ขั้นตอนที่ 1
พินดิจิตอล Arduino สามารถให้สองค่าเท่านั้น: ลอจิก 0 (LOW) และลอจิก 1 (สูง) นั่นเป็นเหตุผลที่พวกเขาเป็นดิจิตอล แต่ Arduino มีข้อสรุป "พิเศษ" ซึ่งกำหนดเป็น PWM บางครั้งพวกเขาจะถูกแสดงด้วยเส้นหยัก "~" หรือวงกลมหรือแตกต่างไปจากที่อื่น PWM ย่อมาจาก "Pulse-width modulation" หรือ Pulse Width Modulation, PWM
สัญญาณมอดูเลตความกว้างพัลส์เป็นสัญญาณพัลส์ของความถี่คงที่ แต่เป็นวัฏจักรหน้าที่ที่แปรผันได้ (อัตราส่วนของระยะเวลาพัลส์ต่อคาบการทำซ้ำ) เนื่องจากกระบวนการทางกายภาพส่วนใหญ่ในธรรมชาติมีความเฉื่อยอยู่บ้าง แรงดันไฟฟ้าที่แหลมคมลดลงจาก 1 เป็น 0 จะถูกปรับให้เรียบ โดยใช้ค่าเฉลี่ยบางส่วน โดยการตั้งค่ารอบการทำงาน คุณสามารถเปลี่ยนแรงดันไฟฟ้าเฉลี่ยที่เอาต์พุต PWM
หากรอบการทำงานเป็น 100% ตลอดเวลาที่เอาต์พุตดิจิตอลของ Arduino จะมีแรงดันลอจิก "1" หรือ 5 โวลต์ หากคุณตั้งค่ารอบการทำงานเป็น 50% ครึ่งหนึ่งของเวลาที่เอาต์พุตจะเป็นตรรกะ "1" และครึ่งตรรกะ "0" และแรงดันไฟฟ้าเฉลี่ยจะเท่ากับ 2.5 โวลต์ และอื่นๆ.
ในโปรแกรมรอบการทำงานไม่ได้ตั้งเป็นเปอร์เซ็นต์ แต่เป็นตัวเลขตั้งแต่ 0 ถึง 255 เช่น คำสั่ง "analogWrite (10, 64)" จะบอกให้ไมโครคอนโทรลเลอร์ส่งสัญญาณด้วยรอบการทำงานที่ 25 % ไปยังเอาต์พุต PWM แบบดิจิตอล # 10
พิน Arduino พร้อมฟังก์ชันมอดูเลตความกว้างพัลส์ทำงานที่ความถี่ประมาณ 500 Hz ซึ่งหมายความว่าระยะเวลาการเกิดซ้ำของพัลส์จะอยู่ที่ประมาณ 2 มิลลิวินาที ซึ่งวัดโดยจังหวะแนวตั้งสีเขียวในรูป
ปรากฎว่าเราสามารถจำลองสัญญาณแอนะล็อกที่เอาต์พุตดิจิตอลได้! น่าสนใจใช่มั้ยล่ะ!
เราจะใช้สิ่งนี้ได้อย่างไร มีแอพพลิเคชั่นมากมาย! ตัวอย่างเช่น การควบคุมความสว่าง LED, การควบคุมความเร็วมอเตอร์, การควบคุมกระแสทรานซิสเตอร์, การสกัดเสียงจากตัวปล่อยเพียโซ …
ขั้นตอนที่ 2
มาดูตัวอย่างพื้นฐานที่สุด - การควบคุมความสว่างของ LED โดยใช้ PWM มารวมกันเป็นโครงร่างแบบคลาสสิก
ขั้นตอนที่ 3
มาเปิดร่าง "จาง" จากตัวอย่าง: ไฟล์ -> ตัวอย่าง -> 01. Basics -> Fade
ขั้นตอนที่ 4
ลองเปลี่ยนมันเล็กน้อยแล้วโหลดลงในหน่วยความจำ Arduino
ขั้นตอนที่ 5
เราเปิดเครื่อง LED ค่อยๆ เพิ่มความสว่างแล้วค่อยๆ ลดลง เราได้จำลองสัญญาณแอนะล็อกที่เอาต์พุตดิจิตอลโดยใช้การปรับความกว้างพัลส์