ไดรเวอร์ TMC2208 - Microsteps กำหนดค่าไม่ถูกต้อง


10

ฉันเพิ่งติดตั้งไดรเวอร์ TMC2208 สองตัวบน RAMPS ของฉัน ฉันทำตามขั้นตอนการสอนที่ดีมากทีละขั้นและหลังจากปัญหาบางอย่างฉันก็เกือบจะทำงานแล้ว

ปัญหาหนึ่งที่ฉันยังมีอยู่คือเมื่อฉันบอกให้เครื่องพิมพ์ยกแกน Z ขึ้น 5 มม. มันจะยกขึ้น 10 ซม.

ฉันไม่ได้เปลี่ยนแปลงอะไรเกี่ยวกับขั้นตอน / มม. ก่อนหน้านี้ U มี Pololus ด้วย microstepping 1/16 และตอนนี้ฉันก็มี 1/16 ในไฟล์ configuration_adv.h ใน Marlin 1.1.8

อย่างไรก็ตามสิ่งที่ฉันสังเกตเห็นเมื่อทำ M122 เป็นบรรทัดที่อ่าน:

msteps 256

ซึ่งเสียงเหมือน microstepping ตั้งไว้ที่ 1/256 แทน

อาจมีบางคนบอกฉันได้ว่าฉันพลาดอะไรไปหรือเปล่า

UPDATE:

หลังจากขุดลงไปอีกแล้วนี่คือสิ่งที่ฉันทำไปแล้ว:

  • ประสานพินบนไดรเวอร์ ต้นฉบับจาก Watterrot
  • ประสานแผ่นรองสะพานเพื่อเปิดใช้งานการสื่อสาร UART
  • ประสานพินสำหรับส่วนหัวของการสื่อสารขึ้นด้านบน
  • เปลี่ยนconfiguration_adv.hon Marlin (1.1.8) และเปิดใช้งานทั้งหมดที่เปิดใช้งาน: USE_TMC2208, เปิดใช้งานการดีบัก, เลือกแกน Z, ฯลฯ
  • ตรวจสอบหมุดเปิดpins_RAMPS.hและตรวจสอบให้แน่ใจว่ามีให้ในการตั้งค่าของฉัน
  • สร้างสายเคเบิล Y ด้วยตัวต้านทาน 1 kOhm สำหรับขา TX
  • ขอทุกอย่างขึ้น

ไม่ว่าฉันจะทำอะไรมอเตอร์ก็เคลื่อนที่สองเท่าตามที่ร้องขอ แม้ว่าฉันจะตั้งค่า microstepping 1/16 แต่ฉันก็มี Pololus เหมือนกัน แต่ฉันทำการคำนวณแบบย้อนกลับเพื่อหาว่า microstepping จริงบนไดรเวอร์คือ 1/8

หลังจากการสอบสวนเพิ่มเติมปัญหาดูเหมือนว่ามาร์ลิน / คณะกรรมการไม่เป็นที่รู้จักของคนขับเลย คิดว่ามันเป็นปัญหากับการสื่อสาร TX / RX ผมล้วงเข้าไปในข้อมูลที่มีออกมีและฉันพบนี้ข้อผิดพลาด: TMC2208 UART สื่อสารใช้หมุดผิด SoftwareSerial #

ฉันเปลี่ยนพินที่กำหนดให้สำหรับซีเรียล RX / TX ต่อไป แต่ทุกอย่างเหมือนกันทุกประการ

ฉันลอง Arduino ตัวอื่น (ดั้งเดิม), RAMPS board อื่นและแม้แต่ 1.1.x และ 2.0 bugfix branch จาก Marlin

ดูเหมือนว่าไดรเวอร์อยู่ในโหมด "ดั้งเดิม" และไม่สามารถจัดการซอฟต์แวร์ได้ แม้ว่าฉันจะทำตามขั้นตอนเพื่อเปิดใช้งาน


คุณแก้ปัญหานี้หรือไม่? หากคุณแก้ปัญหามันจะเป็นการดีที่จะแบ่งปันประสบการณ์ของคุณกับชุมชนโดยโพสต์คำตอบของคุณเองเพื่อให้คนอื่น ๆ อาจเรียนรู้จากมันหรือสามารถแก้ปัญหาที่คล้ายกันได้ คุณสามารถยอมรับคำตอบของคุณเองหลังจาก 48 ชั่วโมง
0scar

tmc แก้ไขขั้นตอนของคุณเป็น 256 ล่วงหน้า config #define INTERPOLATE จริง // Interpolate X / Y / Z_MICROSTEPS ถึง 256
ddjikic

ฉันยิ่งแย่ลงไปกว่าเดิมฉันมีคอนโทรลเลอร์ทั้งหมด TMC2208 และหลังจากอัพเดตเฟิร์มแวร์ที่ไม่เกี่ยวข้องบางตัว Z ก็เริ่มตรงกันสองครั้ง แกนอื่น ๆ ก็โอเค
Slava

คำตอบ:


1

ฉันไม่มีตัวควบคุมเหล่านี้ แต่ฉันอ่านด้วยการตั้งค่าเริ่มต้น TMC2208 จะสอดแทรก microsteps ที่กำหนดโดย I / O พินตั้งค่าเป็น 256 microsteps โปรดดูวิธีการตั้งค่าสวิตช์ dip / jumper caps บนบอร์ดดูเหมือนว่าจะใช้เพียง 2 (MS1 และ MS2) นอกจากนี้คุณไม่สามารถลดจำนวนอาร์เรย์ DEFAULT_AXIS_STEPS_PER_UNITสำหรับรายการ Z ในไฟล์กำหนดค่าของคุณได้หรือไม่


ฉันสามารถเปลี่ยน steps_per_unit ได้ แต่นั่นเป็นแพตช์สำหรับผลลัพธ์ แต่ก็ไม่ได้แก้ไขสาเหตุของมัน เราตรวจสอบเพิ่มเติมโปรดดูที่การปรับปรุงบนโพสต์ต้นฉบับของฉัน ...
เฟลิกซ์เฮาเซอร์

0

เป็นไปได้มากว่าปัญหาของคุณเกี่ยวข้องกับ PDN_UART pin บนบอร์ดไดรเวอร์ TCM2208 ในบางผู้ผลิตบอร์ดจัมเปอร์ไม่ได้ถูกตั้งค่าเป็นโหมด UART ตามค่าเริ่มต้นดังนั้นคุณต้องประสานจัมเปอร์กับการกำหนดค่าที่เหมาะสม ดูแผ่นข้อมูลของบอร์ดควบคุมของคุณ ตัวอย่างเช่น https://github.com/bigtreetech/BIGTREETECH-TMC2208-V3.0/blob/master/TMC2208-V3.0%20manual.pdf


2
เขาทำอย่างนั้นมันถูกกล่าวถึงในหัวข้อ UPDATE
FarO
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.