Подключаем электронику RAMPS 1.4 к 3D принтеру (на примере Mendel90)

RepRap Arduino Mega Pololu Shield 1.4

Все провода желательно сразу подписывать.

RAMPS 1.4

RAMPS 1.4 это шилд (надстройка) для Arduino Mega 2560. Ардуина управляет всей работой 3D принтера.

Arduino MEGA 2560

Плата RAMPS 1.4 одевается поверх Arduino и все подключения, кроме USB, осуществляются через неё. Питание 12В на Arduino подаётся через RAMPS 1.4.

RAMPS 1.4

схема подключения
RAMPS 1.4

Axis

Питание RAMPS 1.4 получает от блока питания на 12В 30А. Для использования одной пары проводов от блока питания можно припаять перемычку на плюсы, минусы уже соединены.

RAMPS 1.4

Для надёжности питания я припаял провода, вместо использования винтового соединения в разъёмах, а разъёмы оставил под другие нужды..
(на этой фотографии тоже припаяна перемычка, но в другом месте)

IMG_5418

Обычно используют билинейные шаговые двигатели на 1,7А типоразмера Nema 17. Провода желательно свить в косички для защиты от наводок.

IMG_5868

Схема выводов. Пары легко прозвонить мультиметром (или батарейкой с лампочкой-светодиодом).

Я встречал два варианта маркировки «чёрный+зелёный — красный+синий» и «жёлтый+синий — зелёный+красный».

Nema wire
Шаговый двигатель работает через драйвер. Ещё их называют StepStick. Для RAMPS 1.4 выпускают два вида драйверов A4988 и DVR8825. Они отличаются током, выдаваемым на шаговый двигатель и минимальным микрошагом. Обязательно использовать радиатор. Обдув желателен. А если стол запитан не через реле, то обдув обязателен.
Ток на драйвере подстраивается опытным путём, гоняя 3D принтер на высокой скорости по всем координатам. Оптимальным считается, когда шаговые двигатели уже не гудят и ещё не пропускают шаги.

A4988
Максимальный ток 2А
Минимальный микрошаг 1/16 шага
Ток регулируется подстроечным резистором. По часовой стрелке — повышение тока.

DSC_0129

Установка микрошага перемычками на RAMPS 1.4

Без имени 1 - OpenOffice Calc 2015-02-23 21.19.43

DVR8825
Максимальный ток 2,2А
Минимальный микрошаг 1/32 шага
Ток регулируется подстроечным резистором. По часовой стрелке — понижение тока.

DSC_0130

Установка микрошага перемычками на RAMPS 1.4

Без имени 1 - OpenOffice Calc 2015-02-23 21.12.55

Перемычки установки микрошага на RAMPS 1.4 находятся под драйверами шаговых двигателей. Обычно используются A4988 с микрошагом 1/16 — все перемычки установлены.

RAMPS 1.4

 

Правильная установка драйверов шаговых двигателей

RAMPS 1.4 A4988 DRV8825 TMC2100

Как настроить ток на драйверах шаговых двигателей? Читаем здесь.

 

Двигатели оси Z можно подключать:
  • параллельнокаждый штекер в своё гнездо. Это стандартное подключение к RAMPS 1.4. Могут быть проблемы с рассинхронизацией двигателей, если есть разница в сопротивлении обмоток двигателей.
  • последовательно по схеме, одним штекером. При последовательном включении проблем быть не должно.

zseries_rus

  • каждый на отдельный драйвер — второй подключается к незадействованному драйверу второго экструдера. Для этого нужно в прошивке Marlin раскомментировать строку во вкладке Configuration_adv.h

//#define Z_DUAL_STEPPER_DRIVERS

 

  • каждый на отдельный драйвер — переназначением пинов во вкладке pins_RAMPS_13.h. То есть пины драйвера оси Z дублируем в константы драйвера второго экструдера. Например:

#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62

#define E1_STEP_PIN 46
#define E1_DIR_PIN 48
#define E1_ENABLE_PIN 62

 

Концевые выключатели (концевики, endstop, limit switch).

Наиболее часто используются оптические и механические концевые выключатели. Оптические из-за своей природы могут быть ненадёжны, поэтому их не рассматриваю. Узнать состояние концевиков можно командой M119. Обычно ставят 3 концевика в положении HOME и софтовое ограничение в прошивке. Остальные концевики рассчитаны на сбой, но шаговики слабые и повреждений не наносят, просто пропускают шаги при достижении препятствия. А по оси Z у Mendel90 должны гайки выкручиваться из кареток при давлении хотэнда на стол.

endstopmicro
End_stops

RAMPS_endstops_1

IMG_5364

Правильное подключение механических концевых выключателей в положении MAX. У оптических концевых выключателей используется дополнительно плюсовой контакт.

IMG_5253

Подключение термисторов.

Термистор можно проверить мультиметром как резистор. Подсоединил к мультиметру — 87 кОм. Зажал пальцами — сопротивление стало падать, оно вообще не стоит на месте.
Также существуют термопары, но их редко подключают к RAMPS 1.4, так как нужна плата-адаптер. При подключении термопары важно соблюдать полярность.

Термистор стола и термистор горячего конца (хотэнда).

IMG_5442

Подключение нагреваемого стола через реле.

Температура столика зависит от тока подаваемого на него. Сила тока зависит от сопротивления столика, сечения проводов до столика и мощности блока питания. А также от качества теплоизоляции внутренней полости столика.
Реле ставится для разгрузки стокового силового транзистора и снижения нагрева платы электроники, в общем для надёжности. Или для разделения на два блока питания, электроники плюс хотэнд и отдельно для нагрева столика (можно повысить напряжение и ускорить нагрев).
Я имел дело с четырьмя столиками. При блоке питания 360 ватт они разогревались до 113-120 градусов, а скорость зависела от толщины проводов и теплоизоляции поверх столика на время разогрева.

 

DSC_0133_D8

Автомобильное реле

IMG_6148

Твердотельное реле

IMG_5680

 

Для тех, кто дружит с паяльником:

Можно заменить стоковый транзистор на более подходящий. Главная цель уменьшить нагрев транзистора и избавиться от реле. При выборе транзистора главное это напряжение полного открытия (лучше всего с логическим уровнем до 5 вольт), макс ток и напряжение и самое главное внутреннее сопротивление на открытом транзисторе (RDSon, чем меньше, тем лучше). Обычно ставят P55NF06L (P55NF06) (RDSon 0.018 Ом). Проверенные транзисторы (вообще не греются), на которые можно заменить стоковый:

Сам транзистор находится за контактными клеммами D8. Если сильно хочется, можно заменить транзистор хотэнда, но это совсем не обязательно. После замены нужно перекалибровать PID.

 

Подключение нагрева хотэнда.

DSC_0133_D10

Подключение вентилятора обдува детали.

DSC_0133_D9

Подключение вентилятора охлаждения хотэнда, освещения и других потребителей напряжения 12 вольт.
Подключаем в разъём питания RAMPS.

DSC_0133_pwr

Подключение LCD панели управления (экранчика).

На задней стороне мы видим два гнезда для подключения шлейфов, слот SD карты и регулятор яркости.
LCD_1

Подключение к RAMPS 1.4 происходит через переходник. Гнёзда так-же подписаны EXP1 и EXP2 для правильного подключения.

Переходник уже подключается к RAMPS 1.4

При правильном подключении и настройки экран будет работать даже при питании RAMPS только от USB кабеля.

Рейтинг: 20

Метки: ,    2015-10-22      Раздел: Настройка, Электроника  
Автор: Просмотров: 23 620   25 комментариев



25 комментариев на «Подключаем электронику RAMPS 1.4 к 3D принтеру (на примере Mendel90)»

  1. Написал вначале на http://akdzg.livejournal.com/5501.html?view=37245#t37245 ,а потом увидел что сюда писать :)
    Привет помоги пожалуйста!
    Активно занялся сборкой 3D принтера из старых струйных принтеров )
    У меня есть Arduino Mega и китайская RAMPS 1.4, драйверы DRV8825 (фиолетовый, помощней которые), прошивка Marlin
    В тестовом режиме уже всё покрутил (ШД), работает
    Но главная проблема в следующем -> у меня на оси z два ШД c шестернями разного количества шагов и ремни с разным шагом, те физически не получится подключить два этих ШД на один драйвер оси Z. У меня на оси Z два ШД, но у них разные шестерни и шаг ремня.

    В этом режиме #define Z_DUAL_STEPPER_DRIVERS получается просто дублируются сигналы с оси Z1 на ШД E1?

    а как сделать чтобы этот ШД Е1 брал настройку из (в твоем посте http://akdzg.livejournal.com/4486.html) #define DEFAULT_AXIS_STEPS_PER_UNIT {(200*16)/(2.0*20),(200*16)/(2.0*20),200*16/1.25,(3200 * 39.0)/(11.0 * 6.75 * 3.45)} или самописной такой строчки?
    Какие нужно правки сделать в коде?

    Рою в сторону INVERT_Z_DIR

    Рейтинг: 0
    1. Привет! Не думаю, что можно отыскать знатоков в этом вопросе, ведь обычно Z на винтах работает. Скорее всего сигналы просто дублируются (это нужно поискать). Можно попробовать вот по такой схеме откалибровать
      #define DEFAULT_AXIS_STEPS_PER_UNIT {X,Y,Z,E0,E1}, где E1 — второй двигатель оси Z.
      Если передаточное число отличается в два раза можно откоректировать настройкой перемычек микрошагов.

      Рейтинг: 0
      1. а какая разница винты не винты? там настройка чтоль в другом месте?
        так вот я и не уверен что в случае для 2х ШД на ось используется этот параметр #define DEFAULT_AXIS_STEPS_PER_UNIT {X,Y,Z,E0,E1}, *SCRATCH*
        и кстати там где то в настройках прописано число осей 4 а это уже 5-ая и в возможно в коде она не участвует как 5 параметр
        «Если передаточное число отличается в два раза можно откоректировать настройкой перемычек микрошагов. » — это совсем не вариант
        в этой прошивке такой код запутанный можно мозг сломать ))

        Рейтинг: 0
      2. 481->485 !!ИЩЕМ axis_steps_per_unit
        void Config_ResetDefault() {
        float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT;
        float tmp2[] = DEFAULT_MAX_FEEDRATE;
        long tmp3[] = DEFAULT_MAX_ACCELERATION;
        for (uint8_t i = 0; i < NUM_AXIS; i++) {
        axis_steps_per_unit[i] = tmp1[i];
        При этом в коде задан Marlin.h 189
        #define NUM_AXIS 4

        Рейтинг: 0
  2. это совсем не вариант
    в этой прошивке такой код запутанный можно мозг сломать ))

    Перемычки не в прошивке, а на РАМПСе.

    Рейтинг: 0
    1. я понял, я про точто там не кратный коэффициент получается

      Рейтинг: 0
      1. Значит нужно подогнать синхронизацию, напечатав спец шестерню.

        Рейтинг: 0
        1. вот был бы у меня сейчас 3Dпринтер….
          ааа его то я и пытаюсь сделатьь!!!!!!!!! ))))))))))

          Рейтинг: 0
          1. Зайти на Avito.ru и посмотреть ближайших печатников. Главное правильно шестерню рассчитать.
            http://www.thingiverse.com/thing:16627

            Рейтинг: 0
        2. а может есть к4акая то попроще прошивка? которую совсем можно всяко разно настраивать?
          Можно былоб и самому чегонибудь написать но хрен его знает как там контроллер с программами управления общается

          Рейтинг: 0
          1. а может есть к4акая то попроще прошивка? которую совсем можно всяко разно настраивать?

            Все какие встречал написаны на C++. Marlin самая развитая.

            Рейтинг: 0
  3. этож хорошо что на C++, не на ассемблере же )) но их видимо под Ramps надо адаптировать?

    Рейтинг: 0
    1. Для меня они едины. На Ассемблере я программировал, а С++ лучше читается *SCRATCH*
      Вот прошивки на выбор http://reprap.org/wiki/List_of_Firmware Все должны на RAMPS 1.4 работать. Но шестерню проще заказать.

      Рейтинг: 0
      1. а что заначит если объявление функции есть, вызывается повсюду а определения в коде нет?
        подключаемый файл с этой функцией в прект Arfuino IDE не добавлен?

        Рейтинг: 0
        1. Ошибка при компиляции? В Марлине?

          Рейтинг: 0
          1. да нет нашел функцию у которой аргументы — перемещения дельта по осям для каждого шага, но не знаю что она делает, тк тела у нее нет )) за куча определений разных
            void plan_buffer_line(const float& x, const float& y, const float& z, const float& e, float feed_rate, const uint8_t extruder);
            void plan_buffer_line(float x, float y, float z, const float& e, float feed_rate, const uint8_t extruder);
            void plan_buffer_line(float x, float y, float z, const float& e, float feed_rate, const uint8_t extruder)
            #else
            void plan_buffer_line(const float& x, const float& y, const float& z, const float& e, float feed_rate, const uint8_t extruder)
            я чтото даже сообразить не могу где её тело потерялось )) я проверил все инклуды есть в проекте в дефайнах тожее её не видел, через поиск ищу

            Рейтинг: 0
          2. в смысле вообще нет тела через поиск по всем вкладкам все проверил и не раз, куча прототипов, куча вызовов а определения нет нигде
            может быть что этой функции совсем нет? и как узнать?

            Рейтинг: 0
  4. может быть что этой функции совсем нет? и как узнать?

    У разработчиков спросить? https://github.com/MarlinFirmware/Marlin/commits/RC

    Рейтинг: 0
  5. Здравствуйте!
    Установил драйвера А4988. Вот пытаюсь установить радиатор, но заметно, что радиатор находит на смд-компоненты на плате драйвера, вроде как без зазора, смотрел в лупу, может преувеличиваю. Как у вас, подпиливаете радиаторы или у меня такие радиаторы?

    Рейтинг: 0
    1. По виду плотно, да. Но проблем пока не было.

      Рейтинг: 0
      1. Может лучше отпилить или не хватит площади для нормального остывания?

        Рейтинг: 0
        1. Если есть обдув, то площади должно хватить.

          Рейтинг: 0
          1. Сэнкс!

            Рейтинг: 0
  6. Здравствуйте!
    !!! :) может здесь подскажете, а то с прошивок злой :) дядька выгнал, сказал тему создавай какую-то с фотками, а что там на Рамсе смотреть-то :D !!!

    Первый раз запустил принтер — Ура!
    Но… выгорел сразу силовой транс на нагреве стола на Рамсе. Расколился до красна как утюг!
    Проверил стол — 1.7 Ома на концах проводов. Короткого при шевелении нет.
    Выпаял такой же транс от доп. вентилятора, на проводах подпаял на место нагрева стола, транс «приклеил» на радиатор.
    Установил 60 гр. Стол нагрелся и температура поддерживалась автоматом, радиатор с нормальной-терпимой температурой.
    Тут же дал команду до 100 гр. — аж провода с ножек от транса отпаялись. Радиатор как утюг.
    Может я многого хочу!
    А как у других экспериментаторов. Или это нормально для рамса на нагреве стола палить транс?

    Всех с Наступающим !!! :D

    Рейтинг: 0
  7. Да транзистор меняйте на нормальный. В этой теме выше написано даже какие проверены уже…
    Я лично ставил такой STP200NF04L, но можно и другой подобрать… А то, что из китая плохие транзисторы — это факт… недавно сам на это наткнулся… откровенный брак прислали…

    Рейтинг: 0

Добавить комментарий




     
Авторизация
*
*
Регистрация
*
*
*
Перейти на страницу
Яндекс.Метрика