Странности с Marlin 1.1.9

DimanSRT
Идет загрузка
Загрузка
09.03.2020
500
36
Вопросы и ответы

Доброго времени суток! Собрал я самодельный принтер Corexy на бутерброде arduino mega и Ramps 1.6 Plus.

Скачал прошивку Marlin1.1.9, настроил и залил. И вот какая интересная штука происходит: Если посли загрузки в контроллер скетча не отключать питание, а сразу проверить правильность работы (в ручную погонять по осям) то всё хорошо. Но если выключить принтер и снова включить, то при движении по оси Х он начинает ехать по диагонале. При движении по оси Y тоже самое. И это не проходит пока заново не загрузишь тот же скетч,потом опять до первого отключения и всё заного ....

Помогите пожалуйста разобраться в чем дело! Может кто сталкивался с таким?

Ответы на вопросы

Ответы

09.03.2020 в 21:03
0

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

10.03.2020 в 13:42
0

Я вот думаю может проблема в EEPROM всё таки.....

09.03.2020 в 21:53
0

А что за драйвера и как управляются? Если по UART, то может в обычный режим переключить?

10.03.2020 в 10:05
0

Драйвера TMC 2208 V3 Uart. Как я понимаю, их переключить не получиться. Они на своей плате так распаяны.

10.03.2020 в 10:27
0

Для перевода из режима UART нужно перемычку J2 отпаять.

А если поменять местами драйвера осей X и Y, каретка начнет по другой диагонали перемещаться?

10.03.2020 в 13:47
0

Да, если местами поменять провода на драйверах, то всё работает зеркально. 

Дело в том, что сначала после заливания Marlin всё работает правильно, а вот сбой при следующем включении питания.

10.03.2020 в 14:29
0

По симптомам похоже на глючный драйвер. Ощущение, что при подаче питания он не успевает получить данные по UART.

А если подать питание, немного подождать и нажать Reset на плате управления?

10.03.2020 в 15:06
0

Попробую, отпишусь.

10.03.2020 в 20:38
0

Попробовал, к сожалению не помогло....

10.03.2020 в 21:00
0

Только сейчас прочитал внимательно, что вы провода от драйвера переставляли. Вы попробуйте сам драйвер переставить, тот, который при перемещении каретки не крутит мотор. Например, поменять с осью Z.

11.03.2020 в 09:09
0

Ну если бы дело было в самих драйверах, то они бы изначально не правильно работали, а у меня сначала всё правильно двигается, а вот после перезагрузки как будто настройка механики меняется...

11.03.2020 в 21:05
0

Поменял местами драйвера y и z. Не помогло....

13.03.2020 в 09:08
0

Вы были правы, всё дело в UART. Заставить заработать драйвера у меня получается только если сначала подать питание 5в на контроллер, а потом уже на RAMPS 12в. Только теперь понять как этот UART настоить....

13.03.2020 в 13:19
0

Тут, к сожалению, ничего не подскажу. У меня драйвера без UART.

09.03.2020 в 23:11
0

начните с загрузки скетча - очистки еепром(в примерах ардуины через ФАЙЛ ищите). 

10.03.2020 в 10:06
0

Пробовал заливать во все ячейки 0 и 255. Не помогло....

10.03.2020 в 03:13
0

EEPROM разрешён? сбрасывали?

10.03.2020 в 10:11
0

Я не сильно силён пока в программирование. Как разрешить или проверить EEPROM ? В скетче Marlin не нашёл такую строку. А сам EEPROM пробовал сбрасывать, не помогло. Использовал для очистки ячеек EEPROM вот такой скетч:

Очистка EEPROM

Выставляет все байты EEPROM на «0».

Этот код не защищен авторским правом.

*/

#include

void setup()

{

  // Прочесываем все 512 байтов EEPROM, выставляя их на «0»:

  for (int i = 0; i 

10.03.2020 в 14:01
0

https://3dtoday.ru/questions/nuzhna-pomoshchl#comment-667870

это как разрешить.

https://3dtoday.ru/questions/nuzhna-pomoshchl#comment-667556
это как сбросить, без всяких скетчей - самим Марлином.

репитерхост имеет специальное окно, в котором показывает основные параметры, записанные в EEPROM. проверяете сразу после прошивки и после сброса - отличий быть не должно.

10.03.2020 в 14:06
0

Большое спасибо! Попробую- отпишусь.

10.03.2020 в 21:56
0

Проверил строку про разрешение EEPROM, всё раскомментировано. Проверил параметры записанные в EEPROM до и после- отличий нет. Но вот заметил такой нюанс: после того как я залил прошивку в принтер, я с помощью энкодера через меню на экране принтера в ручную двигую оси. Они работают правильно и даже автопарковка. Но когда я подключаюсь через репитерхост,происходит перезагрузка платы и после этого и через репитер и через энкодер (меню Marlin) оси двигуются не правильно.

11.03.2020 в 02:01
0

стесняюсь спросить: а вы точно выбираете в конфиге принтер CoreXY?

ну, и наверное, стоит попробовать другую прошивку

11.03.2020 в 09:22
0

Да, в конфиге раскомментирован CoreXY. Да и если бы кинематика не правильно выбрана была, он бы сразу не правильно двигался,а не только после перезагрузке.

Я прошивку брал с сайта Марлина. Какую Вы бы посоветовали мне попробовать ещё? 

Извиняюсь за (возможно нагловатую) просьбу: не могли бы Вы глянуть мою прошивку Марлин 1.1.9? 

11.03.2020 в 13:07
0

глянуть-то не проблема, можно и глянуть. проблема - найти в ней ошибку, если она там есть, учитывая, что у меня не CoreXY.

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

11.03.2020 в 19:27
0

https://yadi.sk/d/UmBk7CXRMyT4Mw

Это ссылка на архив с моей прошивкой. Гляньте, если не трудно.

12.03.2020 в 00:21
0

первое.

когда подключаюсь репитером - происходит перезагрузка тоже.

такого быть не должно. ищите причину. уточню: когда подключаетесь репитером или когда подключаете провод USB? если второе - имеется разность потенциалов компа и принтера и это плохо. косяк, скорей всего - в БП (принтера или компа). иногда помогает просто перевернуть одну из сетевых вилок, но лучше (и правильней) устранить причину.

далее - по прошивке. глянул.

Configuration.h . первый же вопрос: почему вы взяли чью-то прошивку, настроенную для Anet A8, а не чистый Марлин? на худой конец - в оригинале у Марлина есть папка example_configurations, где лежат готовые настройки для разных принтеров. можно взять что-то с такой же кинематикой и электроникой.

второй вопрос - скорости. по-моему, они слишком высокие для 2208.

третий вопрос - почему в прошивке раскомментированы несколько дисплеев?

четвёртый вопрос - //#define EEPROM_CHITCHAT должна быть раскомментирована, иначе вместо EEPROM используется Progmem. возможно - причина именно здесь, но может быть - и не только, т.к. это далеко не все вопросы.

Configuration_adv.h.

зачем эта строка? #define ENDSTOPS_ALWAYS_ON_DEFAULT

зачем #define TMC_USE_SW_SPI? у вас-то ТМС-ки подключены по UART, если я правильно вас понял.

дальше рыть не стал...

резюме: возьмите чистую прошивку (если есть желание - можно перекинуть подходящий образец из example_configurations, но я бы работал именно с чистой) и настройте по мануалу с нуля. причём - я бы сначала настроил только основное - без ТМС-UART, экрана, картридера - только движение и концевики. и уже после того, как в таком виде начнёт нормально работать - включал "плюшки" по одной, максимум - две за раз.

12.03.2020 в 10:50
0

Большое спасибо за такой развёрнутый ответ!. Попробую ответить на четыре вопроса....

Про разность потенциалов: комп и принтер работают от одной розетки, попробую заменить БП. Замерю разность потенциалов между USB и принтером.

Configuration.h: я вроде бы скачивал чистый Марлин, но возможно ошибся при выборе.

Скорости я не стал менять в прошивке,т.к. не знал какие нужны-оставил временно те которые были.

Про дисплеи: Я долго пытался настроить дисплей, и на каком то сайте нашёл описание с именно такими раскомментированными строками + добавил три дополнительных строки. После этого он заработал.

//#define EEPROM_CHITCHAT я раскомментирую- отпишусь.

#define ENDSTOPS_ALWAYS_ON_DEFAULT - без этой строки у меня была ошибка компиляции.

Драйвера у меня TMC2208 V3 UART. #define TMC_USE_SW_SPI?- тоже раскомментировал потому что нашёл в описании подключения этих драйверов к RAMS 1.6+ на каком то сайте. Возможно это не совсем верно. Попробую закомментировать.

Ну а если уж не поможет, то буду следовать вашему совету про чистую прошивку или с такой же кинематикой.

12.03.2020 в 19:32
0

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

Потом я не отключая от USB, отключил БП принтера и через 10 секунд включил обратно. И о чудо, всё заработало правильно! Проверил ешё раз:

Отключил питание и USB. Потом подключил USB- загрузился контроллер. Включил БП, включил репитер- проверяю работант не правильно. Отключаю и заново включаю БП- всё работает правильно.....

Вообщем мне кажется что проблема со связью контроллера с драйверами.....

12.03.2020 в 20:12
0

я, кажется, понял в чём у вас проблема. и да, вы правы - проблема со связью контроллера и драйверов:

когда вы включаете только по USB (без БП принтера) контроллер начинает работать, а драйвера обесточены (они-то питаются от +12в с БП) и не отвечают по UART. далее вы включаете БП и драйвера начинают работать в дефолте = ненастроеннными.

в общем - вам надо разорвать питание контроллера от USB, чтобы он работал только от БП. ну или подключать USB только после включения БП. третий вариант - обязательная ручная перезагрузка перед использованием (после всех подключений) кнопкой Reset на контроллере.

я бы сделал первое - там на плате должна быть перемычка, отключающая питание по USB.

12.03.2020 в 21:40
0

Попробовал все три варианта, не помогает. Работает правильно только если сначала включить +5v на контроллер, а после этого уже подать 12в на RAMPS. Но это как то не правильно....

12.03.2020 в 23:11
0

т.е. всё с точностью до наоборот? ненастроенный драйвер работает правильно, а настроенный - нет?

 в таком случае надо разбираться с распиновкой, настройкой порта управления, параметрами "заливаемыми" в драйвер, ревизией драйверов итд.

тут я пас - не вникал глубоко в тему: посмотрел-почитал про возможности управляемых режимов и пришёл к выводу, что мне они не нужны.

если они вам нужны - придётся разбираться, ну а чтобы просто запустить и попечатать - можно их пока отключить.

13.03.2020 в 09:00
0

Да, это новая большая тема,в которой надо разбираться.... В любом случае спасибо что помогали разбираться во всём этом! Это мой первый принтер, всё познаю с нуля))

10.03.2020 в 23:21
0

а в репетире можно принтер прошить..... может лишнюю кнопку жмёте?

11.03.2020 в 09:26
0

Лишнюю кнопку вряд ли жму. Дело в том что я пробовал и без программы, прям на самом принтере через меню вручную двигать каждую ось отдельно и даже парковку включать. Всё работает,но только до перезагрузки принтера.

11.03.2020 в 09:56
0

так до перезагрузки или до репетира?

11.03.2020 в 13:20
0

Всё работает после загрузки скетча в принтер и до первой перезагрузки контроллера принтера. Проблема в том, что когда подключаюсь репитером - происходит перезагрузка тоже. И по этому при управлении с репитера работает сразу не правильно.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Калибровочная модель для фотополимерника в ответах

Совет по очистке дисплея от затвердевшего фотополимера.

Улучшение 3D печати поддержек МАРКЕРОМ [Перевод статьи]

Тестирование гравера 3DQ One V2

Корзинка для вселенной STALKER

Обзор интраорального 3D-сканера Medit i500