RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Απάντηση
Άβαταρ μέλους
jousis
Δημοσιεύσεις: 226
Εγγραφή: Παρ 03 Νοέμ 2017, 21:0
Τοποθεσία: /dev/null
Επικοινωνία:

RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από jousis » Σάβ 30 Δεκ 2017, 02:0

Ο οδηγός είναι βασισμένος σε RAMPS 1.4 , Marlin 1.1.8 , Watterott TMC2130
Κατεβάστε όλο τον οδηγό σε PDF (έχει μέσα φωτογραφίες και άλλες επεξηγηματικές εικόνες). Δείτε λινκ για το συνημμένο στο τέλος του post.

Διαβάστε όλο το how to πριν αποφασίσετε να ξεκινήσετε και αρχίστε πρώτα απο το τέλος (ρυθμίσεις Firmware). Έτσι, αν σε επόμενη έκδοση του Marlin έχει αλλάξει κάτι, θα ρωτήσετε πριν ξεκοιλιάσετε τον εκτυπωτή σας.

Νέα ενδιαφέροντα χαρακτηριστικά των TMC 2130
-Αθόρυβη λειτουργία όπως τα TMC2100 (StealthChop)
-Λειτουργία υψηλής ροπής, με λιγότερο θόρυβο από 4988/8825 (SpreadCycle)
-Αυτόματη εναλλαγή από StealthChop σε SpreadCycle ανάλογα με την ταχύτητα
-Software/Αυτόματα endstop σε Χ&Υ άξονα (χωρίς endstop switches)
-Δυνατότητα ρύθμισης ισχύος «αναμονής» για μειωμένη κατανάλωση και πιο κρύα λειτουργία
-Αυτόματη διαχείριση ρεύματος ανάλογα με τον φόρτο
-Ρυθμίσεις ρεύματος από κονσόλα/firmware , χωρίς την ανάγκη να πειράξεις ποτενσιόμετρο
-Αυτόματη μείωση ρεύματος αν υπάρξει υπερθέρμανση, σχετική ειδοποίηση στην κονσόλα και εν τέλει, σταμάτημα της εκτύπωσης
-Πληροφορίες λειτουργίας ανά πάσα στιγμή

Βήμα 1ο - Εγκατάσταση

TMC
Ετοιμάζουμε τα TMC. Κολλάμε header pins που κοιτάνε προς την πλευρά του τσιπ σε όλες τις υποδοχές εκτός από τις:
SDO , CS , SCK, SDI
Σε αυτές τις 4, κολλάμε pins που κοιτάνε από την ανάποδη πλευρά, όπου και θα κολλήσουμε το heatsink.
Αυτά τα pins θα συνδεθούν με το Arduino SPI interface.

Τέλος, κολλάμε ακόμα ένα τελευταίο pin , στην έξοδο Diag 1 στους drivers που θα βάλουμε στον Χ & Υ άξονα εάν θέλουμε να χρησιμοποιήσουμε το αυτόματο endstop και να καταργήσουμε τα endstop switches μας.
Σημείωση: Η υποδοχή με το εικονίδιο που μοιάζει με γρανάζι, δεν χρησιμοποιείται.

Καλώδια
Τα SDO/SDI/SCK πρέπει να συνδεθούν όλα παράλληλα και να πάνε στις θύρες MISO/MOSI/SCK στο Arduino (RAMPS) μας.
Τα CS πρέπει να πάνε ξεχωριστά το καθένα σε δικό του pin.
Οπότε, χρειαζόμαστε 3 καλώδια 1<-> 4 (εάν έχουμε 4 TMC2130).
Εκτός από αυτές τις διακλαδώσεις, θα χρειαστούμε και 4 ξεχωριστά καλώδια για τα CS pins καθώς και 2 ξεχωριστά καλώδια για τα DIAG pins (X & Y).


RAMPS
Σε όποια θέση θα βάλουμε 2130, αφαιρούμε όλα τα jumpers από το RAMPS. Όπως ακριβώς και στα 2100.

ΠΡΟΣΟΧΗ στην τοποθέτηση των stepper drivers. Δείτε τα GND pins και βάλτε τα από την σωστή πλευρά.



Για την σύνδεση SPI, μας ενδιαφέρουν οι θύρες που βρίσκονται στον AUX-3 connector του RAMPS.

Κώδικας: Επιλογή όλων

