ตัวอย่าง
Robot กรณีศึกษา
Micro Mouse ในส่วนการออกแบบวงจร
เอกพล
โรจน์รัตนาวิชัย
37056249
สุทธิพล
วรางฤทธิ์ 37055647
สารบัญ
1. บทนำ
2. Microcomputer
board (MCB)
2.1. System power
2.2. Microcomputer
2.2.1. Microcontroller
2.2.2. Memory mapping
2.2.3. Reset switch
2.2.4. Serial communication interface
2.2.5. LED indicator
3. Infra-red
sensor board (ISB)
3.1. Sensor transmitter
3.2. Sensor receiver
3.3. Sensor expansion
4. Motor
driver board
4.1. Stepping motor sequencer
4.2. Stepping motor driver
4.3. Driver calibration
5. สรุป
6. เอกสารอ้างอิง
บทนำ
Micro Mouse เป็นหุ่นยนต์ที่ทำงานได้ด้วยตัวเองที่สามารถวิ่งสำรวจเขาวงกตที่ไม่รู้จักและสามารถหาเส้นทางโดย
ใช้เวลาน้อยที่สุดที่วิ่งจากจุดเริ่มต้นไปยังเส้นชัยที่อยู่กลางเขาวงกตได้ประสิทธิภาพของ
Micro Mouse ขึ้นอยู่กับ
Hardware และ Software คือ โปรแกรมที่ฉลาด
ที่สามารถค้นหาและจดจำเส้นทางในเขาวงกตและ
ประมวลผลหาเส้นทางที่ดีที่สุด
และขึ้นอยู่กับการออกแบบวงจรของ
Micro Mouse และโครงสร้างกลไกเพื่อทำให้
Micro Mouse สามารถโปรแกรมได้ง่าย
มีประสิทธิภาพในการเคลื่อนที่และการตรวจจับกำแพง
สำหรับกรณีศึกษา
Micro Mouse นี้ ศึกษาจากต้นแบบ
Micro Mouse ของ Alpha Centre , Ngee Ann Polytechnic ,
Singapore ซึ่งเป็น Micro
Mouse ต้นแบบที่ภาควิชาÎ
ได้ใช้เพื่อการศึกษาวิจัย
ในการพัฒนา
Software และ Hardware บทความนี้
จะศึกษาเฉพาะในส่วนของ
Hardware ในส่วนของการออกแบบวงจร
Microcomputer
board (MCB)
ดังรูปแสดงวงจรของ
Microcomputer board (MCB) โดยแบ่งเป็น
4 ส่วนดังนี้
-
The microcomputer
-
System power
-
Sensor interface
-
LED display
System
power
Micro mouse ต้องการไฟเลี้ยงที่แรงดัน
(volt) ต่างกัน Vcc สำหรับวงจร
microcomputer อีกส่วนสำหรับวงจร
sensor, 12v และสำหรับ
stepping motor ทั้งหมดรับพลังงานจากแหล่งเดียวกัน
(input 15-24v) โดยเป็นได้ทั้งจากแบตเตอรี่และไฟ
DC 5v, Vcc ได้จากวงจร
switching regulator LM2575T5 ดังรูปวงจร
วงจร DC-DC regulator LM2575T5
(u15) เป็นการแปลงแบบ
step-down switching regulator ให้กระแสสูงสุดที่
1A นี่เป็นการออกแบบวงจรอย่างง่าย
ๆ ที่ทำให้ใช้เนื้อที่น้อย
และ regulator มีประสิทธิภาพสูง
(typ. 80%) และไม่จำเป็นต้องใช้
heat-sink
วงจรขับ
sensor ใช้ไฟ 12v ใช้
linear regulator L7812 (u14) ให้ output 12v อย่างไรก็ตาม
linear regulator ตัวนี้มีประสิทธิภาพการทำงานต่ำ
แต่ไม่มีนัยสำคัญที่ต้องสนใจเพราะการแสของ
LED ใช้เพียง 100mA ไฟเลี้ยงนี้ใช้ขับ
sensor ที่ connector SEN_0 - SEN_3
พลังงานที่ให้
stepping motor จะรับโดยตรงจากแบตเตอรี่
(หรือไฟ DC) ประสิทธิภาพของ
stepping motor
ขึ้นอยู่กับไฟเลี้ยงที่ต้องจ่ายอย่างสม่ำเสมอ
motor driver ต่อกับ M3
Microcomputer
วงจร microcomputer นี้ถูกออกแบบสำหรับ
micro mouse ที่มี I/O 24 port สำหรับ
วงจร sensor และการควบคุม
stepping motor และมีวงจร
serial communication สำหรับการ
download และการทดสอบโปรแกรม
การ synchronize ทำโดยวงจร
timer unit
Microcontroller
ใช้ NEC 78K310A เป็น
single chip 8-bit microcontroller (u1)
คุณสมบัติคร่าว
ๆ
-
Operating frequency 6MHZ (หารจาก
crystal 12MHz)
-
128 byte internal RAM
-
8/16 bit arithmetic and logic unit (ALU)
-
8/16 bit unsigned multiplication and division
instruction
-
memory addressing up to 64kbyte
-
24 I/O lines
-
Two 16-bit timers
-
Two 16-bit quadrature counter
-
Four channels A/D converter with 8-bit resolution
-
Universal asynchronous receive and transmitter
(UART)
Memory
mapping
ประกอบด้วย
32kb EPROM (u3) และ 128kb SRAM (u4) address decoder GAL
chip (u7) การทำ memory mapping
ด้วย jumper DLoad
-
Download mode jumper ถูกเสียบอยู่
ครั้งแรก memory ถูก
map ไปที่ 32kb ROM และ
32kb RAM หลังจากที่
CPU ทำงานจาก loader ที่
ROM แล้ว memory จะ remap ไปที่
64kb RAM ที่เป็น code 32kb
data 32kb
-
EPROM mode jumper ถูกปล่อยลอย
memory map ถูกคงไว้ที่
32kb ROM และ 32kb RAM mode นี้ใช้เมื่อโปรแกรมถูก
burnt ลง EPROM เรียบร้อยและโปรแกรมจะถูกเรียกจากมัน
Reset
switch
ปุ่ม reset ถูกออกแบบให้เป็นปุ่มแบบกดติด-ปล่อยดับ
เป็นวงจรที่ใช้
RC เพื่อให้ power-up
delay เมื่อ reset ทำงาน
micro mouse จะเริ่มต้นทำงานใหม่
ช่วงรอบเวลาการ
reset 10 micro-sec.
Serial
communication interface
ใช้สำหรับเชื่อมต่อ
micro mouse เข้ากับ PC ด้วยโปรแกรมสำหรับ
micro mouse, interface ที่ใช้เป็น
RS-232C
NEC 78K310A microcontroller มี
UART ในตัว ไฟ +5v RS232 driver/receiver
(u8) ทำงานร่วมกับ
c8 c9 c10 c11 เพื่อให้
RS232 volt output คงที่ (+/- 10v)
LED แสดงการเชื่อมต่อถ้าสมบูรณ์ไฟจะติด
Serial interface pin assignment
-
Pin 1 transmit data output (Tx)
-
Pin 2 common ground
-
Pin 3 receive data input (Rx)
LED
indicator
LED มีทั้งหมด
8 ดวงที่แสดงบน
board ใช้สำหรับแสดงสถานะของ
sensor หรืออย่างอื่น
แล้วแต่จะโปรแกรม
LED ถูกขับด้วย
BCD encoder/driver (u9) ควบคุมด้วยการส่ง
1 byte มาที่ port นี้
Infra-red
sensor board (ISB)
Infra-red sensor ใช้สำหรับตรวจจับกำแพงรอบ
ๆ ตัว micro mouse เพื่อให้
micro mouse รู้ทิศทางและสามารถสร้างแผนที่ขึ้นมาได้
ISB ติดอยู่ที่
micro mouse อยู่เหนือจากำแพงประมาณ
3-5mm อุปกรณ์ sensor ผลิตโดย
Panasonic Electronic Co.,Japan เบอร์ ON2160R
เป็นอุปกรณ์ที่รวมทั้งภาคส่งและภาครับไว้ที่อุปกรณ์ตัวเดียวกัน
มีขนาดเล็ก
Sensor ติดตามจุดต่าง
ๆ มีจุดประสงค์ดังนี้
-
Sensor u1-u5 และ u8-u12 ใช้เพื่อปรับตัวให้อยู่กึ่งกลางทางเดิน
u10, u13 เป็นตำแหน่งของกึ่งกลาง
-
Sensor u7d ใช้เพื่อตรวจจับกำแพงหน้า
sensor u7b อาจติดเพิ่มเพื่อในกรณีที่
micro mouse วิ่งมาเร็วจะได้ตรวจจับกำแพงได้
-
Sensor u6 ใช้ตรวจจับกำแพงหน้าเพื่อให้
micro mouse หยุดพอดี
Sensor output และวงจรควบคุม
sensor เชื่อมต่อกับ
MCB ผ่าน connector SEN_0 ที่
MCB และ MP1 ที่ ISB
Sensor
transmitter
วงจร Darlington (เบอร์
ULN2003A เป็นแบบ 7-stage) ใช้ขับ
Infra-red sensor ดังรูปวงจร
ใน ISB วงจร
infra-red ถูกแบ่งเป็น
2 ทาง ทั้งคู่ถูกขับด้วยวงจร
dralington ที่อยู่บน
MCB กระแสจำกัดด้วยตัวต้านทาน
R1 R2 กระแสแต่ละเส้นประมาณ
110mA sensor on ทุก ๆ 5.5ms เว้น
40us
Sensor
receiver
Sensor 12 ตัวบน
ISB เรียงกันแต่มี
8 output โดย u1 u2 ต่อรวมกันโดยแบ่งภาครับร่วมกัน
เช่นเดียวกับ
u4 กับ u5, u8 กับ u9, u11 กับ
u12
แต่ละ sensor
output ต่อกับ resistor และ
capacitor เพื่อกรอง
noise signal, output signal สามารถปรับ
ได้ด้วย R-vary
Sensor
expansion
MCB สามารถต่อ
sensor ได้ 4 ชุด โดยแต่ละชุดต้องมีวงจร
darlington และ sensor ตะหาก
มีไฟเลี้ยง
2 ชุด, Vcc และ 12v กระแสวงจร
transmitter ผ่านทาง Tx* และกระแสวงจร
receiver ผ่านทาง BANK* pin
1,2 ไม่ใช้
สมมุติว่าต้องการต่อ
sensor 10 ตัวเข้ากับ
BANK 2 มี 2 สิ่งที่ต้องทำคือ
ออกแบบวงจร
sensors และเพิ่มอุปกรณ์เข้าที่
MCB สำหรับ bank 2 อุปกรณ์ที่ต้องใช้มีดังนี้
-
Connector pins, SEN_2
-
Resistor pack, RP2 และ RP6
-
Capacitors, C53-C61
-
Variable resistor, VR12
-
Latch, u12
Sensor แต่ละตัวมีทั้งภาคส่งและภาครับ
สาหรับภาคส่ง
supply 12v, sensor แต่ละตัว
volt drop 1.6v แบ่งออกเป็น
2 ส่วน
แบ่งเป็นส่วนละ
5 ตัว
volt drop รวม
5 x 1.6 = 8v
volt drop ที่ R1
12 - 8 = 4v
กระแสที่ใช้คือ
110mA, R1 คือ
4 / 0.110 = 36ohm
R2 ก็เช่นเดียวกันคือ
36ohm
การแบ่งกลุ่มภาครับนั้นสามารถทำได้สูงสุด
8 กลุ่ม
Motor Driver Board
micro mouse มีมอเตอร์อยู่ที่
2 ล้อหลัง โดยมอเตอร์ที่ใช้นั้นเป็น
Vextor motor รุ่น (PX 224-02A) ทำงานอิสระไม่ขึ้นต่อกัน
มีขนาดของทอร์กสูงสุด
15.7 N-cm. และมี high frequency (20000 pulse/sec)
นอกจากนี้
micromouse ยังใช้ bipolar driver ทำงานแบบ
halfstep ชึ่งการใช้
Bipolar driver นี้ให้ทอร์กมากกว่า
Unipolar ถึง 40% และการทำงานแบบ
halr step จะช่วยทำเพิ่มความแท่นยำในการบังคับให้
micro mouse เคลื่อนที่มากกว่าแบบ
Full step แรงดันไฟฟ้าที่จ่ายกับ
driver นี้มีขนาด
16.8 V ส่วนกระแสที่
driver
จ่ายออกมามีขนาด
0.8 A.micro mouse สามารถมีได้
ที่ความเร็วตั้งแต่
40 PPS ถึง 12000 PPS
การที่
Bipolar driiver จะสามารถทำแบบ
half-step โดยก็ต่อเข้ากับ
stepping motor sequencer และ dual bridge driver ดังรูป
Stepping
Motor Sequencer
Micro mouse ใช้
chip L297 เป็น stepping Motor sequencer โดยจะมีสัญญาณควบคุมเพียงแค่
3
สัญญาณ คือ device
enable , หมุนทวนเข็มนาฬิกา
นอกจากนี้ซิป
L297 ยังมี chopper circuit สำหรับการควบคุมกระแสของมอเตอร์
และถ้าในกรณีที่
V ที่ R4/R5 มากกว่า
V ที่ R2/R3 แล้ว กระแสจะถูก
rectified โดย L297
Stepping
Motor Driver
Micro mouse ใช้ซิป
L298N เป็นตัวขับ
motor (motor driver) ซึ่งสามารถทำงานรวมกับซิป
L297 ได้อย่างดี
โดยการต่อวงจร
ดังรูป
Output ของ
bridge driver จะต่อเข้ากับ
motor L1,L2 driver output แต่ละเส้นจะถูกต่อเข้ากับไดโอด
d1-d8 โดยมีการต่อเข้ากับ
Vcc,Ground ใช้สำหรับ
ดิสชาร์ต motor charge
ในกรณีที่จะปิดเครื่อง
motor control sequens จะทำงานแบบ
half-step และต่อดังรูป
Driver Calibration
Micro Mouse ใช้
motor driver board (MDB) เป็นตัวควบคุม
stepping motor โดยใช้สัญญาณดังต่อไปนี้
left motor clock , left motor direction , right motor clock , right motor
direction , motor enable โดย MDB มีลักษณะรูปร่างดังรูป
สรุป
micro mouse เป็นหนึ่งในตัวอย่างการออกแบบ
robot ซึ่งการออกแบบ
micro mouse ให้สามารถทำงานได้ดีนั้นขึ้นอยู่กับกลไกหลาย
ๆ ส่วนประกอบกัน
ตั้งแต่ microcontroller ที่ใช้ความคุมอุปกรณ์ต่าง
ๆ sensor ใช้ตรวจจับกำแพง
และปรับตำแหน่งตัว
step motor ทำให้ micro mouse เคลื่อนที่
โดยที่สามารถควบคุมรอบได้
และที่สำคัญที่สุดคือโปรแกรม
(software) เพื่อสร้างความฉลาด
(intelligent) ให้กับ micro mouse โดยทำให้
micro mouse สามารถค้นหาเส้นทางที่ดีที่สุดจากจุดเริ่มต้นไปเส้นชัยได้เร็วที่สุด
จากตัวอย่างนี้สามารถนำไปพัฒนาต่อไปให้
micro mouse มีความสามารถมากขึ้นเช่น
การวิ่งเลี้ยว