วันอังคารที่ 18 ตุลาคม พ.ศ. 2559

Electronics Schematics of Robot Messenger

Electronic Schematics



อุปกรณ์ทางไฟฟ้าของรถส่งเอกสาร ประกอบไปด้วย อุปกรณ์ควบคุม อุปกรณ์รับสัญญาณ อุปกรณ์ขับเคลื่อน อุปกรณ์ขับไฟฟ้า ซึ่งสามารถบอกรายละเอียดตามประเภทได้ดังนี้

อุปกรณ์ควบคุม 

- ชุดไมโครคอนโทรลเลอร์ ยี่ห้อ Arduino รุ่น UNO และ Mega 2560

ArduinoMega 2560 ในรถมี 3 ชุด ทำหน้าที่ดังนี้

1.ชุดควบคุมการเคลื่อนที่หลัก (Master Mobility Board) ทำหน้าที่ รับค่าจากอุปกรณ์รับสัญญาณ คือ เซนเซอร์อัลตราโซนิก



2. ชุดรับค่าเกี่ยวกับการวางแผนทางเดิน (Path Planning Board) ทำหน้าที่ ประมวณผลจากค่าที่ได้รับที่ ชุดรับค่าเกี่ยวกับชุดควบคุมการเคลื่อนที่หลัก (Master Mobility Board) และ ชุดรับค่าตำแหน่งและทิศทาง (Position and Direction Board) ซึ่งจะกล่าวในชุดต่อไป ต่อมาหลังประมวลผลก็จะนำมาควบคุมการเคลื่อนที่ตัวรอง (Mobility Slave Board) เพื่อควบคุมอุปกรณ์จำพวก  มอเตอร์ขับเคลื่อน (Driving Motor)  และ มอเตอร์พวงมาลัย (Steering Motor) อีกทั้งยังนำค่าที่ได้ ไปแสดงผลลงใน จอแอลซีดี 2 ชุด และ จุดที่ถูกกีดขวางก็จะแสดงบนหลอดไฟ LED แบบปรับแสง RGB 7 หลอด


3. ชุดรับค่าตำแหน่งและทิศทาง (Position and Direction Board)  ทำหน้าที่รับค่าจากอุปกรณ์รับสัญญาณคือ GPS ซึ่งจะสามารถได้ค่าตำแหน่งของโลก และ เซนเซอร์เข็มทิศ (Compass sensor) ทำหน้าที่บอกทิศทางที่หันไป ตามสนามแม่เหล็กของโลก ต่อมาจึงมีการคำนวณเพื่อให้ได้ตำแหน่งและทิศทางตามข้อกำหนดของ ชุดรับค่าเกี่ยวกับการวางแผนทางเดิน (Path Planning Board)


Arduino UNO ในรถมี 1 ชุด ทำหน้าที่ดังนี้

ชุุดรับค่าเกี่ยวกับการเคลื่อนที่ตัวรอง (Mobility Slave Board) ทำหน้าที่วบคุมอุปกรณ์จำพวก  มอเตอร์ขับเคลื่อน (Driving Motor)  และ มอเตอร์พวงมาลัย (Steering Motor) จากชุดรับค่าเกี่ยวกับการวางแผนทางเดิน (Path Planning Board) 



อุปกรณ์รับสัญญาณ

- ชุดตรวจจับระยะจากเสียงอัลตราโซนิก (Ultrasonic sensor) รุ่น hc-sr04 และยี่ห้อ MAXBOT

ชุดตรวจจับระยะจากเสียงอัลตราโซนิกยี่ห้อ MAXBOT ทำหน้าที่ ตรวจจับระยะจากข้างหน้า จากคุณสมบัติที่สามารถตรวจจับระยะไกลได้ จึงนำมาติดตั้งไว้หน้าตัวรถ เพื่อตรวจจับสิ่งกีดขวาง และระยะเลี้ยวพ้นแนว




ชุดตรวจจับระยะจากเสียงอัลตราโซนิก รุ่น hc-sr04 ทำหน้าที่ ตรวจจับระยะจากข้างหลัง จึงนำมาติดตั้งไว้หลังตัวรถ เพื่อตรวจจับสิ่งกีดขวาง และระยะห่างระหว่างถอยพ้นแนว


อุปกรณ์ขับไฟฟ้า

อุปกรณ์ขับมอเตอร์ด้วยไฟฟ้า พิกัด 43 A 24 V

เป็นอุปกรณ์ขับมอเตอร์ ที่ใช้วงจรบริดจ์รูปตัว H (H - Bridge) ซึ่งมีสวิตช์ทางอิเล็กทรอนิกส์ คือ MOSFET ทิศทาง 2 ด้าน สามารถควบคุมความเร็วด้วยสัญญาณ PWM ทำให้ควบคุมได้ทั้งทิศทางการหมุนของมอเตอร์ และ ความเร็วในการหมุน

ซึ่งจะนำไปใช้ทั้งหมด 3 ชุด คือ 2 ชุดแรกใช้ในการขับเคลื่อนมอเตอร์ไปข้างหน้าและหลัง อีกชุดก็จขับเคลื่อนมอเตอร์ให้เลี้ยวซ้ายขวา ตามคำสั่ง

ชุดขับเคลื่อนมอเตอร์ไปข้างหน้าและหลัง มีผลทำให้มอเตอร์ไปข้างหน้าและหลัง ซึ่งแยกออกเป็นมอเตอร์ซ้าย และ มอเตอร์ขวา จำนวน 2 ชุด ทำให้สามารถแยกพลังงานทำให้ไม่เกิดการกระชากของกระแสไฟฟ้า
ชุดขับเคลื่อนมอเตอร์ให้เลี้ยวซ้ายขวา มีผลทำให้มอเตอร์หมุนพวงมาลัย หมุนไปทางซ้ายและขวา




Manual Controller via Android Bluetooth Device



       ในบางสถานการณ์นั้น ซึ่งรถอัตโนมัติมีปัญหาเนื่องจากความผิดพลาดทางการคำนวนหรืออย่างไรก็แล้วแต่ การนำกลับมาซ่อมแซมแก้ไข จำเป็นต้องใช้การบังคับด้วยมนุษย์ ซึ่งมีอยู่3วิธีคือ 1.สั่งงานผ่านComputer 2.ยกกลับ 3.สั่งงานผ่านโทรศัพท์ ซึ่งคงไม่มีใครอยากยกรถขนาด40โลกลับอย่างแน่นอน การที่เรามีControllerจะช่วยให้สะดวกอย่างมาก ซึ่งปัจจุบัน Application Androidบนโทศัพท์นั้น สามารถทำได้ง่าย เข้าใจได้ง่าย และรวดเร็วต่อการเรียนรู้ ต้องขอบคุณApp Inventor จากMIT ซึ่งเป็นเครื่องมือเขียนApplicationตัวหนึ่ง ซึ่งง่ายมากโดยผู้ใช้ไม่จำเป็นต้องเข้าใจภาษาJavaก็ใช้งานได้ เรามาดูตัวอย่างหน้าตาเจ้าApp inventorกัน

มีการใส่LayoutและUser Interfaceเพื่อรับคำสั่งจากUser โดยเราจะส่งผ่านBluetooth Serial Communication จึงต้องใส่Bluetooth Componentไปด้วย และการใช้งานคือเมื่อเรากดค้างไว้ จะส่งค่าทุกๆ300 millisec จึงต้องใส่Clock Componentไปด้วยเพื่อใช้จับเวลา ส่วนNotifyerนั้นจะใส่หรือไม่ใส่ก็ได้
   Controllerของเรานั้น จะมีหน้าที่2อย่างคือ 1.เปิดหรือปิดการใช้งานSensor GPS Compass 2.บังคับทิศทางของรถ โดยการเปิดปิดนั้นจะเป็นการclickเพื่อส่งtextไป1ตัวคือ 
Sensor ON= "s" 
Sensor OFF= "S" 
GPS ON= "g" 
GPS OFF= "G" 
Compass ON= "c" 
Compass OFF = "C"
ส่วนการบังคับรถนั้นจะใช้การกดแช่ จะส่งค่าไปทุกๆ 300 millisec และเมื่อปล่อยจะเป็นการส่งค่าหยุดไป  หากไม่มีการส่งค่ามาเกิน1วินาทีจะตัดเข้าสู่โหมดAutomaticโดยอัตโนมัติ มีค่าที่ส่งไปดังนี้
Straight = "w"
Back = "x"
Left = "a"
Right = "d"
Stop = " "
เมื่อทำการเขียนโค้ดโดยApp Inventorจะได้ดังนี้





   หากดูในส่วนของDiagram ภาพรวมก็จะได้ดังรูป

สามารถเข้าไปลองโหลดลองใช้งานControllerได้ที่ ai2.appinventor.mit.edu/?galleryId=6272953030017024

ขอบคุณเครื่องมือแสนชาญฉลาดจาก App Inventor by MIT

วันจันทร์ที่ 17 ตุลาคม พ.ศ. 2559

GPS+COMPASS from Android Device with App Inventor via Bluetooth

GPS+COMPASS from Android Device with App Inventor via Bluetooth

จากการใช้งาน GPS+COMPASS module ที่ต่อตรงกับ Arduino พบปัญหาการรบกวนของคลื่นแม่เหล็กไฟฟ้าของสายส่งแรงสูงและบริเวณใกล้หม้อแปลงไฟฟ้า


ดังนั้น จึงหาแนวทางการแก้ไขปัญหาโดย ใช้ app inventor 2 ที่เขียนใช้งานเซ็นเซอร์ GPS+COMPASS ในมือถือ ที่มีความเสถียรมากกว่าจากการทดลองดูค่าผ่าน Bluetooth




เก็บข็อมูลตำแหน่ง GPS จากมือถือ เพื่อระบุตำแหน่งใน Arduino ตามจุดที่เดิน FIBO <->ตึกอธิการบดี
 
หลักการทำงานของระบบที่ออกแบบแก้ไข 

ผลลัพธ์ที่ได้ สามารถใช้งานส่งค่า GPS+COMPASS ไปยัง Arduino ส่วน Path Planning เพื่อควบคุมหุ่นยนต์ได้ GPS+COMPASS Bluetooth