TMC2130	Arduino
SCK	SCK (D52)
SDO	MISO	(D50)
SDI	MOSI	(D51)
Εάν το RAMPS μας έχει στην AUX3 συνδεδεμένη την κλασσική οθόνη+SD, μπορούμε:
1. να κολλήσουμε από την πάνω πλευρά του connector της οθόνης τα 3 καλώδια (1<->4) που φτιάξαμε
2. να ξηλώσουμε τον απλό connector που έχει αυτό το έξτρα module της οθόνης και να βάλουμε stacking για να χρησιμοποιήσουμε θηλυκά dupont παντού
3. να χρησιμοποιήσουμε τα pins του arduino mega για SPI (ICSP), που είναι όμως κάτω από το RAMPS shield. Θα πρέπει να κόψουμε λίγο τα headers και να χρησιμοποιήσουμε dupont χαμηλού προφίλ. Εναλλακτικά, μπορούμε να βγάλουμε τα ίσια και να κολλήσουμε κάποια με γωνία.


Και με τις 3 μεθόδους θα παίξει χωρίς πρόβλημα, καλύτερη από όλες είναι η 2η και η μετατροπή είναι σχετικά απλή.

Εάν όμως το RAMPS μας έχει ελεύθερα τα SPI pins , βάζουμε θηλυκά dupont στα καλώδια «χταπόδια» που φτιάξαμε και τα συνδέουμε απευθείας στο board.


Συνδέουμε τα CS pins του κάθε driver ανάλογα με τις ρυθμίσεις μας.
Εάν δεν έχετε αλλάξει κάτι ακόμα (δείτε παρακάτω) , πρέπει να τα βάλουμε ως εξής:

Κώδικας: Επιλογή όλων

Χ_CS	        D53
Υ_CS	        D49
Ζ_CS	        D40
Ε0_CS	D42
Τα CS pins είναι παραμετροποιήσιμα από το Marlin , οπότε ακόμη κι αν έχουμε κάτι στο AUX3 (οθόνη + SD) , μπορούμε να αλλάξουμε τα defaults.
Εάν έχουμε οθόνη, δεν μπορούμε να χρησιμοποιήσουμε τα defaults που έχει το firmware, αλλά μπορούμε να βάλουμε (πχ) 2 από τα servo headers. Δείτε στις ρυθμίσεις του firmware παρακάτω, τις αλλαγές που μπορείτε να κάνετε.
Σε περίπτωση που ακολουθήσετε την πρότασή μου, οι συνδέσεις CS που πρέπει να κάνετε είναι:

Κώδικας: Επιλογή όλων

Χ_CS	D5
Υ_CS	D4
Ζ_CS	D40
Ε0_CS	D42
Εάν θέλουμε να ενεργοποιήσουμε το αυτόματο endstop:
Τα Diag pins τα συνδέουμε στο «S» των endstop Χ & Υ πάνω δεξιά στο ramps. ΠΡΟΣΟΧΗ. Τα -/+ pins τα αφήνουμε κενά. Συνδέουμε το Diag στο κάθε «S».
Δεν έχετε τα απαραίτητα δικαιώματα για να δείτε τα συνημμένα αρχεία σε αυτή τη δημοσίευση.
Wanhao i3 v2.1
RAMPS 1.4 electronics, z-braces, flexion extruder, BLTouch, enclosure
my Thingiverse
Άβαταρ μέλους
jousis
Δημοσιεύσεις: 226
Εγγραφή: Παρ 03 Νοέμ 2017, 21:0
Τοποθεσία: /dev/null
Επικοινωνία:

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από jousis » Σάβ 30 Δεκ 2017, 02:0

Βήμα 2ο - Firmware
(Marlin 1.1.6+ , εδώ θα εξηγήσω με βάση το 1.1.8)

Παρακαλώ, μην κάνετε copy & paste από εδώ, προτιμήστε την αλλαγή με το χέρι στο αρχείο σας. Το παρόν γράφτηκε σε Word και ενδέχεται να υπάρχουν ειδικοί χαρακτήρες.


Ανοίγουμε το firmware
Αρχικά, πρέπει να εγκαταστήσουμε την βιβλιοθήκη 2130 (εάν δεν το έχουμε κάνει ήδη).
Sketch -> Include Library -> Manage Libraries
Search: 2130
Εγκαθιστούμε την τελευταία έκδοση.

Οι ρυθμίσεις των pin που χρησιμοποιεί για CS του κάθε driver χρειάζονται έλεγχο και αλλαγή (αν έχουμε RAMPS + monitor πχ).
Ανοίγουμε το αρχείο ρυθμίσεων pin_ΤΟ_ΟΝΟΜΑ_ΤΟΥ_BOARD_ΜΟΥ.h .
Για Ramps, το όνομα είναι:
pins_RAMPS.h

