การใช้งาน PWM และ...
Transcript of การใช้งาน PWM และ...
![Page 1: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/1.jpg)
การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์
รศ.ณรงค ์ บวบทองภาควิชาวิศวกรรมไฟฟ้าและคอมพิวเตอร์
คณะวิศวกรรมศาสตร์มหาวิทยาลยัธรรมศาสตร์
1Arduino PWM
![Page 2: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/2.jpg)
หวัขอ้
วตัถุประสงค์ PWM คืออะไร การใชง้านโมดูล PWM ของ Arduino Application Programming Interface (API) เก่ียวกบั PWM เซอร์โวมอเตอร์ (Servo motor ) และการใชง้าน การใชไ้ลบราร่ีส าหรับสัง่งาน RC Servo Motor
2Arduino PWM 2559
![Page 3: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/3.jpg)
วตัถุประสงค์
เพือ่ใหเ้ขา้ใจการท างานของ PWM และสามารถเขียนโปรแกรมควบคุมการท างานของ PWMได ้
เพือ่ใหเ้ขา้ใจการควบคุมความเร็วมอเตอร์ดีซีดว้ย PWM เพือ่ใหเ้ขา้ใจการท างานของเซอร์โวมอเตอร์ และสามารถเขียน
โปรแกรมควบคุมการท างานของ เซอร์โวมอเตอร์ได ้ดว้ยการใช้Servo library
3Arduino PWM
![Page 4: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/4.jpg)
PWM คืออะไร
PWM หรือ Pulse Width Modulation คือสญัญาณพลสัท่ีมีค่าความถ่ีคงท่ี แต่ความกวา้งของพลสัเปล่ียนแปลงได้
PWM เป็นวธีิหน่ึงท่ีนิยมใชก้นัมากในงานควบคุม เช่นการควบคุมความเร็วมอเตอร์
4Arduino PWM
![Page 5: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/5.jpg)
การสร้างสัญญาณ PWM ดว้ยวิธีทาง Analog
5Arduino PWM
![Page 6: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/6.jpg)
การสร้างสัญญาณ PWM ดว้ยวิธีทาง Digital
6Arduino PWM
![Page 7: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/7.jpg)
การสร้างสัญญาณ PWM ของ AVR
7Arduino PWM
![Page 8: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/8.jpg)
การสร้างสัญญาณ PWM ของ AVR (ต่อ)
OCRnx (OCR0A and OCR0B) = Output Compare RegistersTCNTn (TCNT0) = Timer/Counter RegisterOCFnx (OCF0x) = Output Compare FlagOcnx = Timer/Counter1 output compare match output
8Arduino PWM
![Page 9: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/9.jpg)
สญัญาณ PWM
T = 2.04 mSF = 1/T = 1000/2.04 = 490 Hz
9Arduino PWM
![Page 10: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/10.jpg)
การสร้างสญัญาณ PWM อยา่งง่ายๆดว้ย analogWrite
เป็นฟังกช์ัน่สร้างสัญญาณ PWM ออกทางขา Digital Out โดยมีความถ่ีประมาณ 490 Hz T= 2.04 mS
ส าหรับ ATmega168 หรือ ATmega328 ใชไ้ดก้บัขา 3, 5, 6, 9, 10, และ 11 วิธีการใชง้าน analogWrite(Pin, Value) Pin : ขาเอาทพ์ุท Val : ค่า duty cycle มีค่าอยูร่ะหวา่ง 0 ( 0% ) ถา้ 127 หค้่า duty cycle
ประมาณ 50% และ 255 (100%)
10Arduino PWM
![Page 11: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/11.jpg)
โปรแกรมท่ี 1 // set output pin for the PWM
int pwm_out = 9;
void setup() {
// declare the PWM as an OUTPUT:
pinMode(pwm_out, OUTPUT);
}
void loop() {
analogWrite(pwm_out, 127);
}
11Arduino PWM
![Page 12: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/12.jpg)
การสร้างสัญญาณ PWM ดว้ยค่าไลบรารี TimerOne.h
การตั้งค่า
Timer1.initialize(microseconds); ก าหนดค่าคาบเวลา (Period) มีหน่วยเป็นวนิาที
Timer1.setPeriod(microseconds); ก าหนดค่าคาบเวลาใหม่ หลงัจากใช้ Timer1.initialize แลว้
12Arduino PWM
![Page 13: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/13.jpg)
การสร้างสัญญาณ PWM ดว้ยค่าไลบรารี TimerOne.h (ต่อ)
การค่วบคุม
Timer1.start(); สัง่ให ้Timer เร่ิมท างาน Timer1.stop(); สัง่ให ้Timer หยดุท างาน Timer1.restart(); สัง่ให ้Timer เร่ิมท างานใหม่หลงัจากก าหนดค่าคาบ
ใหม่ Timer1.resume(); สัง่ให ้Timer เร่ิมท างาน หลงัจากท่ีสัง่หยดุ
13Arduino PWM
![Page 14: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/14.jpg)
การสร้างสัญญาณ PWM ดว้ยค่าไลบรารี TimerOne.h (ต่อ)
ฟังก์ช่ันเกี่ยวกบัสัญญาณ PWM
Timer1.pwm(pin, duty); ก าหนดค่า duty cycle มีค่าตั้งแต่ 0 (0%) ถึง 1023 (100%) โดยสญัญาณจะออกท่ีขา pin Ocxn (กรณี 168 คือ D9)
Timer1.setPwmDuty(pin, duty); ก าหนดค่า duty cycle ใหม่ Timer1.disablePwm(pin); หยดุสัญญาณ PWM
14Arduino PWM
![Page 15: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/15.jpg)
การสร้างสัญญาณ PWM ดว้ยค่าไลบรารี TimerOne.h (ต่อ)
ฟังก์ช่ันเกี่ยวกบัการอนิเตอร์รัพท์
Timer1.attachInterrupt(function); ก าหนดฟังกช์ัน่เพือ่รองรับการอินเตอร์รัพท ์ ท่ีจะเกิดข้ึนทุกคร้ังท่ี Timer นบัเวลาครบ
Timer1.detachInterrupt(); ก าหนดสถานการณ์อินเตอร์รัพทใ์หเ้ป็น ดิสเอเบิล (Disable)
15Arduino PWM
![Page 16: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/16.jpg)
โปรแกรมท่ี 2
#include "TimerOne.h“
int pwm_out = 9;
void setup()
{
Timer1.initialize(1000); // initialize timer1, and set 1000 mS
Timer1.pwm(pwm_out, 512); // setup pwm on pin 9, 50% duty cycle
}
void loop()
{
}
Arduino PWM 16
![Page 17: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/17.jpg)
เซอร์โวมอเตอร์ (Servo motor ) และการใชง้าน
Servo motor คือ มอเตอร์ไฟฟ้ากระแสตรง (DC motor) ท่ีถูกประกอบรวมกบั ชุดเกียร์ และ ส่วนควบคุม ต่างๆ ไว ้ในโมดูลเดียวกนั หรือ ภายในกล่องพลาสติกเดียวกนั โดยมอเตอร์ชนิดน้ีจะมีสายต่อใชง้านเพยีง 3 เสน้เท่านั้น คือ VCC,GND และ สายสัญญาณควบคุม(Control Line) ซ่ึงสามารถควบคุมใหม้อเตอร์หมุนซา้ย หรือ ขวาไดจ้ากสายสญัญาณเพียงเสน้เดียว โดยสญัญาณท่ีใชค้วบคุมน้ีจะเป็นสญัญาณ พลัสวดิมอด (PWM) แบบ TTL Level ระดบัแรงดนัท่ีจ่ายใหม้อเตอร์น้ีจะอยูใ่น ช่วงประมาณ 4 ถึง 6 โวลท ์
17Arduino PWM
![Page 18: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/18.jpg)
ลกัษณะของเซอร์โวมอเตอร์
18Arduino PWM
![Page 19: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/19.jpg)
ลกัษณะของเซอร์โวมอเตอร์ (ต่อ)
Arduino PWM 19
1. Motor เป็นส่วนของตวัมอเตอร์2. Gear Train หรือ Gearbox เป็นชุดเกียร์ทดแรง3. Position Sensor เป็นเซ็นเซอร์ตรวจจบัต าแหน่งเพ่ือหาค่าองศาในการหมุน4. Electronic Control System เป็นส่วนท่ีควบคุมและประมวลผล
![Page 20: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/20.jpg)
Servo Motor Block Diagram
Arduino PWM 20
![Page 21: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/21.jpg)
การควบคุมเซอร์โวมอเตอร์
21Arduino PWM
![Page 22: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/22.jpg)
ตวัอยา่งการก าหนดค่าความกว้างของพลัส์ ส าหรับการควบคุมเซอร์โวมอเตอร์ ดว้ยค าสั่ง ในไลบรารี TimerOne.h
มมุ 0 – 180 องศา ตอ้งใชพั้ลส ์0.7 – 2.3 ms ดงันัน้ 180 ไดเ้ป็นชว่งเวลา 1.6n องศา คดิเป็นเวลา (1.6*n/180) + 0.7แปลงจากองศา 0-180 เป็นคา่ 0 - 1023n องศา คดิเป็นคา่ ((1.6*n/180) + 0.7)*1024/20
ทีม่มุ 0 องศา ตอ้งใช ้ = 0.7 *1024/20 = 35
ทีม่มุ 90 องศา ตอ้งใช ้ = ((1.6*90/180)+0.7) *1024/20 = 76
ทีม่มุ 180 องศา ตอ้งใช ้ = ((1.6*180/180)+0.7) *1024/20 = 102
22Arduino PWM
![Page 23: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/23.jpg)
วงจรทดลอง
23Arduino PWM
![Page 24: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/24.jpg)
โปรแกรมที ่3 ควบคุมเซอร์โวมอเตอร์โดยใช้ ไลบรารี TimerOne.h#include "TimerOne.h“
int pwm_out = 9;
void setup()
{
Timer1.initialize(20000); // initialize timer1, and set 1000 uS
Timer1.pwm(pwm_out, 76); // setup pwm on pin 9, for 90 degree
delay(200) // delay time
Timer1.stop();
}
void loop()
{
}
Arduino PWM 24
![Page 25: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/25.jpg)
การใชไ้ลบราร่ีส าหรับสัง่งาน RC Servo Motor
ไลบราร่ีมีมาพร้อมกบั Arduino IDE แลว้ ฟังกช์ัน่
attach() write() writeMicroseconds() read() attached() detach()
ค าอธิบายดูจาก https://www.arduino.cc/en/Reference/ServoArduino PWM 25
![Page 26: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/26.jpg)
ตวัอยา่ง
#include <Servo.h>
Servo myservo;
void setup()
{
myservo.attach(9);
myservo.write(90); // set servo to mid-point
}
void loop() {}
Arduino PWM 26
![Page 27: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/27.jpg)
การทดลอง และงานมอบหมาย
ใหเ้ขียนโปรแกรมสัง่ใหม้อเตอร์หมุนจาก 0 องศา ไปถึง 180 องศา โดยหมุนใหห้มุนไปท่ีละ 5 องศา แลว้หน่วงเวลาสเตป็ละ 200 ms
ใหใ้หเ้ขียนโปรแกรมควบคุมการท างานเซอร์โวมอเตอร์โดยใช้โปรแกรมบน Arduino และสัง่งานผา่นทาง Processing
Arduino PWM 27
![Page 28: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/28.jpg)
28Arduino PWM
![Page 29: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/29.jpg)
29Arduino PWM
![Page 30: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/30.jpg)
30Arduino PWM
![Page 31: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/31.jpg)
การทดลองและงานมอบหมาย
การทดลอง
1. ใหเ้ขียนโปรแกรมควบคุมควบคุมความเร็วของ DC motor โดยใช้โปรแกรมท่ี 1 หรือ โปรแกรมท่ี 2
2. ใหเ้ขียนโปรแกรมควบคุม ต าแหน่งของ Servo motor โดยใช้โปรแกรมท่ี 2
3. ใหเ้ขียนโปรแกรมควบคุมต าแหน่งของServo motor โดยค่าต าแหน่งส่งจากเคร่ืองพซีี
Arduino PWM 31
![Page 32: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/32.jpg)
การก าหนดพารามิเตอร์ Global Resource
VC1 = SysClk/8
VC2 = VC1/3
VC2 = SysClk/(8x3)
= 24MHz/24 = 1 MHz
VC3 = 8 x Baudrate
= 8 x 9600 = 76.8 K
VC3 = VC1/n
n = 3000/76.8
= 39.0625
ดังนัน้ VC3 Divider = 39
32Arduino PWM
![Page 33: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/33.jpg)
การก าหนดพารามิเตอร์ PWM และพอร์ท
PWM16_1_WritePeriod(2000);
ดังนัน้ไดค้า่คาบเวลาเทา่กับ ?
33Arduino PWM
![Page 34: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/34.jpg)
API ของ PWM16
PWM16_Start
PWM16_Stop
PWM16_WritePeriod
PWM16_WritePulseWidth
34Arduino PWM
![Page 35: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/35.jpg)
PWM16_Start
ฟังก์ช่ัน PWM16_Startรายละเอยีด
Starts the PWM16 User Module. If the enable input is high, the counter will begin to down count.
การใช้งานด้วยภาษา Cvoid PWM16_Start(void);
พารามิเตอร์ไม่มี
ค่าส่งกลบัไม่มี
35Arduino PWM
![Page 36: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/36.jpg)
PWM16_Stop
ฟังก์ช่ัน PWM16_Stopรายละเอยีด
Stops the counter operation.
การใช้งานด้วยภาษา Cvoid PWM16_Stop(void);
พารามิเตอร์ไม่มี
ค่าส่งกลบัไม่มี
36Arduino PWM
![Page 37: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/37.jpg)
PWM16_WritePulseWidth
ฟังก์ช่ัน PWM16_WritePulseWidthรายละเอยีด
Writes the PulseWidth register with the pulse width value.
การใช้งานด้วยภาษา Cvoid PWM16_WritePulseWidth(WORD wPeriod);
พารามิเตอร์wPulseWidth: wPulseWidth value is the value from 0 to the period value. MSB is passed in the X register and LSB is passed in the Accumulator.
ค่าส่งกลบัไม่มี
37Arduino PWM
![Page 38: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/38.jpg)
PWM16_WritePeriod
ฟังก์ช่ัน PWM16_WritePeriodรายละเอยีด
Writes the Period register with the period value. The period value will be transferred from the Period register to the Counter register immediately, if the PWM16 is stopped or when the counter reaches the zero count.
การใช้งานด้วยภาษา Cvoid PWM16_WritePeriod(WORD wPeriod);
พารามเิตอร์wPeriod: wPeriod value is a value from 0 to 216-1. MSB is passed in the X register and LSB is passed in the Accumulator.
ค่าส่งกลบัไม่มี
38Arduino PWM
![Page 39: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/39.jpg)
จบแลว้ครับ
39Arduino PWM
![Page 40: การใช้งาน PWM และ การควบคุมเซอร์โวมอเตอร์ · PDF fileเซอร์โวมอเตอร์ (Servo motor )](https://reader033.fdocuments.net/reader033/viewer/2022061617/5a7128ec7f8b9a98538ca6f2/html5/thumbnails/40.jpg)
วงจรทดลอง
40Arduino PWM