Анонс новой управляющей электроники для 3D принтеров. STM32F4 и RepRapFirmware
Всем доброго времени суток. Подходит к завершению реализация проекта моего долгостроя, и я решил, что пора уже о нем рассказать.
О создании платы с контроллером на борту я задумался уже сразу после выхода RuRAMPS4D. Меня не устраивали ограничения накладываемые форматом ArduinoDue, да и контроллер на ней был установлен уже устаревший. Поэтому прикинув, решил делать платку на STM32F429 (180MHz, 192Kb RAM, 2048Kb флэш памяти), можно было взять контроллер и младшей серии, но хотелось камешек “на вырост”. Изначально планировалось, что в качестве основной прошивки платы будет Marlin 2.0, т.к. на тот момент уже вовсю «пилили» поддержку STM32, я и даже поэксперементировал с отладочной платой.
Но, все равно это был тот же Marlin, который писался еще для 8-битных систем, и многие фишки того же STM32 там не были реализованы (например работа с картой по SDIO). Поэтому решил посмотреть что есть изначально написанное для 32-битный контроллеров. Таких прошивок было две Smoothieware и RepRapFirmware, но у обеих не было поддержки контроллеров STM32, и предстояла не маленькая работа по портированию. После долгих раздумий, мой выбор выпал на RepRapFirmware, прошивка мне показалась интереснее, хотя бы встроенным веб сервером и функциональным веб интерфейсом, да и как оказалось, развивается она гораздо быстрее (уже версия 3.0 в бете появилась).
Ну и начал я рисовать потихоньку плату, которая сможет в полной мере раскрыть потенциал прошивки, параллельно занимаясь поиском, того, кто мне поможет с прошивкой, т.к. сам я не особо силен в программировании., что то могу, но медленно и не особо красиво. В итоге к зиме 2018г разработка прототипа платы для обкатки был готов, а вот с прошивкой дело не продвинулось, так никого и не нашлось, все разработчики оказались под завязку заняты другими проектами. Ну что ж делать, засучил рукава, обновил свои знания в С++, проштудировал мануалы на контроллер и принялся за работу. Вот собственно плата прототип, на которой отлаживалась прошивка.
Примерно к апрелю я добился работы основных функций прошивки на STM32 (моторы крутились, температура измерялась, работал ШИМ, UART, реализовал работу с SD картой (SDIO интерфейс) работу с веб интерфейсом через Ethernet). Планируя разработку, хотел заменить модуль ESP8266, на ESP32, и место на прототипе предусмотрел именно под него, но потом осознал, что портирование прошивки еще и WiFi модуля займет слишком много времени. В итоге оставил ESP8266, тем более что веб сервер тут крутится на STM32, а ESP-шка выполняет только функцию WiFi моста, и особых мощностей от нее не требуется.
Оставалось портировать оставшиеся функции, кое-что добавить, например работу с USB Flash, а не только с SD картой. И перерисовать плату уже для производства. Но ряд жизненных и семейный обстоятельств в очередной раз отодвинул сроки выхода платы в свет.
И все же не смотря на все трудности, «мы строили, строили, строили, и наконец построили». Получился некий гибрид всех плат Duet3D но со сменными драйверами, и возможностью подключения USB Flash. В данный момент первая небольшая партия плат отдана в производство, и к ноябрю я планирую начать ее продажи, тогда же выложу на гитхаб исходники прошивки.
Теперь о том как она будет выглядеть, и что уметь.
Собственно вот 3D модель платы (реальная будет черной).
- Прошивка. RepRapFirmware.
- Питание. 12-24В питание основной электроники. Отдельные разъемы для подключения питания нагреваемого стола и драйверов моторов (отделены от питания основной электроники).
- Вход PS-ON для ATX БП.
- На плате реализована защита по току и напряжению каждого из питающих напряжений (входное, 5В, 3.3В).
- Слоты для съемных драйверов – 6шт (с программной поддержкой TMC2130, TMC5130/60).
- Выходы для нагревателей хотендов -3шт (пружинные разъемы вместо винтовых, мне они понравились больше, и по удобству и по тому как держат провод).
- Выходы для нагревателей мощной нагрузки -2шт (не смотрите что MOSFET-ы маленькие, они держат нагрузку как и большие на RuRAMPS4D и при этом не греются).
- Выходы для подключения управляемых вентиляторов – 4шт. Кроме того параллельно им установлены разъемы подключения 3-х проводных вентиляторов, для считывания скорости вращения (прошивкой поддерживается).
- Отдельный вход для питающего напряжения вентиляторов, если им необходимо напряжение, отличное от питающего напряжения платы.
- Входы для подключения термисторов или PT1000 – 5шт.
- Выходы для подключения термопар - 3шт (опционально) .
- Подключение дисплеев. Плата работает с FullGraphic 12864, с MKS TFT (альтернативная прошивка), ну и с Дуэтовской PanelDue.
- В настоящий момент так же идет разработка TFT дисплея (разрабатываю не я) с хорошей матрицей, шустрым и красивым интерфесом основанным на TouchGFX, и вместе в RepRapFirmware, предоставляющем возможность полного конфигурирования принтера с экрана дисплея, типа как Lerdge, только настроек может быть гораздо больше.
- Разъемы для подключения устройств I2C и SPI.
- Входы для концевиков и датчиков филамента – 6шт.
- Отдельно два разъема для датчиков Z-probe, один для индуктивных, второй для инфракрасных.
- Разъемы для подключения сервомашинок – 2шт.
Интерфейсы:
- Ethernet. Реализован на модуле WizNet, будет устанавливаться на плату опционально.
- WiFi.
- Следует отметить, что WiFi модуль как и на платах Duet3D общается с контроллером по скоростному интерфейсу SPI с использованием DMA вместо традиционного UART. Что позволяет копировать файлы на SD карту принтера на скорости 500-1000Кбайт/c. Т.е файл размером 20Мб копируется в среднем секунд за 30, а это уже приемлемо для использовния.
- Слот для microSD карты
- MiniUSB разъем для связи с компьютером и прошивки.
- USB-A для подключения USB FLASH.
- GPIO разъем для подключения одноплатников (Raspberry PI, Orange Pi и подобных). Причем в RepRapFirmware 3.0 для одноплатников делают свой управляющий сервер, и связь с платой будет реализована тоже через SPI. Что повысит скорость и качество связи.
Выдаваемого платой питания 5В (5А) достаточно для того, чтобы не использовать для Raspberry Pi отдельный блок.
Дополнительно на плате присутствует разъем для подключения плат расширения (на плате может быть например 3 слота драйверов моторов + 3 разъема для нагревателей и 3 для термисторов. Данные платки еще в разработке, и появятся после выхода основной.
Хочу так же отметить способы прошивки/обновления платы. Это можно будет сделать как через USB/UART так и записав прошивку на SD карту, после перезагрузки прошивка обновится.
Для анонса наверное хватит.
P.S. Плата получилась не дешевой, продажная цена ориентировочно 7000р без термопар и Ethernet модуля (только WiFi). Снижение возможно в дальнейшем при массовом выпуске и соответственно снижении затрат на производство.
Еще больше интересных статей
Изменения в следующей версии 3D-принтер PonyBot
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
•Порт...
Скорость, температура и перевод RAMPS 1.5 на 24В
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Z-Bolt - H-bot & CoreXY 2в1. Чертежи для резки. Список деталей. Видеоинструкция по сборке.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Часть 1.
Часть 2.
Часть 3....
Комментарии и вопросы
Не считаю себя опытным 3Д моде...
Не понял зачем все так усложня...
Закрытый куб нужен только для....
Здравствуйте, ситуация такая:...
Печатаю последовательной печат...
Здравствуйте!Столкнулся со стр...
Всем привет, хотел попросить ч...