roboforum.ru

Технический форум по робототехнике.

3D принтер. Прошивка Marlin, оптимизация.

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение anton-anton » 01 дек 2015, 03:47

modman писал(а):
anton-anton писал(а): После этого собрал на ардуине нано небольшую схему с датчиком огня и датчиком задымления, до кучи навесил датчик температуры, теперь при с работке любого из датчиков, отключается (через реле) полностью питание принтера и включается зуммер, если кому интересно могу скинуть код прошивки, тут все просто).


А можно поподробнее о дополнительной независимой плате защиты? Схемку, ну и код =)



код простенький (в процессе отладки сейчас, отсутствует отключение питания из-за вероятности ложного срабатывания)
отличное решение реализовано в прошивке, где отклонение от заданной температуры более чем на 4 градуса отключает принтер
//https://www.electronicsblog.net/
//Arduino LCD horizontal progress bar using custom characters
//объявляем переменные с номерами пинов
#include <LiquidCrystal.h>
#include <LCDBitmap.h>

LiquidCrystal lcd(12, 10, 5, 4, 3, 2);
LCDBitmap bitmap(&lcd, 12, 0); // Assign the LCD bitmap to "&lcd" set in the previous line and set display location to (12,0)

unsigned long currentMillis; // Timer variable
const int sample = 1500; // Sets how long to run each sample


const int sensorPin0= 0;//датчик огонь
const int sensorPin1= 1; //датчик освещенност
const int sensorPin2= 2; //датчик дым
const int sensorPin3= 3; //датчик температура
const int sensorPin4= 4; //датчика Нет!

int smoke_level0;
int smoke_level1;
int smoke_level2;
int smoke_level3;
int smoke_level4;
int smoke_level5;

#include <LiquidCrystal.h>

#define lenght 8.0

double percent0=100.0;
double percent1=100.0;
double percent2=100.0;
double percent3=100.0;
double percent4=100.0;


unsigned char b;
unsigned char q;
unsigned char n;
unsigned char w;

unsigned int peace;

int r1 = 7;
int g1 = 6;
int r2 = 13;
int g2 = 8;

// custom charaters


byte p1[8] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10};
byte p2[8] = { 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18};
byte p3[8] = { 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C};
byte p4[8] = { 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E};
byte p5[8] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F};

void setup() {

lcd.begin(16,2); // Initialize the LCD
bitmap.begin(); // Initalize the LCD bitmap
bitmap.home(); // Move cursor the home position (0,0)
lcd.print("Start");
randomSeed(analogRead(A0));


Serial.begin(115200);

pinMode(r1, OUTPUT);
pinMode(g1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(g2, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(r1, HIGH); //включаем зеленый
digitalWrite(r2, HIGH); //включаем красный
// lcd.setCursor(0, 0);
// lcd.print("Start"); // выводим на дисплей традиционную фразу
// delay(300);
// bitmap.pixel
lcd.setCursor(0, 1);
lcd.print("<System>");
digitalWrite(r1, HIGH); //включаем зеленый
delay(50);
digitalWrite(r1, LOW); //выключаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем зеленый
delay(50);
digitalWrite(r1, LOW); //выключаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем зеленый
delay(50);
digitalWrite(r1, LOW); //выключаем красный
delay(50);
digitalWrite(r2, HIGH); //включаем зеленый
delay(50);
digitalWrite(r2, LOW); //выключаем красный
delay(50);
digitalWrite(r2, HIGH); //включаем зеленый
delay(50);
digitalWrite(r2, LOW); //выключаем красный
delay(50);
digitalWrite(r2, HIGH); //включаем зеленый
delay(50);
digitalWrite(r2, LOW); //выключаем красный
delay(100);
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
delay(50); //ждем 50 Мс
analogWrite(9, 1);
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
analogWrite(9, 0); // 0 - выключаем пьезо
currentMillis = millis();
while(millis()-currentMillis<sample) {
for (byte d=0; d<8; d++) {
bitmap.pixel(random(0, BITMAP_W), random(0, BITMAP_H), random(0, 2), NO_UPDATE); // Add one random pixel but don't update bitmap display
}
bitmap.update(); // 8 pixels positioned, now update bitmap display
}

lcd.clear();

lcd.createChar(0, p1);
lcd.createChar(1, p2);
lcd.createChar(2, p3);
lcd.createChar(3, p4);
lcd.createChar(4, p5);




}

void loop()
{

//lcd.setCursor(0, 0);
//fier
unsigned int value0= analogRead(0);
percent0 =100-value0/1020.0*100.0;
// lcd.print("");
// lcd.print(percent3);
// lcd.print(" ");
// lcd.setCursor(0,1);
//double o=lenght/100*percent0;
// drawing black rectangles on LCD

lcd.setCursor(0, 0);
//ADC conversion
unsigned int value1 = analogRead(1);
percent2 = value1/1000.0*100.0;
//lcd.print("L=");
// lcd.print(percent2);
// lcd.print(" ");
// lcd.setCursor(0,0);
// double s=lenght/100*percent1;
// drawing black rectangles on LCD






//lcd.clear();
lcd.setCursor(0, 0);
lcd.print("g= % t= %");
lcd.setCursor(0,1);
lcd.print(" ");
delay(0);

lcd.setCursor(9, 0);
//ADC conversion
unsigned int value3 = analogRead(3);
percent3 = value3/500.0*100.0;
lcd.print("t=");
lcd.print(percent3);
lcd.setCursor(15, 0);
lcd.print("%");
lcd.setCursor(8,1);
double s=lenght/100*percent3;
// drawing black rectangles on LCD


lcd.setCursor(0, 0);
//ADC conversion
unsigned int value2 = analogRead(2);
percent2 = value2/800.0*100.0;
lcd.print("g=");
lcd.print(percent2);
lcd.setCursor(6, 0);
lcd.print("% ");
lcd.setCursor(0,1);
double a=lenght/100*percent2;
// drawing black rectangles on LCD




// 1 запись
if (a>=1) {
for (int i=1;i<a;i++) {
lcd.write(4);
b=i;
}
a=a-b;
}
peace=a*5;

// drawing charater's colums
switch (peace) {
case 0:
break;
case 1:
lcd.print((char)0);
break;
case 2:
lcd.write(1);
break;
case 3:
lcd.write(2);
break;
case 4:
lcd.write(3);
break;
}

//clearing line
for (int i =0;i<(lenght-b);i++) {
lcd.print(" ");
}
;

// 2Я запись
if (s>=1) {
for (int j=1;j<s;j++) {
lcd.write(4);
n=j;
}
s=s-n;
}
peace=s*5;

// drawing charater's colums
switch (peace) {
case 0:
break;
case 1:
lcd.print((char)0);
break;
case 2:
lcd.write(1);
break;
case 3:
lcd.write(2);
break;
case 4:
lcd.write(3);
break;
}

//clearing line
for (int j =0;j<(lenght-n);j++) {
lcd.print(" ");
}
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный

smoke_level0= analogRead(sensorPin0); // считать уровень
Serial.println(smoke_level0);
if(smoke_level0>1009){ // проверить допустимый ли уровень
digitalWrite(g1, HIGH);
} else{ digitalWrite(g1, LOW), digitalWrite(r1, HIGH),
lcd.setCursor(0, 0),lcd.print("! Warnin FIRE ! ");
lcd.setCursor(0, 1),lcd.print("level="), lcd.print(percent0),lcd.print(" % "),beep(200),delay(100),
analogWrite(9, 233), delay(50), analogWrite(9, 0); }

smoke_level1= analogRead(sensorPin1); // считать уровень
Serial.println(smoke_level1);
if(smoke_level1 < 800){ // проверить допустимый ли уровень
digitalWrite(g2, HIGH);
} else{ digitalWrite(g2, LOW), digitalWrite(r2, HIGH),
lcd.setCursor(0, 0),lcd.print("! Warnin Light ! ");
lcd.setCursor(0, 1),lcd.print("level="), lcd.print(percent1),lcd.print(" % "),beep(200),delay(10),
analogWrite(9, 233), delay(50), analogWrite(9, 0), delay(50), analogWrite(9, 233), delay(50), analogWrite(9, 0); }


smoke_level2= analogRead(sensorPin2); // считать уровень
Serial.println(smoke_level2);
if(smoke_level2 < 200){ // проверить допустимый ли уровень дыма (газа)
digitalWrite(g1, HIGH);
} else{ digitalWrite(g2, LOW), digitalWrite(r2, HIGH),
lcd.setCursor(0, 0),lcd.print("! Warnin GAS ! ");
lcd.setCursor(0, 1),lcd.print("level="), lcd.print(percent2),lcd.print(" % "),beep(200),delay(10) ,
analogWrite(9, 233), delay(50), analogWrite(9, 0), delay(50), analogWrite(9, 233), delay(50), analogWrite(9, 0),
analogWrite(9, 233), delay(50), analogWrite(9, 0), delay(50), analogWrite(9, 233), delay(50), analogWrite(9, 0); }


smoke_level3= analogRead(sensorPin3); // считать уровень
Serial.println(smoke_level3);
if(smoke_level3 < 130){ // проверить допустимый ли уровень
digitalWrite(g2, HIGH) ;
} else{ digitalWrite(g2, LOW), digitalWrite(r2, HIGH),
lcd.setCursor(0, 0),lcd.print("! Warnin Temp ! ");
lcd.setCursor(0, 1),lcd.print("level="), lcd.print(percent3),lcd.print(" % "),beep(200),delay(10),
analogWrite(9, 233), delay(50), analogWrite(9, 0), delay(50), analogWrite(9, 233), delay(50), analogWrite(9, 0),
analogWrite(9, 233), delay(50), analogWrite(9, 0), delay(50), analogWrite(9, 233), delay(50), analogWrite(9, 0),
analogWrite(9, 233), delay(50), analogWrite(9, 0), delay(50), analogWrite(9, 233), delay(50), analogWrite(9, 0); }




//если показатель освещенности меньше 800, включаем светодиод

//else digitalWrite(r2, HIGH); //иначе выключаем
delay(750); //ждем 50 Мс

}
void beep(unsigned char delayms){
analogWrite(9, 225); // значение должно находится между 0 и 255
// поэкспериментируйте для получения хорошего тона
delay(1000); // пауза delayms мс
analogWrite(9, 0); // 0 - выключаем пьезо
digitalWrite(r1, HIGH); //включаем зеленый
delay(50);
digitalWrite(r1, LOW); //выключаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем зеленый
delay(50);
digitalWrite(r1, LOW); //выключаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем зеленый
delay(50);
digitalWrite(r1, LOW); //выключаем красный
delay(50);
digitalWrite(r2, HIGH); //включаем зеленый
delay(50);
digitalWrite(r2, LOW); //выключаем красный
delay(50);
analogWrite(9, 125);
digitalWrite(r2, HIGH); //включаем зеленый
delay(50);
digitalWrite(r2, LOW); //выключаем красный
delay(50);
digitalWrite(r2, HIGH); //включаем зеленый
delay(50);
digitalWrite(r2, LOW); //выключаем красный
delay(100);
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный
delay(50);
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(g1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
digitalWrite(g2, HIGH); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(r1, LOW); //выключаем красный
digitalWrite(r2, LOW); //включаем красный
digitalWrite(g1, LOW); //выключаем красный
digitalWrite(g2, LOW); //включаем красный
delay(50); //ждем 50 Мс
digitalWrite(r1, HIGH); //включаем красный
digitalWrite(r2, HIGH); //включаем красный
delay(100); // пауза delayms мс
analogWrite(9, 0);
}

схемы нет,но если потребуется могу сделать,
тут 4 светодиода, бипер, датчик огня, освещенности, дыма, термистор, lcd 16x2.
требуется доработка т.к. датчик дыма должен прогреться минимум минуты для стабильной работы.
(показания отображаются в процентах от показаний датчиков - дыма и температуры со шкалой, показания освещенности и огня - не оттображаются - по ним идет сработка и отображение на дисплее причины (то есть датчика, который сработал)).
anton-anton
 
Сообщения: 28
Зарегистрирован: 15 ноя 2015, 00:30

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение vtoryh » 01 дек 2015, 13:49

Расшифруйте плиз описание THERMAL_RUNAWAY_PROTECTION_HYSTERESIS.
Я почитал на инглише, потом перевел в 2 разных переводчиках и что-то нифига не понял. :(
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)
vtoryh
 
Сообщения: 256
Зарегистрирован: 11 мар 2013, 15:47
Откуда: МО, Нахабино

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение icehardy » 01 дек 2015, 13:53

Видимо это допустимый разброс в показаниях датчика температуры, до сработки чего то там...
Аватара пользователя
icehardy
 
Сообщения: 1282
Зарегистрирован: 27 фев 2013, 16:59
Откуда: Кострома
Skype: icehardy

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение vtoryh » 01 дек 2015, 15:47

icehardy писал(а):Видимо это допустимый разброс в показаниях датчика температуры, до сработки чего то там...

Ну это-то я понял. :)
Хотелось бы конкретики. :)
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)
vtoryh
 
