3Д Печать | RAMPS 1.4 применение шаговых драйверов TMC2130 для понижения шума.

Устали от постоянного шума, который создает ваш 3Д принтер. Модернизация вашего RAMPS 1.4 (или большинства контроллеров на базе AT Mega) с шаговыми двигателями TMC2130 сделает чудеса.

В этом инструктивном я не буду вдаваться в технические болтовни PSI, Master / Slave и тактовую частоту. Если Вас все это интересует, то я отсылаю вас к https://toms3d.org/2017/12/09/tmc2130-guide/ или https: //ru-clip.com/video/sPvTB3irCxQ/how-to-make -... или https: //hackaday.com/2016/09/30/3d-printering-trin ...

Так же прошу Вас посетить эти сайты, если что-либо в этой инструкции кажется неясным. В основном Я их и использовал как источник для моего обновления.

Вот некоторые из преимуществ, о которых я узнал:Супер бесшумная работа

То, что это сводится к тому, что эти новые шаговые драйверы могут управляться с помощью программного обеспечения и могут работать в режиме ультрашумов (с 256 микрошагами). С помощью этих новых шаговых драйверов вам больше не нужно крутить маленькие крутилки на драйвере, вместо этого можно прописать через g-коды о том, сколько ампер / вольт нужно запустить.

При покупке этих степлеров в Интернете будьте осторожны, как они доставляются. Большинство из них (на amazon.com) уже имеют все пайки, припаянные к ним, что является проблемой, поскольку 4 контакта указывают неправильный путь.

Я заказал степперы непосредственно у американского дистрибьютора (Filastruder.com), и они приходят с булавками, но с не паяными.

Я начну с голого шагового драйвера, припаяю штыри и немного проводов, которыми соединю все правые штифты на степперах с соответствующими штифтами на плате RAMPS 1.4.

Все это будет для платы RAMPS 1.4, но многие производные используют точно такие же конфигурации контактов (я попробую это на моей плате KFB 2.0).

Для этого проекта необходимо следующее:

TMC2130 Stepper Driver: $ 13,99 от Filastruder (официальный дистрибьютор США) https: //www.filastruder.com/products/silentstepsti ...

В этом проекте я заменяю все 4 драйвера, но вы можете просто заменить X и Y, поскольку они выполняют большую часть работы

Ramps 1.4 Board (или совместимый с RAMPS 1.4): (если вы купите комплект, вы получите драйверы A4988, которые вы будете заменять, но цена все равно может быть прав): $ 29.99 http://amzn.to/2FqmN51

Паяльник / Станция: $ 39.70 http://amzn.to/2FYTgwU

Припой: 9,98 $ http://amzn.to/2FgkwKe

Marlin Прошивка: Бесплатно: http://marlinfw.org/ (Я использую версию 1.1.8)

провод для подключения контактов SPI. Я использую старую шаговую проводку, поскольку она подходит для этой проблемы (4 основных контакта на каждом драйвере): 10,59 долларов США за 10 http://amzn.to/2G067ii

Dupont могут использоваться для индивидуальных подключений. $ 6,98 http://amzn.to/2FYRVpQ (все провода, которые вам понадобятся)

Со всеми этими проводами вам не нужно делать какие-либо обжатия (только некоторые пайки).

термоусадочная трубка для отделки спаянными проводами: $ 7.99 http://amzn.to/2tlT4oN

Драйверы TMC2130 не собраны, поэтому сначала мы должны подготовить каждый , поместив все контакты в нужные места.

Очень важно о степперах. Trinamic, кажется, единственная компания, которая делает это правильно. Для этого проекта я добавил 4 штыря PSI, а также штифт торцевого упора

Я разрезал полоски штырей в правильном размере для assebly (ряд из 8 точек), 4 PSI вверх, 1 Diagnostic вверх, один вниз (En) и 2 вниз (Dir, Step)

Сначала я буду припаять верхние контакты к драйверу (я использую кусок двухсторонней платы PCB для размещения штырей).

Затем я устанавливаю нижние штыри на место на плате печатной платы и устанавливаю драйвер сверху и припаиваю штыри вниз.

Как только все штыри припаиваются, просто промойте и повторите для остальных чипов.

