jcxz 231 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба Интересно: кто-нибудь разбирался/модифицировал прошивку своего принтера? Особенно интересна эта плата: https://github.com/makerbase-mks/MKS-Robin-Nano-V2.X/wiki/Wiring_Pinout_and_Size Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба 19 часов назад, jcxz сказал: Интересно: кто-нибудь разбирался/модифицировал прошивку своего принтера? Особенно интересна эта плата: https://github.com/makerbase-mks/MKS-Robin-Nano-V2.X/wiki/Wiring_Pinout_and_Size Я разбиралась и модифицировала под свои цели плату "MKS Gen V1.4". Купила 2 штуки с рук за полцены на Авито. Это, я полагая, одна из самых крупных плат такого рода, разве что за исключением платы "MKS Monster8", чьё название говорит само за себя. :). А нынче ассортимент крупных плат (а стало быть, и удобных!) из продажи вымыли карлики, да еще и с гордостью носящих приставку "нано". Как будто такую плату я с собой в кармане буду носить. Лично мне плата была нужна не для 3D-принтера, а для пары шаговых двигателей, весом где-то по 20 кг каждый :). Причем именно такие управляющие платы для китайских 3D-принтером оказались самым дешевым из таких решений. К сожалению, мой опыт модификации мало чем вам может пригодиться - другая задача. А модифицировать мне пришлось "врожденные" ограничения 3D-принтера длиной его штанг и направляющих. И хотя системой G-кодов плату можно перевести в относительную шкалу (не координату задаем, а смещение от текущего положения), прошивка на плате такова, что дальше виртуального края "рельса"движки крутиться не хотят, и командами это ограничение отменить невозможно. Так что если вам тоже плата под 3D-принтер нужна, то идите на сайт https://marlinfw.org/ . Там сорцы программ под эти платы раздают, где внутри полно комментариев. Вполне можно сообразить, в каком месте там ковырять. Например, я добавила к уже существующей прошивке свои коды, назвав их "P-кодами" (там уже ранее были G- и M-коды). А если не так, то смело стирайте их дурную прошивку и пишите свою заново :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 25 октября, 2022 Опубликовано 25 октября, 2022 · Жалоба 16 часов назад, Xenia сказал: Так что если вам тоже плата под 3D-принтер нужна Мне нужна корректная прошивка для моего 3D-принтера, в котором стоит указанная плата. Производитель даёт ссылку на исходники: https://github.com/makerbase-mks/MKS-Robin-Nano-Firmware как исходники прошивки своей платы. Я их скачал, глянул..... волосы встали дыбом!!! Цензурно описать их невозможно. Такое ощущение, что писали школьники, к тому же обкуренные. Полный бардак в исходниках. Быдлокод и ардуинщина в своей самой худшей форме. При компиляции IAR выдаёт больше 3 тысяч варнингов! Понятно, что и прошивка глючит во многих местах (почему я и полез за исходниками). Вот теперь думаю - пытаться эту исправить или искать может более свежую, надеясь что хоть часть багов поправили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sverchok 1 25 октября, 2022 Опубликовано 25 октября, 2022 (изменено) · Жалоба Я вы не рассматриваете проект Marlin для своего принтера? Под вашу плату вроде есть https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware. Я модифицировал Marlin для creality вполне не плохо сделано. Правда из-за мультиплатформенной поддержки HAL уровень написан с извращениями. Изменено 25 октября, 2022 пользователем Sverchok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 25 октября, 2022 Опубликовано 25 октября, 2022 · Жалоба 15 минут назад, Sverchok сказал: Я вы не рассматриваете проект Marlin для своего принтера? Я так понял - те исходники, которые я смотрел, они тоже - Marlin. По крайней мере там есть такая папка с файлами. Или я не прав? 15 минут назад, Sverchok сказал: Под вашу плату вроде есть https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware. Да, эти тоже я находил. Только они собираются не IAR-ом как я понял. И к тому же - под множество плат могут собираться. Надо разбираться как собирать и настраивать сборку под свою плату. И можно ли их собрать IAR? 15 минут назад, Sverchok сказал: Я модифицировал Marlin для creality вполне не плохо сделано. Правда из-за мультиплатформенной поддержки HAL уровень написан с извращениями. Чем собирали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sverchok 1 25 октября, 2022 Опубликовано 25 октября, 2022 · Жалоба 2 минуты назад, jcxz сказал: Я так понял - те исходники, которые я смотрел, они тоже - Marlin. По крайней мере там есть такая папка с файлами. Или я не прав? https://github.com/makerbase-mks/MKS-Robin-Nano-Firmware . Да какая-то папка marlin есть, но как будто это только малая его часть. В первоисточнике исходных файлов гораздо больше. Может не совсем удачная попытка адаптации. Если вас интересуют исходники самого Marlin, то они вот тут https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware/tree/master/Marlin/src 4 минуты назад, jcxz сказал: И можно ли их собрать IAR? Нет под IAR я не видел инструкции. Для сборки нужен будет VS Code + Platform IO. Вот тут подробно расписано https://marlinfw.org/docs/basics/install_platformio_vscode.html, как настроить сборку. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 25 октября, 2022 Опубликовано 25 октября, 2022 · Жалоба 2 минуты назад, Sverchok сказал: Нет под IAR я не видел инструкции. Для сборки нужен будет VS Code + Platform IO. Вот тут подробно расписано https://marlinfw.org/docs/basics/install_platformio_vscode.html, как настроить сборку. А как у вас в целом впечатления от качества исходников и в целом работы прошивки? Вы собирали: https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware ? Просто я только начал печатать на нём, напечатал всего штуки 4 изделия. И уже за это время напоролся на несколько багов: то печать не запускается, тупо стоит и несколько минут ждёт непонятно чего (при уже установленных температурам сопла и кровати), пока не выключишь/включишь питание; то настройки (некоторые) вдруг слетают, не все, а именно некоторые вдруг меняют свои значения ни с того ни с сего; то принтер перестаёт обращать внимание на концевик и начинает биться о конец вала (хотя концевик сработал - видно по светодиоду на нём) - опять нужно перегружать; ну и множество других - всех даже не упомню... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sverchok 1 25 октября, 2022 Опубликовано 25 октября, 2022 (изменено) · Жалоба 26 минут назад, jcxz сказал: Вы собирали: https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware ? Нет у меня принтер creality ender 3 s1. Пробовал вот эту прошивку https://github.com/mriscoc/Ender3V2S1 основана на Marlin, работает как часы. Работал с родной прошивкой, если не ошибаюсь основана на klipper, тоже нареканий нет. Я мельком глянул исходники (которые вам дал производитель), действительно такое чувство, что студент в последний месяц на диплом судорожно, что-то пытался сделать. Изменено 25 октября, 2022 пользователем Sverchok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 25 октября, 2022 Опубликовано 25 октября, 2022 · Жалоба В 25.10.2022 в 13:37, jcxz сказал: Мне нужна корректная прошивка для моего 3D-принтера, в котором стоит указанная плата. Производитель даёт ссылку на исходники: https://github.com/makerbase-mks/MKS-Robin-Nano-Firmware как исходники прошивки своей платы. Я их скачал, глянул..... волосы встали дыбом!!! Цензурно описать их невозможно. Такое ощущение, что писали школьники, к тому же обкуренные. Полный бардак в исходниках. Быдлокод и ардуинщина в своей самой худшей форме. При компиляции IAR выдаёт больше 3 тысяч варнингов! Понятно, что и прошивка глючит во многих местах (почему я и полез за исходниками). Вот теперь думаю - пытаться эту исправить или искать может более свежую, надеясь что хоть часть багов поправили? Самой корректной прошивкой для ВАШЕГО 3D-принтера может быть только ... фабричная 🙂, поскольку на заводе хоть кто-то этим принтером занимался. В других местах, где производятся 3D-принтеры других типов (но на той же плате MKS-Robin-Nano-V2), про особенности ВАШЕГО КОНКРЕТНОГО 3D-принтера не знает никто. Т.е. корректность прошивки в отношении платы и корректность ее в отношении самого принтера - в общем-то разные вещи, хотя корректность в отношении принтера подразумевает то и другое. Причина этого в том, что количество разнообразных 3D-принтеров, если еще не 10 тысяч, то уже приближается к этой цифре. Число существующих управляющих плат доходит до 100, хотя их реальный ассортимент (т.е. то, что продается) имеет тенденцию к снижению, т.к. производить такие платы большими тиражами гораздо выгоднее, чем малыми партиями, как для производителя, так и для покупателя. Скажем, в розницу одна лишь голая микросхема atMega2560 стоит дороже, чем вся эта плата целиком. Именно этим эти платы так меня заинтересовали - прежде всего своей дешевизной. Причем большинство из них действительно красиво сделаны. То же самое можно сказать и о выносных дисплеях, которые используют в качестве пульта управления. А вот Марлин у нас только один для всех принтеров :). Преувеличиваю, конечно, но близко к истине, что находит себе подтверждение в том, что абсолютное большинство управляющих плат - Ардуины. А Ардуины они потому, что так написал свою прошивку Марлин :). А кто по стопам Марлина идти побрезгут, тот будет писать свою прошивку многие годы 🙂 и потратит на эти усилия половину отпущенного бюджета. В 25.10.2022 в 13:37, jcxz сказал: Производитель даёт ссылку на исходники: https://github.com/makerbase-mks/MKS-Robin-Nano-Firmware как исходники прошивки своей платы. Я их скачал, глянул..... волосы встали дыбом!!! Цензурно описать их невозможно. Такое ощущение, что писали школьники, к тому же обкуренные. Полный бардак в исходниках. Быдлокод и ардуинщина в своей самой худшей форме. При компиляции IAR выдаёт больше 3 тысяч варнингов! Понятно, что и прошивка глючит во многих местах (почему я и полез за исходниками). У меня вот тоже от лицезрения этого кода косички дыбом встали :), то быстро разобралась что к чему. Причем не в самом коде, а почему он такой "дурной". А это не злой умысел и не халтура, а традиция у адуинщиков такая 🙂. И использовать для компиляции следует "Arduino Studio" (там компилит GCC, а не IAR). Оно, конечно, плохо, что язык C++ так сильно расползается в стандартах, но со своим уставом в чужой монастырь не ходят. Тем не менее, дело обстоит еще хуже, и вовсе не GCC тому виной, а ... традиции ардуинщиков, который сложились еще с первой Ардуины на atMega8. А традиция эта такова, что про устройство микроконтроллера надо ... полностью забыть (!), пронумеровать его микросхему в порядке возрастания номеров только те пины, которыми МК может дрыгать (менять на них высокий потенциал с низким, а про прочие применения начисто позабыть. Далее надо списать откуда-нибудь код, которым этими пинами дрыгают(это обычно 1-2 инструкции) и про контроллер больше вспоминать. Тогда как электронщики, с которыми я знакома, упирают в "даташито-читанизм" :). Отсюда и разный взгляд на вещи: профессиональные электронщики ковыряются внутри контроллера, а принтеро-строители мыслят в рамках логики принтера, а о контроллере вообще не думают. Т.е. для последних принтер - СЧПУ, для которого высокая тактовая частота скорее избыточна, чем необходима. А если что-то нужно специфическое, то ардуино-библиотеки для этого в самый раз. Именно в том и состоит "всеядность" прошивки Марлина, что, будучи заядлым адруинщиком, писал свою программу не под контроллер, а под логический автомат. А познаниями в электронике совсем не пользовался :). В проекте Марлина есть заголовочный файл boards.h, который перечисляет МК, пины которых уж пересчитаны. Вот комбинацией этих определение и получаются прошивки для всех плат. И все остальное (драйверы двигателей, концевики на замыкание и на размыкание, управление нагревателями и пр.) сделано единообразно - выбираешь тип микросхемы и "активируешь" соответствующий дефайны (обычно называемые одноименно). Поведу итог. Ни одна прошивка Марлина к конкретному принтеру не подойдет! Проект Марлина следует рассматривать исключительно, как ЛЕГО-конструктор, требующий тщательной настройки/подгонки под конкретное железо. У меня знакомый как-то купил себе 3D-принтер, который с ходу не заработал - вот он и вздумал в него залить "самую свежую" прошивку, не потрудившись сохранить старую/фабричную. С тех пор он у него в кладовке пылится - мастеровые не смогли его реанимировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 26 октября, 2022 Опубликовано 26 октября, 2022 · Жалоба 22 часа назад, jcxz сказал: Мне нужна корректная прошивка для моего 3D-принтера Может , вам стоит попробовать Klipper ? Первым на этом форуме. 🙂 Про него прочитаете сами. Его достоинства для вас: 1 Простая прошивка для самого принтера. ( проще разобраться , если понадобится) 2 Общее ПО для всех (а значит протестировано многочисленными пользователями) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 26 октября, 2022 Опубликовано 26 октября, 2022 · Жалоба 9 часов назад, muravei сказал: Может , вам стоит попробовать Klipper ? Первым на этом форуме. 🙂 Если подскажете ссылку, то может и попробую. В 25.10.2022 в 14:32, Sverchok сказал: Для сборки нужен будет VS Code + Platform IO. Вот тут подробно расписано https://marlinfw.org/docs/basics/install_platformio_vscode.html, как настроить сборку. Хотел попробовать, но споткнулся на 1-м же шаге: не запускается этот самый VS Code. Почему - неясно, установился нормально. Может ему win7 не нравится? Но почему только установился без вопросов? Если проблемы начались на 1-м же шаге, то боюсь представить сколько их дальше.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sverchok 1 27 октября, 2022 Опубликовано 27 октября, 2022 · Жалоба 13 часов назад, jcxz сказал: не запускается этот самый VS Code. Я собирал на ubuntu 20.04 все пошло с первого раза, как дела обстоят с windows не знаю. Я думаю, что поддержки win7 уже нет, на сайте VS code при скачивании указаны только win 8, 10, 11. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 27 октября, 2022 Опубликовано 27 октября, 2022 · Жалоба 13 часов назад, jcxz сказал: Если подскажете ссылку, то может и попробую. "Ну вы , блин, даете!" (с) "Дело спасения утопающих ..."(с) Вас в Гугле забанили? Я должен выложить 100500 ссылок? Есть сайт , есть на github . Ищите: клиппер 3д. Вы хоть что-то смотрели? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 27 октября, 2022 Опубликовано 27 октября, 2022 · Жалоба [deleted] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 27 октября, 2022 Опубликовано 27 октября, 2022 · Жалоба 10 часов назад, Sverchok сказал: Я собирал на ubuntu 20.04 все пошло с первого раза, как дела обстоят с windows не знаю. Я думаю, что поддержки win7 уже нет, на сайте VS code при скачивании указаны только win 8, 10, 11. Да, я позже нашёл более старую версию, под win7. И через пень-колоду, с 10-го раза и N-х часов мата оно как-то собралось... Прошивать то что получилось ещё не пробовал, позже наверное рискну. Но размер бинарника примерно в ~2 раза меньше, чем получающийся из исходников производителя (~220КБ vs ~484КБ). А исходники производителя реально кривые. Даже просматривая их поверхностно, по диагонали уже нашёл несколько явных багов. Например: void mksSwap(float *src,float *dst) { float *temp; *temp = *src; *src = *dst; *dst = *temp; } И это вызывается из кода, работающего с сохранённым конфигом! Теперь понятно почему конфиг периодически слетает. Или такое: if ( (tmp_char >> 7-j) & 0x01 == 0x01) Такое нашёл в нескольких местах (размножение багов посредством копи-паста ). Ведь явно нужно было: if ((tmp_char >> 7 - j & 1) == 1) Вот и думаю - если даже глубоко не вникая, лишь поверхностно просматривая код, я уже нашёл несколько явных багов, то сколько же их там ещё??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться