пятница, 16 мая 2014 г.

Сборка дельтаботов - ковыряем МарлИнов.

Итак Kossel-T уже достаточно вышло в свет, а инструкции как это все настраивать все еще нет. Так что инструкцию по сборке надо будет начинать таки с прошивки.
Для начала нам потребуется сама прошивка - Марлин по версии RichCattell на GitHub (ветка обсуждения в Deltagroup)
Также надо будет среда разработки ардуино -качаем последний под нужную ОС
И программа управления самим принтром - я предпочитаю максимально простой printrun

Не думаю, что стоит расписывать установку ПО и распаковку прошивки из архива, поэтому начнем сразу с запуска среды Ардуино.
нам нужен фаил marlin.pde в распакованном архиве прошивки.
Открываем, получаем вот такое окно:




в нем нам нужна вкладка configuration.h:



по основным настройкам:
// This determines the communication speed of the printer
#define BAUDRATE 250000
//#define BAUDRATE 115200
изменяет скорость общения - принтер-компьютер. По умочанию - 250000, если на 250000 возникают ошибки - можно попробовать скорость общения снизить.

#define MOTHERBOARD 33
устанавливает тип используемого контроллера  расшифовка для цифр - над этими строчками:
//// The following define selects which electronics board you have. Please choose the one that matches your setup
// 10 = Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
...
// 21 = Elefu Ra Board (v3)

Итак основной раздел который нас интересует:
//=======================================================================
//============================== Delta Settings =============================
//=======================================================================
// Enable DELTA kinematics
#define DELTA
задает что кинематика таки от дельтабота. )

#define DELTA_SEGMENTS_PER_SECOND 200
При использовании дельта кинематики в процессор перегоняет постоянно стандартный G-code в дельта координатыэта строчка задает сколько на сколько участков будет разбиватся каждое движение. значение по умолчанию 200. можно снизить до 150 без особой потери в качестве. (если используется lcd панель на чипе расширения порта i2c (panelulo2) или есть задержки при печати с sd карты, значение рекомендуется снизить, процессору и так не легко приходится)

Дальше нам пригодится визуальная подсказка где какое значение мереть:
  
#define DEFAULT_DELTA_DIAGONAL_ROD 217.5 // mm
длинна диагоналей

#define DELTA_SMOOTH_ROD_OFFSET 156.4 // mm 
от центральной точки до середины направляющих

#define DELTA_EFFECTOR_OFFSET 24 // mm 
расстояние от центра эффектора до шарнирных соединений к котором крепятся диагонали

#define DELTA_CARRIAGE_OFFSET 24 // mm  
от центра направляющих до шарниров на каретках

#define DEFAULT_DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
а вот этим уравнением вся кинематика и описывается

Измеряем все значения - подставляем правильные.

Дальше большую часть пока опустим. и идем сразу в раздел
//=======================================================================
//=============================Mechanical Settings===========================
//=======================================================================

нам нужны следующие строчки:

#define MANUAL_Z_HOME_POS 258  

Расстояние от стола до кончика сопла когда все каретки приехали на home. Это пока предварительное значение можно на него не опираться

#define DEFAULT_AXIS_STEPS_PER_UNIT   {80, 80, 80, 439.5}
количество шагов на мм.  первые три значения - XYZ. дополнительное - экструдер, если требуется подключить еще один - через запятую дописываем пятое значение (также потребуется изменит значение #define NUM_AXIS 4 с 4 на 5)
значение шагов на мм может быть подсчитано как эмпирически (особенно актуально при использовании печатных шкивов) так и математически исходя из значений в калькуляторе для принтеров от Джозефа Прюши. Значение зависят от того на значения микрошага для двигателя  и количестве зубов на шкиву.
Дальше нужно убедится в том что значения
#define EEPROM_SETTINGS
#define EEPROM_CHITCHAT
не закомментированы.

Все. пока можно заливать прошивку на плату. 

Далее запускаем принтран:
и нам нужно будет дописать кнопки подобно моим
нажимаем на "+":






и в выпадающем окошке вносим
название команды (Button tittle)
и саму команду (command)

таким образом создаем кнопки
Calib X - G1 X-65 Y-35
Calib Y - G1 X65 Y-35
Calib Z - G1 X0 Y80




Хорошо прошивка залита кнопки созданы.
идем пить чай и попутно искать что-то круглое что можно катать между соплом и столом и точного размера (например сверло на 8мм ))

открываем репитерхост подключаем принте.
Для начала сверимся что сопло не уходит с стол.
В командной строке
вводим -
G28
G1 Z100

Сверяемся не уехало ли сопло на расстояние много меньше 100мм

если 100 или немного больше:
G1 Z8 (если то что вы нашли - 8мм. если нет - вместо 8 вводим нужное значение)
Сопло должно приехать на позицию X0 Y0 Z8 принимаем прокатив наш щуп под соплом дальше можно приподнять или опустить сопло командой G1 чтобы щуп плотно проходил под соплом.
И вот тут нам пригодятся созданные кнопки. после нажатия сопло будет перемещаться к нужной нам колонне по этому можно определить если ли перекос рабочей плоскости относительно плоскости стола. Так же можно проверить наличие отсутствие "Линзы" (когда все углы выше или ниже относительно центра)

В дальнейшем нам потребуется комманда - M666 при помощи нее мы можем вызывать из ЕЕПРОМ текущие значения геометрии принтера и перезаписывать их не перезаливая целиком прошивку.
M666 L - вызывает список текущих значений.
Current Delta geometry values:
X (Endstop Adj): -3.05
Y (Endstop Adj): -1.83
Z (Endstop Adj): -2.69
P (Z-Probe Offset): X0.00 Y10.00 Z-5.60
A (Tower A Position Correction): -0.04
B (Tower B Position Correction): 0.05
C (Tower C Position Correction): -0.02
I (Tower A Radius Correction): 0.25
J (Tower B Radius Correction): -1.25
K (Tower C Radius Correction): -0.37
R (Delta Radius): 109.60
D (Diagonal Rod Length): 224.59
H (Z-Height): 255.73
Endstop adj - подстрока значений эндстопов для выравнивания рабочей плоскости относительно плоскости стола значения "+" если сопло у этой башни ниже чем требуется. и "-" если выше. значения задаются M666 X(нужное значение)

Delta radius - требуется правка если у принтера есть "линза" уменьшать если ниже чем края и увеличивать если выше. M666 R(значение)

Delta diagonal rod - требуется корректировка для подгонки размеров печатаемого к размерам напечатанного. M666 D(значение)

Z-Height - высота от стола до сопла. M666 Z (значение)

M500 сохранить текущие настройки в EEPROM.
M501 откатить настройки к последним сохраненным



Комментариев нет:

Отправить комментарий