roboforum.ru

Технический форум по робототехнике.
Текущее время: 24 ноя 2024, 11:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 521 ]  На страницу Пред.  1 ... 19, 20, 21, 22, 23, 24, 25 ... 35  След.
Автор Сообщение
 Заголовок сообщения: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 25 апр 2013, 15:05 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
Для удобства пользователей 3D принтеров, мной создан генератор тестовых кодов.
http://base3d.ru/CaliGator/

в данный момент доступны следующие тесты:
  • raft - по сути это просто подложка, по ее качеству можно осуществлять калибровку стола
  • flow - подбор потока под конкретный материал
  • width - подбор ширины линии экструзии
  • temp - подбор температуры печати
  • suck - подбор величины отката подачи (ретракта)
  • suck_speed - подбор скорости отката подачи


Методика тестирования:
Прежде чем приступить к тестированию проходим по всем вкладкам проверяя параметры, выставляем значения по опыту,
которые на наш взгляд дают наилучшие результаты (позже я введу рекомендуемые профили для разных принтеров).

raft
в этом тесте наша задача получить равномерные, слегка придавленные линии.
Обращаем внимание на расстояние между линиями экструзии, оно должно быть равномерным по всей площади, по ним можно судить о наклоне стола (если один угол или сторону плющит больше других) или о неровности стола (если имеют место неравномерно расположенные участки с более сильным придавливанием).
Рафт делается на двойной высоте слоя и использует тройной поток.

flow
в этом тесте проверяется поток, он должен быть достаточен чтобы между линиями экструзии не образовывалось просветов (щелей), в то же время сильно завышенный поток будет давать выдавливание пластика за периметр модели.
Вложение:
2013-04-25 14.48.36.jpg
2013-04-25 14.48.36.jpg [ 2.26 МиБ | Просмотров: 276278 ]


width
в этом тесте меняется сразу два параметра: ширина между центрами выкладываемых линий, и поток который компенсирует увеличение требуемой площади экструзии.
При слишком плотной укладке линии будут мешать друг другу, а при слишком редкой будут появляться щели.
результатом теста является некоторый диапазон допустимых значений ширины одной линии экструзии
Вложение:
2013-04-25 13.48.02.jpg
2013-04-25 13.48.02.jpg [ 2.37 МиБ | Просмотров: 273382 ]


