Thai microtron community

Electronic Knowledge Base => Microcontoller & Electronics => Topic started by: pic_fc on July 23, 2009, 08:26:04 PM



Title: ขอคำแนะนำ การแปลงสัญญาณที่ใช้ควบคุมเซ&#
Post by: pic_fc on July 23, 2009, 08:26:04 PM
มีปัญหามาให้พี่ๆช่วยครับ

ผมจะควบคุมหุ่นยนต์โดยใช้รีโมท ซึ่งรีโมทที่ใช้เป็นของเครื่องบิน  รีซีฟเวอร์ควบคุมเซอร์โวได้ 8 ตัว แต่หุ่นยนต์ของผมใช้ DC Motor ธรรมดา (มันต้องใช้แรงขับมาก) จะมีหนทางไหนบ้างครับที่จะแปลงสัญญาณที่รีซีฟเวอร์ส่งออกมาควบคุมเซอร์โว (1ms , 1.5ms , 2ms) มาควบคุม DC Motor

ตัวอย่างเช่น  หากรีซีฟเวอร์ส่งออกมา 1.5ms มอเตอร์จะหยุด (แปลงสัญญาณไปทริกชุดขับมอเตอร์)
                หากรีซีฟเวอร์ส่งออกมา 1ms มอเตอร์จะ RV
                หากรีซีฟเวอร์ส่งออกมา 2ms มอเตอร์จะ FW


แบบนี้เป็นต้น  โปรดชี้แนะด้วยครับ ขอตัวอย่างโค้ด CCS 16f877 ด้วยนะครับ


Title: Re: ขอคำแนะนำ การแปลงสัญญาณที่ใช้ควบคุมเŧ
Post by: smitdh on July 27, 2009, 09:24:36 AM
ครับ ลองดู
http://www.thaimicrotron.com/Electronic/SpeedCtrl1.htm
http://www.thaimicrotron.com/Electronic/ServoDriver24V.htm


Title: Re: ขอคำแนะนำ การแปลงสัญญาณที่ใช้ควบคุมเŧ
Post by: pic_fc on July 27, 2009, 01:48:36 PM
 ;D ขอบคุณครับ

แต่อยากได้แบบว่าเขียนโปแกรมเอาอะครับ CCS - 16F877


Title: Re: ขอคำแนะนำ การแปลงสัญญาณที่ใช้ควบคุมเŧ
Post by: plcc on July 27, 2009, 07:40:19 PM
แล้วฮารืดแวร์มันน่าตาเป็นยังไงล่ะครับ จะเขียนซรอฟแวร์ก็ต้องรู้ฮาร์ดแวร์ด้วย


Title: Re: ขอคำแนะนำ การแปลงสัญญาณที่ใช้ควบคุมเŧ
Post by: pic_fc on July 27, 2009, 09:56:46 PM
แบบว่ารับสัญญาณมาจากรีซีฟเวอร์ของชุด RC ซึ่งมันจะเป็นสัญญาณไปควบคุมเซอร์โว ความถี่ 20 ms (1.25ms , 1.5ms 1.75ms)

ผมอยากเอาสัญญาณดังกล่าวเข้า PIC เพื่อแปลงเป็นเอาต์พุตไปควบคุมมอเอตร์ดีซี โดย 1 ช่องสัญญาณของรีซีฟเวอร์จะควบคุมมอเตอร์ดีซี 1 ตัว สามารถควบคุมการกลับทางหมุนได้ (มี 8 ช่อง ควบคุมมอเตอร์ดีซี 8 ตัว อิสระต่อกัน โดย ช่อง 1 ควบคุมมอเตอร์ตัวที่ 1 , ช่อง 2 ควบคุมมอเตอร์ตัวที่ 2, ช่อง 3 ควบคุมมอเตอร์ตัวที่ 3......เป็นต้น)

เช่น
สัญญาณจากรีซีเฟอร์ ช่องที่ 1
- 1.25ms จะทำให้ PIN_CO = 0 , PIN_C1 = 1 (Motor 1 FW)
- 1.5ms   จะทำให้ PIN_CO = 0 , PIN_C1 = 0 (Motor 1 STOP)
- 1.75ms จะทำให้ PIN_CO = 1 , PIN_C1 = 0 (Motor 1 RV)

แบบนี้เป็นต้นครับ

(http://www.uppic.net/tk/kv6rc.jpg) (http://www.uppic.net/show/26e12b1f6becf8bc903286ccdd84421b)


Title: Re: ขอคำแนะนำ การแปลงสัญญาณที่ใช้ควบคุมเŧ
Post by: plcc on July 28, 2009, 10:08:28 AM
ผมคิดว่าเข้ารหัสปุ่มกดด้วย i2c แล้วส่งผ่าน โมดูล rf  ทางภาครับ รับออกมาได้ i2c เข้าคอลโทรลเลอร ได้เลย ผมว่าง่ายกว่าไหมครับ ได้8ช่องเท่ากับ 8 บิทของคอลโทรลเลอร ส่วนจะให้บิทใหนเดินหน้าถอยหลัง ถ้าไม่อยากใช้รีเลย์ ก็คงต้องจัดวงจร ฟูลบริดมาขับมอเตอร์เอา