Author Topic: ปัญหาคาใจ สัญญาณ Step/Direction เป็น PWM หรือไม่  (Read 1571 times)

0 Members and 1 Guest are viewing this topic.

Offline denstudio2004

  • Full Member
  • ***
  • Thank You
  • -Given: 52
  • -Receive: 90
  • Posts: 68
    • Multimedia archive software, Library Software, Media Browser Software, Digital archive server
สัญญาณ Step มันส่งออกมาเป็น pwm หรือไม่ครับ (เฉพาะสัญญาณ Step) หรือว่าส่ง 1 0 1 0 1 0 มาเป็นลูกๆ ในระยะเวลาที่กำหนด

คือผมจะใช้ Micro controller (arduino) generate สัญญาณขึ้นมาเพื่อไปขับบอร์ดอะครับ
มีท่านใดมีข้อมูล หรือทำบ้างแล้วเอ่ย..

Offline Weerasak

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 1460
  • -Receive: 3687
  • Posts: 2707
ขอตอบว่าไม่ใช่ PMWครับ รูปด้านได้มาจากการจับเอาท์พุทของบอร์ด SmoothStepper

ช่วงที่มีอัตราเร่ง ความเร็วเพิ่มขึ้นเรื่อยๆ


ช่วงความเร็วคงที่


ช่วงความเร็วคงที่ รูปคลื่นของพาราเลลพอร์ทครับ


ความแตกต่างระหว่างพาราเลลพอร์ทและ smoothstepper อยู่ที่คุณภาพของคลื่น smoothstepper ออกมาคุณภาพกว่า สมมาตร (Symmetry) กว่าทำให้สเต็ปปิ้งมอเตอร์วิ่งได้เลื่อนและไม่สะดุด ตัวพลัสกว้างกว่าทำให้มอเตอร์ไดรเวอร์เก่าและใหม่สามารถตรวจจับสัญญาณได้ชัดเจน

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

Offline Weerasak

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 1460
  • -Receive: 3687
  • Posts: 2707
โพสต์ที่แล้วไม่ได้พูดถึงแนวของ MCU

ผมเคยพัฒนาโปรดักส์คล้ายๆ Vexta SG8030S โดยใช้ AVR ทำได้ 70% นำตัวอย่่างไปให้ผู้ว่าจ้างดู ปรากฎว่าไม่สู้ราคาเลยจบ ครึ่งๆกลางๆไป

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

ขาขึ้น->ความถี่เริ่มจากศูนย์ สเต็ปพลัสถูกยิงออกไป, และความถี่จะเพิ่มไปเรื่อยๆพร้อมกับยิงสเต็ปพลัส
ความเร็วคงที่ ->เมื่อจำนวนสเต็ปพลัส (เคาท์เตอร์ถึงค่าหนึ่ง) ความถี่จะคงที่เพราะความเร็วคงที่ สเต็ปพลัสยังถูกยิ่งความถี่นี้
ขาลง->เมื่อจำนวนสเต็ปพลัส (เคาท์เตอร์ถึ่งค่างหนึ่ง) ก็ต้องชะลอความถึ่ๆจะลดลง สุดท้ายความถี่จะเป็นศูนย์พร้อมสเต็ปสุดท้าย

ทางลัดที่ผมพึ่งนึกได้ ลองไปดู source code ของ LinuxCNC (ถ้ามี) ผมไม่เคยเห็นนะครับตัวออกตัว แต่คิดว่ามีเพราะเป็น opensource

Offline denstudio2004

  • Full Member
  • ***
  • Thank You
  • -Given: 52
  • -Receive: 90
  • Posts: 68
    • Multimedia archive software, Library Software, Media Browser Software, Digital archive server
อ๋อ... พอจะมองออกละครับ

เหมือนกับเราเขียน controller ให้ stepping motor วิ่ง //
ถ้าจะให้วิ่งเร็ว ก็จ่ายพลัสให้แต่ละตำแหน่ง เป็นช่วงที่ถี่ขึ้น แต่ถ้าจะให้ช้าก็จ่ายพลัสให้แต่ละตำแหน่งให้ ถี่ลง

อื่ม...ครับ.. พอจะมองออกละครับ

******
จะทำ DC Servo Drive คล้ายกับของคุณเป๋ อะครับ  http://www.cncroom.com/forum/index.php?topic=1306.0

// แต่ไม่ได้เอามาใช้กับ CNC

// ไม่รู้ว่ามีใครสานต่อ Project DC Servo Drive ของคุณเป๋บ้างไหมครับ
พัฒนากันไปถึงไหนแล้ว

Offline Weerasak

  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 1460
  • -Receive: 3687
  • Posts: 2707
ผมตามไปดู http://diybangkok.blogspot.com
ชอบใจมากเลย ทำเองเสียทุกอย่าง นี่แหละช่างตัวจริง

Offline denstudio2004

  • Full Member
  • ***
  • Thank You
  • -Given: 52
  • -Receive: 90
  • Posts: 68
    • Multimedia archive software, Library Software, Media Browser Software, Digital archive server
ผมตามไปดู http://diybangkok.blogspot.com
ชอบใจมากเลย ทำเองเสียทุกอย่าง นี่แหละช่างตัวจริง

ขอบคุณครับ // มือใหม่หัดเรียนรู้ ขอใช้ที่นี่เป็นโรงเรียนนะครับ

Offline jakkrit_R

  • Jr. Member
  • **
  • Thank You
  • -Given: 145
  • -Receive: 25
  • Posts: 47
ขอบคุณครับพี่ๆ

Offline tonyb

  • Jr. Member
  • **
  • Thank You
  • -Given: 2
  • -Receive: 0
  • Posts: 19

Offline tree2317

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 3
ขอบคุณครับ