roboforum.ru

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

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

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

dandan2000 » 30 авг 2017, 12:42

VitDagger писал(а):А что указано в разделе #define MOTHERBOARD? открыть файл pins_названиеплаты.h и там глянуть какой пин за что отвечает. Его и прописать в #define E0_AUTO_FAN_PIN
Или, скорее всего, можно просто прописать FAN1, а не номер пина

Там прописано только fan_pin и fan2_pin. Вероятно fan_pin это нулевой разъём, а fan2_pin это второй. Странно, но почему тогда не прописан разъём 1, если понадобиться то просто позвонить, на какую ногу идет?

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

sansanich » 25 окт 2017, 09:51

Всем привет!
Давно на этом форуме читал про пины энкодера в прошивке, а вот сейчас ну ни как вспомнить не могу, уж очень хочется поменять их. Может кто помнит? :oops:

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

sergey2x » 25 окт 2017, 10:29

BTN_EN1, BTN_EN2, BTN_ENC

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

sansanich » 25 окт 2017, 14:52

sergey2x писал(а):BTN_EN1, BTN_EN2, BTN_ENC

Спасибо! :beer:

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

jetinternet » 02 дек 2017, 20:45

Делаю парковку оси Z, кровать нормально едет вверх куда нужно но при срабатывании концевика она останавливается и на какое то расстояние опускается вниз.
Помогите пжста где нужно править.
принтер COREXY
прошивка MARLIN 1.0.2

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

VitDagger » 07 янв 2018, 14:47

Видимо концевик уже сработан. Инвертировать значение в прошивке

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

dandan2000 » 09 янв 2018, 17:25

dandan2000 писал(а):Добрый день.
При печати окружностей на дельтапринтере заметил, что есть небольшие остановки или дерганье сопла. На детали это видно как мелкие точки. Причём если окружность с явно видными секторами, то эти точки находятся в точках соединения секторов. Точки разбросаны хаотично, по одной-две на одной окружности. От слайсера не зависит, от пластика тоже, скорость 30-60 - вроде не влияет, не зависит при печати с флешки или USB.
Грешу на прошивку, в чем может быть проблема?


Причину нашёл. Точки появляются в момент обновления экрана. Пришлось править прошивку, там по дебильному обновление экрана делалось - когда попало, ещё и по два раза подряд. Сейчас все нормально, дефектов нет.


Ещё у меня вопрос такой возник: почему при движении экструдера по прямой максимальная скорость зависит от ускорения? Когда я ставлю ускорение 3000 (джерк 20) то перемещения 50мм/с явно похожи на 50 или даже больше, но когда ускорение 500 то скорость раза в 3!!! меньше,учесть что с ускорением 500 скорость от 20 до 50 должна набираться за 0.06с то визуально на прямой в основном скорость должна быть 50, а реально в разы меньше.
?
Принтер дельта.

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

Начинающий » 09 янв 2018, 20:03

В каком файле надыбали обновление экрана? И если можно пару строчек скиньте для облегчения поиска.

Ещё у меня вопрос такой возник: почему при движении экструдера по прямой максимальная скорость зависит от ускорения? Когда я ставлю ускорение 3000 (джерк 20) то перемещения 50мм/с явно похожи на 50 или даже больше, но когда ускорение 500 то скорость раза в 3!!! меньше,учесть что с ускорением 500 скорость от 20 до 50 должна набираться за 0.06с то визуально на прямой в основном скорость должна быть 50, а реально в разы меньше.


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

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

dandan2000 » 10 янв 2018, 10:10

Начинающий писал(а):В каком файле надыбали обновление экрана? И если можно пару строчек скиньте для облегчения поиска.

Само обновление я не трогал, я менял точки его вызова. В основном цикле loop() есть его вызов, я его переместил под условие выше: если буфер пустой, тогда обновления нет если нет времени лишнего.
Начинающий писал(а):Как я понимаю, потому что принтер сначала ускоряет движение головки, а потом замедляет и таким образом можно выделить три отрезка на прямой разгон,движение с постоянной скоростью, торможение, чтоб головка за периметры не вылетела по инерции. Первый и последний думаю намного больше чем второй, поэтому чем больше отрезок, тем быстрее печатает принтер.

Разгон и торможение при таком ускорении и скорости должно делаться за 0.06с, это примерно 2мм. Основной путь он должен проходить с номинальной скоростью.

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

Начинающий » 10 янв 2018, 10:18

Там нет в принципе ни в одном файле цикла с названием loop или mainloop, только что проверил, напишете название файла, возможно я что то не так понял.
По поводу того как должно и как на самом деле, если мыслить логически, то я прихожу только к такому выводу как написал выше.

Поправка:
В марлине из всех фалов что там есть циклы void loop() есть только в
pin_interrupt_test.ino где он тупо пустой
Marlin_main.cpp где он не настолько большой, чтоб я не увидел вызов прерывания или вызов процедуры обновления экрана
темните вы что то.

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

dandan2000 » 10 янв 2018, 16:38

Файл Marlin_main.CCP void loop() это основной цикл программы, в нем есть вызов LCD_update(), чуть выше условие if (buflen), я перенес вызов обновления экрана в else этого условия. Потом я ещё в некоторых местах менял, сейчас по памяти не помню, там лишний раз очистка экрана делалась и происходила ситуация, что после очистки когда нет времени для отрисовки и экран некоторое время был пустой.

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

Начинающий » 10 янв 2018, 17:35

Ясно, у вас версия просто другая, потому что в моем Marlin 1.1.5 в Marlin_main.cpp такой петли как void loop() нет вообще, но есть void idle(), где и расположен вызов LCD_update(), но там я смысла что либо менять не вижу, потому что idle это обработка события простоя принтера, когда процу делать нечего, поэтому я и не нашел ничего. Но все равно спасибо за ответ.

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

OBN_RacerMan » 10 янв 2018, 18:55

Начинающий писал(а):потому что в моем Marlin 1.1.5 в Marlin_main.cpp такой петли как void loop() нет вообще

Вообще странно.. ради интереса посмотрел - даже в старом архиве 1.1.4 такое нашёл...
Код: Выделить всёРазвернуть
Call LCD update
*/
void loop() {
  if (commands_in_queue < BUFSIZE) get_available_commands();

и в 1.1.5 и далее (хотя сейчас в принтере уже 1.1.8 залит)

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

Начинающий » 10 янв 2018, 20:00

Прилагаю файл из моей прошивки, если интересно.
Вложения
Marlin_main.cpp
Мой файл для Marlin 1.1.5
(435.11 КиБ) Скачиваний: 345

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

OBN_RacerMan » 10 янв 2018, 21:53

Начинающий писал(а):Прилагаю файл из моей прошивки, если интересно.

Ну так есть же оно ( Call LCD update ..... void loop()) там...
Clipboard01.jpg
кусок из скаченного файла


cron
Rambler\'s Top100 Mail.ru counter