PWM คืออะไรและใช้อย่างไรใน Arduino

สารบัญ:

PWM คืออะไรและใช้อย่างไรใน Arduino
PWM คืออะไรและใช้อย่างไรใน Arduino

วีดีโอ: PWM คืออะไรและใช้อย่างไรใน Arduino

วีดีโอ: PWM คืออะไรและใช้อย่างไรใน Arduino
วีดีโอ: วิธีใช้งาน PWM และ ADC : Arduino EP.5 2024, เมษายน
Anonim

มาดูกันว่าอะไรอยู่เบื้องหลังตัวย่อ PWM มันทำงานอย่างไร มีไว้เพื่ออะไร และเราจะใช้มันอย่างไรในการทำงานกับ Arduino

สัญญาณ PWM
สัญญาณ PWM

จำเป็น

  • - 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 มารวมกันเป็นโครงร่างแบบคลาสสิก

วงจรแสดง PWM ใน Arduino
วงจรแสดง PWM ใน Arduino

ขั้นตอนที่ 3

มาเปิดร่าง "จาง" จากตัวอย่าง: ไฟล์ -> ตัวอย่าง -> 01. Basics -> Fade

เปิดตัวอย่างเพื่อสาธิต PWM ใน Arduino
เปิดตัวอย่างเพื่อสาธิต PWM ใน Arduino

ขั้นตอนที่ 4

ลองเปลี่ยนมันเล็กน้อยแล้วโหลดลงในหน่วยความจำ Arduino

ร่างการสาธิต PWM
ร่างการสาธิต PWM

ขั้นตอนที่ 5

เราเปิดเครื่อง LED ค่อยๆ เพิ่มความสว่างแล้วค่อยๆ ลดลง เราได้จำลองสัญญาณแอนะล็อกที่เอาต์พุตดิจิตอลโดยใช้การปรับความกว้างพัลส์

แนะนำ: