Главные новости Корочи
Короча
Март
2018

Настройка Smoothieware для ZAVMax Pro

0
Всем привет.
Собрал я себе принтер ZAV Max Pro, с платой управления MKS Sbase v.1.3. Точных пошаговых инструкций по конфигурации прошивки Smoothieware в сети я не нашел. Есть много статей по общей настройке Smoothieware, но пошаговых инструкций не нашел. Поэтому решил собрать в одну инструкцию по настройке Smoothieware на принтере ZAV, плюс добавил свой личный опыт по конфигурации Смузи, полученный в ходе настройки своего принтера. За основу взял статьи, написанные eto4ever и dagov, думаю они будут не против, что я использовал часть текста из их статей.




Начнем с установки и присоединения к ПК.
Как рекомендуют китайцы из Makerbase на своем Github нужно установить подписанные драйвера для корректной работы платы.


Далее после подсоединения к ПК плата вам приветливо поморгает диодами D7 и D1.
После этого желательно обновить прошивку на самой плате. Можно скачать на официальном сайте, а можно и с Github Makerbase. Заливаем файл firmware.bin на microSD карточку. После заливки вставляем карту в слот и подсоединяем к ПК. Должен загореться диод D7 после того как моргнет D1. D2, D3 и D4 в процессе прошивки будут моргать. После всего этого действа на карточке вы обнаружите файл firmware.cur. Далее на карточку нужно залить файл конфигурации принтера, ибо EEPROM тут нет и все параметры вашего принтера будут храниться в текстовом файлике config.txt. Дальше мы поговорим о нем.
В Smoothieware перепрошивать ничего не нужно, достаточно внести изменения в текстовый файл конфигурации config.txt.

В конфигурациях AVR и LPC1768 есть две большие разницы, которые заключаются в следующем:
  1. В Marlin скорости измеряются mm/s, что меня всегда коробило внутренне, тогда как в Smoothieware скорости в mm/min. То есть отличие в 60 раз.
  2. В Marlin оси обозначены привычно XYZ и E0/E1 для экструдера, в Smoothieware они обозначены как alpha, beta, gamma для перемещений и delta для экструдера.
Небольшая ремарка - для открытия и редактирования файла config.txt лучше использовать обычный блокнот из среды windows, чем notepad++.

Теперь мы плавно перешли к самому файлу config.txt.

Подачи и скорости (feedrate).






Поскольку в Marlin единицы измерения несколько иные, и если мы там использовали, скажем 300 мм/с, то для Smoothieware скорость будет 18000 мм/мин. Названия параметров созвучны с Marlin. Default_feed это DEFAULT_MAX_FEEDRATE в Marlin.

Далее мы видим параметры alpha_steps_per_mm, это количество шагов на мм линейного перемещения для оси X, ровно так же с осями beta и gamma. Для установки этого параметра нужно понять какой микрошаг мы используем. Для вшитых в MKS Sbase DRV8825, варианта всего два, 1/16 или 1/32. Переключение производится джампером J3.

Примечание. Не переставляйте перемычку при включенном питании и подключенном USB-кабеле.




В зависимости от этого у вас будет меняться этот параметр. Для 1/32 и обычных моторов типа 17HS4401 этот параметр будет 160. Соответственно прописываем следующие параметры:
alpha_steps_per_mm 160
beta_steps_per_mm 160
gamma_steps_per_mm 1600

Теперь посмотрим, как мы получили эти параметры.

Находим спецификации (даташит) на установленные шаговые двигатели. Видим, что за один шаг вал поворачивается на 1,8 градуса, а это значит 360/1,8=200 шагов на полный оборот. Этот параметр одинаковый у большинства шаговых двигателей, устанавливаемых в домашние 3D принтеры.



Профили ремней, обычно используемых на 3D принтерах и их шаг. Оригинал здесь, страница 61. Самый распространенный ремень выделен на картинке желтым прямоугольником.


Как померить шаг винта? Для примера замеряем участок винта М5 и считаем на нём витки, затем длину участка в миллиметрах делим на количество витков 20/16=1.25 мм. Для более точного результата замеряем максимальный участок винта.


По осям X и Y стоят шаговые двигатели 200 шагов на оборот, 32 микрошагов на шаг (устанавливается перемычкой на плате), приводной ремень GT2 с шагом 2 мм, 20-ти зубые шкивы, итого получаем формулу:
steps_per_mm = (200*32)/(2.0*20)=160.
У кого по оси Z стоит трапецеидальный винт, диаметром 8мм, с шагом резьбы 8 мм, тогда получается формула:
gamma_steps_per_mm = 200*32/8=800
Для себя я поставил ШПП SFU1204 с шагом резьбы 4 мм, соответственно у меня получается:
gamma_steps_per_mm = 200*32/4=1600
Далее видим параметры x_axis_max_speed, y_axis_max_speed, z_axis_max_speed. Это максимальные скорость перемещения вдоль осей X, Y и Z. Оси называются нормально, в отличии от моторов этих осей.