Сообщения: 256
Зарегистрирован: 11 мар 2013, 15:47
Откуда: МО, Нахабино

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение anton-anton » 01 дек 2015, 21:12

vtoryh писал(а):Расшифруйте плиз описание THERMAL_RUNAWAY_PROTECTION_HYSTERESIS.
Я почитал на инглише, потом перевел в 2 разных переводчиках и что-то нифига не понял. :(

Вот перевод, здесь понятно.

/ * ================== Тепловая защита от разгона =========================== === Это особенность для защиты вашего принтера из сгорают в пламени, если он имеет термистор сходит место (это произошло в моего друга недавно и побудило меня писать эту функцию).
Вопрос: Если термистор оторваться, он будет читать более низкую температуру, чем фактическая. Система включится нагреватель вечно, сжигая нить и что-нибудь еще вокруг.
После того как температура достигнет цели впервые, эта функция будет начать измерение, как долго текущая температура остается ниже целевого минус _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS).
Если он останется дольше, чем _PERIOD, это означает, что температура термистора не может догнать цель, так что-то может быть не так. Затем, чтобы быть на безопасной стороне, то система будет он остановился.
Имейте в виду отсчет будет просто начать после первого температура термистора на цель, так что вы не будете иметь никаких проблем, если ваш экструдер нагреватель занимает 2 минуты, чтобы поразить цель на отопление.
* / // Если вы хотите, чтобы включить эту функцию для всех ваших нагревателей экструдера, // раскомментировать 2 определяет ниже:
// Параметры для всех экструдеров нагревателей
определить THERMAL_RUNAWAY_PROTECTION_PERIOD 40 // в секундах

