- Microcontroller Ep.5 -
การเขียนโปรแกรมบนไมโครคอนโทรลเลอร์นั้น การควบคุมดีซีมอเตอร์ก็เป็นหนึ่งในงานที่พบได้บ่อยๆ ซึ่งความสัมพันธ์ระหว่างความเร็วของมอเตอร์และแรงดันนั้นจะเป็นความสัมพันธ์แบบแปรผันตรง กล่าวคือยิ่งค่าแรงดันสูงขึ้น ความเร็วของมอเตอร์น้ันก็จะเพิ่มขึ้นตาม
DC motor speed vs Applied Voltage
ซึ่งการควบคุมความเร็วของดีซีมอเตอร์นั้นเราจะใช้เทคนิคที่เรียกว่า "พัลส์วิดท์มอดูเลชั่น" (Pulse Width
Modulation) หรือที่นิยมเรียกกันทั่วไปว่า PWM ซึ่งเทคนิคนี้เราจะใช้การควบคุมความกว้างของพัลล์เพื่อใช้ในการเปลี่ยนแปลงระดับแรงดันที่ป้อนให้กับดีซีมอเตอร์
การสร้างพัลส์วิดท์มอดูเลชั่นด้วย Arduino นั้นจะสามารถสร้างจากพอร์ท 3 ,5 ,6 ,9 ,10 และ 11 ด้วยการใช้คำสั่ง
int pulsePin = 9;
int duty = 127;
analogWrite( pulsePin, duty );
คำสั่ง
- int pulsePin = 9; ใช้กำหนดขาที่จะสร้างพัลส์วิดท์มอดูเลชั่น
- int duty = 127; ใช้ในการกำหนดความกว้างของพัลส์ซึ่งมีค่าตั้งแต่ 0 -255 คิดเป็น 0% ~ 100%
- analogWrite( pulsePin, duty ); ใช้ในการสั่งให้สร้างพัลส์วิดท์มอดูเลชั่น
การสร้างพัลส์วิดท์มอดูเลชั่นนั้นไม่จำเป็นต้องใช้คำสั่ง pinMode() ในการกำหนดโหมดของพอร์ทที่ใช้



ไม่มีความคิดเห็น:
แสดงความคิดเห็น