Самодельный плоттер: советы начинающим, работа с grbl-прошивкой
Во время изучения в университете такого занимательного предмета, как схемотехника, мне пришло в голову сделать в рамках курсового проекта "Двух осевой плоттер на бумаге с головкой из авторучки на базе Arduino". К моменту начала работы я себе весьма смутно представляла разработку электрической части проекта, впрочем, как и механической. Подобного опыта в моей жизни еще не бывало. Именно поэтому я нашла в сети, перебрав множество ресурсов, показавшийся мне наиболее простым и понятным туториал, и решила точно следовать ему. Однако, скоро выяснилось, что все простое на первый взгляд расписано не достаточно подробно для такого "умельца" как я. Поэтому в оставшихся "за кадром" вопросах пришлось импровизировать, не всегда удачно, как оказывалось в последствии. Это была небольшая предыстория. Теперь хотелось бы поделиться своим ценным опытом по ряду ключевых вопросов. Приводить полностью новую инструкцию с моей версией этого устройства не буду, т.к. на просторах интернета итак достаточно более удачных решений.
1. Конструкция
Конструкция, которую я выбрала изготавливалась из фанеры. В качестве осей использовались шпильки, которые крутились шаговыми двигателями, и за счет этого платформа на гайках двигалась по оси. Одна ось крепилась на платформу другой одним краем. Из изготовления всего этого могу сказать:
• Если верхняя ось не имеет опоры с двух сторон, а крепится, как у меня, только одним краем, то необходимо заранее продумать баланс осей. Верхняя неизбежно будет крениться, если вообще не заваливать всю конструкцию весом своего "висящего" края.
• Линии рисунка могут идти волнами по размеру резьбы шпильки, а также из-за дрожания самой конструкции во время работы.
• Две вышеперечисленные проблемы приводят еще к одной: перо (в моем случае ручка) может писать неравномерно в разных частях страницы.
• Вес и размеры устройства тоже стоит рассчитать заранее, чтобы потом не выяснилось, что ваши двигатели не тянут подобной нагрузки.
• И еще одна важная деталь: лучше всего везде где возможно использовать для крепления шурупы, гвозди и т.д. Конструкции на клее, пусть даже самом надежном, имеют свойство разваливаться в самый неожиданный момент. И в некоторых случаях после сборки основной части будет весьма сложно возвращаться к "переклеиванию" мелких, но очень важных, внутренних деталей, не разбирая готовые части.
• Если же используете где-то клей, то очень и очень внимательно следите, чтобы он не попал в движущиеся части конструкции. Даже маленькая капелька способна застопорить механизм и привести его в негодность.
2. Схема электрическая
Сама схема была предельно проста и не требовала даже пайки. На схеме с Arduino остальные пины драйверов тоже нужно правильно заводить, я показала только основную логику взаимодействия элементов схемы без платы расширения. На практике я взяла готовый CNC Shield специально для работы с ЧПУ. Тем не менее и тут есть свои нюансы:
• Мой китайский аналог Arduino под кодовым именем WAVGAT на отрез отказался прошиваться как обычная Arduino Uno R3. В интернете утверждали, что подобные платы полностью совместимы со всем ПО arduino, но для работы с ним через IDE пришлось скачивать отдельную библиотеку WAVGAT Update. Так мне удалось залить скетч на плату, но само ПО по прежнему не хотело корректно работать. Я испробовала все найденные варианты исправления такого рода проблем (перегружала бутлодер платы, изменяла файлы boards и константы самой библиотеки с ПО), но итог остался тем же. Видимо, именно для этой задачи придется обзавестись классической Arduino.
• Еще одной проблемой стал запуск шаговых двигателей. Они жужжали, грелись, несмотря на холодные драйвера, но не двигались. Методично проверяя цепочку поэлементно поняла, что проблема в их подключении. Дело в том, что и в этот раз китайцы соригинальничали. Оказалось, что выводы двигателя содержат перекрещенные пары А-В. Если у обычного магазинного двигателя пары шли по порядку 2В-2А-1А-1В, то у китайцев почему-то оказались 2В-1А-2А-1В. Выяснить это можно "пропикиванием" схемы мультиметром в соответствующем режиме: пищат парные А-В выходы.
• И еще, как оказалось, безобидный маломощный сервопривод вполне способен безвозвратно "подпалить" всю плату arduino при длительной чрезмерной нагрузке на него. При этом плата продолжит работу, но будет периодически застревать на середине, останавливаясь на командах сервопривода.
• Поэтому следите за температурой устройств во время работы во избежании неисправимых последствий. Для защиты двигателей от перегревания необходимо настроить ток драйвера на рассчитанное по простой формуле значение. Подробней на эту тему тоже можно почитать в интернете.
3. ПО
Тут есть варианты:
• Проще всего взять замечательную простенькую программу Benbox. Она специализирована именно под работы с ЧПУ и проста в установке и обращении. Минус этого варианта в его ограниченности. Во-первых, прошивка для платы в комплекте ПО содержится уже в hex-файле, потому возникают проблем с ее редактированием. Да и функционал в общем не особо обширен, похож на простейший графический редактор. Если не хотите вдаваться в подробности работы всего этого механизма, то можно поработать с этим вариантом.
• Немного сложнее, но и перспективней работа через GRBL-прошивку. Эту библиотечку можно без проблем взять в интернете и она дает значительно больше возможностей, чем BenBox. Но для работы через этот механизм надо разобраться с начальной настройкой всего этого.
1. Итак, скачиваем и распаковываем grbl-servo библиотеку. Теперь ее можно залить на плату через IDE, просто отыскав ее среди примеров.
2. Для пересылки непосредственно команд устройству понадобится Universal Gcode Sender (или другое подобное ПО). После его установки на компьютер в нем открываем канал связи с платой по com-порту, к которому подсоединена плата.
3. Для начальной и последующих настроек платы в командной строке приложения набираем "$$". По этой команде получаем полный набор базовых настроек платы, которые можно менять, настраивая нужные параметры. К примеру, команды "$110=380" и "$111=380" ставят скорость двигателей осей Х и У на 380 мм\мин. Важными пунктами настройки являются скорость и ускорение двигателей, количество шагов на мм, направление осей (прямое или инверсное). Подробнее инструкцию по такой настройке можно найти в интернете.
4. Также есть возможность машинного контроля над двигателями (вкладка machine control) и серво (команды М5(поворот в начальное положение) и М3 s90(поворот на 90 или любое другое кол-во градусов)).
5. Далее надо подготовить изображение для работы. Для этого тоже понадобится доп. ПО, к примеру, Inkscape. Оно похоже на любой другой графический редактор и подробно работу с ним можно изучить также в интернете. Но есть пара важных замечаний:
• Для начала надо задать правильные размеры страницы в свойствах, чтобы размеры вашего изображения не оказалось больше возможностей плоттера. Так же необходимо заменить пиксели на миллиметры в единицах измерения.
• После создания изображения жмем ctrl+shift+C и идем в меню — расширения — MI GRBL… — задаем скорости двигателей и угол поворота серво — сохраняем изображение в формате gcode.
6. Наконец возвращаемся в Universal Gcode Sender и во вкладке File Mode открываем наше gcode-изображение. Кнопкой Visualize можно графически отслеживать работу программы, а в окне command Table можно проследить по командное выполнение. Осталось только запустить все это и наблюдать за результатом.
В итоге работа над подобным устройством оказалось сложной и кропотливой, а конечный результат не идеальным. Но подобный опыт интересен и не бесполезен. Поэтому, надеюсь, кому-то пригодятся и помогут избежать лишних "граблей" мои советы.
Создание фоторамки с динамической подсветкой
В данном посте я хотел бы рассказать, как сделать что-то простое и эффектно выглядящее человеку, который никогда не имел дел железом, ардуино и всякими таким вещами. Поскольку сам я в этом деле новичок, то выбор пал на фоторамку с динамической подсветкой. Основными частями проекта будут: лента, датчик расстояния и микроконтроллер arduino UNO. Выбран именно он, ибо выглядит наименее устрашающе по сравнению с другими моделями. Также у рамки должно быть автономное питание, а ардуино по возможности должно максимально экономить энергию.
Схема проекта выглядит следующим образом:
Для проекта нам понадобятся:
- Любая светодиодная лента, мой выбор пар на ленту со светодиодами SMS2835 (12 В, 4.8 Вт), потому что она является наиболее дешевой
- Ультразвуковой датчик расстояния HC-SR04
- Микроконтроллер arduino Uno
- Батарейка крона для питания ардуино
- Мотоциклетный аккумулятор mdb mso 0.8-12 (12 В, емкость 0.8 А/ч)
- Полевой транзистор с изолированным затвором IRFZ44N (Это n-канальный транзистор)
- Резисторы на 100 Ом и 10 кОм
- Макетная плата, которую можно прикрепить сверху ардуино, чтобы можно было припаять провода
- Провода
Также можно приобрести пины, чтобы проверять работоспособность схемы без спайки.
Код для работы с датчиком можно найти по первой же ссылке в гугле, схема подключения выглядит следующим образом.
Регулирование ленты будет осуществляться при помощи мосфета, принцип работы которого можно описать следующим образом: подаем напряжение на затвор - канал открывается, ток течет, лента светит. Не подаем напряжение на затвор - канал закрыт, лента гаснет.
Затвор транзистора мы подключим на любой цифровой входо-выход ардуино, помеченный знаком ~, который говорит о том, с данного выхода может подаваться ШИМ сигнал. Как это функционирует хорошо описано здесь: https://www.youtube.com/watch?v=rCmaMST8qkg&t=296s.
Мы не можем подключить затвор транзистора напрямую к выходу ардуино, потому что в таком случае есть опасность его сжечь, поэтому мы подключаемся через резистор в 100 Ом. В моем случае такого не нашлось, поэтому все подключить пришлось через два параллельно соединенных резистора по 220 Ом. Для того, чтобы избежать самопроизвольного замыкания между стоком и затвором установлен резистор на 10 кОм.
После спайки схема выглядит следующим образом:
Для написания кода использовалась среда разработки arduino ide. Чтобы регулировать яркость ленты необходимо снимать значения с датчика расстояния, а после преобразовать его в значение от 0 до 255 и подать цифровой пин со знаком ~ , через функцию analogWrite(n, m), где n - номер пина, а m - принимает значение от 0 до 255. Код для работы с датчиком можно также найти по первой же ссылке.
Также из подручных средств было сделано место для расположения блока питания и микроконтроллера на задней стороне рамки:
Для держания датчика расстояния был распечатан кронштейн и внешне итоговый проект выглядит следующим образом.
Курсы ремонта мобильной электроники
Господа, сталкивался ли кто с коммерческими курсами по ремонту мобильной электроники?
Ищу варианты продолжительностью в пару-тройку недель.
Содержание максмально должно охватывать основные направления:
физическая база, схемотехника, диагностика, программный, модульный и компонентный ремонт.
Интересны ваш опыт, отзывы (как положительные, так и негативные), советы.
P.S. желательно, чтобы преподаватели выглядели так:
Выбор темы в рубрику "Развлекательно-познавательное"
Доброго дня!
Пару дней назад была совершена первая попытка что-то написать (тык сюда, если хотите ознакомиться). Нашлись даже два смелых и бесстрашных героя, готовые морально поддерживать меня в дальнейших попытках познать искусство написания простых и немного веселых текстов о серьезных вещах. Как и было обещано, продолжаю рубрику. Есть несколько тем для дальнейшего обсуждения, предлагаю выбрать:
1.Микроэлектроника: основные понятия, полупроводники, откуда растут шпионские забугорные уши, шапочки из фольги и другие общие вещи.
2.Методы контроля на производстве, а именно растровая электронная микроскопия.
3.Методы контроля. Зондовая микроскопия.
4.Схемотехника. Транзистор. Как работает, зачем работает, как изготавливается.
5.Ваши варианты. (Адепты квантовой физики не зверствуйте, все же тематика специфичная и мое кунг-фу пока не прокачано настолько, чтобы объяснять глубины физико-математического ада на лампочках и апельсинах.)
6.Ах да, еще прекрасная и таинственная "Наноэлектроника", которая как затычка в каждой дырке последнее время.
Развлекательно-познавательное 1
Доброго времени суток! Некоторые читатели жаловались, что последнее время сообщество превратилось в платформу для жалоб и лента пестрит сплошным негативом, "а вот раньше можно было узнать что-то новое и интересное". Поэтому сегодня я попробую разбавить новостную ленту чем-то новеньким (надеюсь), ну а дальше как пойдет.
В то время, как наши космические корабли бороздят просторы вселенной... "начинку" этих кораблей кто-то создает. И не только кораблей. Конечно, можно жить в счастливом неведении и как в детстве представлять, что все непонятное создают маленькие эльфы, живущие в пряничных домиках, а можно проявить немного любопытства. Для тех, кому интересно, прошу следовать вниз по тексту и предлагаю ознакомиться с профессией разработчика интегральных схем (ИС), а также с кратким маршрутом создания микросхемы.
Внимание! Динозаврам схемотехники вход не воспрещен, но учитывайте, что данный текст создан "для общего развития" и носит развлекательный характер.
С чего все начинается? С идеи? Ничего подобного. Сидит себе в уютном светлом кабинете человечек, мониторит рынок микроэлектроники и думает, что же такого навоять, чтобы спросом пользовалось да денежку приносило, а в идеале найти такую полочку на рынке, которую еще никто не занял. Как только полочка найдена, нужно сесть, просчитать затраты денежные\временные\трудовые. Если фирму все устраивает, разработчику отправляют техническое задание (ТЗ).
Итак, получает Вася Цветочкин ТЗ: "Разработать инвертор". Инвертор эта такая штука из транзисторов, которая делает все наоборот. Было у вас высокое напряжение на входе, значит на выходе оно станет низким (нулем). Вася парень ответственный, поэтому перед разработкой лезет в гугл-шмугл, находит там схему:
И... старательно перерисовывает ее в специализированной программе. Программа очень умная, позволяет изменять кучу параметров и моделирует сотни различных ситуаций. Вася сидит денек-другой и методом Подгониана обыкновенного находит нужные параметры, при которых принципиальная электрическая схема (штука на картинке) работает как задумывалось в ТЗ.
Следующий этап сделать из схемы на бумажке, схему реальную. Вот тут нужно обладать творческой жилкой и любить головоломки-лабиринты, возможно художественная школа тоже пригодится. Ибо то, что нарисовано на принципиальной схеме - просто красивые значки, удобные для понимания.
Небольшое отступление.
Основным материалом микроэлектроники является кремний (Si_14 в таблице Менделеева). Так знаменитая "Силиконовая долина" именно из-за использования кремния при производстве полупроводниковых приборов получила свое название (хотя правильнее было бы говорить "Кремниевая долина" так как, существует несколько забавная на мой взгляд путаница с другой долиной, которая связана с теми самыми силиконовыми имплантами). Кристаллический кремний особым образом переплавляют и разрезают на вот такие глянцевые пластины:
Далее пластины попадают в шаловливые ручки технологов производства, где их ждут все 50 оттенков различных кислот, воздушные ванны и приятное времяпрепровождение в печах. Технология производства - это отдельный раздел шаманизма, который иногда в прямом смысле работает по принципу "на глазок". Не шутка. Берется пластинка, окунается в лоток с кислотой и дядя в халатике по цвету определяет сойдет или еще разок окунуть. Конечно, автоматизированные системы производства есть, но автоматика может далеко не все. В общем именно на такой пластине слоеным пирогом из различных металлов вырастает реальная микросхема.
Возвращаемся к инвертору. А именно к этапу топологического проектирования. Наша дико симпатичная и нереально умная программа переводит электрическую схему на уровень топологии. Топология - карта размещения слоев различных металлов (из которых состоит транзистор) на кремниевой пластине. В программе она будет выглядеть примерно так:
Разные цвета - различные металлы. В примере приведен простенький элемент, на деле же топология микросхемы может выглядеть так:
Где-то там среди сотен полосочек и квадратиков спрятаны сотни инверторов. Помните про необязательную, но желательную творческую жилку? Металлы располагаются друг над другом в десяток слоев, существуют правила проектирования, которые жестко ограничивают минимальные расстояния между металлами и определенными областями. И вот сидит себе разработчик и играет в паучка, который может плести свою паутину только по правилам, да еще и место надо экономить, ибо каждый микрометр пластины стоит больших денег.
Проходят дни, пролетают года (это если схема очень большая и Цветочкин у нас в компании работает один) и вот, наконец, топология готова. Слава богу, в качестве примера выбран инвертор, а его нарисовать дело тридцати минут, поэтому Вася у нас мхом не зарос и не поседел за время разработки схемы. Любуется Вася на свое творение и тыкает на кнопочки все в той же программе, заставляя дико умное произведение программистов выполнять различные проверки на соответствие правилам проектирования, соответствие топологии принципиальной электрической схеме (а то вдруг на схеме у вас один вход, а на топологии вы два приляпали, отвлекшись на видосик на ютуб?), ну и еще пара специфичных проверок. Если все "ок" и окно со списком ошибок не вылетело, то можно танцевать победный танец.
Далее все Васино творчество собирается в папочку и отправляется на производство. Изготовление микросхем - длительный процесс. Отдать на фабрику схему можно в марте, а получить где-нибудь в октябре. Опущу некоторые детали и перейду к пункту, когда Вася Цветочкин посылочкой получает свою прелесть в корпусе для испытаний.
Вот тут настало время пыточной испытательной комнаты. Вася неспешно раскладывает на столе пинцеты, специальные прищепки с проводами, включает генераторы сигналов и в торжественной обстановке, под любимую музыку приступает к ритуальному сожжению тестовой схемы.
Вероятность выживания схемы после испытаний зависит исключительно от фанатизма Васи. Все свои действия разработчик отражает в отчете с кучей графиков, на основе которого потом делается заключение о разработанной схеме и пишется спецификация к оной.
Собственно на этом все. Вася Цветочкин свое дело сделал и может идти дальше залипать на ютуб до следующего ТЗ.
Если находите очепятку - пишите, картинки честно позаимствованы в поисковиках, ТЕКСТ РАЗВЛЕКАТЕЛЬНО-ПОЗНАВАТЕЛЬНЫЙ. Для серьезного подхода к вопросам разработки ИС требуется некоторая база знаний, не доступная широкому кругу лиц. Это первая попытка рассказать о серьезных вещах простыми словами (ну надеюсь, что простыми).
Нужна принципиальная схема.
Поделитесь фотографией принципиалки сделанной по ГОСТу щита учета с трехфазным счетчиком и токовыми трансформаторами.
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.