Российская 32 битная плата управления 3D принтером с HMI дисплеем, с собственной прошивкой.
Добрый день!
Представляю вашему вниманию свою новую разработку: программно- аппаратный комплекс для построения 3D принтеров промышленного класса. При помощи такого комплекса можно в короткий срок реализовать различные конструкции 3D принтеров, печатающих гранулами, филаментом, композитами или пищевыми составами.
Комплекс был разработан, как тестовая платформа для упрощения реализаций в 3D принтерах различных новых идей и представляет собой связку из HMI сенсорного дисплея и платы управления на микроконтроллере серии STM32F4.
Дисплей
Первоначально программа платы управления поддерживает только один тип HMI дисплеев диагональю 2.4 – 10.1 дюйма. Это знакомые многим- дисплеи фирмы Nextion. В основном HMI дисплеи представляют собой сенсорные ЖК экраны с собственным микроконтроллером, визуальный интерфейс управления которых, набирается в специальной программе из готовых элементов: кнопки, графики, цифры, шкалы. Таким образом, применяя подобное готовое устройство для разработанной платы управления, появляется возможность просто и быстро менять структуру меню, цвет и размер кнопок, их количество, общий дизайн.
Пример разработано стартового окна- одноэкструдерного 3D принтера с активной камерой.
Новинка в стартовом окне — это знак предупреждения (1), который возникает при самодиагностике, если в системе есть неполадки и дополнительная область- значков событий (2), возникающие при подключении платы к компьютеру, включении вентилятора, сигнала наличие пластика и т.д.
Видео реализации выбора файла к печати. Дисплей с диагональю 4.3 дюйма.
HMI дисплей в разработанной плате управления поддерживает еще два дополнительных функционала, используя которые в качестве инструмента разработки, можно в короткий срок получить требуемую функциональность от меню, настроив его под себя.
- Помимо прямого обращения дисплея к плате при работе стандартного меню принтера, заложенного в прошивке, возможна отправка с дисплея стандартных G-кодов, которые обрабатываются в конвейере- обработчике команд на плате управления.Как это работает: к любым новым созданным кнопкам можно привязать G-код, команду или их последовательность, которые отправляются на плату для выполнения того или иного действия при нажатии на кнопку. Также, G-код можно присвоить и к любым событиям или действиям на экране.
- На экран приходит множество различной информации во время печати и в периоды простоя принтера, например: процент выполнения печати, высота слоя, температура экструдера. Кроме того, дополнительно отправляются метки начала и окончания печати, метки при переходе по слоям печати, значения в сэмплах от АЦП на плате. Имея эту информацию, при помощи встроенных функций HMI дисплея (условные операторы, счётчики, таймеры), можно организовать дополнительную автоматизацию работы принтера. Все условия можно запускать и останавливать при помощи созданных кнопок.
Такая расширенная поддержка экрана со стороны платы позволяет создавать персонализированные решения в меню: кнопки с преднастроенными параметрами, вызов макросов из памяти процессора или написание макроса в дисплее, осуществление простейшей автоматизации печати.
Несколько примеров использования HMI дисплея для автоматизации.
- Реализация макроса прочистки сопла на определённых слоях печати. Преимущество заключается в том, что очистку можно включить или выключить, при необходимости, с экрана. Кроме того, можно настроить время действия данного макроса после запуска печати.
- Реализация алгоритма управления подсветкой. Изменение ее яркости и цвета в зависимости от внешней освещенности и процента выполнения печати, сигнализация неполадок в системе.
- Реализация автоотключения принтера по окончанию печати при помощи команды M81.
- Управление портами платы 3D принтера по заранее настроенному алгоритму или по событиям.
Дисплеи Nextion имеют разную диагональ, и для того, чтобы не плодить различные прошивки, мы сделали меню, которое можно подстроить под требуемые задачи, изменяя несколько параметров в конфиг- файле платы управления. Например, для изменения количества строк отображаемых на дисплее файлов, находящихся на USB- накопителе, необходимо в конфиг- файле указать их число, далее, программа начинает работать под заданные количество строк. Таким образом, составляется меню для различных диагоналей экрана, шрифтов и ориентаций экрана изменяя лишь несколько параметров в конфигурационном файле.
Реализовали поддержку переключения языка интерфейса (английский и русский) из меню принтера.
Плата управления
Сердцем платы является процессор семейства STM32F4. Габаритные размеры 120х150 мм. Плата создавалась, как экспериментальная платформа, при помощи которой можно реализовать различные конфигурации 3D принтеров. При создании, основной упор был сделан на ее надежность и длительную работу в составе 3D принтера, это обусловило широкое применение TRANSIL диодов и сборок для защиты от импульсных и статических помех. Традиционные MOSFET-транзисторы заменены интеллектуальными ключами с электронной защитой от коротких замыканий и функцией диагностики выхода. Применение интеллектуальных ключей позволило избавиться от плавких предохранителей, что также положительно сказывается на надежности платы управления во время работы.
Силовые клеммы для подключения питания и мощных нагрузок к плате, применяются фирмы WAGO-256 — это наборные модульные клеммы для печатных плат с удобным нажимным рычагом крепления провода.
Все потребители разделены на четыре группы- PWR1-PWR4. Такое построение позволяет легко комбинировать нагрузки с разным рабочим напряжением питания, а также осуществить режим ожидания (Standby Power), при котором принтер будет потреблять минимум энергии по окончанию печати. В плате все нагрузки коммутируются через ключи, управляемые центральным процессором. При помощи специального вывода под внешнее реле можно организовать два варианта отключения: первый – отключение всей электроники от сети с последующим запуском через внешнею кнопку и второй – процессор переводит все нагрузки в неактивное состояние: вентиляторы, дисплей, флешку и т.д. далее сам процессор засыпает, но, при этом, плата может возобновить свою работу по сигналу дистанционного включения или по сигналу от подключенного компьютера. Так же, при наличии дежурного блока питания, подключённого к вводу PWR1, реле может отключать от сети и второй мощный блок питания для ввода PWR2-PWR4 (дополнительное энергосбережение). Второй режим энергосбережения с сохранением возможности возобновить работу 3D принтера по команде будет полезен в построении 3D печатных ферм.
На плате отсутствуют стандартные гнезда под USB флешку и гнездо для подключения компьютера, вместо них установлены пружинные клеммы WAGO. Такое решение позволяет при помощи кабелей удлинителей, отпрессованных наконечниками, разместить все необходимые гнезда в удобных местах на принтере без привязки платы к лицевой панели.
Как было описано выше, интеллектуальными ключами коммутируются все нагрузки и, при этом, с них дополнительно снимается информация самодиагностики системы. В зависимости от типа ключей в каналах, диагностическая информация с них разная.
- Интеллектуальные ключи для канала хотэнда, подогреваемой платформы и подогрева камеры принтера применяются одинаковые, максимальный ток потребителей по каждому каналу составляет 20А. Диагностическая информация с них, следующая: обрыв нагрузки, короткое замыкание в нагрузке, перегрев ключа, мощность - потребляемая подключённой к ним нагрузки.
- Для трех каналов вентиляторов, максимальный ток потребления в 1А. Диагностическая информация с них, следующая: обрыв нагрузки, короткое замыкание в нагрузке, перегрев ключа.
- Для двух каналов вентиляторов и канала питания концевых выключателей можно раздельно установить напряжение 5/12 В, максимальный ток потребления по каналам составляет 0,5 А. Диагностическая информация с них, следующая: обрыв нагрузки, короткое замыкание в нагрузке, перегрев ключа.
- Для питания дисплея применяется ключ с параметрами выхода 5В 1А, для USB флешки 5В 0,5А. Диагностическая информация с них, следующая: короткое замыкание в нагрузке, перегрев ключа.
Так как плата, в основном, рассчитана на промышленное оборудование, то количество драйверов на плате ограниченно четырьмя штуками, но, при этом, выводы их управления STEP, DIR и EN продублированы буферными микросхемами на гнезда для непосредственного управления внешними драйверами шаговых двигателей, логическое напряжение на этих выходах 5В. Также на плате имеются дополнительные 10 выходов, сформированных через буферные микросхемы под внешние подключение, с логическими уровнями 5В, все выхода защищены TRANSIL диодами.
Для внешнего подключения удаленных датчиков с сухим контактом на плате предусмотрено 6 входов, с оптической развязкой. Подобные входы могут потребоваться, например, для измерения уровня гранул в бункере или для подключения концевых датчиков на «большой» раме принтера.
USB подключение к компьютеру гальванически изолировано от платы и защищено TRANSIL диодами.
Измерение температуры по трем каналам, производится при помощи платинового датчика PT100 и специализированных микросхемах MAX31865. Подключение возможно по двух-, трех- или четырехпроводной схеме измерительного датчика температуры. Диагностическая информация с микросхем, следующая: замыкание датчика, обрыв провода датчика. Применение в качестве датчика температуры платинового термосопротивление, было обусловлено следующими соображениями: измерение температуры до +600°C, широкий выбор корпусных исполнений датчика, отсутствие необходимости калибровки, высокая точность измерения, подключение по длинному кабелю до 100 метров.
Обмен данными платы с внешним оборудованием осуществляется при помощи интерфейса RS485. Выбор данного интерфейса обусловлен его широкой распространенностью в промышленности. RS485 поддерживается различными датчиками и контроллерами технологических процессов (в основном с протоколом Modbus).
Выводные электролитические конденсаторы установлены специальной серии, со сроком службы в 6 раз больше, чем стандартные электролитические конденсаторы поверхностного монтажа.
Дисплея NEXTION имеет интерфейс UART, но для общения между платой управления и дисплеем реализован интерфейс RS232 (стандартный интерфейс для промышленных дисплеев), который допускает длину кабеля до 15 метров. Поэтому, необходим адаптер RS232 – UART, который будет идти в комплекте с платой. Такое решение будет более надежно при работе в условиях повышенных помех.
Также на плате есть два входа АЦП, один по термистор, второй под датчик внешней освещённости.
На плате присутствуют дополнительные входы и выходы. Их назначение- один из предметов будущих публикаций.
Предназначение
- Представленная плата и программа для микроконтроллера STM32F4 является четвертой генерацией изначально разрабатываемого под себя комплекса. Совместно с дисплеем HMI, комплекс получился довольно универсальным в применении. На этом комплексе я планирую воспроизвести двух- и более- экструдерные 3D принтеры с автоматическим обмером сопел по тензодатчику (некий аналог решения от Йозефа Пруши(ссылка)). Для тензодатчика создается свой экструдер, и для его изготовления я проводил эксперименты с пайкой алюминия (ссылка). Теоретически, если экструдер имеет минимальные массогабаритные параметры, и вентиляторы не создают значимых вибраций на измерительной части, то с такой конструкции можно снять большое количество информации, не только о размерах и координатах сопел, но и, предположительно, косвенно о давлении филамента в зоне расплава. В ближайшее время я проверю эту гипотезу. На данном этапе могу с уверенностью сказать лишь то, что автоматический обмер координат сопел реализовать точно удастся. Я предполагаю внедрить в экструдер мой датчик движения филамента, позволяющий определить недоэкструзию пластика при печати (ссылка), с выводом на экран нового параметра – скольжение пластика. Думаю, что совместно с тензодатчиком должен получиться отличный SMART экструдер. В будущем интересно воспроизвести некий аналог системы Ultimaker S5 Pro Bundle, для печати 24/7 (ссылка), но со своими решениями в виде плат, датчиков и алгоритмов работы.
- Плата уже нашла применение в одном из коммерческих проектов, поэтому, родилась идея о третьем предназначении.
- Приглашаю к сотрудничеству Российские компании, стартапы. Все наработанные мною решения позволят в короткий срок осуществить задуманное Вами, построить прототип, с последующим запуском его в серийное производство и совместными усилиями побороться на мировом рынке решений по 3D печати! Цель амбициозная, но вполне достижимая, главное от Вас — это идея и желание работать! Интересны следующие направления: печатающие гранулами 3D принтеры, большие промышленные принтеры с активной камерой или МФУ устройства печати и фрезеровки, 3D принтеры печатающие пищевыми материалами, 3D фермы.
О деталях и планах
Плата управления, возможно, получилось избыточна в некоторых схемотехнических решениях, поэтому относительно дорогая и применять ее для сборки простых, домашних одно-экструдерных принтеров нецелесообразно, поэтому, на данном этапе в свободной продаже ее не будет, так как дешевле купить другие готовые комплекты, но, по мере развития проекта и обрастанием своего, нового функционала, я сделаю вариант доступнее.
Мои планы на ближайший месяц- собрать плату и прошивку под новое ее исполнение, доделать меню. Так же, планирую заказать вторую, небольшую экспериментальную плату под SMART экструдер. С ее элементной базой я определился, на ее борту будет процессор, интеллектуальные ключи под нагреватель экструдера и два вентилятора, два акселерометра, тензоусилитель и еще ряд элементов под различные датчики, связь с основной платой управления по RS485.
По прошивке
Прошивка пишется собственными силами. G-код команды позаимствовали с марлина 1.0 пятилетней давности, оттуда же был взят расчет траекторий движений, поэтому плата не поддерживает другие дисплеи, кроме тех, что мы внедряем. Такая же особенность и с датчиками. На данный момент в программу микроконтроллера платы вводим возможность компенсации резонанса механики 3D принтера и поддержку еще двух других вариантов HMI дисплеев, дороже NEXTION – промышленного класса и дешевле NEXTION – этот тип вводим для ценовой доступности комплекта платы и дисплея. Написание программы для микроконтроллера у нас шло очень медленно, плата постоянно изменялась, решения по датчикам тоже менялись, но, так как сейчас все эти вопросы решены, основной упор в работе будет нацелен на развитие и оптимизацию прошивки.
Немного статистики по плате
Конденсаторов – 84 шт.
Резисторов – 135 шт.
Различных диодов (защитных TRANSIL, шотки и т.д.) – 124Индуктивностей – 11 шт.
Интеллектуальных ключей – 10 шт.
Микросхем – 26 шт.
Оптронов – 6 шт.
Кварцевый резонатор – 1 шт.
Общее количество выводов всех компонентов – 1530 шт.
Архивное фото одной из прошлых версий плат.
Плата интересна тем, что прошивка поддерживала жидкокристаллический экран Российской компания «МЭЛТ»
Еще больше интересных статей
Замена нагревательного элемента на хотэнде QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Обновленный хотэнд QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Незачем, но со столом, наприме...
Справедливости ради: 99% стоко...
Тезис про "активно охлаждаемую...
начал осваивать фрикад, до сих...
вобщем всё было норм печатал х...
После 1 или максимум 3го слоя...
Добрый вечера! Есть задачка. К...