Jump to content

Українська 3D спільнота

Створено телеграм канали. Підписавшись на них ви будете отримувати повідомлення про появу нових тем на форумі. Також там Ви знайдете посилання на канал допомоги для вирішення термінових питань по друку та принтерам.
3DUA_Help 3DUA.info
Sign in to follow this  
  • entry
    1
  • comments
    2
  • views
    176

About this blog

Блог ленивого человека,потому и долгострой

Entries in this blog

ffnull

Бывают случаи когда хочется заменить драйвер не внося изменений в основную прошивку по тем или иным причинам. Есть замечательный драйвер TMC2130 у которого есть такие плюшки как :

  • SPI настраиваемый интерфейс  (скорость до 4MHz)
  • До 256 нативных микрошагов (без интерполяции)
  • Уменьшение потребление энергии до 75%
  • Высокая точность определения нагрузки двигателя
  • При высокой нагрузке, мотор не пропускает шаги
  • Автоматическое переключение stealthChop и spreadCycle в зависимости от ускорения
  • Полная совместимость с A4988 подобными драйверами
  • Компоненты на нижней стороне платы для лучшей теплоотдачи
  • Автоматическое снижение тока в режиме простоя
  • stealthChop - для тихой работы и плавного движения
  • spreadCycle - высокодинамичный моторный прерыватель

 

Так как же это все юзать не трогая родную плату принтера? Очень просто! Благодаря моей адаптации вы сможете использовать все преимущества драйвера и даже использовать концевики на основе моторов, т.е. полностью отказаться от концевиков на принтере и парковаться по датчику в драйвере(sensorless homing). Все это быстро и не дорого, без регистраций и смсlaugh

 

Что нам надо для счастья?

Любая Arduino. Чем меньше тем лучше. В идеале для старта и отладки подойдет Arduino Nano.

В ардуину становить библиотеку TMC2130Stepper

 

Саму ардуину подключаем к драйверам следующим методом :

DIAG0 на драйвере подключаем в клемму место концевиков на плате вашего принтера( к примеру если драйвер для оси Х то подключаем вместо концевика XMIN. Не забудьте также вести землю!)

SDO драйвера на  D12 ардуины

CS выход драйвера на  D9 и D10 ардуины для X и Y соответсвенно.

Все выходы SCK драйверов на D13 ардуины.

Так-же SDI на D11

 

 

Открываем Arduino IDE - выбираем нашу плату. Создаем новый скетч и пишем следующий код и прошиваем( вносим свои настройки)


#include <TMC2130Stepper.h>
TMC2130Stepper X = TMC2130Stepper(2, 3, 4, 9); //Первые 3 пина не важны. Оставьте как есть, последние это линия CS
TMC2130Stepper Y = TMC2130Stepper(5, 6, 7, 10); //Первые 3 пина не важны. Оставьте как есть, последние это линия CS
 
void setup() {
 X.begin(); // Инициализируем драйвер
 X.rms_current(500); // Выставляем ток в мА
 X.microsteps(16); // Выставляем количество шагов (от 1 - 256)
 X.interpolate(1); // Включаем интерполяцию(0- выключить)
 X.shaft_dir(1); // Направление вращения( значения 0/1)
 X.diag0_stall(1); // diag0 будет прижат к земле при обнаружении конца движения
 X.diag1_stall(1); 
 X.diag1_active_high(1); // diag1 будет прижат к питанию при обнаружении конца движения
 X.coolstep_min_speed(25000); // отключение ложного срабатывания концевика на низких скоростях
 X.sg_stall_value(14); // чуствительность (от -64 до 64)
 
 Y.begin();
 Y.rms_current(1000);
 Y.microsteps(16);
 Y.interpolate(1);
 Y.shaft_dir(1);
 Y.diag0_stall(1);
 Y.diag1_stall(1);
 Y.diag1_active_high(1);
 Y.coolstep_min_speed(25000);
 Y.sg_stall_value(15);
}
 
void loop() {
 
}

Собственно это все. Не забываем что ардуина должна включатся в месте с платой принтера. Потому питание можно взять или с нее или с питания логики драйверов

Sign in to follow this  
×