Сверлильный станок для печатных плат (ATtiny13, C). Буратор. Сверлильный станок для печатных плат О сверлах для сверления печатных плат

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

Полагаю, у каждого радиолюбителя есть инструмент для сверления отверстий в печатных платах. Я лично использую двигатель ДПМ-35-Н1-02 с набором цанг, подключенный к адаптеру на 18 вольт. Однако кое-что в этой системе меня не устраивало, а именно отсутствие возможности плавно регулировать обороты двигателя. Порой, для очень тонкой работы или чтобы избежать «биения» сверла или фрезы, хочется немного убавить скорость вращения вала, да и верхний предел сделать побольше не помешает, все же движок 30-тивольтовый. Хочется — сделаем. После пары-тройки вечеров с компьютером и паяльником получилось примерно следующее.

Готовое изделие питается от бытовой электросети, объединяет в себе блок питания, стабилизаторы напряжения для силовых и сигнальных цепей и ШИМ-контроллер, собранный на базе таймера NE555. Почему именно ШИМ? Конечно же, обороты двигателя можно плавно изменять, применяя регулируемый параметрический стабилизатор, или вовсе мощный реостат, но потери мощности и нагрев элементов схемы при этом будут совершенно неприемлемыми. Если есть желание узнать о предмете больше, рекомендую обратиться к соответствующим материалам по принципам ШИМ в сети. В двух словах, широтно-импульсная модуляция позволяет добиться большей экономичности и мизерного тепловыделения. Поэтому основным узлом схемы является 555-й таймер, работающий в режиме генератора прямоугольных импульсов, с регулируемым отношением их длительности к скважности. К выходу таймера через транзисторный драйвер подключен затвор ключа, коммутирующего силовые цепи.
Как видно, путем небольших модификаций, схема может быть переделана для управления любыми нагрузками постоянного тока с широким диапазоном мощностей, от комнатного вентилятора до электропечи. Необходимо будет только обеспечить нагрузку соответствующим источником питания, и подобрать силовой ключ на нужные значения напряжения и тока.
В общих чертах рассмотрим работу схемы. Блок питания трансформаторный (в данном случае тороид, 220 на 35 вольт), содержит выпрямитель VDS1 и конденсаторный фильтр C1-C2. Затем, при помощи стабилизатора LM338T, формируется питание электродвигателя 30 вольт («обрезание» всего 3-5 вольт не накладывает дополнительные ограничения на выходной ток микросхемы и почти не разогревает ее), и с помощью L7812 — 12 вольт питания для таймера и драйвера ключа. Частотозадающий конденсатор C10 подключен к пороговому выводу 6 таймера таким образом, что отношение времени его заряда ко времени разряда, а следовательно, и длительности импульсов на выводе 3 к их скважности, задается делителем на переменном резисторе R3 и парой диодов VD2-VD3. Резистор R4 служит для исключения короткого замыкания между плюсом питания и выводом разряда 7 таймера при крайнем положении переменного резистора. С третьего вывода таймера, полученные импульсы поступают в драйвер на комплементарной паре транзисторов T1 и T2: BD139-BD140. Драйвер служит для усиления сигнала и обеспечения форсированного открытия/закрытия силового MOSFETа T3. В принципе, можно было обойтись и без драйвера, «подтянув» выход NE555 к плюсу питания через килоомный резистор — все же здесь схема однотактная, и частота сравнительно небольшая. Нам не так важны временнЫе характеристики и стабильность срабатывания ключа «с точностью до миллиметра», да и собственная емкость затвора ключа невелика. Однако схема разрабатывалась как универсальное решение, для применения ее в дальнейшем в качестве регулятора различных нагрузок, поэтому драйвер я все же оставил. Далее, усиленный сигнал подается на затвор полевика, коммутирующего силовую линию. Мной выбран IRF530 исключительно за мизерную цену и за то, что с меньшим рабочим током в наличии были полевики только в «безногих» корпусах, а связываться с SMD в данном изделии не хотелось. А так 14 ампер за глаза хватает — ДПМ потребляет 700мА максимум. Чем меньше длительность управляющих сигналов, а следовательно и импульсов на движке, тем ниже скорость его вращения, и наоборот. Вот в общем-то и все основные элементы схемы. Защитный диод на выходе — на всякий случай, светодиоды для контроля напряжений в силовой и сигнальной частях схемы. Если возникнут проблемы со стабильностью скорости вращения двигателя, можно установить параллельно выходным клеммам конденсатор на четверть микрофарады, правда при этом диапазон регулировки слегка сузится, но это уже на ваше усмотрение, я лично ставить не стал.


Так выглядит печатка. Файл для Spring Layot прилагается в конце статьи. Зеркалить перед распечаткой не надо. Габариты платы 190х75 миллиметров. Разведена специально под имеющийся у меня радиатор.
Что тут можно упростить? Не рекомендую, но можно уменьшить количество фильтрующих электролитов, выкинуть драйвер, защиту и светодиоды. Еще можно ликвидировать блок питания, если у нагрузки есть свой. Дальше упрощать уже некуда.




Так выглядит внешне плата и готовое устройство. Радиаторов у меня куча, поэтому на них экономить не стал, хотя практические испытания показывают, что в дополнительном теплоотводе нет нужды.
Дальше уже «косметика»: поместить плату в корпус, вывести на «морду» ручку переменника и разъем для подключения двигателя. У меня ничего компактнее COM-овских DB09 в кладовке не нашлось, поэтому пришлось использовать их. Какой-нибудь мини-джек смотрелся бы гораздо симпатичнее. На задней стенке сетевой выключатель и провод с вилкой. Дополнительный выключатель размещен непосредственно на корпусе двигателя для быстрой остановки.
Конечно о компактности тут говорить не приходится — увесистый кирпич получился, но не следует забывать, что это готовое изделие «включил и работай», к тому же простейшей конструкции и собранное из дешевых комплектующих. При желании, применяя SMD детали и бестрансформаторный блок питания, можно уложиться в габариты сигаретной пачки, однако стоимость и сложность такого блока будут такими, что проще приобрести уже готовый, фабричный.
Ходовые испытания сверлилка прошла на отлично: обороты плавно регулируются от 100% до приблизительно 10%, момент на валу ровный, без просадки. После длительной работы, почти все элементы схемы остаются холодными, кроме 7812 — та чуть теплая.
В общем кому надо — пользуйтесь на здоровье. Если возникнут какие вопросы, пишите тут, покумекаем.
Ах да, цена вопроса по смете получается около 400 рублей, если приобретать абсолютно все детали по рыночной цене. Надо ли говорить, что больше половины запчастей доставалось из загашников и ничего не стоило.
И, напоследок, архив с печаткой и спецификацией .

Дополнения по вопросам из коментов. На всякий случай, расписывал досконально, мало ли:)
Давай по-порядку:
1) Как организовать плавный запуск двигателя.
Для реализации плавного запуска, воспользуемся функцией control voltage, имеющейся в таймере NE555. Одноименный вывод таймера, за номером 5, позволяет управлять опорным напряжением компаратора, использующегося при заряде-разряде времязадающего конденсатора. Номинально, опорное напряжение составляет 2/3*Uпит, но подавая на 5 ногу микросхемы напряжение от 0 до Uпит, мы можем изменять этот порог по своему усмотрению. Что же при этом происходит? Не вдаваясь в подробности, времязадающий конденсатор заряжается до тех пор, пока напряжение на нем не достигнет порога срабатывания компаратора, после чего включается цепь разряда. Если увеличить значение порога, то «зубья пилы» на конденсаторе станут шире и реже — соответственно ширина импульсов на выходе таймера также увеличится, если же порог уменьшить, ширина «зубьев» также уменьшится — импульсы на выходе станут уже. Причем этот эффект как бы накладывается на те изменения коэффициента заполнения ШИМ, что мы задаем переменным резистором, и имеет перед ними более высокий приоритет.
Чтож, значит нам нужно, чтобы напряжение на 5-м выводе таймера плавно нарастало от нуля до 2/3*Uпит за некоторую величину времени Т, определяющую длительность плавного старта.
Проще всего это реализовать при помощи RC цепочки. Как мы помним из курса физики, напряжение на конденсаторе вырастает не мгновенно, а постепенно, по мере его заряда. Для определения времени заряда, существует величина Т — постоянная времени заряда конденсатора. Т вычисляется по формуле Т=R*C, где R — сопротивление резистора, включенного последовательно с конденсатором, а С — емкость этого самого конденсатора. За время Т, конденсатор успевает зарядиться на 63%, а соответственно и величина напряжения между его обкладками достигнет 63% от приложенного извне. За время 3*Т, конденсатор заряжается на 95%. В нашем случае, в расчетах мы будем «отталкиваться» от величины Т, так как ей соответствует наиболее крутой участок кривой заряда/разряда конденсатора, а следовательно наиболее ярко выраженное влияние на длительность периода мягкого старта.
Таким образом, нам нужно подключить нашу RC цепочку так, чтобы с верхней обкладки конденсатора снимать напряжение на 5 ногу таймера, нижнюю обкладку заземлить, а резистор цепочки подключить к источнику напряжения, величина которого равна таковой у ИОНа компаратора NE555, то есть двум третям от напряжения питания. Поскольку величина опорного напряжения определяется только лишь простым соотношением, а не конкретным паспортным значением, это сильно облегчает нам жизнь — не нужно переживать по поводу колебаний питающего напряжения, городить стабилизатор на стабилитроне, достаточно простого резистивного делителя. Резисторы делителя должны иметь сопротивления в отношении один к двум, например 5 и 10 килоом. Резистор RC цепочки одним выводом подключаем на среднюю точку делителя, а вторым на верхнюю обкладку конденсатора. Лучше сразу поставить подстроечный резистор, чтобы иметь возможность плавно изменять длительность переходного процесса. Например, используя 50 кОм подстроечник и 100 мкФ конденсатор, получим диапазон регулировки от 0,5 с до 5,5 с. «Лишние» полсекунды появляются за счет того, что в цепи заряда конденсатора участвует также резистор верхнего плеча делителя, номиналом 5 кОм. Если такая величина нижнего предела регулирования не устраивает и хочется поменьше, то уменьшаем либо емкость конденсатора, либо сопротивление плеч делителя (пропорционально). Но скажу сразу - для электродвигателя переходный процесс менее полусекунды будет практически незаметен, так как его полностью «сожрет» инерция покоя якоря. Если регулировка не нужна, ставим постоянный резистор на расчетный номинал, а именно, в нашем случае, на каждые 10 кОм ~ 1 секунда времени заряда.
В принципе уже можно оставить все как есть, и плавный старт будет работать, но есть тут один неприятный нюанс. Предположим, мы подали питание на сигнальную часть схемы, конденсатор полностью зарядился, и двигатель плавно вышел на номинальные обороты. Что будет, если выключить питание таймера? Двигатель начнет останавливаться выбегом, а конденсатор RC цепочки начнет плавно разряжаться через переменный резистор и нижнее плечо делителя. Засада здесь в том, что время разряда будет даже больше, чем время заряда, так как резистор нижнего плеча имеет вдвое большее сопротивление, чем резистор верхнего. Соответственно, если теперь мы вновь включим таймер, не выждав некоторое время, то переходный процесс начнется не с нуля, а с некоего значения напряжения на конденсаторе, до которого он успел разрядиться. Поэтому нужно предусмотреть способ быстрого разряда конденсатора. Самое простое, что можно сделать, это поставить диод параллельно переменному резистору, анодом к кондёру. Таким образом, заряд идет через резистор, а при разряде этот резистор шунтируется диодом, и время разряда зависит только от номинала нижнего плеча делителя. А уж за секунду (при номинале 10 кОм), вал двигателя не успеет полностью остановиться, поэтому кратковременное включение/выключение никаких рывков не создаст.
Окончательный вариант части схемы, реализующей плавный запуск получится таким:
(все остальное остается как в основной схеме).

Плату под это дело переразводим сами, это не сложно.

2) Как сделать включение/выключение нагрузки по низковольтной схеме. Тут как раз все проще некуда. Самое правильное место, куда стоит врезать выключатель, обеспечивающее при этом наименьшие утечки при выключенной низковольтной нагрузке, это после диода VD1 (по схеме). Но следует учесть, что в этой точке потенциал высокий, по схеме 30 вольт. Также можно поставить кнопку после LM7812 (там будет уже 12 вольт), но при этом даже в выключенном состоянии схема будет потреблять небольшой ток — ток холостого хода стабилизатора. Есть еще менее экономичные точки установки выключателя: можно установить его «в разрыв» в любом месте между 3-м выводом NE555 и затвором транзистора Т3, либо в том же промежутке, но замыкая «на землю». При этом генератор таймера будет работать, но имульсы с выхода не будут доходить до затвора транзистора. Но это уже из разряда "вредных советов". :)
И особняком, последний вариант: все же поставить выключатель в высоковольтной цепи. Здесь основной недостаток в том, что при включении/отключении индуктивной нагрузки, коей является обмотка электродвигателя и адже просто длинные провода, образуются всплески напряжения, поэтому защитный диод VD4 в схеме обязателен. За то есть одно большое преимущество: когда потребитель находится на удалении от блока управления, можно разместить кнопку включения/выключения прямо рядом с ним, не подтягивая дополнительных проводов. Именно так я и сделал на своей сверлилке — кнопка прямо под пальцем, на корпусе микродрели, чтобы оперативно остановить ее, не нашаривая выключатель на блоке.
Не рекомендую использовать все места установки кнопок кроме первого и второго. Кстати, все прочие не позволяют использовать вышеописанную схему плавного старта.
И еще такой момент, который я не отразил в основной схеме и ее описании в силу того, что в ней силовая и сигнальная части включаются и выключаются строго одновременно.
Затвор полевого транзистора нужно подтянуть к земле резистором на 50 - 100 кОм. Это нужно для того, чтобы в отсутствие управляющих сигналов с генератора, полевик оставался надежно закрытым. Если подтяжку не сделать, то на затвор может навестись помеха из окружающего эфира (например, наводки высоковольтной части схемы), и полевик самопроизвольно откроется или зависнет в полуоткрытом состоянии. При этом, между истоком и стоком получится эквивалент резистора с каким-то сопротивлением, ток нагрузки разогреет транзистор и сожжет его. Подтяжка к земле нужна как при использовании драйвера, так и без него — при такой же подтяжке выхода таймера к плюсу питания резистором. Следует только выполнять условие, чтобы номинал «верхнего» резистора был на порядок-два ниже «нижнего». Также не забываем про токоограничивающий резистор перед затвором полевика, номиналом 50-100 Ом. Это снизит нагрузку на драйвер и генератор. Схемы для обоих вариантов ниже.

Регуляторы для ручной сверлилки плат.

Приветствую радиолюбителей. И да не остынет ваш паяльник. В принципе в инете полно разных схем регуляторов, выбирай на свой вкус, но, чтобы вам долго не мучаться в поисках мы решили предложить вашему вниманию несколько вариантов схем в одной статье. Сразу оговоримся, описывать принцип работы каждой схемы мы не будем, вам будет предоставлена принципиальная схема регулятора, а также печатная плата к ней в формате LAY6. И так, начнем.

Первый вариант регулятора построен на микросхеме LM393AN, питание на нее подается с интегрального стабилизатора 78L08, операционник управляет полевым транзистором, нагрузкой которого является мотор ручной минидрели. Принципиальная схема:

Регулировка оборотов осуществляется потенциометром R6.
Напряжение питания 18 Вольт.

Плата LAY6 формата к схеме на LM393 выглядит так:

Фото-вид платы LAY6 формата:

Размер платы 43 х 43 мм.

Расположение выводов полевого транзистора IRF3205 показано на следующем рисунке:

Второй вариант имеет довольно широкое распространение. В его основу заложен принцип широтно-импульсного регулирования. Схема построена на микросхеме таймере NE555. Управляющие импульсы с генератора поступают на затвор полевика. В схему можно поставить транзисторы IRF510...640. Напряжение питания 12 Вольт. Принципиальная схема:

Регулировка оборотов двигателя осуществляется переменным резистором R2.
Расположение выводов IRF510...640 такое же как у IRF3205, картинка выше.

Печатная плата LAY6 формата к схеме на NE555 выглядит так:

Фото-вид платы LAY6 формата:

Размер платы 20 х 50 мм.

Третий вариант схемы регулятора оборотов имеет не меньшую популярность среди радиолюбителей чем ШИМ, ее отличительной особенностью является то, что регулировка скорости происходит автоматически, и зависит от нагрузки на валу моторчика. То есть, если мотор крутится на холостых оборотах, скорость его вращения минимальна. При увеличении нагрузки на валу (в момент сверления отверстия), обороты автоматически увеличиваются. В нете эту схему можно найти по запросу “Регулятор Савова”. Принципиальная схема автоматического регулятора оборотов:

После сборки необходимо сделать небольшую настройку регулятора, для этого на холостом ходу моторчика подстраивается подстроечный резистор Р1 чтобы обороты были минимальны, но так, чтобы вал вращался без рывков. Р2 служит для подстройки чувствительности регулятора к увеличению нагрузки на валу. При 12-ти Вольтовом питании ставьте электролиты на 16 Вольт, 1N4007 заменимы на подобные от 1 Ампера, светодиод любой, например АЛ307Б, LM317 можно поставить на небольшой теплоотвод, печатная плата рассчитана на установку радиатора. Резистор R6 – 2 Вт. Если моторчик вращается рывками, увеличьте немного номинал конденсатора С5.

Печатная плата автоматического регулятора оборотов показана ниже:

Фото-вид платы автоматического регулятора оборотов LAY6 формата:

Размер платы 28 х 78 мм.

Все вышеприведенные платы изготавливаются на одностороннем фольгированном стеклотекстолите.

Скачать принципиальные схемы регуляторов оборотов для ручной мини-дрели, а также печатные платы в формате LAY6 моожно по прямой ссылке с нашего сайта, которая появится после клика по любой строке рекламного блока ниже кроме строки “Оплаченная реклама”. Размер файла – 0,47 Mb.

Да, это моя дрель и почему-то все пугаются когда её видят.
Ну, жалко мне пока денег на нормальный девайс.


Самая приятная часть работы, и трудная, это сверление печатной платы. Я собираю что-то новое и необходимо сверлить все это дело.
Очень часто приходится класть дрель на стол, пока что-то обдумываешь или тебя отвлекает супруга, а если на столе ещё и творческий беспорядок, то микродрели очень сложно найти место. Из-за вибрации во включенном состоянии она может слететь со стола.

Тут возникла идея собрать стабилизатор с регулировкой частоты вращения.
Нашел хорошую подборку схем на Радиокоте:

Идея и схема

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


Источник изображения radiokot.ru


А вот и схема такого автоматического регулятора оборотов. Её автор Александър Савов из Болгарии .

Детали

В схеме применены легкодоступные детали. Микросхему необходимо установить на радиатор во избежание её перегрева.
Конденсаторы электролитические на номинальное напряжение 16В.
Диоды 1N4007 можно заменить на любые другие рассчитанные на ток не менее 1А.
Светодиод АЛ307 любой другой. Печатная плата выполнена на одностороннем стеклотекстолите.
Резистор R5 мощностью не менее 2Вт, или проволочный.

БП должен иметь запас по току, на напряжение 12 В. Регулятор работоспособен при напряжении 12-30 В, но свыше 14В придется заменить конденсаторы на соответствующие по напряжению.

Налаживание

Готовое устройство после сборки начинает работать сразу. Резистором P1 выставляем требуемую частоту вращения на холостом ходу. Резистор P2 служит для установки чувствительности к нагрузке, им выбираем нужный момент увеличения оборотов. Если увеличить емкость конденсатора C4, то увеличится время задержки высоких оборотов или если двигатель работает рывками. Я увеличил емкость до 47uF.

Двигатель для устройства не критичен. Только необходимо чтобы он был в хорошем состоянии.
Я долго мучился, уже подумал, что у схемы был глюк, что она непонятно как регулирует обороты, или уменьшает обороты во время сверления.
Но разобрал двигатель, прочистил коллектор, подточил графитовые щетки, смазал подшипники, собрал.
Установил искрогасящие конденсаторы. Схема заработала прекрасно.
Теперь не нужен неудобный выключатель на корпусе микродрели.

Печатная плата в Sprint Layout


Разводка уважаемого МП42Б , вытащена из общего файла его статьи, упомянутой в начале.

02.05.2019 по просьбе камрадов на плате подписал детали и немного навёл красоты Игорь Котов.
Архив обновлён.
🕗 05/02/19 ⚖️ 11,15 Kb ⇣ 22 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

Здоровья всем читателям Муськи!
Благодаря этому замечательному сайту обзавелся множеством полезных вещей и знаний и в ответ решил написать первый отчет о недавно разработанном устройстве. В процессе разработки устройства столкнулся с рядом проблем и успешно их разрешил. Возможно, кому-то из коллег-новичков описание некоторых решений поможет в творчестве.
Для изготовления печатных плат обзавелся микродрелью и стойкой для нее, превращающей дрельку в сверлильный микростанок. Необходимость этого возникла после кучки переломанных сверл 0.5-1мм при использовании в шуруповерте и китайском дремеле. Но, как оказалось, пользоваться таким инструментом без регулятора оборотов невозможно. Регулятор решил сделать самостоятельно, попутно получив новые знания.

Радиолюбительский опыт у меня небольшой. В детстве по книге Борисова собрал несколько приемников, да моргалок на мультивибраторах. Потом пошли другие увлечения и дела.
А тут по случаю заметил Arduino, лихо наваял макетов метеостанций, роботов, и захотелось автоматизировать при помощи микроконтроллеров все, до чего дотянусь. Размеры контроллеров шли по убыванию размеров и облегчению встраивания – Arduino UNO, Arduino Pro Mini, потом кучка ATMega328P, и для самых мелких и простых устройств приобрел ATtiny85.
Тиньки покупал более года назад и они лежали и ждали свой очереди.

Скриншот заказа


(там еще термоусадка в заказе была, потому общая цена выше)


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

Поначалу паял схемки на макетных платах, но почитав про ЛУТ, понял, что вполне реально и гораздо удобнее все собирать на нормальных печатных платах.
Также понемногу начал собирать полезный инструмент, среди которого оказалась микродрелька МД-3 с цанговым патроном и станочком для сверления мелких отверстий. Можно было бы конечно купить только цангу, а двигатель откуда-нибудь выковырять, но решил приобрести готовое в местном магазине.

Печатаем на лазернике рисунок на глянцевой фотобумаге Lomond для струйной печати. Но совать в новенький принтер совсем не предназначенную для него бумагу было стремно. Нашел в сети предупреждения, что глянцевое покрытие струйной бумаги может расплавиться, прилипнуть к печке и угробить принтер. Для уверенности провел эксперимент - покатал по поверхности этой бумаги нагретый до 200С паяльник (точную температуру печки так и не нашел, но около того), бумага чуть покоробилась, но ничего не плавилось и не прилипало - значит можно и в принтер.

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

Травить медь решил раствором перекиси водорода и лимонной кислоты как наиболее доступным составом. Возможные варианты химии для травления с расчетами можно посмотреть вот здесь

Перекись взял из аптечки, куплена была года 3 назад, срок годности вышел года 2 как, думал уже выдохлась и работать вообще не будет. Однако ошибся, плату протравило весьма бодро - минуты за три. Вот результат:

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

Плату залудил паяльником с применением оплетки. Напаял детали.




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

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

Конденсатор C2 на схеме подключенный к Reset запаивать не стал, т.к. он хоть и повышает надежность запуска устройства, но при перепрошивке МК может помешаться.

Микроконтроллер запаивал в последнюю очередь, перед этим подключив плату к БП и убедившись, что ничего сразу не выгорит и стабилизатор выдаст штатные 5В. Ничего не задымилось и потому подключаем на штырьки ICSP программатор и заливаем тестовую прошивку.

Прошивку для устройства будем писать в знакомой многим среде программирования Arduino, предварительно добавив в нее поддержку микроконтроллеров ATtiny, скачав и распаковав их в папку Arduino/hardware.

Тестовый скетч (приводить смысла не вижу) просто считывал состояния входных сигналов и отображал их на имеющихся выходных с подключенными светодиодами. Т.к. входных у нас 4 канала, а выходных только 2, пришлось провести проверку в несколько этапов.

Все заработало как и ожидалось, за исключением одного - не читалась кнопка, подключенная к одному каналу с зеленым светодиодом, а светодиод горел заметно ярче красного. Замеры тестером показали, что в состонии PB0 в качестве выхода через светодиод течет более 20мА и на нем падает всего 2.1В. А в состоянии входа с внутренней подтяжкой на ноге всего 1.74В при отпущеной кнопке и 0.6В при нажатой. Неудивительно, что постоянно читается 0. Низковольтный зеленый светодиод даже не светясь при протекании микроамперного тока просаживал напряжение на ноге. Теперь понятно для чего в исходной статье последовательно подключали 2 светодиода.

Но ставить второй светодиод светить внутрь коробки тупо в качестве балласта (и на лицевой панели 2 одинаковых тоже не нужны) показалось несколько кривым решением. Задумался как еще можно приподнять напряжение в цепи светодиода и вспомнил про ВАХ стабилитрона. Если подключить последовательно со светодиодом встречно ему стабилитрон на 2В (чтобы работал штатно, на обратной ветви ВАХ), то получится как раз то, что нам надо. Когда горит светодиод на токе 10мА - стабилитрон пробивается и не мешает протеканию тока, а лишь стабилизирует падающее на нем напряжение на заданном уровне. Нужно лишь заменить токоограничивающий резистор, из расчета, что нужно уже подавить напряжение Uрез=5В-2.1В-2.0В=0.9В на 10мА, т.е. R=90 Ом. А когда нога переключена на вход с подтяжкой - благодаря крутизне ветви ВАХ до момента пробоя перехода, стабилитрон эквивалентен высокоомному резистору и на нем упадет опять же около 2В, подняв напряжение на ноге МК при отпущеной кнопке до 4В, что уже прочитается как TRUE. При нажатии кнопки нога окажется подтянутой к 5В внутренним резистором сопротивленим около 40КОм (по моим расчетам), а к земле - резистором 5КОм (который зашунтирует цепь светодиода), т.е. на ней будет те же 0.6В и считается FALSE.
Подпаял стабилитрон навесом последовательно с резистором и кнопка заработала как надо.

Теперь настала очередь проверки работы ШИМ и тут тоже возникли проблемы. Стандартная ардуинская команда AnalogWrite(нога, заполнение) работать не желала. Значит что-то не так с библиотекой для тиньки. Полез шерстить даташит на МК и просторы интернета.

Выяснилось интересное:
- на выводы 5, 6 (PB0, PB1) могут быть выведены 2 канала ШИМ (OC0A, OC0B) работающие каждый со своей уставкой заполнения (но одинаковой частотой) от Таймера 0;
- на выводы 2, 3 (PB3, PB4) может быть выведен третий канал ШИМ работающий от Таймера 1, причем на ногу 3 может быть выведен прямой сигнал ШИМ (OC1B), а на ногу 2 - его же инверсная версия (/OC1B). Но вывод идет либо только на 3 ногу, либо на обе сразу. А нам надо ШИМ на 2 ноге, хотя бы инверсный (программно его инвертируем обратно), так что придется конфигурировать вывод на 2 и 3 ноги, и на 3 сигнал не пройдет только потому, что она объявлена входом.

Так вот, насколько я понял, в пакете поддержки ATtiny для Ардуино канал ШИМ от Таймера 1 может выводиться только на ногу 3. Видимо вывод его же инверсной версии посчитали излишеством. Придется сконфигурировать таймер и ШИМ самостоятельно (см. код, функция PWM3_init), вместо использования AnalogWrite.

Еще заметил, что при перенастройке Таймера 1 сбивается работа функции millis() – оказывается, по умолчанию для внутренних часов используется Таймер 1. Но можно перенастроить время на Таймер 0 при помощи макроопределения в файле Arduino\hardware\tiny\cores\tiny\core_build_options.h
/* For various reasons, Timer 1 is a better choice for the millis timer on the "85 processor. */ #define TIMER_TO_USE_FOR_MILLIS 0
Чем мы и воспользуемся, поскольку Таймер 0 в этом проекте как раз полностью свободен.

Также возник вопрос по диапазону уставки оборотов, читаемой с переменного резистора. Автор исходной схемы добавил последовательно с переменником 10K постоянный резистор 36K, видимо из расчета чтобы код АЦП вписался в диапазон 0-255. Реально получилось 0-230, причем максимум плавал. А хотелось бы именно 0-255 для соответствия полной шкалы уставки с 8-битным ШИМом. Для этого я выпаял постоянник и заменил перемычкой на +5В, АЦП стал читать весь диапазон, а 4 младших бита отбрасываем программно. И зачем нужна была лишняя деталь?

После тестовых испытания каналов ввода вывода загружаем в микроконтроллер боевую прошивку, написанную на С в среде Arduino по мотивам исходников на Бейсике автора исходной схемы.

Текст программы

// Attiny85 at 1MHz // Не забыть задать таймер 0 для millis и др! // Arduino\hardware\tiny\cores\tiny\core_build_options.h -> TIMER_TO_USE_FOR_MILLIS 0 #include // Подключения #define MODE_LED_PIN PIN_B0 #define MODE_BUT_PIN MODE_LED_PIN #define PWM_LED_PIN PIN_B3 #define AM_PIN PIN_B1 #define SP_PIN A1 #define CUR_PIN A2 // Состояния #define MODE_MANUAL 0 #define MODE_WAITING 1 #define MODE_SETUP_XX 2 #define MODE_SETUP_MAX 3 #define MODE_START 4 #define MODE_DRILLING 5 #define MODE_STOP 6 // Переменные byte Mode = MODE_MANUAL; byte ModeLedVal = LOW; byte SetPoint = 0; int CurrentFiltered = 0; byte CurrentU8 = 0; byte AMButton; byte AMButtonFlt = LOW; static byte ModeButton; static byte ModeButtonFlt = HIGH; // начальные значение для static byte ModeButtonOld = LOW; // исключения срабатывания при старте static byte SetupStep = false; unsigned long BlinkFromMs; unsigned long StartFromMs; unsigned long ModeFromMs; byte W, W0, W1, W2, Wxx, Wmax, Uxx, Uon, Uoff; void PWM3_init() { // Настройка ШИМ на PB3 (pin 2) используя Таймер 1 TCCR1 = _BV (CS11) | _BV (CS10); // prescaler /4 GTCCR = _BV (COM1B0) | _BV (PWM1B); // clear OC1B on compare OCR1B = 255; // начальное заполнение 0% (используем инверсный выход!) OCR1C = 255; // частота ШИМ = 1КГц (1 000 000 /4 /256) } void analogWrite_PB3(uint8_t duty_value) { // analogWrite на PIN_B3 OCR1B = 255-duty_value; // заполнение 0-255 (0-100%) (используем инверсный выход!) } byte ScanButton(void) { // Чтение кнопки подключенной к одному выходу со светодиодом // Ускоренная версия с восстановлением выхода и без отключений ШИМ byte value,port_bak; port_bak = PORTB; // сохранить выход DDRB &= ~(1<interval)){ \ outvar = varname;\ }\ }\ else {\ __lastChange_##varname=millis();\ } // Инициализация void setup() { pinMode(MODE_LED_PIN, OUTPUT); // основное состоние - индикация pinMode(PWM_LED_PIN, OUTPUT); PWM3_init(); // восстанавливанием настройки из EEPROM если они там есть if (EEPROM.read(11)==0xAA) { Wxx = EEPROM.read(0); Wmax = EEPROM.read(1); Uon = EEPROM.read(2); Uoff = EEPROM.read(3); } else { // значения по-умолчанию Wxx = 1; Wmax = 255; Uon = 255; // исключает старт до проведения настройки Uoff = 0; } // Плавный разгон до холостого хода или ручной настройки if (digitalRead(AM_PIN)==HIGH) W0 = Wxx; else { W0 = 255- (analogRead(SP_PIN) >> 2); // 0-255, переменный резистор у нас инверсным получился } W1 = 0; for(W=0 ; W<=W0; W++) { analogWrite_PB3(W); W1 = W1 + 4; delay(W1); } delay(800); Mode = MODE_WAITING; } // Рабочий цикл void loop() { // Индикация текущего режима морганием switch (Mode) { case MODE_MANUAL: ModeLedVal = LOW; // выключено break; case MODE_WAITING: (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; // в полнакала break; case MODE_START: case MODE_DRILLING: case MODE_STOP: ModeLedVal = HIGH; // на полную break; case MODE_SETUP_XX: if ((millis()-BlinkFromMs > 400)) { // редко (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; BlinkFromMs = millis(); } break; case MODE_SETUP_MAX: if ((millis()-BlinkFromMs > 100)) { // часто (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; BlinkFromMs = millis(); } break; } digitalWrite (MODE_LED_PIN, ModeLedVal); // Тумблер Auto/Manual, в Auto размыкается и читается HIGH AMButton = digitalRead(AM_PIN); Debounce(AMButton, AMButtonFlt, 200); // Кнопка настройки, читается спецпроцедурой т.к. совмещена со светодиодом, при нажатии читается LOW ModeButton = ScanButton(); Debounce(ModeButton, ModeButtonFlt, 200); SetupStep = (ModeButtonFlt==LOW) && (ModeButtonOld==HIGH); ModeButtonOld = ModeButtonFlt; // Крутилка SetPoint = 255- (analogRead(SP_PIN) >> 2); // 0-255, переменный резистор у нас инверсным получился // Ток мотора // Основной фильтр RC-цепочка 36K+68nF (постоянная времени 2.5мс, частота среза 65Гц) // но на всякий дополним программным // БИХ-фильтр НЧ первого порядка y(i) = y(i-1) + alpha*(x(i)-y(i-1)) // (он же Экспоненциальное скользящее среднее, EMA) // в фильтре вместо float используем повышенную точность int, для чего сдвигаем влево на свободные 5 бит (знак еще пригодится) // умножение на дробный коэффициент alpha заменяем сдвигом вправо // (6 = /64 = *0.016) 100 циклов - 80% значения, 200 циклов - 96% значения, 369 циклов - 99.6% значения // (5 = /32 = *0.031) 50 циклов - 80% значения, 100 циклов - 96% значения, 179 циклов - 99.6% значения // (4 = /16 = *0.063) 25 циклов - 80% значения, 50 циклов - 96% значения, 90 циклов - 99.6% значения // (3 = /8 = *0.125) 12 циклов - 80% значения, 25 циклов - 96% значения, 45 циклов - 99.6% значения // период работы = АЦП 110мкс + программа = 0,2мс // постоянная времени = 8*0,2мс = 1,6мс, частота среза 625Гц CurrentFiltered = CurrentFiltered + (((analogRead(CUR_PIN) << 5) - CurrentFiltered) >> 3); // для простоты использования приводим к 0-255 // (сдвиг обратно на 5 бит и 2 старших отбрасываем т.к. все интересное (холостой ход) <1В) CurrentU8 = byte (CurrentFiltered >> 5); // если >1В чтобы не перепутать с малыми if ((CurrentFiltered >> 5) & 0x7F00) CurrentU8=255; // Автомат состояний switch (Mode) { case MODE_MANUAL: // Ручное регулирование крутилкой analogWrite_PB3(SetPoint); if (SetupStep) Mode = MODE_SETUP_XX; if (AMButtonFlt==HIGH) { // При переходе в автомат притормозим analogWrite_PB3(Wxx); StartFromMs = millis(); Mode = MODE_STOP; } break; case MODE_WAITING: // Ждем роста тока if (CurrentU8 > Uon) { // Запуск StartFromMs = millis(); analogWrite_PB3(Wmax); Mode = MODE_START; } if (SetupStep) Mode = MODE_SETUP_XX; if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_START: // Раскрутка if (millis()-StartFromMs > 300) Mode = MODE_DRILLING; if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_DRILLING: // Сверлим, ждем падения тока if (CurrentU8 < Uoff) { // Тормозим analogWrite_PB3(Wxx); Mode = MODE_STOP; } if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_STOP: // Тормозим и ждем пока выйдем на ток ХХ if (CurrentU8 < Uon) { // Замедлились if (millis()-StartFromMs > 300) // надежно Mode = MODE_WAITING; } else { StartFromMs = millis(); } if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_SETUP_XX: // Настройка холостого хода Wxx = SetPoint; analogWrite_PB3(Wxx); if (SetupStep) { Uon = byte(1.1 * CurrentU8); EEPROM.write(0,Wxx); EEPROM.write(2,Uon); Mode = MODE_SETUP_MAX; } break; case MODE_SETUP_MAX: // Настройка макс.оборотов Wmax = SetPoint; analogWrite_PB3(Wmax); if (SetupStep) { Uoff = byte(1.1 * CurrentU8); EEPROM.write(1,Wmax); EEPROM.write(3,Uoff); EEPROM.write(11,0xAA); // Тормозим analogWrite_PB3(Wxx); StartFromMs = millis(); Mode = MODE_STOP; } break; default: Mode = MODE_WAITING; return; } }


Подключаем в качестве шунта 5 ваттный резистор 2.2 Ом. Для защиты схемы от индуктивных выбросов напряжения на заднем фронте ШИМ подключаем параллельно мотору диод Шоттки SS34, а для подавления помех от коммутации обмоток – конденсатор 100нФ. И начинаем испытания по управлению мотором дрели.

Сразу достает зубодробильный вой ШИМа на 4КГц (1МГц/256). Добавляем настройку делителя /4 - сразу полегчало, хотя писк никуда не делся, но 1КГц почему-то переносится гораздо легче даже при продолжительной работе.

В ручном режиме обороты мотора нормально регулируются 0-100%, а в автоматическом АЦП цепи обратной связи все время читает MAX значение и ничего не работает. Попутно замечаю, что плата громко пищит даже при отключенном моторе. WTF?

Берем тестер, откапываем осциллограф и начинаем изучать, что же мы выдаем и чего получаем. И роняем челюсть. На шунте вместо пологих волн тока через индуктивность в начале импульсов ШИМ видим иголки в десятки вольт. Значит, через шунт течет импульсный ток в десяток ампер! Причем даже при отключенном двигателе. Не удивительно, что плата зазвенела. Но что же замыкает цепь без двигателя? Крошечный конденсатор 100нФ! Помехи при коммутации обмоток он может и подавит, а пока устраивает кратковременное КЗ на каждом периоде ШИМ! Вывод - помехоподавлящий конденсатор не совместим с ШИМ управлением и контролем с помощью шунта, надо убирать.

И тут до меня доходит, что эти высоковольтные выбросы идут почти прямо на АЦП тиньки (т.к. тут амплитудный детектор, то конденсатор на ноге заряжается до максимального напряжения в иголке и благополучно хранит его, т.к. разряд только через утечку диода). Тинька вроде пока помирать не собирается, но что с ее ногой? Приборы показывают постоянное напряжение на ноге 5.2В, выше напряжения питания, но куда делось остальное? Вспоминаем - для борьбы с перенапряжениями в нем есть специально обученные диоды на «+» и «-« питания, стравливающие излишек в БП. Но встроенные диоды хилые и сильно рассчитывать на них не стоит.

Убираем чертов конденсатор, меряем ногой напряжения - работает! Надежные МК делает Atmel! Видимо спасло, что емкость конденсаторов невысока была, немного заряда прокачивали.

Без конденсатора иголки пропали, плата перестала музицировать, нога вроде реально меряет амплитуду тока ШИМ импульса. Запускаем процедуру настройки и пробуем сверлить. Вроде все как надо - при нагрузке добавляет обороты, при выходе сверла сбрасывает. Но не только - несколько раз в минуту самопроизвольно без нагрузки разгоняется и тормозится. Почему непонятно, приборы ничего не показывают. То ли нога подгорела, то ли емкость проводов генерит незаметные иголки как тот кондер, то ли помехи от того же коллектора лезут.

Тут решил бороться с проблемой кардинально, ибо обратил внимание, что больше ни в одной схеме пиковый детектор не используется. Наоборот, везде контролируется интегральное значение тока, пропущенное через RC-фильтры. И такие измерения как раз нечувствительны к помехам в виде единичных выбросов. Меняем диод на резистор - и амплитудный детектор превращается в ФНЧ.

Изменяемое АЦП напряжение упало сразу на порядок - действующее напряжение гораздо ниже амплитудного в случае сигнала в виде пологих волн с паузами между ними. Ловить пришлось напряжение около 0.2 В. Можно конечно было увеличить сопротивление шунта, но для того ли мы городили ШИМ, чтобы греть атмосферу. А еще при большом заполнении ШИМ и нагрузке на мотор можно получить перенапряжение. Потому придется работать с низким U холостого хода.

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

Финальная схема устройства:


Устройство было смонтировано в корпусе, в роли которого выступила герметичная электромонтажная «Коробка Тусо распаечная пластиковая без сальников 120х80х50 мм, IP55 серая 67052 Рувинил Россия». Хотелось найти более плоскую, но ничего типа 110*60*30 не нашел. Чтобы не разводить гирлянды на столе, скрутил регулятор с БП в единое целое. Кирпич получился знатный, но нам его и не в кармане носить. И хотя после сверления пары десятков отверстий, сколько-нибудь заметного наощупь нагрева ключевого полевика, шунта и стабилизатора заметно не было, насверлил немного вентиляции на дне и задней стенке.







С тех пор станочек с регулятором участвовал в создании еще 2 плат (сколько ему потребовалось сверлить можете глянуть по словам «AVR Fusebit Doctor». Его работой весьма доволен.

Еще хочу отметить, что твердосплавные сверла с Али имеют хвостовик 3.2 мм, а цанги были только 3.0 и 3.5 - в одну сверло не лезет, а в другой не зажимается. Намотал на сверло медной проволоки и кое-как вставил в 3.5 мм, но некрасиво. Если кто встречал цангу на 3.2 диаметром 6 мм (везде разве что дремелевские, со сточенным до 5мм хвостом), подскажите.

При смене сверл процедуру настройки приходится проходить заново – видимо на токе двигателя сказывается разный момент инерции «тощего» обычного сверла и твердосплавного с утолщенным хвостовиком. Но это делается быстро и не напрягает. Желающие могут добавить в прошивку сохранение профилей сверл:)

Неоднократно встречал совет сверлить платы под слоем воды, чтобы не дышать стеклянными опилками. У меня не получилось. Точно спозиционировать сверло, когда оно высоко, мешает преломление в воде, глазомер косячит. А когда сверло входит в воду, начинает идти рябь и вообще ничего не видно. Надо что ли остановленную дрель выставлять, а потом включать? В итоге, миску с водой просто поставил рядом и периодически макаю в нее плату – чтобы смочить и смыть опилки. В этом случае опилки сырые и тоже не летят, собираются конусом над отверстием.

И еще одно лирическое отступление, про мелкий крепеж.

В устройство решил поставить разъем питания типа «DS-225, Гнездо питания на панель». Для его крепления требовались винтики с гайками с резьбой 2.5мм. В кладовке ничего подходящего не нашлось, а тут еще вспомнил, что в другое поделие 2мм винтики требуются. Значит стоит пополнить коллекцию крепежа, чтобы в следующий раз ради гаечки на другой конец области не лететь. В строительных магазинах ничего меньше M3 не попадалось, значит надо искать специализированные.

Первым относительно удобным магазином оказался сетевой
Внутри глаза разбежались от всяких полезностей, но вот незадача – самые малые винтики были только M2.5 одной длины, а вот гаек и шайб к ним нет и не бывает! Впечатлила продажа гаечек поштучно за 2р/шт и ссыпание всего купленного в один мешок-майку (мелких пакетиков для разных размеров не было). Опять же накладно брать про запас разных размеров.

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

Планирую купить +68 Добавить в избранное Обзор понравился +76 +152

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

Описание конструкции

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

Для линейного перемещения двигателя мы решили использовать полноценное решение — полированные валы диаметром 8мм и линейные подшипники. Это дает возможность минимизировать люфты в самом ответственном месте.

Основная станина сделана из фанеры толщиной 5мм. Фанеру мы выбрали потому, что стоит очень дешево. Как материал, так и сама резка. С другой стороны ничего не мешает (если есть возможность) просто вырезать все те же самые детали из стали. Некоторые мелкие детали сложной формы напечатаны на 3D-принтере.
Для поднятия двигателя в исходное положение использованы две обычные канцелярские резинки. В верхнем положении двигатель сам отключается при помощи микропереключателя.
С обратной стороны мы сделали место для хренения ключа небольшой пенал для сверел. Пазы в нем имеют разную глубину, что делает удобным хранение сверел с разным диаметром.

Впрочем, все это проще увидеть на видео:

Детали для сборки


Сборка

Весь процесс сборки записан на видео:

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

Помимо них для сборки потребуется простейший ручной инструмент. Отвертки, шестигранные ключи, плоскогубцы, кусачки и т.д.
Перед тем начинать собирать станок желательно обработать напечатанные детали. Удалить возможные наплывы, поддержки, а также пройти все отверстия сверлом соответствующего диаметра. Фанерные детали по линии реза могут пачкать гарью. Их можно также обработать наждачной бумагой.
После того, как все детали подготовлены начать проще с установки линейных подшипников. Они закрадываются внутрь напечатанных деталей и прикручиваются к боковым стенкам:

Теперь можно собрать фанерное основание. Сначала боковые стенки устанавливаются на основание, а затем вставляется вертикальная стенка. В верхней части также есть дополнительная напечатанная деталь, которая задает ширину в верхней части. При закручивании винтов в фанеру не прикладывайте слишком большое усилие.

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

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

Микропереключатель устанавливается на прорези кнопкой в сторону двигателя. Позже его положение можно будет отклибровать.

Резинки накидываются на нижнюю часть двигателя и продеваются до "рогов". Их натяжение надо отрегулировать так, чтобы двигатель поднимался до самого конца.

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

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

На этом сборка окончена!
Из доработок вы можете проклеить фанерные детали, для увеличения жесткости. Можно также сделать регулятор оборотов двигателя.