ตัวอย่าง
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 มีความสามารถมากขึ้นเช่น
การวิ่งเลี้ยว