BasicLite
มีนาคม 28, 2024, 08:27:09 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]
  พิมพ์  
ผู้เขียน หัวข้อ: modular robot  (อ่าน 18987 ครั้ง)
phot
บุคคลทั่วไป
« เมื่อ: พฤษภาคม 02, 2009, 02:38:57 PM »

สวัสดีครับ ผม ต้องการจะทำหุ่นยนต์ modular ที่ สามารถแยกส่วนได้ 3 ตัว ครับ โดย ใช้ pic 16f628 ควบคุมดีซีมอเตร์ 2ตัว เซนเซอร์ 2 ตัวเอาไว้เวลาชนสิ่งกีดขวาง กับหาสว่นอืนๆ เเต่ผม ไม่เคยใช้ pic ครับ อยากทราบว่าจะเริ่มยังไง รบกวนพี่ช่วยแนะนำหน่อยได้ไหมครับ เรื่องของวงจรขับมอเตอร์ กับเซนเซอร์ ถ้าพี่มีโค้ดด้วยจะดีมากเลย รบกวนพี่ด้วยคับ ตอนนี้มึนงมากเลย  ขอบคุณมากครับ
บันทึกการเข้า
todaystep
บุคคลทั่วไป
« ตอบ #1 เมื่อ: พฤษภาคม 02, 2009, 03:47:25 PM »

สวัสดีครับ ผม ต้องการจะทำหุ่นยนต์ modular ที่ สามารถแยกส่วนได้ 3 ตัว ครับ โดย ใช้ pic 16f628 ควบคุมดีซีมอเตร์ 2ตัว เซนเซอร์ 2 ตัวเอาไว้เวลาชนสิ่งกีดขวาง กับหาสว่นอืนๆ


- 3 ส่วน นั่นคืออะไร
ใช่ 1 ส่วนควบคุม ใช้ pic ,ส่วนที่สองคือ ส่วนขับเคลื่อน, และส่วนที่ 3 คือตัวตรวจจับ หลือเปล่า


- หากใช่
ในการออกแบบ คุณต้องรู้ จุดประสงค์การทำงาน ข้อจำกัดของตนเองก่อน ดูที่

องค์ประกอบและโครงสร้างของหุ่นยนต์
http://www.basiclite.com/web/index.php?topic=124.0

    
เริ่มต้นการสร้างหุ่้นยนต์
http://www.basiclite.com/web/index.php?topic=10.0

หรือลองอ่านเนื้อหาที่ http://www.basiclite.com/web/index.php?board=7.0 ก่อน


เช่น 
1. หุ่นยนต์ ใหญ่โต แค่ไหน น้ำหนักเท่าไหร่ ทำด้วยอะไร มันจะเป็นคำตอบของการเลือกมอเตอร์
2. วิธีการขับเคลื่อน  มันจะบอกว่าคุณต้องเลือกล้อแบบไหน
3. ระยะการตวจจับ จะบอกว่าคุณต้องเลือกเซ็นเซอร์อะไร
4. ภาคควบคุม หากเลือก pic ก็ต้องมาดู 2 ส่งวน คือส่วนขับ ส่วนแสดงผล ส่วนรับเซ็นเซอร์ก่อน ว่ามีวงจร และสัญญาณควบคุมมากน้อยแค่ไหน และมาดูว่าการทำงานซัพซ้อนแค่ไหน คุณจะได้เลือกหน่วยความจำและเบอร์ PIC ได้ถูก


ทีนี้มาดู กรณีศึกษากัน


นาย A ได้ร่างคุณสมบัติที่ต้องการไว้ดังนี้
1. แยกโมดุล ออกเป็น 3 ส่วน คือเซ็นเซอร์ ภาคขับเคลื่อน ภาคควบคุม
2. ทุกส่วนสามารถเปลี่ยนแปลง การทำงานได้ เพื่อเปลี่ยนแปลงโมดุลในอนาคตได้

จากโจทย์ มองได้ว่า นาย A กำลังชุดที่ต้องการความยืดหยุ่น สูง เพราะสามารถแก้ไขได้ทุกส่วน การออกแบบลักษณะนี้ จะค่อนข้างยากกว่า แบบที่กำหนดขา และสัญัญาณควบคม แบบตายตัว นาย A เลือกใช้ การต่อโมดุลโดยการต่อสายไฟ
1. สายไฟเลี้ยง มี 3 เส้น ประกอบด้วย  ประกอบด้วย +5V +9V และ GND
2. สายควบคุม ขนาด 8 บิท ใช้สาย 8 เส้น เพื่อติดต่ออุปกรณ์โมดุลต่างๆ

1. ส่วนควบคุม
นาย A เลือกใช้ PIC เบอร์ที่มีขาและหน่วยความจำ เยอะที่สุด เพื่อง่ายต่อการติดต่อ และเขียนโปรแกรม โดยไม่ต้องห่วงเรื่องขนาด
บอร์ดนี้ ประกอบด้วย
- ภาคจ่ายไฟ เพื่อจ่ายไฟฟ้าไปเลี้ยง ให้ไมโคร (5V) ให้ภาคอื่นๆ และใช้แบตเตอรี่ 12V และได้ทำพอร์ทไฟเลี้ยง
จำนวน 3 พอร์ท ไว้

- ภาควงจรของไมโคร พอร์ทต่างๆ ถูกต่อแยกออกเป็นพอร์ทต่างๆ เช่น A ฺB C  ขนาด 8 บิท ใช้สาย 8 เส้น .   

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


- บอร์ดที่ใช้เซ็นเซอร์ อัลตร้าโซนิค  ระยะตรวจจับ ไม่เกิน 100 เซ็นติเมตร
ประกอบด้วย ตัวส่งและรับอัลตร้าโซนิค จำนวน 1 ชุด และพอร์ทไฟเลี้ยง พอร์ทขาควบคุม

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



เรื่องของวงจรขับมอเตอร์ กับเซนเซอร์ ถ้าพี่มีโค้ดด้วยจะดีมากเลย

ทำเองนะครับ... โค๊ดมันขึ้นอยู่กับการออกการติดต่อ ไม่มีใครเขียนให้คุณได้หรอก
คุณควร
1. ไปหาวงจร หรือค้อนหาวงจรที่เกี่ยงข้องมาดูหลายๆ แบบ ทั้งส่วนขับมอเตอร์ ภากเซ็นเซอร์
2. ดูความสัมพันธ์ การควบคุมของแต่ละแบบ
เช่น เซ็นเซอร์จะมี ไฟเลี้ยง 2 เส้น สายสัญญษณไม่เกิน 3 เส้น
ภาคมอเตอร์มักจะมีไฟเลี้ยงมอเตอร์ ไฟเลี้ยงวงจรขับ ขาสัญญาณ 2-3 เส้น

ลองพยายามดูก่อน ติดขัดอะไร สอบถามกันได้ คิดว่าลองทำทีละส่วนก่อน ส่วนแรกที่คุณควรทำก่อน คือภาคเซ็นเซอร์
ถัดมาคือ ภาคส่วนของมอเตอร์



ประสบการณ์ ย่อมมาจากการลงมือทำ
จงใฝ่รู้ และแบ่งปัน



 


บันทึกการเข้า
phot
บุคคลทั่วไป
« ตอบ #2 เมื่อ: กันยายน 21, 2009, 10:13:35 AM »

ทำไมต้องใช้เซนเซอร์ 2 ชนิดครับ เลือกแบบเดียวไม่ได้ หรอ ครับ
และ เซนเซอร์ที่ไว้หลบหลีก จะใช้ 1 หรือ 2 ชุด  อันไหนจะดีกว่ากัน
พี่มีตัวอย่าง โปรแกรมเกี่ยวกับเซนเซอร์แสง ไหม ครับ
    ขอบคุณครับ
บันทึกการเข้า
Admin
Administrator
Full Member
*****
กระทู้: 121



เว็บไซต์
« ตอบ #3 เมื่อ: กันยายน 21, 2009, 12:42:05 PM »

modular robot คืออะไร คนออกแบบเท่านั้นที่รู้

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

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

หากเจอทางแยกล่ะ ก็อาจต้องมีอีกชุด อยู่ตรงกลางมาจับทางแยก

งานออกแบบ คุณต้องตีโจทย์ให้แตก ทดลองเยอะๆ ดูปัญหา และปรับแก้

(เฮ่อ....ล่าสุดชมรมก็ นี้ปิดไปแล้ว....คิดถึงจัง)


บันทึกการเข้า

phot
บุคคลทั่วไป
« ตอบ #4 เมื่อ: กันยายน 21, 2009, 09:12:41 PM »

ตามที่ออกแบบ หุ่นยนต์จะมีลักษณะ คล้ายหุ่นยนต์งูคับ แต่สามารถเเยกได้เป็น 3 ท่อน เมื่อส่วนหัวไปชนสิ่งกีดขวาง คับ
เมื่อส่วนหัวถอดออกเเล้ว จะหลบสิ่งกีดขวางไป แล้วจะปล่อยสัญญาณ ให้ท่อนที่ 2 ตามมาคับ เเล้วทำการต่อกลับที่เดิม จากนั้น ท่อนที่ 2 จะปล่อยสัญาณ
เพื่อให้ท่อนที่ 3 ตามมา ต่อกับท่อนที่ 2 จากนั้นจะเดินไปข้างหน้า คับ ตอนนี้กำลังเขียนโปรแกรมเซนเซอร์ท่อน 1 กับ 2 คับ
 คำถามคับ
 1. ท่อนทึ่ 2 ควรจะมีเซนเซอร์ ไว้หลบสิ่งกีดขวางด้วยไหม
 2. ถ้ามีควรจะใช้ชนิดไหน
 3. จะเขียนโปรแกรมอย่างไรให้เซนเซอร์รับสัญญาณของท่อนที่ 2 รู้จัก กับ เซนเซอร์ส่งสัญญาณท่อนที่ 1
            ขอบคุณคับ
บันทึกการเข้า
Admin
Administrator
Full Member
*****
กระทู้: 121



เว็บไซต์
« ตอบ #5 เมื่อ: กันยายน 21, 2009, 10:04:17 PM »

บอกกันละเอียดๆ เสียทีแรก....มันก็จบไปนานแล้ว

(นี่แหละ จึงบอกว่าเวลาตั้งคำถาม บอกให้ละเอียดๆๆ กันหน่อย )

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


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

ที่นี้ เราจะสื่อสารยังไงล่ะ มีตั้ง 3 ตัว เราก็ต้องสร้างระบบสื่อสารขึ้นมาเอง เพราะคลื่นวิทยุ มันส่งออกเป้นสัญญาณทีล่ะลูก คิดว่าเป้นระบบสื่อสาร RS232 ล่ะกัน

ที่นิยมก็ให้ตัวหนึ่งตัวใดส่ง ตัวที่เหลือเงียบคอยฟังสัญญาณ (อาจมีรหัสตำแหน่ง กับรหัสคำสั่ง) ที่ส่งมา เมื่อส่งเสร็จก็จะคอยฟังการโต้กลับ


เช่น ตัวแรกคือ เลข 1 เลข 2 เลข 3 ตามลำดับ

ตัวที่ 1 จะส่งสัญญาณ ควบคุมตัวที่เหลือ
กรณีชนสิ่งกีดขวาง ก็จะส่งสัญญาณออกไป ตัวที่ 2 และ 3 ก็รับพร้อมกัน ตัวที่ 1 ก็หยุดส่ง แล้วไปทำงานอย่างอื่นเช่น ปลดล๊อกตัวเอง แล้วหลบ ไปหยุดคอย (อาจส่งสัญญาณ ลักษณะการหลบออกไปด้วยเพื่อให้ตัวอื่นทำตาม  เช่นไปหลบกี่องศา อาจนับพัลซ์การหมุนมอเตอร์ ทางซ้ายหรือขวา และหลบเป็นระยะทางเท่าไหร่  )

- จากตรงนี้ เริ่มมีกระบวนการเพิ่มขึ้น คือตัวนับพัลซ์ ระยะทาง หากเป็นสเต็ปปิ้งมอเตอร์ ก็นับได้เลย เพราะไมโครเป็นคนส่งไปเอง หากเป้นมอเตอร์ชนิดอื่นก็ต้องมีวงจรนับการเคลื่อนที่ อาจใช้วงแหวนแสง หรือวิธีการอื่นๆ








ตัวที่ 2 รับสัญญาณข้อมูลมา ก็ประมวลผลตามสัญญาณที่ ตัวที่ 1 ส่งมา โดยต้องคำนวณ หักลบระยะตัวถัง ตัวที่ 1 ออก เพื่อให้ชนกันพอดี


ตัวที่ 3 ก็อาจทำเหมือนๆ กัน กับตัวที่ 2 (หักลบระยะตัวที่ 1 และ 2 ออก)

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


 
 คำถามคับ
 1. ท่อนทึ่ 2 ควรจะมีเซนเซอร์ ไว้หลบสิ่งกีดขวางด้วยไหม
- ไม่จำเป็น ตามที่กล่าวมาคือรับสัญญาณตัวที่1 แล้วมาคำนวณเอาได้

 2. ถ้ามีควรจะใช้ชนิดไหน
- ตามตัวที่ 1

 3. จะเขียนโปรแกรมอย่างไรให้เซนเซอร์รับสัญญาณของท่อนที่ 2 รู้จัก กับ เซนเซอร์ส่งสัญญาณท่อนที่ 1
- เขียนระบบสื่อสารวิทยุให้ได้ ดูหนังสือ การสื่อสาร RS-485 ของ Inex เล่มสีเขียว ได้

 

----------------
งานนี้สิ่งที่ยากคือ การสื่อสารของหุ่น 3 ตัว กับ การบังคับให้หุ่น หากันเจอ พยายามเข้า สู้ สู้ ...แค่แนวทางน่ะ..อย่าเชื่อมาก
 
บันทึกการเข้า

phot
บุคคลทั่วไป
« ตอบ #6 เมื่อ: กันยายน 23, 2009, 11:52:27 AM »

พี่พอมีวงจร RF บ้างไหมคับผมลองไปหาดูไม่เจอ แล้วการต่อใช้งานล่ะคับ ต้องต่อยังไง หรือใช้ วงจรรับส่ง AM แทนได้ไหม เหมือนกันไหม


ดู

http://www.es.co.th/detail.asp?Prod=RLP-916F


http://www.es.co.th/detail.asp?Prod=TWS-BS-3%28433.92MHZ%29



http://www.etteam.com/product/12A25.html



http://www.etteam.com/product/intf/et-rf-24gv2.html


http://www.silaresearch.com/accessory.php


http://www.inex.co.th/application/applicationboard.html

PKIT-5T v1.0


PKIT-5R v1.0



http://www.silaresearch.com/application%28kit%29.php

โค๊ดโปรแกรม
http://www.silaresearch.com/lib_rec.php?fn=./source/pkit5t.c
http://www.silaresearch.com/lib_rec.php?fn=./source/pkit5r.c


อื่นๆ

http://www.serasidis.gr/circuits/RF_remote_control/RF_remote_control.htm


++++++++++++

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

**** การแก้โดยการ เวลาส่งต้องส่ง คำสั่งตำแหน่ง และคำสั่งไป
การรับ จัรับพร้อมกันก็จริง แต่เมื่อถอดรหัส แล้ว ไม่ใช่ของฉัน มันก็ไม่สนใจ

เช่น ตัวแรกส่ง 2R50  

อาจหมายถึง ให้ตัวที่ 2 เลี้ยวขวา ไป 50 พัลซ์

ตัวที่ 3 ก็รับสัญญาณนี้ได้ แต่พอถอดรหัส เจอเลข 2 มันก็รู้แล้วว่า เป็นให้คำสั่งตัวที่ 2 ทำงาน มิใช่ตัวมัน หากเป็นเลข 3 มันจึงจะทำงาน

รูปแบบคำสั่ง และจำนวนการส่ง มันขึ้นอยู่แต่ละคนออกแบบ ไปลิสคำสั่งการควบคุมและแจ้งสถานะมา แล้วฝึกส่งดู
เช่น  

ส่วนเคลื่อนที่
R ไปขวา
L ไปซ้าย
F ไปข้างหน้า
B กลับหลัง  

ส่วนแจ้งสถานะ
S สอบถามสถานะภาำพ

เช่น ตัวแรกส่ง 2S (หมายถึงสอบถามสถานะของตัวที่ 2 )
ตัวที่ 2 ก็ส่งกลับว่า 2S1010  (1010 อาจเป็นรหัส เช่น 1 ตัวแรกคือตอนนี้ชนกับตัวแรกแล้ว)
หากตัวที่ 2 ส่งกลับว่า 2S0010  ( 0 ตัวแรกคือตอนนี้ยังไม่ชนกับตัวแรก)

เมื่อตัวแรกรับมาว่า 2S1010 ก็จะรู้ว่าตัวที่ 2 มาเทียบแล้ว ให้ทำการล็อกตัวที่ 2 เข้ากับตัวแรก


นี่คือตัวอย่างคำสั่ง แจ้งสถานะ

********************************
 
ผมเลยวาดโครงสร้างขึ้นมาใหม่ เป็น

ตัวที่ 1 ประกอบด้วย
สเตปมอเตอร์ 2ตัว
ไมโครสวิตไว้ชนข้างหน้า 1 ตัว  


**** ควรมี 2 ตัวเป็นอย่างน้อย ติดด้านซ้ายและขวา เพราะเวลาชนอาจชนด้านข้าง ได้แยกออกว่าชนได้ไหน และควรหลบด้านไหน

วงจร pic
วงจรdri motor
วงจรส่งrf
โซลินอยด์ ขนาดเล็ก ไว้จับส่วนที่2 1 อัน


**** เราจะรู้ได้ไงว่า ตัวที่ 2 มาชน และควรล็อก อาจมีเซ็นเซอร์ มาช่วยตรงนี้ ว่่าตัวที่ 2 มาถึงจุดล็อกแล้ว

จริงๆ พี่ว่า ทุกตัวทำแบบ มีวงจรรับส่งไปเลย แต่ให้มีการเซ็ทตำแหน่งได้ เช่นมี ดิบสวิช์ไว้เช็ทว่าตัวไหนจะเป็นตัวที่หนึ่ง

เพื่อ
1 ไว้เอาตัวไปนมาแทนกันก็ได้
2 ทุกตัวสมารถส่งข้อมูลได้


ตัวอย่างวงจรรับส่ง (ระวังมัลแวร์ด้วย)
http://www.adisak51.com/home/trw24gcircuit.pdf

โค๊ดโปรแกรมรับ-ส่ง
http://www.adisak51.com/home/ProgramTRW24G.pdf


แนบไฟล์ให้ล่ะกัน...

* ProgramTRW24G.pdf (77.89 KB - ดาวน์โหลด 726 ครั้ง.)
* trw24gcircuit.pdf (77.21 KB - ดาวน์โหลด 712 ครั้ง.)
* RF-24G_datasheet.pdf (737.66 KB - ดาวน์โหลด 1608 ครั้ง.)
บันทึกการเข้า
หน้า: [1]
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.14 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!