Arduino กับ การขับเซอร์โวมอเตอร์เบื้องต้น |
รู้จักเซอร์โวมอเตอร์ เซอร์โวมอเตอร์ เป็นมอเตอร์ที่ทำงานโดยใช้สัญญาณพัลส์ โดยภายในเซอร์โวมอเตอร์จะประกอบไปด้วย มอเตอร์ไฟฟ้ากระแสตรง ชุดเกียร์และส่วนควบคุม โดยจะประกอบกันอยู่ภายในชุดเดียวกัน ตัวเซอร์โวมอเตอร์จะมีสายสัญญาณ 3 เส้น คือ สานใช้งาน 1 เส้น อีก 2 เส้นจะเป็นสายสำหรับจ่ายไฟให้เซอร์โวมอเตอร์และสายสำหรับต่อลงกราวด์ ในการควบคุมเซอร์โวมอเอตร์นั้นจะทำให้หมุนไปทางซ้ายได้ 90 องศา ไปทางขวาได้ 90 องศา (180 องศา) และสามารถสั่งให้หมุนไปตามองศาที่กำหนดได้ (ในการที่จะทำให้หมุน 360 องศาจะต้องดัดแปลงแก้ไขส่วนประกอบภายใน ซึ่งจะไม่ขอกล่าวถึงในที่นี้) การใช้งานเซอร์โวมอเตอร์นั้นจะนำไปใช้ในที่ที่ต้องการความแม่ยำในเรื่ององศา หรือ การหมุนไปตามองศาที่ต้องการ เช่น ใช้เป็นมอเตอร์บังคับการเลี้ยวของหางเสือ เรือ หรือ การเลี้ยวของเครื่องบินบังคับวิทยุ แม้แต่สร้างเป็นหุ่นยนต์เดินขนาดเล็ก เพราะตัวเซอร์โวมอเอตร์เองจะมีแรงบิดค่อนข้างสูง (เพราะภายในจะมีชุดเกียร์อยู่แล้ว) การควบคุมทำงานของเซอร์โวมอเตอร์ เซอร์โวมอเตอร์ที่ใช้ในการทดลองนี้จะเป็น RC เซอร์โว แบบทั่วไป คือ จะมีมุมในการหมุนจำกัดที่ 180 องศาเท่านั้น แต่จะมีเซอร?โว แบบที่มีการดัดแปลงวงจรภายใน ซึ่งสามรรถหมุนได้ถึง 360 องศารนอบตัวก็มีครับ ในการควบคุมเซอร์โวมอเตอร์นั้น ทำได้โดยอาศัยความกว้างของพัลส์ที่ทำการป้อนให้เซอร์โวมอเตอร์ โดยสัญญาณพัลส์นี้จะเป็นสัญญาณ TTL โดยระดับสูง หรือ 1 จะมีแรงดัน 5VDC ระดับ ต่ำ หรือ 0 จะมีแรงดัน 0 VDC เซอร์โวมอเตอร์หมุนไปทางขวา หรือ ตามเข็มนาฬิกา จะต้องสร้างสัญญาณพัลส์ ขนาด 1 ms เมื่อเซอร์โวมอเตอร์หมุนไปทางขวาสุดแล้วมอเตอร์จะหยุดหมุนเอง ถ้าป้อนพัลส์เข้าไปอีกจะเซอร์โวมอเตอร์จะไม่ทำงาน เซอร์โวมอเตอร์หมุนไปทางซ้าย หรือ ทวนเข็มนาฬิกา จะต้องสร้างสัญญาณพัลส์ ขนาด 2 ms เมื่อเซอร์โวมอเตอร์หมุนไปทางซ้ายสุดแล้วมอเตอร์จะหยุดหมุนเอง ถ้าป้อนพัลส์เข้าไปอีกจะเซอร์โวมอเตอร์จะไม่ทำงาน เซอร์โวมอเตอร์ไปตำหแหน่งกึ่งกล่าง หากต้องการให้เซอร์โวมอเตอร์หนุนไปทางซ้าย หรือ ทวนเข็มนาฬิกา จะต้องสร้างสัญญาณพัลส์ ขนาด 1.5 ms เซอร์โวมอเตอร์แต่ละตัวจะมีการทำงานของความกว้างของพัลส์ไม่เท่ากัน ค่าดังกล่าวเป็นค่าประมาณเท่านั้น ดังนั้นถ้าต้องการค่าที่ถูกต้อง ต้องดูที่คู่มือด้วยทุกครั้ง และจำนวนลูกสัญญาณพัลส์จะมีผลต่อองศาในการหมุนด้วยเช่นเดียวกัน หากป้อนจำนวนลูกสัญญาณพัลส์น้อย จะทำให้องศาในการหมุนน้อย ในงานที่ต้องการให้มอเตอร์การหมุนสลับไปมาซ้ายและขวา เซอร์โวมอเตอร์จึงเป็นตัวเลือกที่เหมาะสม แต่ราคาของมอเตอร์ชนิดนี้ค่อนข่างสูง สินค้าที่มีเซอร์โวมอเตอร์รวมอยู่ด้วยเช่น เครื่องบิน หรือ เรือบังคับวิทยุ ซึ่งจะใช้ตัวเซอร์โวมอเตอร์ในการบังคับทิศทางการเลี้ยว การทดสอบและ code ในการทดสอบนั้นจะให้เซอร์โมมอเตอร์หมุน ซ้าย ขวา และ หยุด สลับกันไปเรือยๆ int led1 = 13; void setup() { pinMode(led1,OUTPUT); } void loop() { for (int i=0; i <= 75; i++) { digitalWrite(led1,HIGH); delayMicroseconds(1000); digitalWrite(led1,LOW); delay(19); } for (int i=0; i <= 100; i++) { digitalWrite(led1,HIGH); delayMicroseconds(2000); digitalWrite(led1,LOW); delay(18); } for (int i=0; i <= 75; i++) { digitalWrite(led1,HIGH); delayMicroseconds(1500); digitalWrite(led1,LOW); delay(19); } } |
วันจันทร์ที่ 9 กรกฎาคม พ.ศ. 2561
โปรเจค งานที่6 Arduino กับ การขับเซอร์โวมอเตอร์เบื้องต้น
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
งานครั้งที่ 5 ในสถานที่ฝึกงานของ นศ ใช้ระบบควบคุณภาพอย่างไร
มาตรฐาน ISO 9001 ISO 9001 เป็นมาตรฐานสากลที่องค์กรธุรกิจทั่วโลกให้ความสำคัญ เพื่อความเป็นเลิศทางด้านคุณภาพ และความมีประสิทธิภาพของการด...
-
เครื่องจ่ายน้ำอัตโนมัติโดยใช้ Arduino ต้องใช้วัสดุ Solenoid Valve Arduino Uno (เวอร์ชันใดก็ได้) HCSR04 - เซนเซอร์อัลตราโซนิ...
-
เครื่องป้อนสัตว์เลี้ยงอัตโนมัติโดยใช้ Arduino ในวงจรนี้เราใช้ จอ LCD 16 * 2 เพื่อแสดงเวลาโดยใช้โมดูล DS3231 RTC กับ Arduino UNO นอกจา...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น