Оглавление:

Dotter - огромный матричный принтер на базе Arduino: 13 шагов (с изображениями)
Dotter - огромный матричный принтер на базе Arduino: 13 шагов (с изображениями)

Видео: Dotter - огромный матричный принтер на базе Arduino: 13 шагов (с изображениями)

Видео: Dotter - огромный матричный принтер на базе Arduino: 13 шагов (с изображениями)
Видео: Матричный принтер на Arduino часть 2 | Dot Matrix Printer for Arduino part 2 2024, Июль
Anonim
Image
Image
Dotter - огромный матричный принтер на базе Arduino
Dotter - огромный матричный принтер на базе Arduino

Привет, добро пожаловать в это руководство:) Я Никодем Бартник, 18 лет, создатель. За 4 года работы я сделал много вещей, роботов, устройств. Но этот проект, наверное, самый крупный по размеру. Я думаю, он также очень хорошо спроектирован, конечно, есть еще вещи, которые можно улучшить, но для меня это потрясающе. Мне очень нравится этот проект из-за того, как он работает и что он может производить (мне нравятся эти пиксели / точки, как графика), но в этом проекте гораздо больше, чем просто точка. Есть история о том, как я это сделал, как мне пришла в голову идея и почему неудача была большой частью этого проекта. Вы готовы? Предупреждение: в этой инструкции может быть много чего прочитать, но не волнуйтесь, вот видео об этом (вы также можете найти его выше): ССЫЛКА НА ВИДЕО Начнем!

Шаг 1: История неудач: (и как я на самом деле придумал для этого идею

История неудач: (и как я на самом деле придумал для этого идею!
История неудач: (и как я на самом деле придумал для этого идею!
История неудач: (и как я на самом деле придумал для этого идею!
История неудач: (и как я на самом деле придумал для этого идею!
История неудач: (и как я на самом деле придумал для этого идею!
История неудач: (и как я на самом деле придумал для этого идею!

Вы можете спросить, почему история провала, если мой проект работает? Потому что вначале не было Доттера. Я хотел сделать, может быть, немного похожую вещь, но гораздо более сложную - 3D-принтер. Самая большая разница между 3D-принтером, который я хотел сделать, и почти любым другим 3D-принтером заключалась в том, что вместо стандартных шаговых двигателей nema17 он будет использовать дешевые двигатели 28BYJ-48, которые вы можете купить примерно за 1 доллар (да, один доллар за шаговый двигатель). Конечно, я знал, что он будет слабее и менее точным, чем стандартные шаговые двигатели (что касается точности, это не так просто, потому что большинство двигателей в 3D-принтерах имеют 200 шагов на оборот, а 28BYJ48 имеет около 2048 шагов на оборот). оборот или даже больше зависит от того, как вы их используете, но эти двигатели с большей вероятностью потеряют шаги, а шестерни внутри них не самые лучшие, поэтому трудно сказать, являются ли они более или менее точными). Но я верил, что они это сделают. И в этот момент вы можете сказать, подождите, уже есть 3D-принтер, который использует эти двигатели, да, я знаю, что на самом деле их даже немного. Первый хорошо известен, это Micro by M3D, маленький и действительно красивый 3D-принтер (мне просто нравится этот простой дизайн). Есть также ToyRep, Cherry и, вероятно, многое другое, о чем я не знаю. Итак, принтер с этими двигателями уже существует, но я хотел сделать другой и более похожий на мой собственный способ - это код. Большинство людей используют некоторые прошивки с открытым исходным кодом для 3D-принтеров, но, как вы, возможно, знаете, если вы видели мой проект дронов Ludwik на базе Arduino, мне нравится делать что-то с нуля и учиться этому, поэтому я хотел создать свой собственный код для этого принтера. Я уже разработал считывание и интерпретацию Gcode с SD-карты, вращение двигателей в соответствии с Gcode и линейным алгоритмом Брезенхэма. Достаточно большая часть кода для этого проекта была готова. Но во время тестирования я заметил, что эти моторы сильно перегреваются, и они оооочень медленные. Но я все еще хотел сделать это, поэтому я разработал для него рамку в Fusion360 (вы можете найти его изображение выше). Еще одно предположение в этом проекте заключалось в использовании транзисторов вместо драйвера шагового двигателя. Я обнаружил несколько преимуществ транзисторов перед шаговыми драйверами:

  1. Они дешевле
  2. Их сложнее сломать, я уже сломал несколько шаговых драйверов при сборке DIY-бота, управляемого Arduino, потому что, когда вы отсоединяете двигатель от драйвера во время работы, он, вероятно, сломается
  3. Драйверы просты в управлении, для этого можно использовать меньше контактов, но я хотел использовать Atmega32, у него достаточно контактов для использования транзисторов, поэтому для меня это не было важно. (Я хотел использовать atmega32 в проекте 3D-принтера, наконец, в dotter нет необходимости использовать его, поэтому я использую только Arduino Uno).
  4. Счастье гораздо больше, когда вы сами создаете шаговый драйвер на транзисторах, чем просто покупаете его.
  5. Изучая, как они работают, экспериментируя, я использовал некоторые транзисторы в своих предыдущих проектах, но практика ведет к совершенству, и лучший способ научиться - это экспериментировать. Кстати, разве не странно, что мы не знаем, как работает самое большое изобретение в мире? Мы используем транзисторы каждый день, у каждого их миллионы в кармане, и большинство людей не знают, как работает один транзистор:)

За это время у меня появилось 2 новых 3D-принтера, и пока я печатал на них, я постоянно увеличивал скорость печати, чтобы печатать как можно быстрее. Я начал понимать, что 3D-принтер с моторами 28BYJ-48 будет медленным и, вероятно, не лучшая идея. Возможно, мне следовало осознать это раньше, но я был настолько сосредоточен на коде этого проекта и изучении того, как именно работают 3D-принтеры, что я не мог этого каким-то образом увидеть. Благодаря тому, что я узнал, создавая эту вещь, я не жалею времени, потраченного на этот проект.

Сдаться - это не вариант для меня, и у меня есть 5 степперов, поэтому я начал думать, что мне делать с этими частями. Закапывая старые вещи в своем гардеробе, я обнаружил свой рисунок из начальной школы, сделанный с использованием техники рисования точками, также называемой пуантилизмом (вы можете увидеть мой рисунок выше). Это не произведение искусства, это даже нехорошо:) Но идея создания изображения из точек мне понравилась. И здесь я подумал о том, о чем я слышал раньше, о матричном принтере, в Польше вы можете найти этот тип принтера в каждой клинике, они издают странный громкий звук: D. Для меня было очевидно, что должен быть кто-то, кто сделал что-то подобное, и я был прав, Робсон Коуто уже сделал матричный принтер Arduino, но для этого вам нужно найти идеальные компоненты, что может быть сложно, но мы Есть 2018 год, и 3D-печать становится все более и более популярной, так почему бы не сделать легкую для копирования 3D-печатную версию, но она все равно будет похожей. Поэтому я решил сделать его большим или даже ОГРОМНЫМ! Чтобы он мог печатать на большой бумаге, которую может купить каждый - рулоне бумаги от Ikea:) его размеры: 45см х 30м. Идеально!

Несколько часов проектирования, и мой проект был готов к печати. Его длина 60 см, слишком велика для печати на стандартном принтере, поэтому я делю его на более мелкие части, которые благодаря специальным разъемам будет легко соединить. Кроме того, у нас есть каретка для маркера, несколько шкивов для ремня GT2, резиновые колеса для удержания бумаги (также 3D-печать с использованием нити TPU). Но поскольку мы не всегда можем захотеть печатать на такой большой бумаге, я сделал один из двигателей оси Y подвижным, чтобы вы могли легко настроить его под размер бумаги. Есть два двигателя на оси Y и один на оси X, для перемещения пера вверх и вниз я использую микро сервопривод. Вы можете найти ссылки на модели и все остальное в следующих шагах.

Затем я разработал печатную плату, как всегда, но на этот раз вместо того, чтобы делать ее дома, я решил заказать ее у профессионального производителя, чтобы сделать ее идеальной, легче паять и просто сэкономить время, я услышал много хороших отзывов о PCBway, поэтому я решил пойти с этим. Я обнаружил, что у них есть стипендиальная программа, благодаря которой вы можете создавать свои доски бесплатно, я загружаю свой проект на их сайт, и они его принимают! Большое спасибо PCBway за то, что сделали возможным этот проект:) Платы были идеальными, но вместо того, чтобы ставить микроконтроллер на эту плату, я решил сделать щит Arduino, чтобы я мог просто использовать его, из-за этого его также проще паять.

Код доттера написан на Arduino, и для отправки команд с компьютера на доттер я использовал Processing.

Это, наверное, вся история того, как этот проект развивался, и как он выглядит сейчас, поздравляю, если вы добрались до этого:)

Не волнуйтесь, теперь будет проще, просто инструкции по сборке!

Надеюсь, вам понравится эта история проекта The Dotter, если да, не забудьте ее наизусть.

* на рендерах выше вы можете увидеть X-образную тележку с 2 ручками, это был мой первый дизайн, но я решил перейти на меньшую версию с одной ручкой, чтобы сделать ее легче. Но вариант с двумя ручками может быть интересен, потому что вы сможете рисовать точки разного цвета, на плате даже есть место для второго сервопривода, так что это то, что нужно учитывать для dotter V2:)

Шаг 2: Что нам понадобится?

Что нам понадобится?
Что нам понадобится?
Что нам понадобится?
Что нам понадобится?
Что нам понадобится?
Что нам понадобится?
Что нам понадобится?
Что нам понадобится?

Что нам понадобится для этого проекта, это отличный вопрос! Вот список всего со ссылками, если это возможно:

  1. Детали, напечатанные на 3D-принтере (ссылки на модели на следующем шаге)
  2. Arduino GearBest | BangGood
  3. Шаговые двигатели 28BYJ48 (их 3) GearBest | BangGood
  4. Микро-серводвигатель GearBest | BangGood
  5. Ремень GT2 (около 1,5 метра) GearBest | BangGood
  6. Кабели GearBest | BangGood
  7. Подшипник GearBest | BangGood
  8. Два алюминиевых стержня длиной около 60 см каждый
  9. Чтобы сделать печатную плату:

    1. Разумеется, печатная плата (вы можете заказать, сделать их сами или купить у меня, у меня есть несколько плат, вы можете купить их здесь:
    2. Транзисторы BC639 или аналогичные (их 8) GearBest | BangGood
    3. Выпрямительный диод (их 8) GearBest | BangGood
    4. Светодиод зеленый и красный GearBest | BangGood
    5. Некоторые отколовшиеся заголовки GearBest | BangGood
    6. Комплект штабелируемых заголовков Arduino GearBest | BangGood
    7. Некоторые резисторы GearBest | BangGood

Вероятно, самое сложное для вас - это детали, напечатанные на 3D-принтере, спросите своих друзей, в школе или библиотеке, у них может быть 3D-принтер. Если вы хотите его купить, я могу порекомендовать вам CR10 (ссылка на покупку), CR10 mini (ссылка на покупку) или Anet A8 (ссылка на покупку).

Шаг 3. Как можно больше и проще (3D-модели)

Насколько я могу, настолько просто, насколько могу (3D-модели)
Насколько я могу, настолько просто, насколько могу (3D-модели)

Как я уже сказал, большая часть этого проекта была размером, я хотел сделать его большим и в то же время простым. Чтобы сделать это таким образом, я провожу много времени в Fusion360, к счастью, эта программа удивительно удобна для пользователя, и мне нравится ее использовать, поэтому для меня это не было большой проблемой. Чтобы соответствовать большинству 3D-принтеров, я разделил основную раму на 4 части, которые можно легко соединить с помощью специальных разъемов.

Шкивы для ремней GT2 были разработаны с помощью этого инструмента (это круто, проверьте это):

Я добавил файлы DXF этих 2 шкивов только для справки, они вам не нужны для этого проекта.

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

Колеса, которые будут перемещать бумагу, должны быть напечатаны гибкой нитью, чтобы сделать это лучше. Я сделал обод для этого колеса, который должен быть напечатан PLA, и на это колесо вы можете поставить резиновое колесо.

Шаг 4: Сборка

Сборка
Сборка
Сборка
Сборка
Сборка
Сборка

Это простой, но очень приятный шаг. Все, что вам нужно сделать, это соединить все детали, напечатанные на 3D-принтере, вместе, установить двигатели и сервопривод. В конце вы должны поместить алюминиевые стержни в раму, напечатанную на 3D-принтере, с кареткой на ней.

Я напечатал винт на задней части держателя двигателя Y, который можно двигать, чтобы удерживать его на месте, но оказалось, что нижняя часть рамы слишком мягкая и изгибается, когда вы затягиваете винт. Поэтому вместо этого винта я использую резиновую ленту, чтобы удерживать эту деталь на месте. Это не самый профессиональный способ сделать это, но, по крайней мере, он работает:)

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

Объяснять особо нечего, поэтому просто взгляните на фотографии выше, и если вам нужно узнать что-то еще, оставьте комментарий ниже!

Шаг 5: Электронная схема

Электронная схема
Электронная схема

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

Шаг 6: PCB как профессионал

Печатная плата как профессионал
Печатная плата как профессионал

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

У меня есть запасные платы, так что если вы хотите купить их у меня, вы можете купить их на tindie:

Продаю на Тинди
Продаю на Тинди

Шаг 7. Пайка, подключение…

Пайка, подключение…
Пайка, подключение…
Пайка, подключение…
Пайка, подключение…

У нас есть отличная печатная плата, но чтобы она заработала, нам нужно припаять на нее компоненты. Не волнуйтесь, это очень просто! Я использовал только компоненты THT, поэтому сверхточной пайки нет. Компоненты большие, их легко паять. Также их легко купить в любом электронном магазине. Поскольку эта печатная плата представляет собой просто экран, вам не нужно паять микроконтроллер, мы просто подключим экран к плате Arduino.

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

Когда все компоненты припаяны к печатной плате, мы можем подключать к ней двигатели и сервопривод. И перейдем к следующему шагу! Но перед этим остановитесь на секунду и взгляните на эту красивую печатную плату со всеми компонентами на ней, мне просто нравится, как выглядят эти электронные схемы! Хорошо, идем дальше:)

Шаг 8: Код Arduino

Код Arduino
Код Arduino

Когда щит готов, все подключено и собрано, мы можем загрузить код в Arduino. На этом этапе вам не нужно подключать экран к Arduino. Вы можете найти программу в приложении ниже. Вот краткое объяснение того, как это работает:

Он получает данные от последовательного монитора (код обработки), и всякий раз, когда есть 1, он ставит точку, когда 0 - нет. После каждого приема данных он перемещается на несколько шагов. Когда получен сигнал новой линии, он возвращается в исходное положение, перемещает бумагу по оси Y и создает новую линию. Это очень простая программа, если вы не понимаете, как она работает, не беспокойтесь, просто загрузите ее на свой Arduino, и она будет работать!

Шаг 9: Обработка кода

Код обработки
Код обработки
Код обработки
Код обработки

Код обработки считывает изображение и отправляет данные в Arduino. Чтобы попасть на бумагу, изображение должно быть определенного размера. На мой взгляд, максимальный размер бумаги A4 составляет около 80 x 50 точек. Если вы измените количество шагов на оборот, вы получите больше точек на строку, но при этом значительно увеличите время печати. Кнопок в этой программе не так много, делать красиво не хотелось, просто работает. Если вы хотите его улучшить, смело делайте это!

Шаг 10: в начале была точка

В начале была точка
В начале была точка

Финальный тест Доттера!

Точка точка точка…..

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

Шаг 11: неудача - это не вариант, это часть процесса

Неудача - это не вариант, это часть процесса
Неудача - это не вариант, это часть процесса

Ненавижу сдаваться, поэтому никогда этого не делаю. Я начал искать решение своей проблемы. Недавно ночью, отсоединив кабель от моего Arduino, я почувствовал, что он действительно горячий. Потом я понял, в чем проблема. Поскольку я оставляю двигатели оси Y включенными (на катушке этих двигателей), линейный стабилизатор на моем Arduino сильно нагревается из-за довольно большого постоянного тока. Какое решение для этого? Просто выключите эти катушки, пока они нам не нужны. Супер простое решение этой проблемы, это здорово, и я снова на пути к завершению этого проекта!

Шаг 12: Победа

Image
Image
Победа
Победа
Победа
Победа

Победа? Наконец-то мой проект заработал! Это заняло у меня много времени, но, наконец, мой проект готов, он работает так, как я хотел, чтобы он работал. Теперь я чувствую чистое счастье от того, что закончил этот проект! Вы можете увидеть некоторые изображения, которые я напечатал на нем! Есть еще много чего для печати, так что следите за обновлениями.

Шаг 13: конец или начало?

Конец или начало?
Конец или начало?

Это конец инструкции по сборке, но не конец этого проекта! Это открытый исходный код, все, чем я поделился прямо здесь, вы можете использовать для создания этой вещи, если вы добавите какие-либо обновления, не стесняйтесь делиться ими, но не забудьте поставить ссылку на это руководство, также дайте мне знать, что вы улучшили мой проект:) будет круто, если кто-то так сделает. Возможно, когда-нибудь, если я найду для этого время, я улучшу его и опубликую Dotter V2, но сейчас я не уверен.

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

goo.gl/x6Y32E

а вот мои аккаунты в социальных сетях:

Facebook:

Instagram:

Twitter:

Большое спасибо за чтение, надеюсь, у вас отличный день!

Удачи!

P. S.

Если вам действительно нравится мой проект, проголосуйте за него в конкурсах: D

Эпилог Вызов 9
Эпилог Вызов 9
Эпилог Вызов 9
Эпилог Вызов 9

Финалист в Epilog Challenge 9

Конкурс Arduino 2017
Конкурс Arduino 2017
Конкурс Arduino 2017
Конкурс Arduino 2017

Второй приз Arduino Contest 2017

Рекомендуемые: