ควบคุมตำแหน่งมอเตอร์

  • 16 Replies
  • 7065 Views
ควบคุมตำแหน่งมอเตอร์
« on: February 06, 2013, 05:47:13 pm »
มอเตอร์ที่ผมใช้นั้น 6000rpm มีทดเหลือ 10 rpm ตรงปลายเพลา มี encoder 500pulse/rev ติดที่ตูดวัดตัว 6000 rpm นะครับ
เพราะฉะนั้น pulse ใน 1 รอบที่ออกมาจะเท่ากับ pulse = (6000/10)*500 = 300000 pulse / rev ที่ปลายเพลา

ผมใช้ บอร์ด lpc2138 exp ไรเนี้ยซึ่งผมเขียนโค๊ดโดยมี Interrupt uart0 สำคัญสุด
รองลงมาคือ Interrupt Timer1 วัด encoder
รองมาคือ Interrupt Timer0 คอยอัพเดต PWM

หมุนประมาณ 1 รอบ[กะๆเอา] มันโชออกมาประมาณแค่ 340 องศาเอง [แบบยังไม่ใช้ Interrupt Timer0]
ยิ่งพอรวมใช้ Interrupt Timer0 ค่าที่อ่านจาก Encoder จะไม่ทันเลย หมุนไปเป็นรอบยัวัดได้แค่ 10 - 20 องศาเอง

คือมัน Interrupt ไม่ทันอ่ะ จากเดินก็ไม่ค่อยทันอยู่แล้ว ยิ่งมี Interrupt Timer0 เข้ามา ยิ่งอ่านไม่ทันเลย

มันละเอียดเกิ๊นนนนน  จะแก้ไขยังไงดีครับ  :'( :'(

*

Offline firmware.c

  • *****
  • 181
  • Firmware Design
    • View Profile
Re: ควบคุมตำแหน่งมอเตอร์
« Reply #1 on: February 06, 2013, 05:51:46 pm »
หา MCU ใหม่ที่มี encoder input hardware
IAR Embedded Workbench for ARM
AVR-Studio + AVR-GCC
CodeBlocks + MinGw
CodeBlocks + Gtk+

Re: ควบคุมตำแหน่งมอเตอร์
« Reply #2 on: February 06, 2013, 05:55:04 pm »
ช่วยแนะนำหน่อยได้ไหมครับว่าตัวไหนอ่า

Re: ควบคุมตำแหน่งมอเตอร์
« Reply #3 on: February 06, 2013, 08:50:15 pm »
แล้วมีทางแก้ไหมครับถ้าไม่เปลี่ยน ตัวใหม่

*

Offline firmware.c

  • *****
  • 181
  • Firmware Design
    • View Profile
Re: ควบคุมตำแหน่งมอเตอร์
« Reply #4 on: February 06, 2013, 10:48:17 pm »
แก้ยากครับเพราะมันละเอียดมาก แนะนำให้หา mcu ตัวใหม่อย่างที่บอกเอาพวก dsPIC ก็ได้มีโหมดนี้อยู่
IAR Embedded Workbench for ARM
AVR-Studio + AVR-GCC
CodeBlocks + MinGw
CodeBlocks + Gtk+

Re: ควบคุมตำแหน่งมอเตอร์
« Reply #5 on: February 07, 2013, 06:47:11 am »
ขอบคุณสำหรับคำตอบครับผม

*

Offline tha

  • *****
  • 5007
    • View Profile
Re: ควบคุมตำแหน่งมอเตอร์
« Reply #6 on: February 07, 2013, 06:19:39 pm »
stm32f103 timer ก็มี encoder interface mode ด้วย ผมเห็นใน reference manual RM0008 แต่ยังไม่ได้อ่าน

*

Offline firmware.c

  • *****
  • 181
  • Firmware Design
    • View Profile
Re: ควบคุมตำแหน่งมอเตอร์
« Reply #7 on: February 07, 2013, 06:48:36 pm »
ใช่ครับมีเหมือนกัน
IAR Embedded Workbench for ARM
AVR-Studio + AVR-GCC
CodeBlocks + MinGw
CodeBlocks + Gtk+