Аппаратное обеспечение RepRap. Часть 1. 8 бит хватит всем.
Тому, что у нас сейчас есть возможность за разумные деньги купить или собрать собственный FDM-принтер, мы обязаны движению RepRap. Не буду сейчас о его истории и идеологии - нам сейчас важно то, что именно в рамках RepRap сформировался определенный 'джентльменский набор' железа и софта.
Чтобы не повторяться, скажу один раз: в рамках данного материала я рассматриваю только 'обычные' FDM-принтеры, не уделяя внимания промышленным проприетарным монстрам, это совершенно отдельная вселенная со своими законами. Бытовые устройства с 'собственными' железом и софтом (а таких немало 'за бугром', да и до нас иногда добираются) тоже трогать не буду. Далее под 'принтером' я понимаю полностью или частично открытое устройство, 'уши' которого торчат из RepRap.
8 бит хватит всем
Исторически сложилось так, что 'мозг' большинства принтеров - это восьмибитный микроконтроллер от Atmel с архитектурой AVR, в частности, ATmega 2560. А в этом виноват другой монументальный проект - Arduino называется. Программная его составляющая в данном случае не интереса - Arduino-код более прост для понимания новичками (по сравнению с обычным C), но работает медленно, а ресурсы жрет как бесплатные. Поэтому, когда ардуинщики упираются в нехватку производительности, они или бросают затею, или потихоньку превращаются в эмбеддеров ('классических' разработчиков микроконтроллерных устройств). При этом, кстати, 'железо' Arduino бросать совершенно не обязательно - оно (в виде китайских клонов) дешевое и удобное, просто начинает рассматриваться не как Arduino, а как микроконтроллер с минимальной необходимой обвязкой. По факту, Arduino IDE используется как удобный в установке набор из компилятора и программатора, 'языком' Arduino в прошивках и не пахнет.
Но я немного отвлекся. Задача микроконтроллера - выдавать управляющие воздействия (осуществлять так называемый 'ногодрыг') в соответствии с получаемыми инструкциями и показаниями датчиков. Очень важный момент: данные маломощные микроконтроллеры обладают всеми типичными чертами компьютера - в маленьком чипе есть процессор, оперативная память, постоянная память (FLASH и EEPROM). Но если ПК работает под управлением операционной системы (и она уже 'разруливает' взаимодействие железа и многочисленных программ), то на 'меге' у нас крутится ровно одна программа, работающая с железом напрямую. Это принципиально.
Часто можно услышать вопрос, почему не делают контроллеры 3D-принтеров на основе микрокомпьютера вроде того же Raspberry Pi. Казалось бы, вычислительной мощности вагон, можно сразу сделать и веб-интерфейс, и кучу удобных плюшек… Но! Тут мы вторгаемся в страшную область систем реального времени.
Википедия дает следующее определение: 'Система, которая должна реагировать на события во внешней по отношению к системе среде или воздействовать на среду в рамках требуемых временных ограничений'. Если совсем на пальцах: когда программа работает 'на железе' непосредственно, программист полностью контролирует процесс и может быть уверен, что заложенные действия произойдут в нужной последовательности, и что на десятом повторении между ними не вклинится какое-то другое. А когда мы имеем дело с операционной системой, то она решает, когда исполнять пользовательскую программу, а когда отвлечься на работу с сетевым адаптером или экраном. Повлиять на работу ОС, конечно, можно. Но предсказуемую работу с требуемой точностью можно получить не в Windows, и не в Debian Linux (на вариациях которой в основном работают микро-пк), а в так называемой ОСРВ (операционная система реального времени, RTOS), изначально разработанной (или доработанной) для данных задач. Применение RTOS в RepRap на сегодняшний день - жуткая экзотика. А вот если заглянуть к разработчикам станков с ЧПУ, там уже нормальное явление. Для примера - плата не на AVR, а на 32-битном NXP LPC1768. Smoothieboard называется. Мощи - уйма, функций - тоже.
А дело все в том, что на данном этапе развития RepRap, '8 бит хватит всем'. Да, 8 бит, 16 МГц, 256 килобайт флеш-памяти и 8 килобайт оперативной. Если не всем, то очень многим. А тем, кому недостаточно (это бывает, например, при работе с микрошагом 1/32 и с графическим дисплеем, а также с дельта-принтерами, у которых относительно сложная математика расчета перемещений), в качестве решения предлагаются более продвинутые микроконтроллеры. Другая архитектура, больше памяти, больше вычислительной мощности. И софт все равно в основном работает 'на железе', хотя, некоторые заигрывания с RTOS маячат на горизонте.
Еще больше интересных статей
Быстрая печать ажурных стенок в Ultimaker Cura
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
duet web control не регулируются обороты вентилятора обдува детали на BTT SKR V1.4
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
принтер у меня самодельно переделанный из ки...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Из 2024 выглядит все еще бодро...
https://www.thingiverse.com/se...
Я позавчера перерыл много сайт...
Приветствую, начал знакомится...
Здравствуйте. Имеется стоковый...
Всем доброго! По поводу жидкой...
На 3 д тодей я делаю не очень...