temp
в этом тесте выбирается температура печати, ее хорошо видно визуально.
при недостаточном нагреве будет иметь место расслоение пластика, недостаточное сцепление с подложкой.
при чрезмерном нагреве будет наблюдаться обесцвечивание пластика или даже его "вскипание"
Вложение:
2013-04-25 15.38.29.jpg
2013-04-25 15.38.29.jpg [ 2.3 МиБ | Просмотров: 274316 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 29 окт 2015, 13:23 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
в том то и дело что прошивка при исполнении команды M109 головой не может двигать! так задумано
Код:
* M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating                                                       
*        Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 29 окт 2015, 13:23 
Не в сети

Зарегистрирован: 29 окт 2012, 13:55
Сообщения: 705
Откуда: СПб
Andrew S писал(а):
Скорее прошивка не правильно понимает команду M109 S188; wait heat
Что за прошивка кстати?

марлин 1.0.2-1
команда прерасно понимается и отрабатывается в стартовом коде перед печатью. отрабатывается коретно и вовремя, наблютаю в пронтерфейсе

чудеса были на версии марлина 1.0.0
на последних версиях не проверял


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 29 окт 2015, 13:25 
Не в сети

Зарегистрирован: 19 апр 2015, 12:18
Сообщения: 54
Откуда: СПб
Andrew S писал(а):
Скорее прошивка не правильно понимает команду M109 S188; wait heat
Что за прошивка кстати?

RAMPS 1.4 Marlin (качал в сентябре, https://github.com/MarlinFirmware/Marlin)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 29 окт 2015, 13:28 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
я пожалуй адресую вопрос коллегам из релиз менеджеров прошивки марлин.
они точно смогут ответить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 29 окт 2015, 13:40 
Не в сети

Зарегистрирован: 19 апр 2015, 12:18
Сообщения: 54
Откуда: СПб
Andrew S писал(а):
Скорее прошивка не правильно понимает команду M109 S188; wait heat


Почему это команда "пролезает вперёд"?

Если бы ваша версия была верна, то выглядело бы это по другому: начиналась бы печать следующей полосы с предыдущей температурой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 29 окт 2015, 18:58 
Не в сети
Аватара пользователя

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

Добавлено спустя 11 минут 2 секунды:
Код:
while ((residencyStart == -1) ||
              (residencyStart >= 0 && (((unsigned int) (millis() - residencyStart)) < (TEMP_RESIDENCY_TIME * 1000UL)))) ) {
      manage_heater();
          manage_inactivity();
          lcd_update();     }

Фактически вот код М109. Надо смотреть что там в менеджерах происходит

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 30 окт 2015, 00:56 
Не в сети

Зарегистрирован: 19 апр 2015, 12:18
Сообщения: 54
Откуда: СПб
Уточнил прошивку - Marlin 1.0.2
Создаю файл с кодом:
Код:
G28
G1 Z20
M109 S210
G1 X60.00 Y100.00
G1 X220.00 Y100.00 F1000
M109 S216
G1 X60.00 Y100.00 F1000


И вот что происходит:
Парковка, опускание стола. Далее пауза - ожидание нагрева. Когда достигается установленная температура - начинается движение.
В этот же момент температура устанавливается в следующее значение.
По окончанию движения пауза, связанная с ожиданием нагрева до заданной температуры. Когда температура достигнута начинается очередное движение.

Если запустить такой код:
Код:
G28
G1 Z20
M109 S210
G1 X60.00 Y100.00
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
G1 X220.00 Y100.00 F1000
G1 X60.00 Y100.00 F1000
M109 S216
G1 X60.00 Y100.00 F1000


Переключение на следующую температуру произойдёт не сразу, а на 8-10том проходе.
Вот как видится это история:
Г-код читается кусками и если я правильно понимаю размер блока такой:
static char cmdbuffer[BUFSIZE][MAX_CMD_SIZE];
//The ASCII buffer for receiving from the serial:
#define MAX_CMD_SIZE 96
#define BUFSIZE 4

Как только в прочитанном блоке окажется команда M109 SХХХ - она будет выполнятся одновременно с другими командами.

Первый пример очень коротенький и видимо читается целиком, и мы видим что температура перескакивает сразу.
Второй пример намного больше и Г-код читается несколькими порциями - поэтому и переключение происходит не сразу.

Вероятно нужно покопаться в void process_commands() файл Marlin_main.cpp

Интересно было бы узнать у кого ещё такое же поведение принтера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 30 окт 2015, 01:56 
Не в сети
Аватара пользователя

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

Добавлено спустя 56 секунд:
У меня такое же поведение

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 30 окт 2015, 04:22 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Жесть, если это так, то отформатирую диск с марлином :o
Так, где мой grbl?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 30 окт 2015, 11:27 
Не в сети

Зарегистрирован: 19 апр 2015, 12:18
Сообщения: 54
Откуда: СПб
dccharacter писал(а):
У меня такое же поведение


Спасибо. Видимо действительно в прошивке Marlin есть баг.

Dmitry__ писал(а):
Жесть, если это так, то отформатирую диск с марлином :o
Так, где мой grbl?


Держись! Не всё так страшно!

Если серьёзно, то наверно, только в температурном тесте это поведение принтера искажает результат, в целом печатать это не мешает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 30 окт 2015, 12:02 
Не в сети

Зарегистрирован: 29 окт 2012, 13:55
Сообщения: 705
Откуда: СПб
надо бы попробовать на прошивке repetier
как будет свободное время, потестирую


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 22 ноя 2015, 11:13 
Не в сети

Зарегистрирован: 13 ноя 2015, 22:48
Сообщения: 67
Приветствую.
Интересный тест-настройка.
Обязательно попробую.
Я так понял размеры 100*100 ?
А есть возможность изменить размеры, ну например сделать 80*80, для того, что-бы сделать последовательно четыре теста на разных участках стола?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 25 ноя 2015, 13:15 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
зачем ?
можно сделать все при желании


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 25 ноя 2015, 19:14 
Не в сети

Зарегистрирован: 13 ноя 2015, 22:48
Сообщения: 67
Ну, я вчера тестировал пластик, пробовал снять со стола сразу после печати, тест деформировался (был тёплый), следующий снимал, когда стол остыл. А нагрев для печати следующего это снова 20-30 минут ожидания. А с размерами 100*100 сложно на столе разместить даже второй тест. При меньших размерах (хотя-бы на 20мм), можно было-бы напечатать сразу до 4-ёх тестов с минимальными потерями времени на остывание/разогрев стола/сопла.

Да и ещё я не понял, так и должно быть, или я не правильно что-то задавал, у меня в G-коде сгенерировалось первый слой Z0.60, а второй Z0.90. Хотя "высоту стоя" указывал 0.3 , "Z смещение" не менял - 0.
Перед печатью поменял на Z0.30 и Z0.60 соответственно.
И ещё один момент, в G-коде сначала включается нагрев сопла, а потом стола. Получается сопло горит почти пол-часа в холостую. Думаю лучше поменять порядок. Хотя, я не в курсе, может на каких-то принтерах сопло греется долго а стол моментально...

А вообще, спасибо за генератор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CaliGator - генератор калибровочных кодов
СообщениеДобавлено: 25 ноя 2015, 19:18 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
тест умышленно делается в центре, где искажения стола минимальны
рафт (первый слой) печатается на двойной высоте тройным потоком
а порядок нагрева меняется в стартовых G-code, это не более чем пример, я мог бы там пустоту оставить

P.S. нагрев стола 20-30 мин это не нормально, нужно что то делать в этом направлении


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 521 ]  На страницу Пред.  1 ... 19, 20, 21, 22, 23, 24, 25 ... 35  След.

Часовой пояс: UTC + 4 часа


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

Сейчас этот форум просматривают: Google [Bot] и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO