Комплект электроники Urd

Итак, начнем публикацию собственно конструкции, и начнем ее с описания комплекта электроники. Здесь будут приведены фотографии того, что фактически было сделано, т.е. версии 1.0, но выложенная разводка платы будет соответствовать тому, что мы планируем делать в будущем, и имеет номер версии 1.1. Разница между ними в основном косметическая и в размерах — версия 1.1 почти на сантиметр меньше.

Материнская плата Urd 1.0, полностью собранная.

Материнская плата Urd 1.0, полностью собранная.

Комплект плат версии 1.0, незапаянный

Комплект плат версии 1.0, незапаянный

Как уже было сказано ранее, существует несколько способов изготовить комплект электроники для репрапа совместимый с широко применяемыми ныне прошивками, требующими для компиляции Arduino IDE — собрать все элементы на одной плате или комплекте плат, и собрать систему из готовых модулей. Первый способ несколько дешевле, но в домашних условиях повторить его нетривиально, поскольку большинство ключевых элементов требует поверхностного монтажа.1 Поэтому мы выбрали путь по сборке комплекта из готовых модулей, где роль самодельных элементов сводится к коммутации, а основные компоненты заказываются. Этот способ несколько дороже,2 зато гораздо проще, и повторябельнее в домашних условиях — платы для Мёбеля и для прототипа серии Urd мы благополучно изготовили на коленке утюгом, не имея до этого вообще никакого внятного опыта подобной деятельности.

К слову сказать, микросхемы контроллеров шаговых двигателей с делителем шагов до 16 производят лишь несколько фирм во всем мире, и отечественных аналогов у них не существует, а с отечественными микроконтроллерами дело и вовсе швах — типа, выкручивайтесь как знаете. Вот, выкручиваемся.

Материнская плата.

Материнская плата Urd 1.0 вид сверху.

Материнская плата Urd 1.0 вид сверху. На фотографии отсутствуют радиаторы на модулях Pololu A4988 и на силовых транзисторах.

Основой контроллера выбрана плата Seeeduino Mega, ближний родственник Arduino Mega, на основе того же микроконтроллера Atmega1280, но в несколько ином форм-факторе и с несколько иной обвязкой на плате. Вообще в индустрии такие модули называются “отладочными платами”, поскольку подразумевается, что никто не будет использовать такую платку в качестве основы собственно серийной конструкции, а просто отработает схему, и конечное устройство уже будет собрано с нуля. Однако, после того как проект Arduino увенчался таким успехом и подвиг людей, не хотевших даже слышать о микроконтроллерах, на работу с электроникой, это уже давно не правило.

Принципиальная схема материнской платы Urd v1.1

Принципиальная схема материнской платы Urd v1.1

Если бы в наших краях легко было бы достать Arduino Mega, то мы наверное предпочли бы не выпендриваться и не рисовать плату с нуля, а взяли бы один из вариантов уже давно разработанных и хорошо зарекомендовавших себя в репрапостроении плат RAMPS. Однако Seeeduino Mega, и его местный клон Freeduino Mega+ заметно проще достать,3 они подешевле, и отличаются одним интересным свойством — стабилизатор напряжения 5В на плате оных заметно мощнее чем на Arduino Mega, что позволяет полностью положиться на нее в смысле получения питания 5В для всего остального, и применить более дешевый блок питания на 12 вольт вместо, например, компьютерного.

В качестве контроллеров моторов мы используем модули на основе микросхем фирмы Allegro A4988, выпущенные американской фирмой Pololu, (Pololu A4988 Stepper Motor Driver Carrier) точно так же как их использует схема RAMPS.4 В отличие от более ранних модулей на A4983, A4988 требуют на один резистор меньше обвязки и снабжены защитой от короткого замыкания на выходах, что весьма пользительно.5 Приобрести эти модули у поставщиков в России затруднительно так же как и раньше, но их можно заказать непосредственно у самой фирмы Pololu с доставкой по EMS — доставляют на раз, и довольно быстро. Существует полный клон этих модулей, с документацией для самостоятельного изготовления, называемый Stepstick — но купить готовое будет дешевле.6