Так вот имея предел в 300 мм/с в Marlin, то тут ставим 18000 мм/мин.
Ток встроенных драйверов регулируется программно, параметрами alpha_current, beta_current и gamma_current, и для драйверов экструдеров параметрами delta_current, epsilon_current, что очень и очень удобно. По умолчанию установлен ток 1А, при желании его можно увеличить/уменьшить.
Так же видим комментарий, повествующий о том, что символ "!" инвертирует пин (здесь речь идет о направлении вращения) шагового двигателя. В Marlin мы меняли true на false, а тут нужно всего лишь убрать символ.


Далее переходим к экструдеру. Активация экструдера указывается в параметре extruder.hotend.enable, указав команду true (см. картинку выше). Количество шагов на мм выдавленного прутка указывается в параметре extruder.hotend.steps_per_mm, скорость подачи прутка указывается в параметре extruder.hotend.default_feed_rate и ускорения в extruder.hotend.acceleration. Чуть ниже длина ретракта (extruder.hotend.retract_length) и ток на экструдере (delta_current).
Если у вас как и у меня экструдер Титан, то для него согласно рекомендаций сайта https://wiki.e3d-online.com/Titan_Assembly#Firmware_Calibration, то для него применяем такую формулу:
Шаги на единицу (экструдер) = Шаги двигателя * Микрошагирование * Коэффициент передачи / (диаметр Hobb * Pi)
Так как Titan использует известное передаточное число и стабильно обработанную ведущую шестерню, то мы имеем довольно точные параметры:
  • у меня шаговые двигатели 200 шагов на оборот,
  • драйверы установлены 32 микрошагов на шаг;
  • коэффициент передачи - 3;
  • диаметр Hobb (эффективный) - 7,3;
  • Pi - 3,142.
В итоге получаем:
200*32*3/(7,3*3,142)=837,1
В файле config.txt прописываем:
extruder.hotend.steps_per_mm   837.1
Так же не забываем инвертировать направление движение экструдера в файле config.txt, поставив знак «!»:
extruder.hotend.dir_pin    0.22!
Для указания в файле конфигурации второго экструдера, необходимо вставить после раздела с параметрами первого экструдера, параметры для второго, скопировав параметры для первого, и заменив в параметрах: название hotend на hotend2. Ток на втором экструдере указать как epsilon_current.
Т.к. на экструдеры у меня установлены двигатели 17HS2408 с силой тока на 0,6А, для драйверов экструдеров я установил такие параметры:
delta_current  0.3
epsilon_current    0.3
Теперь переходим к термистору.


К сожалению, как в Marlin не получится отделаться циферкой, нужно написать имя термистора из списка поддерживаемых. Если у вас другой термистор, добавить его не составит труда, достаточно или вписать параметр beta или же найти коэффициент temperature_control.hotend.coefficients.
Для себя я пока выставил такой параметр, правда разница с реальной температурой составила 5-6 °С:
temperature_control.hotend.thermistor  EPCOS100K
Если хотите точно откалибровать термистор то вам надо закомментировать строчку, поставив знак #:
#temperature_control.hotend.thermistor
B раскомментировать строчку:
temperature_control.hotend2.beta
После того, как всё заработает нужно откалибровать PID нагрева хотэнда. Для этого используем программу Pronterface. Вводим команду «M303 E0 C8 S260». Где M303 - команда калибровки, E0 - хотэнд, C8 - количество циклов нагрева-охлаждения, S260 - типичная температура работы сопла. Если по каким то причинам вам надо прекратить калибровку PID, введите команду M304.


Последние результаты записываем в прошивку:
temperature_control.hotend.p_factor   59.0
temperature_control.hotend.i_factor   6.326
temperature_control.hotend.d_factor   138
Далее настраиваем PID для второго экструдера, для этого в программе Pronterface вводим команду «M303 E1 C8 S260».
Обратите внимание: если у вас 2 экструдера, то E1 –это хотэнд 2, если один экструдер, то E0 -это будет стол. Поэтому будьте внимательны при записи команды, не сожгите стол!
Результаты записываем в прошивку:
temperature_control.hotend2.p_factor   61.2
temperature_control.hotend2.i_factor   5.743
temperature_control.hotend2.d_factor   163

По умолчанию пин для подключения термистора называется TH2.


После этого настраиваем стол. Для активации термистора стола в параметре temperature_control.bed.enable указываем true, и вписываем термистор. И если будем использовать Bang Bang (о нем dagov уже писал), то в параметре temperature_control.bed.bang_bang ставим true. Если хотим PID, то пишем false.
По такой же схеме калибруем PID стола. В программе Pronterface вводим команду «M303 E2 C8 S120». Где E2 - стол, C8 - количество циклов нагрева-охлаждения, S120 - типичная температура нагрева стола. Последние результаты записываем в прошивку. У меня стол нагревается очень медленно и поэтому из-за ошибки Timeout, приходится перезапускать команду настройки PID.
У меня в файле config.txt отсутствовал раздел настройки PID стола, поэтому впишем следующие строчки:
# PID configuration bed
# See http://smoothieware.org/temperaturecontrol#pid
temperature_control.bed.p_factor   207.1 # P ( proportional ) factor
temperature_control.bed.i_factor   7.051 # I ( integral ) factor
temperature_control.bed.d_factor   1521 # D ( derivative ) factor

Концевики.



Ремарка. Две буковки nc, это не normally closed, а Not Connected, то бишь, если концевика max у вас нет, то нужно вписать эти заветные буквы. Чуть подробнее на сайте.
Так же вписывается место установки концевика home_to_min или home_to_max. Там же вписываем скорости, с которыми каретка будет двигаться в нулевое положение. alpha_max это максимальное перемещение вдоль этой оси. alpha_min это расстояние между положением экструдера в нуле и положением экструдера при печати, то есть если у вас каретка приходит в ноль не над столом.
Команда M119 покажет какой из концевиков нажат.


Когда я установил концевики и переключил на плате питание с 3,3В на 5В, мой оптический концевик оси Z, перестал идти домой, даю команду «Домой» стол едет вверх. Переключаю обратно на 3,3В стол нормально идет домой. Пользователь группы ZAV, у которого была аналогичная проблема, на робофоруме выяснил, что необходимо впаять резистор между сигналом и землей. И я пошел по пути этого пользователя, так же припаял резистор на 1кОм. на пустые пятаки около светодиода (см. фото). В открытом состоянии стал выдавать 0.7В. Смузи начала распознавать смену состояния.


Настроим порядок парковки по осям принтера по команде «Домой». Для этого укажем порядок парковки в параметре:
homing_order ZXY
Калибровка 0 по оси Z
Расскажу немножко про то как калибруется 0 по оси Z. Вообще все это есть в руководстве Smoothieboard, но все ж таки. Стартовым условием считаем, что в конфиге у вас все хорошо, оси ездят в правильные стороны. Отправляем стол вниз (G28) в хоум. Далее, пишем - G1 Z15 F2000. Это отправит стол наверх. В теории если у вас 0 уже настроен, это будет 15 мм от сопла. Если стол не откалиброван, то скорее всего там не 15, а, например, 13 мм. Или наоборот 18. F2000 это скорость - довольно резвая. Я поначалу опасался поднимать стол на таких скоростях, боясь раздолбать зеркало об сопло. Так что можно менять это значение, ну, например, F500 или F1000. Короче стол поднялся на некую высоту от сопла. После этого начинаем поднимать стол понемножку кнопками того же Pronterface или Repetier. Так как 0 у нас вверху, то тыкаем кнопки Z-, а не +. Потихонечку, сперва по 1 мм потом, когда совсем близко, то по 0.1. Далее используем стандартные советы по выравниваю стола. Выровняли, передаем ручками принтеру команду M306 Z0. Так запомнятся настройки 0 по оси Z. Далее пишем M500. Это сохранит config override на флешку. Теперь эта настройка будет использоваться всегда, после выключений и рестартов.

Теперь настроим сеть.



Активируем сеть, указав параметр:
network.enable     true.
Если используем DHCP на роутере, то оставляем параметр:
network.ip_address    auto
Выставляем маску подсети
network.ip_mask  255.255.255.0
Указываем IP адрес роутера
network.ip_gateway   192.168.1.1
И указываем IP принтера.
network.ip_address    192.168.1.221
Для подключения к принтеру в браузере набираем:
http://192.168.1.221/



На этом всё, перегружаем конфиг и проверяем работу. Если двигатели вращаются не ту сторону, надо перевернуть на 180° штекеры шаговых двигателей.
На этом основная конфигурация прошивки Smoothieware закончена. Надеюсь новичкам моё пост поможет в настройке.

Подробнее...





Загрузка...


Губернатор Белгородской области Вячеслав Гладков
Белгородская область

Вячеслав Гладков навестил белгородцев в ПВР Тульской области


Спорт в Белгородской области
Белгородская область

Дзюдоисты из Белгорода прибыли в Подмосковье на спортивные сборы


Загрузка...

Все новости спорта сегодня


Новости тенниса
Большой шлем

Dagospia: Синнер и Калинская вместе поужинали в ресторане в Париже


Загрузка...


123ru.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.


Загрузка...

Загрузка...

Экология в Белгородской области
Белгородская область

Санкт-Петербург не смог обойти Москву в рейтинге жизни населения





Путин в Белгородской области
Белгородская область

В Белгородские власти обеспечили условия для создания свободной экономической зоны


Лукашенко в Беларуси и мире
Минск

Путин назвал продуктивными переговоры с Лукашенко в Минске




123ru.netмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

123ru.net — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.





Зеленский в Украине и мире
Киев

Политолог Бортник: Киев ждёт общий провал, если ВСУ останется без успехов до осени


Навальный в Белгородской области


Здоровье в Белгородской области


Частные объявления в Короче, в Белгородской области и в России






Загрузка...

Загрузка...



Игорь Бутман

В "Зарядье" пройдет премьера спектакля Хабенского и Бутмана



Короча

В Белгородской области наградили лучших работников культуры

Друзья 123ru.net


Информационные партнёры 123ru.net



Спонсоры 123ru.net