17 กันยายน 2552

b3

3. System Block Diagram

Rev.1

 

รูปที่ 2 System Block Diagram ระบบที่ 1

จากบล็อกไดอะแกรมข้างต้น เมื่อเริ่มการทำงาน Arduinoจะทำการอ่านข้อมูลดิจิตอล 4 บิต จาก Magnetic rotary encoder เพื่อประมวลผล แล้วสั่งงานมอเตอร์ผ่านทาง Motor driver โดยที่สั่งงานแบบ PWM (Pluse Width Modulation) เพื่อปรับความเร็วในการหมุนให้สัมพันธ์กับข้อมูลที่ได้รับจาก Magnetic rotary encoder ตามสมการที่ได้ตั้งไว้ในตอนแรก โดยในระบบแรกนี้ไม่มีการป้อนกลับของตำแหน่งของมอเตอร์      อีกทั้งมอเตอร์เป็นชนิดที่มีการทดรอบทำให้การตอบสนองไม่ดีเท่าที่ควร จึงทำการปรับปรุงเป็นระบบที่สอง

 

 

 

 

 

Rev.2

 

รูปที่ 3 System Block Diagram ระบบที่ 2

จากบล็อกไดอะแกรมข้างต้น เมื่อเริ่มทำงาน Arduinoจะทำการอ่านข้อมูลดิจิตอล 4 บิต จาก Magnetic rotary encoder เพื่อประมวลผลเช่นเดียวกับระบบแรก แต่ในระบบที่สองนี้ยังมีการอ่านข้อมูลดิจิตอล 4 บิต จาก Encoder ของมอเตอร์ด้วย แล้วสั่งงานมอเตอร์ผ่านทาง Motor driver โดยที่สั่งงานแบบ PWM เพื่อปรับความเร็วในการหมุนให้สัมพันธ์กับข้อมูลที่ได้รับจาก Magnetic rotary encoder และ Encoder ตามสมการที่ได้ตั้งไว้ ซึ่งในระบบที่สองนี้สามารถควบคุมตำแหน่งของมอเตอร์ให้สัมพันธ์กับการเปลี่ยนแปลงของมุม Pendulum rod และสามารถอ่านค่าตำแหน่งของมอเตอร์กลับมาเพื่อแก้ใขความผิดพลาดในรอบต่อไปได้ด้วย แต่เนื่องด้วย Encoder ไม่ละเอียดพอและมอเตอร์ยังคงตอบสนองได้ไม่ดีเท่าที่ควร จึงทำการปรับปรุงเป็นระบบที่สาม

 

 

 

 

 

Rev.3

 

 

ATMEGA 8

Variable

Resistor

Host  PC

 

 

Serial

Module

 

DC Motor

Encoder

 

 

 

 

รูปที่ 4 System Block Diagram ระบบที่ 3

 

จากบล็อกไดอะแกรมข้างต้น เมื่อเริ่มทำงาน Arduinoจะทำการอ่านข้อมูลอนาล็อกจาก Variable resistorแปลงเป็นค่าดิจิตอลแล้วส่งให้กับคอมพิวเตอร์โดยส่งข้อมูลผ่านทาง Serialport หลังจากนั้นคอมพิวเตอร์จะนำข้อมูลที่ได้มาคำนวนตามสมการที่ตั้งไว้ งจากนั้นตคอมพิวเตอร์์ผ่านทาง อมพิวเตอร์ผ่านทาง XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXแล้วสั่งงานมอเตอร์ผ่านทาง Serial portโดยที่สั่งงานแบบ PWM เพื่อปรับความเร็วในการหมุนให้สัมพันธ์กับข้อมูลที่ได้รับจากArduinoและ Encoder ที่ป้อนค่าตำแหน่งกลับมา ซึ่งในระบบนี้สามารถควบคุมตำแหน่งของมอเตอร์ให้สัมพันธ์กับการเปลี่ยนแปลงของมุม Pendulum rod และสามารถอ่านค่าตำแหน่งของมอเตอร์กลับมาเพื่อแก้ใขความผิดพลาดในรอบต่อไปได้ แต่เนื่องด้วยค่าที่ได้จาก Variable resistor ไม่ละเอียดพอทำให้การควบคุมตำแหน่งของมอเตอร์ที่ควรจะเป็นผิดพลาดไปด้วย

 

 

 

 

Interface

 

A/B Quarture

A/B Quarture

PWM

Serial

รูปที่ 5 Interface ของระบบ

 

Interface ที่ใช้ติดต่อระหว่าง Arduino กับคอมพิวเตอร์ ใช้การเชื่อมต่อแบบอนุกรมผ่านทาง Serial port ซึ่งเป็นการส่งค่าที่อ่านได้จาก Magnetic rotary encoder และ Motor Encoder โดยแสดงผลทาง SerialMonitor เพื่อทำการวิเคราะห์ต่อไปส่วนการติดต่อระหว่าง Magnetic rotary encoder และ Motor Encoder กับ Arduino นั้นเป็นแบบ A/B Quarture mode ซึ่งสามารถแสดงองศาการหมุนและทิศทางการหมุนได้ ว่าเป็นแบบทวนเข็มนาฬิกาหรือตามเข็มนาฬิกา ส่วนการติดต่อระหว่าง Arduino กับ Motor driver นั้นใช้ PWM ซึ่งสามารถควบคุมความเร็วของมอเตอร์ได้อ่านข้อมูล ดิจิตอลจาก์ชนิดXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

 

 


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