определить THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // в градусах Цельсия

// Если вы хотите, чтобы включить эту функцию для вашей кровати нагревателя, // раскомментировать 2 определяет ниже:
// Параметры для нагревателя кровать
определить THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 60 // в секундах

определить THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 10 // в градусах Цельсия
anton-anton
 
Сообщения: 28
Зарегистрирован: 15 ноя 2015, 00:30

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение dccharacter » 01 дек 2015, 21:28

Функция нужная, но надо понимать как она работает, иначе будете гробить принты.
Мой пример - печатаю АБС-ом, стол грею до 120 градусов. Это максимум, что выжимает мой БП из стола. Начинаем печатать, после первого слоя включается обдув модели, температура стола проседает градусов на 10-15, и, несмотря на то, что БП фигачит на полную, температура либо не поднимается вообще, либо поднимается крайне медленно.
Что видит прошивка? Она видит, что в течение времени THERMAL_RUNAWAY_PROTECTION_BED_PERIOD она вливала полную мощность в стол, но он так и не нагрелся до TARGET - THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS. Такого быть не может, соттветственно полетел термистор, соответственно включаем режим паники -> принт угроблен
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение Zamaro4kin » 02 дек 2015, 08:51

dccharacter писал(а):Мой пример - печатаю АБС-ом, стол грею до 120 градусов. ... Начинаем печатать, после первого слоя включается обдув модели, температура стола проседает градусов на 10-15...

Вы печатаете АБСом с обдувом? Слои при этом нормально слипаются, деформации нет?
Prusa i3 Steel ручной работы.
Плата управления RAMPS_1.4, E3Dv6, nozzle 0.4.
Печать ABS 1.75, Repetier-Host, Cura, KisSlicer.
Продолжаю путь по чужим граблям, пока...
Zamaro4kin
 
Сообщения: 169
Зарегистрирован: 25 сен 2015, 10:04
Откуда: Казахстан
ФИО: Николай

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение dccharacter » 02 дек 2015, 09:14

Zamaro4kin писал(а):
dccharacter писал(а):Мой пример - печатаю АБС-ом, стол грею до 120 градусов. ... Начинаем печатать, после первого слоя включается обдув модели, температура стола проседает градусов на 10-15...

Вы печатаете АБСом с обдувом? Слои при этом нормально слипаются, деформации нет?

Вроде нет. Я из-за стола не люблю АБС-ом печатать, поэтому высот не достиг. Я вообще ни на чем высот не достиг :-))))))
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение vtoryh » 02 дек 2015, 09:50

Всем спасибо. я понял принцип работы.
Гляну у себя скорость нагрева и выставлю параметры.
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)
vtoryh
 
Сообщения: 256
Зарегистрирован: 11 мар 2013, 15:47
Откуда: МО, Нахабино

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение anton-anton » 02 дек 2015, 19:16

dccharacter писал(а):
Zamaro4kin писал(а):
dccharacter писал(а):Мой пример - печатаю АБС-ом, стол грею до 120 градусов. ... Начинаем печатать, после первого слоя включается обдув модели, температура стола проседает градусов на 10-15...

Вы печатаете АБСом с обдувом? Слои при этом нормально слипаются, деформации нет?

Вроде нет. Я из-за стола не люблю АБС-ом печатать, поэтому высот не достиг. Я вообще ни на чем высот не достиг :-))))))


Стол у меня тоже срабатывал - я его отключил, а голову оставил.
anton-anton
 
Сообщения: 28
Зарегистрирован: 15 ноя 2015, 00:30

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение vtoryh » 02 дек 2015, 19:45

anton-anton писал(а):Стол у меня тоже срабатывал - я его отключил, а голову оставил.

Ну у меня со столом думаю проблем не будет. 220в 200w. :)
Греется на ура. :)
Печатаю на FastMaker(corexy, композитный корпус, AZSMZ mini, Volcano 0.4, 210х210х300)
vtoryh
 
Сообщения: 256
Зарегистрирован: 11 мар 2013, 15:47
Откуда: МО, Нахабино

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение dccharacter » 02 дек 2015, 20:02

anton-anton писал(а):Стол у меня тоже срабатывал - я его отключил, а голову оставил.

А я что-то попробовал стол отключить, он матюгается на отсутствующий дефайн. Дальше не разбирался, подпер костылями
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение anton-anton » 02 дек 2015, 23:32

vtoryh писал(а):
anton-anton писал(а):Стол у меня тоже срабатывал - я его отключил, а голову оставил.

Ну у меня со столом думаю проблем не будет. 220в 200w. :)
Греется на ура. :)


Это что за стол такой на 220В , можно ссылку?
anton-anton
 
Сообщения: 28
Зарегистрирован: 15 ноя 2015, 00:30

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение dccharacter » 02 дек 2015, 23:33

Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: 3D принтер. Прошивка Marlin, оптимизация.

Сообщение anton-anton » 02 дек 2015, 23:35

dccharacter писал(а):
anton-anton писал(а):Стол у меня тоже срабатывал - я его отключил, а голову оставил.

А я что-то попробовал стол отключить, он матюгается на отсутствующий дефайн. Дальше не разбирался, подпер костылями


)) я тоже // добавил, а разброс у головы увеличил с 4 градусов до 8, сильно скачет при нагреве, если охлаждение включить, так разброс может еще увеличится. Кстати, АБС я перестал печатать с охлаждением - результат лучше.
anton-anton
 
Сообщения: 28
Зарегистрирован: 15 ноя 2015, 00:30

Пред.След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron