Р. Ветров
vetrovroman [a] mail.ru
Разработанный и изготовленный самостоятельно станок с ЧПУ может выполнять механическую обработку (сверление, фрезерование) пластмасс, текстолита; гравировку по стали. Станок может использоваться как графопостроитель, можно рисовать печатные платы.
Точность агрегата 0.0025 мм на 1 шаг, но по факту (с учетом неточности изготовления узлов станка, зазоры в узлах, в паре винт- гайка) точность составляет 0.1 мм. Станок без обратной связи, т.е. положение инструмента отслеживается программно, за точность перемещения отвечают шаговые двигатели.
Станок подключается к компьютеру через LPT порт, работает под Windows 98 и XP.
Механическая часть
Корпусные части станка выполнены из винипласта б=10мм. Направляющие – круглые, шлифованные прутки. Суппорта выполнены из текстолита (с отверстиями под направляющие). Винт – шпилька с резьбой М6 (шаг t=1мм). Гайки фторопластовые (позднее были заменены на бронзовые т.к. при таких размерах потери на трение в бронзовой гайке меньше).
Электрика
Электрику можно разделить на три части:
- Блок питания.
- Контроллер
- Драйвер.
12 В 3 А – для питания шаговых двигателей и 5 В 0.3 А для питания микросхем контролера.
Контроллер: Разработанный контроллер может обслуживать до 32 (в моей схеме 3) шаговых двигателей последовательно, т.е. одновременно может работать только один двигатель. Параллельная работа двигателей обеспечивается программно. Контроллер управления шаговыми двигателями собран на микросхемах 555TM7 серии (3шт). Не требует прошивки.
Электрическая схема контролера:
Блок питания:
выв.
|
Название
|
Направление
|
Описание
|
1
|
STROBE
|
ввод и вывод
|
устанавливается PC после завершения каждой передачи данных
|
2/9
|
DO-D7
|
вывод
|
8 линий данных
|
10
|
АСК
|
ввод
|
устанавливается в "0" внешним устройством после приема байта
|
11
|
BUSY
|
ввод
|
устройство показывает, что оно занято, путем установки этой линии в «1»
|
12
|
Paper out
|
ввод
|
для принтеров
|
13
|
Select
|
ввод
|
устройство показывает, что оно готово, путем установки на этой линии «1 »
|
14
|
Autofeed
|
Ввод и вывод
|
|
15
|
Error
|
ввод
|
индицирует об ошибке
|
16
|
Initialize
|
Ввод и вывод
|
|
17
|
Select In
|
Ввод и вывод
|
|
18-25
|
Ground
|
GND
|
общий провод
|
Биты LPT
|
|||||||
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
данные
|
Управляющий сигнал –определяет на какой двигатель придет сигнал
|
Биты LPT
|
|||||||
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
Предаваемые данные на шаговый двигатель
|
Данные идут на 2 двигатель
|
Шаговые двигатели
Используемые в станке шаговые двигатели от 3,5" дисководов (12 В, 0.6 А), но можно (и нужно) использовать более мощные, например от принтеров (24 В, 5 А). Схем подключения шаговых двигателей (распайка) в Интернете навалом, а также описание принципа их работы вы найдете сами.
Также возможна работа с файлами Sprint-Layout формата Gerber (RS274-X) или G-код. Т.е. рисовать и сверлить платы разработанные в программе Sprint-Layout.
Другое применение станка и программы
Часто задаваемые вопросы:
> И такой вопрос: видел как-то программы для разработки печатных плат!
> Не пробовал ли ты с ними работать?
Не пробовал. Мне AutoCAD ближе. не вижу смысла (для себя) в других программах. Все можно сделать в AutoCAD. Кроме трассировки. Моя программа работает с dxf форматом, который поддерживается множеством программ работающих с векторным форматом (Corel Draw, 3D MAX) . Из всех возможностей поддерживаются (пока) только Lines и point (сверление). Другие примитивы (и различные свойства примитивов) из файла игнорируются (пока, если кому надо могу добавить).
> Я хотел узнать немного по электронике, я использовал драйвер
> ULN 2308 , и один двигатель, после запуска программы и
> в ручном управлении двигатель просто дрожит и не поворачивается,
> двигатель и драйвер заведомо исправны, обмотки подключил правильно,
> при подаче в порт сторонней программой такую последовательность
> 1000,0100,0010,0001, двигатель делает 4 шага. Подумал что в вашей
> программе другая последовательность менял обмотки в разных комбинациях
> результат тот же.
В моей программе используется полу шаговый режим, последовательность такая (на первый двигатель)
1бит......8 бит LPT
10001000
11001000
01001000
01101000
00101000
00111000
00011000
10011000 затем повтор.
шестая единица "горит" постоянно т.к. управляем первым двигателем если управляем вторым то
10000100
11000100
01000100 .......
Необходимо проверить подключение обмоток двигателя.
> В чем может быть дело может просто двигатель на той частоте которая
> установлена в demo версии программы не
> успевает проварачиватся?
Вполне возможно, в demo версии я "залочил" среднюю скорость. Там стоит 0.5 мм/сек = 0.5 об/сек т.е. если у тебя двигатель не
поддерживает такую скорость то его можно выкинуть т.к. это для станка очень медленно. у меня мах для двигателей 2.8 мм/сек =2.8 об/сек на 3 уже пропуск шагов. Сейчас доступна версия 6.0, в ней исправлены ошибки, улучшена проверка LPT порта. (меню настройка) попробуй там в ручную проверить доходят ли сигналы до двигателя. с помощью введения комбинации (см.выше) определи фазировку обмоток.
> Мне не очень понятна схема подключения контроллера к
> LPT порту, соответствуют ли цифры на схеме - выводам LPT порта, или я
> ошибаюсь?
Соответствует. Но нумерация разъемов российских и импортных не совпадает! У меня указанна импортная.
>У вас на сайте выложена схема контроллера, будет ли работать с
>программами типа Кcam4, Mach3, и подобными, или только с вашими
>программами.
Я не знаю этих программ. Но работать не будет на 99.9% т.к. система сигналов придуманна мной. Шаговыми двигателями я управляю программно, а других за это отвечает контроллер, которому дается команда + - 1 шаг.
> и можно еще вопрос: насколько мощные двигатели от дисковода.
у меня стоят винты (ходовые) м6х1 т.е. 1об = 1мм. все зависит от этого (передаточного отношения). Мой станок фрезерует текстолит б=1мм фтезой 3мм. Сверлить можно текстолит сверлом до 5мм.