Каждому из этих модулей достаточно для управления трех логических сигналов “enable”, “direction”, “step” — т.е. “включись”, “крутить туда/обратно” и “сделай шаг”, так что подключение их сводится к выведению этих сигналов на ноги Seeeduino Mega без каких-либо изысков, и подаче двух видов питания, для моторов и для логики. Все остальное — забота прошивки. Им также требуются три джампера с одним ограничительным резистором, чтобы менять значение делителя шагов — на этой плате также оставлены джамперы, на случай если вам понадобится поиграть делителями. Я некоторое время думал перейти на микропереключатели, но они занимают на плате больше места, и стоят дороже, а лазить туда надо редко. Настолько редко, что в версии 1.1 я вообще спрятал их под модули, что позволило уменьшить размер платы. Теоретически, можно еще сэкономить и припаять четыре ножки выводимые на мотор так чтобы они торчали вверх, но хотя так было сделано на Мёбеле, от этого мы впоследствии отказались — разъем болтается, места по вертикали требуется больше. Для работы этим модулям обязательно (!) требуются радиаторы и принудительная вентиляция, хотя размер радиатора большой роли не играет, лишь бы аккуратно приклеился на корпус микросхемы.

Для запитывания нагревателей мы используем уже упомянутые ранее полевые транзисторы IRL3803. Если вам не подсунули убитые, то они должны, по спецификации, держать до 120 ампер, а на 10-12 амперах которые использует наш нагревательный стол они даже не будут греться. И не греются, но одна партия бессвинцовых транзисторов нам попалась бракованая или поддельная,7 и чуть не устроила пожар с закоротом стола на 12 вольт через неизвестно откуда взявшееся паразитное сопротивление, так что будьте бдительны. Радиаторы на них совершенно опциональны, и становятся полезны только если с транзистором таки что-то стряслось — в этом случае они спасают плату от дополнительных повреждений.

Скомпоновано все это вместе в этакий трехслойный бутерброд — Pololu A4988 сверху, наша плата посередине, Seeeduino Mega снизу. Это позволяет уменьшить размеры платы, что положительно сказывается на стоимости изготовления. В той плате что вы видите на снимке допущено несколько дурацких ошибок. Во-первых, я прозевал и забыл перед заказом вывести один из слоев надписей — мелочь, но неприятно. Во-вторых, дырочки для ножек Seeeduino Mega слишком маленькие, и ножки гребенки пролезают туда с большим трудом. В приведенной здесь разводке версии 1.1 эти ошибки исправлены.

Материнская плата Urd 1.0, вид снизу

Материнская плата Urd 1.0, вид снизу

После того как все благополучно запаяно, требуется еще одна операция. Плата рассчитана на выполнение на фольгированном текстолите FR4 с толщиной фольги 18нм.8 При такой толщине, дорожка выдерживающая 12 ампер 12 вольт должна иметь ширину 14мм чтобы не греться, и места на нее на плате толком нет, поэтому вместо того, чтобы надеяться, что она выдержит, мы просто напаиваем дублирующие силовые провода непосредственно на еще не обрезанные после запайки ножки транзисторов и колодок. На прототипе эти дорожки горели у нас неоднократно.

Материнская плата Urd 1.0, вид снизу

Материнская плата Urd 1.0, вид снизу после окончания пайки.

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

Все оставшиеся свободными ножки до которых удалось дотянуться не создавая в плате лишних дырок разведены на три дополнительных разъема расширения вместе с землей и питанием, на всякий случай.9 Ножки SPI и трех последовательных портов оставлены незапаяными, но на плате предусмотрено место для соответствующих разъемов, на случай если они потребуются пользователю.

Разводка материнской платы Urd v1.1

Разводка материнской платы Urd v1.1

Список радиоэлементов:

  • Seeeduino Mega — 1 штука.
  • Модули Pololu A4988 — 4 штуки.
  • Транзисторы IRL3803 — 2 штуки.
  • Резисторы 5.1к — 3 штуки.
  • Резисторы 4.7к — 4 штуки.
  • Резисторы 6.8к 1% — 2 штуки.
  • Резисторы 599ом 1% — 2 штуки.
  • Конденсатор электролитический 100мкф 12в или более — 1 штука.
  • Конденсатор электролитический 10мкф 5в или более — 2 штуки.
  • Колодки для нагревателей — 2 штуки.
  • Колодка для питания — 1 штука.
  • Гребенки PLS — 5×2, 3×3, 4×4, 3×6, 1×8.
  • Гребенки PLD — 1×4, 1×16, 4×3.
  • Разъем WF-3 — 1 штука.
  • Гнездо PBS-32 — 2 штуки.
  • Джамперы — 12 штук.

Ответные части разъемов:

  • Гнезда BLS на кабель — 5×2, 3×3, 4х4.
  • Гнездо PBD на плату — 1×16.10
  • Гнездо IDC-8F на шлейф — 2 штуки.
  • Розетка HU-3 — 1 штука.

…вроде бы ничего не потерял.

Плата передней панели управления.

Штатная кнопка Reset от Seeeduino, используемая как основное средство экстренной остановки, и ножка номер 13, на которой во всех ардуинообразных микроконтроллерах уже висит светодиод с резистором, выведены на разъем для передней панели, к которому ленточным кабелем подключается вот такая вот платка:

Плата передней панели Urd, вид сверху.

Плата передней панели Urd, вид сверху.

Схема принципиальная платы передней панели Urd

Схема принципиальная платы передней панели Urd

Причины того, что платка именно такая, в основном исторические. Вообще, как вы могли убедиться выше, у Seeeduino Mega еще осталось изрядное количество свободных ножек, так что можно было бы ничего такого не делать. Однако, на плате прототипа, которая все еще делалась утюгом, и минимальная ширина дорожки не позволяла просунуть ее между ножек разъема, свободных ножек для расширения не хватало. Когда я собрался таки подключить индикатор и пищалку, встал вопрос о том как бы это сделать половчее. Вычитав про способ подключения ЖК-индикаторов через шифт-регистр, я вознамерился его повторить, для чего в модуле передней панели и присутствует шифт-регистр 74HC595. А первым попавшимся под руку ЖК-модулем был индикатор МЭЛТ MT-16S2D-2YLG местного производства.

Плата передней панели Urd, вид снизу.

Плата передней панели Urd, вид снизу.

Тут меня ожидали очень занятные грабли, потому что описанная на вышеприведенной страничке схема не работала, и я драл себе волосы не менее суток. После глубокой медитации на первоисточники было установлено, что контроллер индикатора примененный в индикаторах МЭЛТ — тоже местного производства, фирмы “Ангстрем”, и не полностью соблюдает стандарт. А именно, в случае если состояние входа RS при четырехбитном вводе данных меняется во время между двумя поданными полубайтами, он сбрасывается в состояние приема первого полубайта, даже если сигнал Enable в этот момент не подан. Якобы “на случай ошибок”.

Способ решения проблемы оказался достаточно прост — тактовых сигналов у шифт-регистра два, одним задается скармливание ему битов данных, а другим задается появление их на выходе. Вычитанная мною схема закорачивала их друг с другом, разумно полагая что контроллер индикатора не интересуется своими входами пока сигнал Enable не подан, но в этом случае некоторое время в процессе заполнения регистра значение сигнала RS может меняться, что и приводит к тому что индикатор сходит с ума. Соответственно, мы можем просто разъединить эти два тактовых сигнала, и соединить второй из них с Enable. В этом случае, шифт-регистр по поднятию Enable в единицу единовременно меняет состояние своих выходов согласно состоянию введенных битов, а индикатор срабатывает по сбросу Enable, и получает входные биты когда они уже установлены. Значение входа RS при этом между двумя полубайтами не меняется.

Разводка платы передней панели Urd

Разводка платы передней панели Urd

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

Единственный резистор на этой платке служит для ограничения тока потребляемого пьезой, потому что одна ножка Arduino в состоянии выдать не более 40 mA.

Модуль передней панели в сборе.

Модуль передней панели в сборе.

Список радиоэлементов:

  • ЖК-индикатор МЭЛТ MT-16S2D-YLG или аналог — 1 штука.
  • Шифт-регистр 74HC595 или аналог — 1 штука.
  • Пьезоизлучатель с генератором AX-1205-H2 или аналог — 1 штука.
  • Резистор 130 ом — 1 штука.
  • Гребенки PLS — 1×4.
  • Гребенки PLD — 1×8.
  • Гнездо PBD — 1×8.
  • Разъем WF-2R – 2 штуки.

Ответные части разъемов:

  • Розетка HU-2 – 2 штуки.
  • Светодиод АЛ-307 зеленый.11
  • Кнопка на замыкание.

Плата оптического датчика.

Плата оптического датчика в сборе.

Плата оптического датчика в сборе.

В качестве оптических датчиков применены KTIR0521DS, и ичего кроме двух резисторов им в общем не требуется. Сразу скажу, что они были самыми дешевыми оптоинтеррапторами которые только удалось в Москве найти, и скорее всего, благополучно заменябельны на множество аналогов, возможно более удачных — еще бы знать каких. Формат этой платки практически не изменился со времен Мёбеля, когда я списал ее с Generation 3 Electronics, но она не снабжена светодиодом и прочими компонентами, которые мы сочли излишними.12

Схема принципиальная платы оптического датчика Urd.

Схема принципиальная платы оптического датчика Urd.

Разводка платы оптического датчика Urd

Разводка платы оптического датчика Urd

Прочие электронные компоненты.

В качестве датчиков температуры применимы любые платиновые терморезисторы Pt1000 (НЕ Pt100) класса B с заявленной максимальной температурой не менее 300 градусов, а лучше 500. Они подсоединяются к плате при помощи провода МГТФ на разъемах, и самые большие сложности доставляет подпаивание к этому проводу их тоненьких ножек — мы пользуемся электропроводящим клеем “Контактол” и абсолютно им недовольны. По идее, оптимально было бы припаять их припоем ПОС-10, который обладает самыми правильными для этого случая температурными характеристиками, но искать его лично у меня сил более уже нет, а покупать моток весом 20 кило — увольте.

Питать систему можно от более или менее любого источника 12 вольт постоянного тока, дающего на выходе порядка 30 ампер, т.е. около 350 ватт. Мы практически сразу отказались от идеи использовать компьютерные блоки питания, потому что блок питания на котором написано “350 ватт” основную массу этих ватт выдает вовсе не по шине 12 вольт, ватты компьютерного блока собираются из суммарной мощности всех различных шин питания которые компьютер потребляет. В результате чтобы увидеть на шине 12 вольт 350 честных ватт вам потребуется блок питания от 400 до 600 суммарных ватт, в зависимости от того, сколько у него ватт где, что довольно дорого, а большая часть этих денег по факту не используется. Как уже было сказано выше, отдельное питание 5 вольт этой схеме не требуется вовсе, так что в серийной конструкции мы рассчитывали на китайские блоки Sanpu A-350-12, применяемые для питания светодиодных лент. Подойдут любые их родственники сходные по характеристикам и посадочным местам.

Моторы во всей системе используются FL42STH38-1684A. Теоретически подойдут более или менее любые биполярные шаговые двигатели с посадочными дырками соответствующими стандарту NEMA 17 и имеющие крутящий момент не менее 3кг*см, но мы как-то сразу зацепились за эти, и они еще ни разу нас не подвели.

Разъем для вентилятора подразумевает подключение более или менее любого вентилятора на 12 вольт, в том числе компьютерного, под который и сделан этот разъем. Без принудительной вентиляции и радиаторов, модули A4988, увы, не работают, хотя к счастью, обычно кратковременное отсутствие охлаждения им не вредит, они просто вырубаются собственной термозащитой. В серийной конструкции предусмотрено посадочное место под вентилятор калибра 60мм.

О подключении компонентов и прочих тонкостях будет рассказано в следующий раз, в цикле публикаций о сборке Urd.

Материнская плата v1.0 после установки на место.

Материнская плата v1.0 после установки на место.

Исходные файлы

Для чтения этих файлов вам потребуется программа Eagle версии 5.10 или выше. Файлы предоставляются на условиях лицензии GPLv3.

P.S.

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

Если вдруг чего непонятно, прошу задавать вопросы.

  1. Даже если вы попытаетесь изготовить один из комплектов на основе т.н. Sanguino, т.е. Arduino-образных на самом мощном микроконтроллере Atmega который еще выходит в DIP-корпусе, Atmega644P, саму эту микросхему достать окажется нетривиально.
  2. Примерно на 10-15%.
  3. Seeeduino Mega импортирует фирма Devicter в Новосибирске, откуда она легко заказывается почтой, Freeduino Mega+ паяют в Москве.
  4. Использовать модули с регулятором напряжения на плате не нужно совершенно – потреблением A4988 по шине 5В можно пренебречь. Схемы которые используют модули с регулятором появились только потому, что некоторое время из-за ажиотажного спроса Pololu просто не успевали их делать.
  5. На прототипе, два модуля A4983 были угроблены именно за счет короткого замыкания на выходах, из-за сопли на плате.
  6. Если у вас вдруг каким-то чудом получится дешевле чем у них, мы купим у вас.
  7. Помнится мне, читал я, что в бессвинцовых корпусах могут прорастать кристаллы и давать короткое замыкание. Видимо, проросли.
  8. По спецификациям фирмы Резонит у которых мы их заказываем, если бы фольга была толще, дорожки между ножками гребенки не пролезли бы.
  9. Всякий случай может включать в себя, например, читалку для SD-карточки. Лично я не вижу большого смысла в стремлении к автономии принтера, а если уж говорить об автономии, телефон на Android нынче можно купить примерно так килорубля за четыре, а сервис я на такой основе могу предоставить дай Боже, со спулером, контрольной панелью и отправкой файлов на печать по почте – хотите? Другая причина читать G-код с карточки, а именно, низкая скорость передачи данных по USB, в нашей прошивке проблемы не составляет, поскольку G-код буферизуется на восемь команд вперед, но об этом в другой раз.
  10. Если в вашей поставке Seeeduino Mega оно не идет в комплекте.
  11. У нас их еще много осталось!
  12. Для проверки работоспособности датчиков в нашей прошивке есть специальная команда, которая выводит их состояние компу или на индикатор.
  13. Посыпаю голову пеплом, git пока пользуюсь с трудом – если что не читается, свистите.
  • Автономность принтера требуется, т.к. процесс печати может длиться не один час. Особенно если речь идет о медленной качественной печати. А компьютер может зависнуть, понадобится перегрузить или для других ресурсоемких задач. Так что иметь слот для карточки дешевле, чем отдельный компьютер.

  • Ммм… В условиях массовой печати у нас тоже была такая проблема, мы боялись что компьютер подвиснет. Кончилось все тем, что мы поставили линукс на компьютер собранный из хлама, и печатаем с него. Этот компьютер вообще ничего не стоит, поскольку был отправлен на свалку истории еще года четыре тому назад.

    Он невозмутимо продолжал печатать сразу на два принтера даже тогда, когда во время работы отказал контроллер IDE, после чего потребовалось лезть внутрь и выяснять в чем дело. (Контроллер сдох, пришлось перетыкать винт во второй.) Остановки печати по независящим от принтера причинам были — но это было в основном в связи с вылетанием электричества. Критичнее поставить UPS чем печатать с SD-карточки, имхо конечно.

    Впрочем слот для карточки я еще сделаю и опубликую если уж на это спрос есть, только паять ее разъем совсем не хочется. 🙂

  • Pawel Pervinkin

    С удовольствием читаю статьи. Свой Прюса-Мендель почти собран: руки не дойдут никак до стола и нагревателей…

  • partyZANDR TPAKTOP

    http://3dphome.ru/ видал да? Идеология конечно совершенно другая, но прогресс огого. явные технические козыри: -умеет автоматически делать экономные поддерживающие колонны для нависающих частей, отламывающиеся впоследствии -умеет создавать внутри объёмных деталей поддерживающий сеточный каркас разной степени плотности

  • …Только я вас умоляю, пока оно не прилипло в русской речи — он Прюша. 🙂 Josef Průša чех, и правильно транскрибируется его фамилия именно так, послушайте как он ее сам произносит. 🙂

  • Это особенности слайсера. Skeinforge умеет делать и то и другое — и подпорки, и заливку. Заливку он делает отлично, подпорку, на мой взгляд, не очень — многовато материала тратит. Идеология самой технологии Up! ничем от репрапоидов не отличается, отличается только способ изготовления самого аппарата. 🙂

  • Pawel Pervinkin

    Ой, глюканул… %)

    Вопросов пара: 1. Те квадратные резисторы из ЧиДа для нагревания – по 2 последовательно цеплять? Там сопротивление раза в 2 меньше, чем по спекам РАМПСа… 2. Чем клеили радиаторы на контроллеры шаговиков? А то у меня из “вумных мыслей” пока только “заизолировать каптоном, намазать термопасту и примотать стяжками”…

    1. Квадратные резисторы SQP – не самый лучший вариант и мы от них в конце концов отказались. Они фигово греются, и нагреть ими что-то кроме воздуха довольно сложно. Из того что есть в продаже в России оптимальны проволочные резисторы KNP в огнеупорной эмали. Сопротивление цепочки резисторов следует подбирать исходя из напряжения питания (у нас это 12 вольт) и желаемой мощности. Для стола мощность на которой мы остановились – 110-120 ватт, и мы получаем ее собрав параллельно четыре цепочки по три резистора каждый из которых 1.5 ом (вместе получается 1.125 ом) а экструдер греют два параллельных резистора по 6.8ом, т.е. 3.4 ома — порятка 42 ватт. Все эти соединения немножко повышают фактическое сопротивление цепочки, так что реальная мощность чуть меньше.

    2. Термоклеем “Радиал”. Очень пользительно, но обязательно берите свежий непросроченный.

  • Pawel Pervinkin

    А я их с запасом накупил начитавшись статей… Теперь придётся заказывать на Ультимашине “Рампсовский”, благо под печатающую головку он идеально подходит: в ней дырка даже под него предусмотрена!…

    Термоклей… Как назло был в ЧиДе вчера – можно было поискать…

    Сейчас в раздумьях, что хорошего заказать ещё с Ультимашины: стол там уже был заказан и доставлен даже…

  • KNP в чип&дипе кстати бывает.

  • Сергей Гринь

    Здравствуйте! Я тут решил потестировать шаговики ДШИ 200 в связке с RAMPS самопаянной и столкнулся с полным непониманием, что же нужно прошивать в Arduino и чем можно погонять движки. Прошивок существует около десятка различных вариаций, да еще нужно редактировать распиновку выводов под конкретный контроллер, софта для управления принтером – порядка пяти.  Вобщем, мотор запустить мне не удалось. Зато удалось спалить драйвер, а потом и саму Arduino Mega :), но это чисто мой косяк – обиднейшая сопля на пайке.

    Может быть поделитесь опытом? Какую прошивку лучше шить в Arduino Mega для работы с RAMPS 1.2 и каким софтом можно покрутить движки?

  • Прошивок на самом деле всего три разных дерева:

    1. Reprap 5D – самая старая и самая дурная. Она написана в эпоху когда плата контроллера экструдера была с отдельной Atmega168, и для более современных комплектов электроники не очень подходит. Поковырявшись с нею и повыгрызав оттуда баги я понял что это нереал и бросил.

    2. Деривативы того что сейчас называется Teacup – прошивки написанной на голых сях и компилируемой Arduino IDE чисто по недоразумению. Ее я не рекомендую потому что сам задолбался в ней разбираться, она гораздо круче большинства конкурентов по многим параметрам, но совершенно нехакабельна если вы не перевариваете работы со всеми регистрами напрямую и голой libc, а я не перевариваю. Там даже распиновку настроить тяжело.

    3. Деривативы Tonokip, самые перспективные из всей пачки. К ним относятся Speedster, Sprinter, и т.д. (У нас кстати собственный дериватив, который я скоро надеюсь наконец опубликовать) Вот именно их я и рекомендую, потому что они написаны специально для одноядерных плат и там все читабельно и вполне понятно.

    А покрутить движки — все прошивки для репрапов подразумевают что они едят сам G-код. Посему достаточно терминала встроенного в Arduino IDE и G0 X… и т.д. — я всегда так собственно и делал когда надо было именно движки крутить в процессе отладки.

  • может вам будет интересно глянуть на еще один проект, когда они опубликуют исходники –  http://habrahabr.ru/blogs/gadgets/135972/

  • Как у вас можно заказать готовый комплект электроники? Цена? Я в Москве, подъехать в пределах города не проблема.

  • Pawel Pervinkin

    Вчера вечером подключил к РАМПСу нагреватель в режиме проверки… Воткнул в плашку экструдера резюк, припаял, замотал термоскотчем хвосты, прикрутил тем-же отечественным термоскотчем термистор… Зажал в “крокодиле” монтажной подставки и подключил… В программе выставил “PLA 185 градусов” для начала. Сижу, жму пимпочку для считывания показаний термистора…

    На 100 градусах – пошёл дымок. Я подумал, что ЖЖЖ – явно неспроста, но сковородки тоже в первый раз дымят… На 140 – начал морщится термоскотч… На 170 он начал плавится и плашка с нагревателем стала крениться… Тут я быстро под неё подложил стальную подложку и на 185 она туда благополучно и ухнула…

    Выводы: 1. Мой припой – явно низкотемпературный… 2. Скотч – как оказалось тоже всего 200 градусный. 3. Примотать-бы провод к концам резюка какой-нить негорючей нитью! 4. Ой, чует моё сердце, что термистор мне подсунули тоже с какой-нить уродской максимальной температурой!

    1. Мы так и не решили проблему высокотемпературного припоя. Нагревательные резисторы мы прикручиваем колодками для осветительных проводов, а термодатчики приклеиваем клеем “Контактол” для ремонта нагревателей на стеклах. И это решение мне совершенно не нравится, но найти припой ПОС-10, который гарантировано должен держать эти температуры в продаже менее чем килограммами у меня не получилось.

    2. Полиимидный термоскотч должен держать до 300 градусов. Он имеет характерный янтарный цвет, как у йода на коже. Если у вас другой цвет это не оно. Однако, может быть у вас неправильно откалиброван термистор (или не откалиброван вообще) и реальная температура много выше… Добудьте мультиметр с термопарой и многое прояснится — это вообще в отладке температурных проблем незаменимейший инструмент.

  • У нас к сожалению прямо сейчас отдельно и нету готового комплекта, ни электроники, ни пластиковых деталей, собираем следующую партию.

  • Аноним

    Здравствуйте! Подскажите, сколько суммарно вы потратили на создание машинки, если можно списком. Хочу оценить свои возможности по воссозданию сего чуда )

  • Pawel Pervinkin
  • Pawel Pervinkin
    1. Взял контакты от коннекторов, которых в РАМПС для подключения проводов навалом, обжал на провод и надел на лапки термистора и нагревательного резюка: оно какраз. Термистор приклеил тем самым “Радиалом”: судя по тому, что при прогоне не обуглился – он довольно высокотемпературный! Но на всякий случай – заранее куплена специальная паста для ремонта дырок в глушителе автомобиля: производители клянутся, что до 1000 градусов держит после застывания…

    2. Нормального не было – купил тогда некий зелёный аналог. Весьма хреновый, как показала практика… Нормальный янтарный был позже заказан в Ультимашине, но брал специально для стола и взял широкий: резать с него для замотки экструдера – мучает жаба…

    Финальные шаги: 1. Купленные радиаторы почти полностью перекрывали Полулы и могли коротнуть. Подумал и распилил пополам – каждый был на 4 длинных ребра, получилось в два раза больше, но по два! Зато чуть-чуть только перекрывает микросхемы! Приклеил Радиалом – таки хорошая штука!

    1. Под управление ставить решил нетбук. Ибо нефиг. А то старых нетбуков скопилось, которые по параметрам уже не особо…

    2. Основание стола – в следующей версии буду печатать! Или закажу лазерную резку: ножовкой и дремелем получается кривовато!

  • zoster agro

    Добрый вечер Скажите это только в 3д принтерах Arduino эту саму плату модно использовать? потому что на форумах фрезеростроения эта плата так часто не фигурирует. Или это самый простой безголовнобольный способ? вопрос вызван тем что при переходе с тероретической части фрезеров к изучению теории о печати все кто строит печатные машинки поголовно использует Arduino с уважением Евгений

  • На всю работу с нуля, или на постройку одной серийной штуки? Все эксперименты по созданию машин с нуля уже вылились в несколько сотен килорублей, потому что туда входило множество покупок инструментов, множество вещей купленных ради экспериментов, множество всего запорченного и угробленного, множество истраченных расходных материалов… Одних вариантов горячего стола еще для Мёбеля пришлось делать штуки четыре. 🙂

    На постройку одной машины когда эксперименты делать уже не надо уходит заметно меньше, очень кратко — комплект электроники вместе с моторами влетает в 10 килорублей с мелочью, остальное в 7 килорублей — но это с учетом покупки компонентов на серию, там образуется мелкий опт. Розничная покупка ровно одного комплекта получается дороже. У прототипа фанероида “остальное” получается на 5 килорублей дороже при тех же условиях, потому что там линейные подшипники, направляющие, печатный нагревательный элемент для стола и прочие новшества. Подробнее как-нибудь напишу в другой раз…

  • “Радиал” — на самом деле что-то вроде силиконового герметика с добавлением цинковых белил. У силиконовых герметиков бывают сорта с температурой до 1000 градусов, а самые низкотемпературные сорта держат градусов так 200, так что ему пофиг практически все. 🙂

    Зеленый аналог — это PET, он же майлар. Вообще он относительно годен, и его найти в продаже легче, но он однозначно хуже. Печатное основание стола, то бишь каретку Y, мы кстати пытались сделать, и все равно толку не добились — оно получается сложное, довольно хлипкое, трудно печатается… Фанерка гораздо терпимее ко всем издевательствам.

  • Евгений, вы не могли бы посмотреть и прокомментировать http://www.kickstarter.com/projects/printrbot/printrbot-your-first-3d-printer (здесь или в своём блоге)?

  • Подробнее как-нибудь при случае, а пока кратко: Это очень занятная конструкция, но я не уверен в ее оправданности. Да, это абсолютный минимум возможных печатных деталей и соответственно, максимально быстрое размножение машин и максимально низкая цена. Тем не менее, я сомневаюсь в том что этот фокус осмысленен. У такой конструкции будут проблемы с жесткостью и с очень интересными эффектами когда раскачивающийся экструдер будет выламывать направляющие из пластиковых деталей после достижения определенной скорости… Я уж молчу про регулировку только и исключительно посредством напильника. Мы в поисках более технологичной конструкции и повышения качества печати в конце концов все-таки пошли на дорогу с резаной лазером фанерой, о чем я в скором времени буду детально рассказывать.

    Вот пакет электроники у них действительно перспективный, и если бы мы могли себе позволить заказ такой штуки, мы бы так и сделали…

  • уважаемые, а продолжение будет? интересно же.

  • он Прюша. 🙂 Josef Průša чех, и правильно транскрибируется его фамилия именно так, послушайте как он ее сам произносит. 🙂

    Кстати, в последних видео он как раз произносит свою фамилию на аглицкий манер, “Пру(ю)са”.

    Например: http://www.youtube.com/watch?v=X9rGvW3ZjZQ Для сравнения, более старое видео: http://www.youtube.com/watch?v=kwQzp2hvcBI

  • Сергей Гринь

    Здравствуйте, Евгений. А расскажите, как обстоят дела с драйверами? Столкнулся с проблемой, что часть драйверов не работают сразу после покупки. Речь конкретно о Stepstick, оригинальные от Pololu работают исправно.

    Допускаю, что я их как-то не так запускаю. Потенциометр установлен в среднее положение, перед установкой/снятием драйверов выключаю питание и отключаю от USB, во включенном состоянии не подключаю и не отключаю двигатели. Но всё равно из 4-х приобретенных и свежеспаянных драйверов работают только 2. Один не подает признаков вообще, с другим мотор вибрирует, как будто перепутаны провода или подключена только одна фаза. 

    Не могли бы Вы дать рекомендации по использованию драйверов Pololu/Stepstick?

  • Евгений, снова хотелось бы получить ваш комментарий: http://habrahabr.ru/post/145060/

  • Добрый день, Евгений. Тема 3д печати – очень интересна, благо интернет позволяет удовлетворить любопытство, однако хочется посмотреть на процесс печати и само оборудование лично. Если сильно не затрудню, можно в удобное вам время подъехать и полюбоваться на процесс печати? 

  • Евгений

    Желаю приобрести Ваш аппарат в сборе. Оставьте контакт – как с вами связаться?

  • Eugene ,Подскажите пож. каким набором программ (прошивка Ардуино вы пользуетесь), если можно то нужна ссылка?

  • Андрей

    Здравствуйте.

    Пожалуйста помгите с датчиком pt1000, подключилк к ramps 1.41 + arduino. ПО marlin, не получается составить таблицу для правильной измерения температуры. Таблица находится в Marlin-Marlin_v1Marlinthermistortables.h

  • И скорее всего, просто так не получится. Термисторы на которые рассчитана эта таблица и вообще весь алгоритм преобразования попугаев в градусы – с отрицательным температурным коэффициентом, их сопротивление с повышением температуры понижается. У Pt1000 все наоборот. Хотя теоретически построить правильную таблицу наверное можно, я довольно быстро бросил это занятие, замерил температуру в двух точках и написал функцию на map(…)…

    В общем посмотрите как у меня сделано — https://github.com/Mihara/Marlin — только умоляю, не пытайтесь просто прошить и надеяться что оно будет работать, потому что “просто работать” этот форк прошивки ни с чем кроме последней версии нашей платы не будет.

  • Андрей

    Спасибо за ответ.

    Какой номер датчика в thermistortables.h? Где в коде алгоритм пересчёта температуры?

    Планируете доработать и алгоритм и таблицу под датчик PT1000? Датчик хорошой, у него практически линейная зависимость.

    Подскажете email авторов Marlin, может они что подскажут?

  • Никакой номер. Я вообще этой таблицей не пользуюсь, именно потому что у датчика практически линейная зависимость. Вместо этого там четыре значения в EEPROM — попугаев и фактической температуры замеренной термопарой для этих попугаев — и линейный пересчет попугаев в градусы и обратно, грязно захаканный в ту же функцию. Единственная капитальная хитрость — делитель напряжения посчитан так, чтобы максимизировать количество полезных бит АЦП, для чего приходится пользоваться internal 1.1v референсом, т.е. проставлять его при каждом запросе. К счастью для Марлина это выражается в том что один бит в функции опроса АЦП меняется, потому что там все обычные ардуиновские AnalogRead выкинуты и все написано заново и покороче.

    Посмотрите на diff относительно Marlin_v1 и многое поймете, на гитхабе это можно сделать в один клик – https://github.com/Mihara/Marlin/compare/ErikZalm:Marlin_v1…Marlin_v1

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

    Собственно, я даже вот еще чего скажу интересное: Все зарубежные репрапостроители полагаются на заявленные характеристики термисторов, которые заведомо неидеальны, и полностью игнорируют тот факт что даже если учесть электрическую неидеальность термистора, расположение термистора в горячем конце может варьироваться и вы никогда на самом деле не знаете какая у вас по факту температура. Почему-то никому не приходит в голову откалибровать ее обо что-нибудь, (Я не уверен что эту таблицу термисторов вообще можно внятно калибровать, потому что никто кроме, наверное, nophead, не знает ни как она работает, ни какие в ней должны быть значения — все пользуются скриптом который он три года назад написал) после чего возникает удивительный разброс — “У меня ниже 240 не давится!” “А у меня на 200 давится…” Вот и думай после этого на какой температуре на самом деле надо давить… 🙂