ตัวอย่าง 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 ส่วนดังนี้

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)
คุณสมบัติคร่าว ๆ

 
Memory mapping
ประกอบด้วย 32kb EPROM (u3) และ 128kb SRAM (u4) address decoder GAL chip (u7)  การทำ memory mapping ด้วย jumper DLoad 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

 
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 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 อุปกรณ์ที่ต้องใช้มีดังนี้

 
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 มีความสามารถมากขึ้นเช่น การวิ่งเลี้ยวโค้ง การเพิ่มประสิทธิภาพของ microcontroller และเพิ่ม ram เพื่อรองรับโปรแกรมที่ซับซ้อนได้

เอกสารอ้างอิง

 
  1