Οι ρυθμίσεις που μας ενδιαφέρουν και σίγουρα υπάρχει conflict στο RAMPS είναι :
X_CS_PIN, Y_CS_PIN
Μπορείτε να βάλετε όποιο pin θέλετε που δεν χρησιμοποιείται από κάτι άλλο, εγώ έβαλα:

Κώδικας: Επιλογή όλων

#define X_CS_PIN           5
#define Y_CS_PIN           4
Είναι στον servo connector, τα 2 τελευταία (προσοχή: μην συνδέσετε τίποτα στα +/-). Έχω μόνο 1 servo (bltouch).


Πάμε στο αρχείο Configuration_adv.h

Ενεργοποιούμε το γενικό flag (βγάζουμε τα //):

Κώδικας: Επιλογή όλων

#define HAVE_TMC2130
(από εδώ και πέρα, όποια ρύθμιση αναφέρω, υποθέτω ότι θα βγάλετε τα // από μπροστά για να ενεργοποιηθεί)

Λίγο πιο κάτω, ενεργοποιούμε μία γραμμή για κάθε 2130 που έχουμε βάλει (μπορούμε να βάλουμε μόνο 1 ή 2)
Έστω ότι έχουμε σε όλα:

Κώδικας: Επιλογή όλων

  #define X_IS_TMC2130
  #define Y_IS_TMC2130
  #define Z_IS_TMC2130
  #define E0_IS_TMC2130
Αλλάζουμε αν θέλουμε την ρύθμιση για το πόσο ρεύμα θα δίνει όταν το μοτέρ είναι σε αναμονή (εδώ, 50%)

Κώδικας: Επιλογή όλων

#define HOLD_MULTIPLIER    0.5
Ενεργοποιούμε το interpolation:

Κώδικας: Επιλογή όλων

#define INTERPOLATE       true
Η δύσκολη ρύθμιση είναι το πόσα mA RMS θα δώσουμε στο μοτέρ μας. Είναι η ρύθμιση που κάνουμε συνήθως με το ποτενσιόμετρο. Εδώ μπορεί να γίνει από το firmware και από την κονσόλα σε πραγματικό χρόνο (όσο τυπώνει).
Για αρχή, υπολογίστε το 90% του μέγιστου που αντέχει το μοτέρ σας και διαιρέστε το με 1.41.
Πχ, το δικό μου αντέχει 1.02A :
(1.02 * 90/100) / 1.41 = 0.650A = 650mA
Ίσως χρειαστεί αργότερα να το ανεβάσετε αν δείτε ότι σε κάποια ταχύτητα που τυπώνετε χάνει steps.
Εννοείται, πως όσο πιο πολλά mA δώσετε και όσο πιο πολύ ζοριστεί ο driver θα ανεβάσει θερμοκρασία. Το καλό είναι πως θα μας ενημερώσει ο driver αν υπερθερμανθεί και θα μπορέσουμε να κάνουμε κινήσεις διόρθωσης πριν καεί.
Όμως, βεβαιωθείτε ότι έχετε καλή ροή αέρα εκεί που είναι τα stepper drivers. Είναι σημαντικό τώρα ακόμα περισσότερο από πριν, λόγω των επιπλέον καλωδίων που βάλαμε (SPI.

Έστω λοιπόν ότι θέλω σε X/Y 650mA, στον Ε 800mA (έχω μεγαλύτερο μοτέρ) και στο Ζ 500mA:

Κώδικας: Επιλογή όλων

  #define X_CURRENT          650
  #define X_MICROSTEPS        16
  #define Y_CURRENT          650
  #define Y_MICROSTEPS        16
  #define Z_CURRENT          500
  #define Z_MICROSTEPS        16
  #define E0_CURRENT         800
  #define E0_MICROSTEPS       16
Ενεργοποιούμε το stealthchop:

Κώδικας: Επιλογή όλων

  #define STEALTHCHOP
Ενεργοποιούμε το MONITOR_DRIVER_STATUS τουλάχιστον για αρχή. Θα μας δώσει πολλές ενδιαφέρουσες πληροφορίες και θα μας προστατέψει από υπερθέρμανση.

Κώδικας: Επιλογή όλων

  #define MONITOR_DRIVER_STATUS
  #if ENABLED(MONITOR_DRIVER_STATUS)
    #define CURRENT_STEP_DOWN     50
    #define REPORT_CURRENT_CHANGE
    #define STOP_ON_ERROR
  #endif
Προαιρετικά, ενεργοποιούμε το hybrid threshold και βάζουμε τα όριά μας.
Στην ουσία, λέμε στο firmware μετά από ποια ταχύτητα θα σταματήσει να λειτουργεί με stealthchop (απόλυτα αθόρυβη αλλά με μειωμένη ροπή) και θα γυρίσει σε spreadcycle (μέγιστη ροπή).
Προσοχή, η αλλαγή αυτή είναι δυναμική. Έτσι, μπορεί η εκτύπωσή σας να είναι 60mm/s αλλά το travel speed σας 150mm/s. Όσο εκτυπώνει θα είναι αθόρυβο αλλά όταν πάει από σημείο σε σημείο θα μπαίνει σε spreadcycle και θα ακούτε θόρυβο.
Οπότε, ειδικά σε Χ/Υ σκεφτείτε τις τιμές που θέλετε και προσαρμόστε ανάλογα και το travel speed σας.
Εγώ έχω

Κώδικας: Επιλογή όλων

  #define HYBRID_THRESHOLD
  #define X_HYBRID_THRESHOLD     100
  #define Y_HYBRID_THRESHOLD     100
  #define Z_HYBRID_THRESHOLD      10
  #define E0_HYBRID_THRESHOLD     30



Εάν θέλουμε το homing με την χρήση των drivers (και έχουμε συνδέσει τα DIAG pins), ενεργοποιούμε την παρακάτω επιλογή.
Δυστυχώς η τιμή για X & Y sensitivity δεν είναι σίγουρη. Εγώ με τις default είχα πάρα πολλά false positives και ανέβασα και τα δύο σε 20. Μπορείτε να βάλετε μέχρι 63 (από -63). Θα πρέπει το μοτέρ να ακουμπάει στον άξονα και να σταματάει χωρίς να ακούσετε κάποιον ήχο. Αν χτυπάει, μειώστε τον αριθμό. Αν σταματάει πριν τον άξονα, μεγαλώστε τον.
Ξεκινήστε με 10 και θα το κάνετε fine tune αργότερα.

Κώδικας: Επιλογή όλων

  #define SENSORLESS_HOMING // TMC2130 only
  #if ENABLED(SENSORLESS_HOMING)
    #define X_HOMING_SENSITIVITY  10
    #define Y_HOMING_SENSITIVITY  10
  #endif
Ενεργοποιήστε για αρχή και το debug:

Κώδικας: Επιλογή όλων

#define TMC_DEBUG
Compile & Upload
Τέλος.
Wanhao i3 v2.1
RAMPS 1.4 electronics, z-braces, flexion extruder, BLTouch, enclosure
my Thingiverse
Άβαταρ μέλους
jousis
Δημοσιεύσεις: 226
Εγγραφή: Παρ 03 Νοέμ 2017, 21:0
Τοποθεσία: /dev/null
Επικοινωνία:

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από jousis » Σάβ 30 Δεκ 2017, 02:0

Βήμα 3ο - Δοκιμές/Ρυθμίσεις

Πρώτες δοκιμές / Πιθανά προβλήματα
Δοκιμάστε ότι όλοι άξονες κινούνται οκ προς την σωστή κατεύθυνση. Αν πάνε ανάποδα, κάντε τα κατάλληλα invert στο configuration.h (πχ INVERT_X_DIR).
Δοκιμάστε κάποια γρήγορα travel moves να δείτε ότι δεν βάλατε εξωφρενικές τιμές στο acceleration.

SENSORLESS_HOMING
Ανάλογα με το τι end stops είχατε πριν, ίσως πρέπει πλέον να βγάλετε το invert από αυτά.
Συνδεθείτε με σειριακή στον εκτυπωτή και δώστε:
M914
Εάν σε κατάσταση ηρεμίας, σας γράφει ότι τα X/Y sensors είναι TRIGGERED , πρέπει να κάνετε τα κατάλληλα invert στο Configuration.h (πχ X_MIN_ENDSTOP_INVERTING). Στην περίπτωσή μας, το X_MIN_ENDSTOP_INVERTING πρέπει να είναι false.
Αμέσως μετά, πρέπει να ρυθμίσουμε την ευαισθησία.
Βεβαιωθείτε πως έχουν μπει σωστά οι default που θέλετε (αναφέρει τις τιμές με το 914 που δώσατε παραπάνω).
Δώστε εντολή να κάνει home τον Χ άξονα και να είστε έτοιμοι να κόψετε το ρεύμα αν πάει κάτι στραβά.
Εάν:
• χτυπήσει στον άξονα και συνεχίσει να προσπαθεί , κλείστε το ρεύμα αμέσως. Κάποια ρύθμιση έχει γίνει λάθος.
• χτυπήσει με δύναμη πάνω στον άξονα αλλά σταματήσει, πρέπει να αυξήσετε την ευαισθησία (μικρότερο νούμερο από 10, έστω 5).
• Ακουμπήσει τον άξονα απαλά, συγχαρητήρια.
• Σταματήσει πριν φτάσει στον άξονα, πρέπει να μειώσετε την ευαισθησία , βάζοντας μεγαλύτερο νούμερο.
Ακολουθήστε την ίδια ακριβώς διαδικασία και για τον Υ άξονα.
Να θυμάστε πως αν αλλάξετε κάτι στον extruder σας και αποκτήσει περισσότερο βάρος (πχ) ή αν αλλάξετε ρουλεμάν, πρέπει να κάνετε 2-3 δοκιμές να δείτε ότι όλα είναι ΟΚ ακόμα.
Με το sensorless homing είναι, αν πχ λόγω ενός καλωδίου που έχει μπλεχτεί δεν μπορέσει να φτάσει στο τέρμα, θα σταματήσει και θα υποθέσει ότι εκεί είναι το 0. Θα ξεκινήσει η εκτύπωση κανονικά απλά θα είναι λίγο μετατοπισμένη προς τα δεξιά. Βέβαια, εάν είναι μεγάλο το αντικείμενο, θα προσπαθήσει να πάει τέρμα δεξιά και -ανάλογα την απόκλιση- θα χτυπήσει στον δεξί άξονα.
Σημείωση: Δεν είναι υποχρεωτικό να ξηλώσετε τα endstop buttons. Αν τα αφήσετε θα ακούτε και το ηρεμιστικό «κλικ» όταν φτάνει στο τέλος.

Κάντε μια μικρή εκτύπωση σε χαμηλή ταχύτητα να δείτε ότι όλα είναι οκ πριν ρυθμίσετε τα ρεύματα και την εναλλαγή από stealthchop σε spreadcycle.

Ρυθμίσεις Ρεύματος
Βρείτε μια εκτύπωση που σας βολεύει, πχ ένα 3d benchy.
Κάντε το slice σε υψηλή ταχύτητα. Την πιο ψηλή που νομίζετε ότι αντέχει ο εκτυπωτής σας.
Ελέγξτε και τις ρυθμίσεις travel να είναι όσο πιο γρήγορες γίνεται. Θέλουμε να δούμε αρχικά, αν υπερθερμαίνετε κάποιος driver.
Ξεκινήστε την εκτύπωση ενώ παρακολουθείτε σχολαστικά το output του εκτυπωτή (κονσόλα) και την εκτύπωση.
Εάν έχετε βάλει μεγαλύτερο ρεύμα από αυτό που μπορεί να σηκώσει το μοτέρ σας, δεν έχω ιδέα τι μπορεί να γίνει.
Όσο αρχίσει να εκτυπώνει γρήγορα, θα αρχίσουν να ζεσταίνονται τα stepper drivers. Μπορείτε που και που να ακουμπάτε την ψήκτρα (το να είναι ζεστή δεν είναι κακό) για ψυχολογικούς λόγους. Εμάς μας ενδιαφέρει όμως να δούμε αν θα εμφανιστεί κάποιο τέτοιο μήνυμα στην κονσόλα:
X driver overtemperature warning! (800mA)
Εάν δείτε κάτι τέτοιο, μάλλον δεν αρκεί η ψύξη σας και πρέπει να κάνετε κάτι. Είτε μειώστε το ρεύμα είτε βάλτε καλύτερη ψύξη.
Όπως είπαμε, οι drivers έχουν προστασία, ακόμα και αν συνεχίσετε να εκτυπώνετε έτσι, δεν θα καούν, αλλά θα συνεχίσουν να δουλεύουν μέχρι να σταματήσει το firmware την εκτύπωση (αν όλα πάνε καλά). Αλλά δεν χρειάζεται να το πάτε στα άκρα, δεν θέλουμε να υπερθερμανθεί ο driver για κανέναν λόγο.
Με την παρακάτω εντολή, μπορούμε να ελέγξουμε ποια drivers έβγαλαν warning:
M911
Χωρίς να σταματήσουμε την εκτύπωση, μειώνουμε το ρεύμα στα drivers που βγάλανε το warning.
Αν ήταν πριν 650,650,500,800 δίνουμε (πχ):
M906 X600 Y600 Z500 E700
Αφήνουμε να συνεχιστεί λίγο η εκτύπωση και παρακολουθούμε αν συνεχίζει να βγάζει warning.
Αν δεν κρυώνουν με τίποτα, σταματάμε την εκτύπωση (ή μειώνουμε πολύ την ταχύτητα) και αφήνουμε λίγο τα drivers να κρυώσουν πριν ξαναξεκινήσουμε.
Αν βελτιωθούν , καθαρίζουμε τα warning:
M912
Και ανεβάζουμε λίγο παραπάνω το ρεύμα. Με αυτό το πάνω/κάτω θα βρούμε την βέλτιστη ρύθμιση για να μην έχουμε warning στην μέγιστη ταχύτητα που μπορεί ποτέ να τυπώσουμε.

Στο σενάριο που δεν δούμε ποτέ warning αλλά βλέπουμε στο μοντέλο μας προβλήματα (χαμένα steps = μετατοπισμένα layers ή underextrusion), πρέπει να αυξήσουμε την τιμή. Περίπου τα ίδια με επάνω, απλά αυτήν την φορά, αυξάνουμε τις τιμές:
M906 X700 Y700 Z700 E800
Δεν είναι αναγκαίο να βάλετε τις ίδιες τιμές σε Χ/Υ επειδή έχουν το ίδιο μοτέρ. Ο Χ άξονας συνήθως είναι πιο ελαφρύς, οπότε μπορεί να δουλέψει μια χαρά με μικρότερο ρεύμα. Εγώ πχ αναγκάστηκα να έχω παραπάνω ρεύμα σε Υ και extruder από ότι στον Χ (και φυσικά στον Ζ). Κάντε δοκιμές ανάλογα με το πού εντοπίζονται τα προβλήματα στο μοντέλο σας.
Να θυμάστε… όλες αυτές τις αλλαγές μπορείτε να τις κάνετε σε πραγματικό χρόνο πλέον ! Χωρίς να χρειάζεται να πειράζετε ποτενσιόμετρο.
Όταν βρούμε τις τιμές που μας ικανοποιούν, τις βάζουμε στο firmware και κάνουμε μια τελική εκτύπωση σε πιο χαμηλές ταχύτητες (80mm/s πχ) να δούμε ότι τα drivers είναι πολύ πιο κρύα από πριν.
Εάν (το απεύχομαι) δούμε ότι με το ρεύμα που δεν έχουμε υπερθέρμανση έχουμε χαμένα steps και αν αυξήσουμε το ρεύμα αμέσως έχουμε υπερθέρμανση, σημαίνει ότι ο εκτυπωτής μας δεν μπορεί να τυπώσει σε αυτήν την ταχύτητα που επιλέξαμε. Μειώνουμε acceleration, βελτιώνουμε ψύξη, κτλ…

HYBRID_THRESHOLD (Εναλλαγή μεταξύ StealthChop / SpreadCycle)
Είναι πολύ ωραίο ο εκτυπωτής μας να είναι εντελώς αθόρυβος, αλλά αν χρειαστεί ποτέ να τυπώσουμε κάτι σε μεγάλη ταχύτητα, υπάρχει η περίπτωση το stealthchop να μας εμφανίσει προβλήματα (χαμένα steps).
Αν στο firmware ενεργοποιήσατε το HYBRID_THRESHOLD, ρυθμίσατε και κάποια κατώφλια για κάθε μοτέρ που αν τα υπερβεί , αυτόματα γυρνάει σε spreadcycle.
Εδώ, δεν υπάρχουν τρομερές δοκιμές να κάνετε.
Βάλτε μια γρήγορη εκτύπωση (νορμάλ όμως, όχι σαν την επάνω την δοκιμαστική) και δείτε αν με τις ρυθμίσεις που έχετε, σας ενοχλεί ο θόρυβος.
Πχ, μπορεί τα Χ/Υ/Ε/Ζ print moves να είναι εντελώς αθόρυβα αλλά όταν κάνει non printing travel moves ο εκτυπωτής να φωνάζει. Δείτε πόσο έχετε βάλει στον slicer τα travel moves και ρυθμίστε ανάλογα το κατώφλι για Χ/Υ.
Και αυτές οι ρυθμίσεις μπορούν να γίνουν δυναμικά, όσο τυπώνει:
M913 X150 Y150 Z10 E40
Wanhao i3 v2.1
RAMPS 1.4 electronics, z-braces, flexion extruder, BLTouch, enclosure
my Thingiverse
Άβαταρ μέλους
babisgr
Δημοσιεύσεις: 36
Εγγραφή: Τρί 14 Νοέμ 2017, 22:0

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από babisgr » Σάβ 30 Δεκ 2017, 14:0

... τι είπες τωρα ρε φίλε! :o

φανταστικό άρθρο αδερφέ...είσαι μερακλής!
Το κρεβάτι είναι το πιο επικίνδυνο μέρος του κόσμου. 90% των ανθρώπων πεθαίνουν εκεί.
Άβαταρ μέλους
jousis
Δημοσιεύσεις: 226
Εγγραφή: Παρ 03 Νοέμ 2017, 21:0
Τοποθεσία: /dev/null
Επικοινωνία:

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από jousis » Κυρ 31 Δεκ 2017, 00:0

Ονειρεύομαι μια Ελλάδα γεμάτη με TMC2130 :lol: :lol: :lol:

Ενδιαφέρον θα έχει να δοκιμάσει κάποιος το Hybrid SpreadCycle με πιο σοβαρό setup απο το δικό μου γιατί πάνω απο 130mm/s δεν μπορώ να πάω. Τρίζει ολόκληρο.
Συν οτι ο extruder μου είναι πολύ βαρύς και δεν έχω καλή ακρίβεια στις διαστάσεις όταν πάω τόσο γρήγορα.

Οπότε, παίζω γενικά μόνο με StealthChop και μειωμένη επιτάχυνση (απο τα defaults του marlin).
Wanhao i3 v2.1
RAMPS 1.4 electronics, z-braces, flexion extruder, BLTouch, enclosure
my Thingiverse
Άβαταρ μέλους
babisgr
Δημοσιεύσεις: 36
Εγγραφή: Τρί 14 Νοέμ 2017, 22:0

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από babisgr » Κυρ 31 Δεκ 2017, 10:0

Από θέμα ταχύτητας είναι λίγο απογοητεύση τα 2100...όταν τα έβαλα και έκανα πρώτη εκτύπωση ,είχα τα στοκ settings αν θυμάμαι καλά επιτάχυνση 1000 και ταχύτητα 120.. βέβαια σε stealthchop,γι'αυτό τα πήρα,έγινε χαμός από χαμενα steps.ειδα το video της trinamic που προτείνει 100 επιτάχυνση.την έβαλα και ανέβασα και το vref στο 1v ..πάλι εχαναν σε μεγάλη ταχύτητα.τωρα τυπώνω με 50-60mm και 100 επιτάχυνση για να μην χάνει βήματα αλλά είναι απελπιστικά αργό..και λόγο επιτάχυνσης.
Δεν θέλω να πάω σε spreadcycle γιατί όλη η ιστορία είναι ο θόρυβος.
Τι settings παίζεις και βγαζεις 120mm σε chop,γιατί το πλαίσιο μου μπορεί να πάει πολύ πολύ πανω,και ο extruder μου είναι bowden... κρίμα!
Το κρεβάτι είναι το πιο επικίνδυνο μέρος του κόσμου. 90% των ανθρώπων πεθαίνουν εκεί.
Άβαταρ μέλους
jousis
Δημοσιεύσεις: 226
Εγγραφή: Παρ 03 Νοέμ 2017, 21:0
Τοποθεσία: /dev/null
Επικοινωνία:

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από jousis » Κυρ 31 Δεκ 2017, 12:0

Κάτι άλλο θα φταίει. Δεν είναι λογικό να χάνουν βήματα σε τόσο μικρές ταχύτητες.
Οι ρυθμίσεις μου σε TMC2130:

Κώδικας: Επιλογή όλων

#define DEFAULT_MAX_FEEDRATE          { 300, 300, 5, 50 }

#define DEFAULT_MAX_ACCELERATION      { 2000, 1000, 100, 10000 }

#define DEFAULT_XJERK                 10.0
#define DEFAULT_YJERK                 10.0
#define DEFAULT_ZJERK                  0.3
#define DEFAULT_EJERK                  5.0
Οι ρυθμίσεις μου σε TMC2100:

Κώδικας: Επιλογή όλων

#define DEFAULT_MAX_FEEDRATE          { 500, 500, 5, 50 }

#define DEFAULT_MAX_ACCELERATION      { 700, 700, 100, 2000 }

#define DEFAULT_XJERK                 8.0
#define DEFAULT_YJERK                 8.0
#define DEFAULT_ZJERK                  0.3
#define DEFAULT_EJERK                  5.0
Wanhao i3 v2.1
RAMPS 1.4 electronics, z-braces, flexion extruder, BLTouch, enclosure
my Thingiverse
Άβαταρ μέλους
babisgr
Δημοσιεύσεις: 36
Εγγραφή: Τρί 14 Νοέμ 2017, 22:0

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από babisgr » Κυρ 31 Δεκ 2017, 17:0

θα δοκιμάσω τα setting σου και βλέπουμε...γενικά πάντως οπου διαβάζω βλέπω οτι το stelthchop mode ειναι πολύ αδύναμο για να είναι χρήσιμο και όλοι το γυρνάνε σε spreadcycle.
Ξανα Ενημερώνω αν για το αποτέλεσμα!
Το κρεβάτι είναι το πιο επικίνδυνο μέρος του κόσμου. 90% των ανθρώπων πεθαίνουν εκεί.
Άβαταρ μέλους
jousis
Δημοσιεύσεις: 226
Εγγραφή: Παρ 03 Νοέμ 2017, 21:0
Τοποθεσία: /dev/null
Επικοινωνία:

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από jousis » Κυρ 31 Δεκ 2017, 18:0

Αν θεωρείς τα 60mm/s εξαιρετικά αργά, δεν σου κάνει το stealthchop.

Προσωπικά, δουλεύω σε stealthchop με πολύ βαρύ extruder που σέρνει και ένα σωλήνα εισαγωγής αέρα (πλαστικό A/C) χωρίς να χάνω steps μέχρι 80mm/s. Αν και συνήθως εκτυπώνω σε 60mm/s (έξω).
(πιο πάνω σε PETG δεν πάω και έχω σχεδόν καταργήσει το PLA)

Βέβαια, ακόμα και το spreadcycle είναι πολύ πιο αθόρυβο απο τους άθλιους 4988/8825, μην φοβηθείς να το ενεργοποιήσεις.

Το μεγάλο θετικό με τους 2130 είναι το hybrid mode. Αυτόματα, δυναμικά, μένει σε stealthchop μέχρι όσα mm/s θες και μετά, spreadcycle.
Μια χαρά τα πάει προς το παρόν με όριο 100mm/s , αλλά ακόμη κι αν βρω πρόβλημα, γράφω στην κονσόλα του octoprint τις νέες ρυθμίσεις, M500, έτοιμος :)

Εάν σε νοιάζει πιο πολύ η ταχύτητα απο την αθόρυβη λειτουργία, μπορείς να παίξεις με DRV8825 και να δεις μήπως βάλεις πιο δυνατά μοτέρ.
Wanhao i3 v2.1
RAMPS 1.4 electronics, z-braces, flexion extruder, BLTouch, enclosure
my Thingiverse
Άβαταρ μέλους
babisgr
Δημοσιεύσεις: 36
Εγγραφή: Τρί 14 Νοέμ 2017, 22:0

Re: RAMPS με TMC 2130 (SPI) σε Marlin 1.1.6+

Δημοσίευση από babisgr » Κυρ 31 Δεκ 2017, 20:0

εμένα δεν με νοιάζει ο θόρυβος...απλά θα με χωρίσει η γυναίκα μου!
χαχαχα
Πέρα απο την πλάκα,το πρόβλημα δεν είναι τοσο τα 60mm ταχύτητας όσο οτι η επιτάχυνση ήταν 100 (συμφωνα με αυτο https://www.youtube.com/watch?v=c3v9E1AwDBE απο τον κατασκευαστή!).
Με αυτήν την επιτάχυνση τα 60 δεν λένε τίποτα γιατι επιταχύνει πολυ πολυ αργα οπότε πολλάπλασιάζει τον χρόνο.

Κάνω αρκετές δοκιμές...ανέβασα vref σε 1.2v,επαιξα με ταχύτητες (ακόμα και σε 60mm χάνει βήματα),έπαιξα με επιταχύνσεις....τελικά μάλλον εντόπισα το πρόβλημα.
Υπερθέρμανση αφού δεν έχω ενεργό cooler στα trinamic και είναι σε ενα ασφυκτικα κλειστό κουτι!
Μώλις ανέβασα το vref άρχισε σε φάσεις να κάνει παγώματα (προφανώς υπερθέρμανση) και μετα γινόταν χαμός!
Τωρα εβαλα ενα μεγάλο φαν να φυσάει πάνω τους πρόχειρα και τυπώνει μέχρι στιγμής καλα στα 100mm/s,δέν εφτανε σε αυτό το σημείο ποτέ πριν..
Πρέπει να κάνω επεκτάσεις στα καλώδια και να βγεί το ramps έξω με ενα καλο φανάκι,αλλά πολύ δουλειά!
Το κρεβάτι είναι το πιο επικίνδυνο μέρος του κόσμου. 90% των ανθρώπων πεθαίνουν εκεί.
Απάντηση