Перед тем, как поместить драйверы в ваш RAMPS 1.4, вы можете удалить три перемычки, которые использовались для настройки вашего шага на 1/16. Теперь оно обрабатывается программным обеспечением.

Обычная настройка TMC2130 для марлина предполагает, что оба Aux 2 и Aux 3 на плате RAMPS доступны (как на первом изображение этого шага). Если вы используете ЖК-дисплей с адаптером SD-карты, Aux 3 недоступен, и подключение проводов для этой ситуации будет обсуждаться на следующем шаге.

Изображение проводов показывает, как провода идут в 2 Aux-кластера. Также обратите внимание, что три из 4-х проводов объединены и заканчиваются 1-м контактом на Aux 3

SDI для X / YZ / E0 все идет к выводу D51

SCK для X / YZ / E0 все идет к выводу D52

SDO для X / YZ / E0 все идет к выводу D50

CS для X переходит в D53

CS для Y переходит в D49

CS для Z переходит в D40

CS для E0 переходит в D42

Для моего проекта я создал жгут проводов, который состоит из 4 переклассифицированных проводов Stepper.

Я припаяю и объединяя все черные провода в один черный провод, заканчивая гнездовым разъемом для одного штифта

Я припаяю и комбинирую все зеленые провода в один черный провод, заканчивая гнездовым разъемом для одного штифта

Я припаяю и комбинирую все синие провода в один черный провод, заканчивая гнездовым разъемом для одного штифта

Каждый из красных проводов имеет отдельный штыревой разъем, каждый из которых имеет свои собственные контакты, назначенные на Aux.

Посмотрите на схематическое изображение, чтобы увидеть, куда идут все провода

Просматривая веб-сайты, я не смог найти чистого решения. Не сложно перенаправить X CS и Y CS в другие порты, но RAMPS 1.4, похоже, имеет только один SCK и два вывода MISO, которые используются Card Reader на ЖК-дисплее.

Решение, к которому я пришел сейчас, - это расширить разъем LCD с тремя контактами сверху. Если что новый адаптер стоит всего несколько долларов на Amazon.com (http://amzn.to/2oNVPdM).

Чтобы перенаправить CS-штырьки, вам необходимо обновить файл pin_RAMPS.h

Измените контакты на

DEFINE X_CS_PIN 44 DEFINE Y_CS_PIN 64

// // Степперы // #define X_STEP_PIN 54 #define X_DIR_PIN 55 #define X_ENABLE_PIN 38 #define X_CS_PIN 44

#define Y_STEP_PIN 60 #define Y_DIR_PIN 61 #define Y_ENABLE_PIN 56 #define Y_CS_PIN 64

Перенаправление этих контактов работает, но меня немного беспокоят некоторые из потоков, которые я читаю, используя SD-карту в сочетании с TMC2130 (теперь используют те же контакты, что и SD Reader). Мне нужно будет выполнить еще несколько тестов после установки.

Шаг 5: Настройка программного обеспечения

ВАЖНО: Марлин bugfix-1.1.x.zip для работы. Если вы обнаружите, что пройденное расстояние имеет изменения на любой оси, у вас неправильная версия.

Если вы перенаправляете некоторые из CS-штырей, потому что используете LCD (адаптер), вы уже внесли некоторые изменения в файл pins_RAMPS.h, но для нормальной работы большинство изменений происходят в Configuration_adv.h

Если у вас последняя (или более новая версия) Marlin (я использую 1.1.8 на момент написания этой статьи), вы можете открыть конфигурацию_adv.h и выполнить поиск TMC2130. Он вернет вас в раздел TMC2130.

Первое, что вы делаете, это удалите // из #define HAVE_TMC2130

------------------------------------------------------------------------------------------------------------

// @section TMC2130, TMC2208/** * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. * * You'll also need the TMC2130Stepper Arduino library * (https://github.com/teemuatlut/TMC2130Stepper). * * To use TMC2130 stepper drivers in SPI mode connect your SPI2130 pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). */ #define HAVE_TMC2130

-------------------------------------------------------------------------------------------------------------

Затем вы раскомментируйте те строки, которые представляют шаговые двигатели, которыми вы будете управлять с помощью новых драйверов TMC2130.

В этом случае я раскомментирую все три оси и экструдер (E0)

----------------------------------------------------------------------------------------------------------------

#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) // CHOOSE YOUR MOTORS HERE, THIS IS MANDATORY #define X_IS_TMC2130 //#define X2_IS_TMC2130 #define Y_IS_TMC2130 //#define Y2_IS_TMC2130 #define Z_IS_TMC2130 //#define Z2_IS_TMC2130 #define E0_IS_TMC2130 //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 //#define E4_IS_TMC2130

-----------------------------------------------------------------------------------------------------------------

В следующем разделе, когда вы прокручиваете вниз, вы определяете настройку мощности для всех и каждого из дайверов. В любом случае я в значительной степени оставляю их как есть. Первая настройка R_SENSE Я думаю, что связана с каким либо сопротивлением, которое встречает мотор, и когда что-то происходит с ним. Это предположения, поскольку я не нашел информации об этом :(

Вторая настройка HOLD_MULTIPLIER уменьшит ток наполовину (или какое значение вы установите), когда двигатели находятся в режиме ожидания. Это уменьшает нагрев.

Третий параметр INTERPOLATE - это то, что придает волшебство этим новым драйверам, поэтому оставьте его равным true. Я возьму 16 шагов, которые RAMPS отправит драйверу и превратит его в 256, давая тихий и плавный ход.

-----------------------------------------------------------------------------------------------------------------

/**

* Stepper driver settings */ #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256

-----------------------------------------------------------------------------------------------------------------

В следующем разделе вы можете установить Current и Micro Steps на двигатель. Это круто, так как больше не надо крутить маленькие крутилки на каждом драйвере. Вы можете установить это значение в конфигурации здесь, но есть также способ изменить его на лету с помощью g-кода M906 (M906 X900 устанавливает ток для X до 900 мА). Вы можете поиграть с этими значениями, чтобы выяснить, что лучше всего подходит для вас.

Параметр _MICROSTEPS немного запутан, но если у вас было три перемычки под вашим старым драйвером, оставьте его на 16, интерполяция все равно приведет к 256.

TMC2130 может работать в двух режимах: StealChop, делает печать неслышной (для ушей). Поэтому большинство из вас по этой причине его и выберут. С StealthChop Вы получаете меньше энергии, таким образом печатать будет медленней, (лично для меня скорость не так важна). SpreadCycle печать будет быстрее создается больше вращающего момента. Но при этом увеличивается и шум. Хотя, если вы заинтересованы в TMC2130 и Вам важна тишина, то вы захотите включить режим StealthChop, раскомментируйте следующее:

-----------------------------------------------------------------------------------------------------------------

/** * Use Trinamic's ultra quiet stepping mode. * When disabled, Marlin will use spreadCycle stepping mode. */ #define STEALTHCHOP

-----------------------------------------------------------------------------------------------------------------

Со следующим параметром MONITOR_DRIVER_STATUS Я не знаком (пока), поэтому я собираюсь оставить его с закрытым комментарием.

Если вы хотите иметь лучшее из обоих моментов: тихо, когда это возможно и мощно, когда это необходимо, вы можете включить гибридный режим:

-----------------------------------------------------------------------------------------------------------------

/**

* The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. * This mode allows for faster movements at the expense of higher noise levels. * STEALTHCHOP needs to be enabled. * M913 X/Y/Z/E to live tune the setting */ #define HYBRID_THRESHOLD

#define X_HYBRID_THRESHOLD 98 // [mm/s] #define X2_HYBRID_THRESHOLD 100 #define Y_HYBRID_THRESHOLD 98 #define Y2_HYBRID_THRESHOLD 100

-----------------------------------------------------------------------------------------------------------------

Вы можете установить скорость, с которой принтер должен переключиться с одного режима на другой.

Перед загрузкой программного обеспечения я бы рекомендовал включить параметр отладки TMC, не комментируя TMC_DEBUG. С помощью команды m122 вы можете получить полезную информацию (особенно, когда сначала проверяете новые степперы).

-----------------------------------------------------------------------------------------------------------------

/**

* Enable M122 debugging command for TMC stepper drivers. * M122 S0/1 will enable continous reporting. */ #define TMC_DEBUG

-----------------------------------------------------------------------------------------------------------------

Если вам повезло как мне и у вас есть запасной комплект запчастей для 3Д принтера , то можно провести некоторые испытания. У меня как раз лежал RAMPS 1.4 и 4 степпера.

Я вставил все четыре шаговых драйвера и подключил двигатели.

Для того, чтобы протестировать с помощью RAMPS 1.4, вам необходимо ПОСЛЕДНИЕ подключить термистор к TEMP0 (без использования Marlin ругается, если основной код не изменяется).

Если вы хотите протестировать шаговый экструдер, вам также необходимо отключить PREVENT_COLD_EXTRUSION или изменить EXTRUDE_MINTEMP на комнатную температуру (что-то вроде 18 Celcius)

in configuration.h

-----------------------------------------------------------------------------------------------------------------

// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP.

// It also enables the M302 command to set the minimum extrusion temperature // or to allow moving the extruder regardless of the hotend temperature. // *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! *** //#define PREVENT_COLD_EXTRUSION //#define EXTRUDE_MINTEMP 170

-----------------------------------------------------------------------------------------------------------------

Подключите свой RAMPS к 12-вольтовому блоку питания (смотрите что бы он был достаточно мощный, чтобы запустить степперы) и загрузите Marlin в тестовую плату.

Теперь вы можете подключиться к плате через USB с помощью например программы Pronterface, и проверить работу.

Сначала запустите команду M122,эта команда, если вы включили TMC_DEBUG (на предыдущем шаге), предоставит кучу информации о шаговых драйверах.

Ниже приведена сводка информации о моих драйверах.

>>> m122 SENDING:M122 X Y Z E0 Enabled false false false false Set current 800 800 800 800 RMS current 795 795 795 795 MAX current 1121 1121 1121 1121 Run current 25/31 25/31 25/31 25/31 Hold current 12/31 12/31 12/31 12/31 CS actual 12/31 12/31 12/31 12/31 PWM scale 128 128 40 39 vsense 1=.18 1=.18 1=.18 1=.18 stealthChop true true true true msteps 16 16 16 16 tstep 1048575 1048575 1048575 1048575 pwm threshold 0 0 0 0 [mm/s] - - - - OT prewarn false false false false OT prewarn has been triggered false false false false off time 5 5 5 5 blank time 24 24 24 24 hysterisis -end 2 2 2 2 -start 3 3 3 3 Stallguard thrs 0 0 0 0 DRVSTATUS X Y Z E0 stallguard sg_result 0 0 0 0 fsactive stst X X X X olb X X ola X X s2gb s2ga otpw ot Driver registers: X = 0xE0:0C:00:00 Y = 0xE0:0C:00:00 Z = 0x80:0C:00:00 E0 = 0x80:0C:00:00

Я не собираюсь утомлять вас слишком большим количеством деталей (все еще нужно выяснить кучу), но если в драйвере регистрируется внизу, вы видите 0xFF... это означает, что что-то не разъем должным образом для этого драйвера шагового. Теперь вы можете начать отправлять команды на двигатели и посмотреть, работают ли они должным образом. В видео ниже Вы слышите вентиляторы моего принтера CoreXY Сами двигатели, я не слышу.

Установка нового TMC2130 кажется более сложной. Да Вам нужно будет чуть поработать с паяльником, да немного больше проводов, чем когда-либо прежде, но вы не представляете насколько тише они работают, а значит мой CoreXY после их установки будет просто бесшумным. И я очень этому рад.

Текст подготовлен компанией Unique-3D

КСТАТИ! МОЖЕТ У ВАС ЕСТЬ ИНТЕРЕСНЫЕ НОВОСТИ И РАЗРАБОТКИ? ПОДЕЛИТЕСЬ С НАМИ И МЫ РАССКАЖЕМ О НИХ ВСЕМУ МИРУ! Свои идеи Вы можете прислать СЮДА

___________________________________________________________________________________

СИТАЛЛОВОЕ СТЕКЛО НАДЁЖНО УДЕРЖИТ МОДЕЛЬ ПРИ 3Д ПЕЧАТИ



Wiki