Pull to refresh

Дилетантское ЧПУ?

Reading time 2 min
Views 13K


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

Однажды нам понадобилось организовать управление для самодельной штамповочной линии. Линия самодельная, а значит и управление, сделаем самодельное. Мы не использовали промышленные стандарты для передачи данных. Было решено, всё сделать из подручных материалов и ненужного старого компьютера. Главные условия: просто, дёшево, быстро. Надёжность – как получится. Расскажу, как мы это сделали.

Штамповочная линия

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

Штамповочная линия.GIF


Управление

Задача, заставить цилиндры работать по заданному алгоритму. Рабочий ход, пауза и так далее. Нам необходимо получить пять управляющих сигналов (4 гидро и 1 пневмо). Решили использовать микроконтроллер Atmega8 в качестве связующего элемента между компьютером и всем железом.

Схема получилась такая:


Все цилиндры имеют маркировку от A до E. Поэтому было решено, не мудрствуя лукаво, посылать на контроллер буквы. Он слушает ПО, и если пришла буква A, то даёт сигнал для цилиндра A и так далее для всех цилиндров. Так же добавили возможность контроля температуры масла в баке гидростанции. Летом в цехе жарко, масло иногда перегревается, поэтому решили добавить такой функционал. Взяли обычный DS1820 и на термопасту прикрепили к металлическому баку. Разницу температуры масла и бака словили на программном уровне. Погрешность измерения около 2 С. Для нас – самое то.

Накидали простое ПО. Самое сложное в нём – передача данных через com порт. Программу управления, если так это можно назвать, храним в обычном txt.
Вот так выглядит интерфейс ПО.



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

Сама программа управления выглядит так:
A 1000 E 1250 E 1250…
Ход цилиндра A | Пауза 1000 мс | Ход цилиндра E | …

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

Я уверен, что большинство читателей умеют/представляют как дёргать ногами mega и ей подобных. Описывать прошивку контроллера не буду.

ПО в действии.GIF


Заключение

Самоделка работает 2 года. Сбоев не наблюдается. Один раз от вибрации отвалилась плата с микроконтроллером от переходника USB-Com. Устранили по старой русской традиции — скотчем и изолентой.

Работая более 10 лет на частном (малом) производстве, а так же наблюдая за подобными соседними организациями, я прихожу к выводу, что у нас очень плохая связь самоделкиных, например которых очень много на Хабре, с реальным производством. Нам ужасно не хватает автоматизации и инноваций на малых предприятиях. Все увлекаются силиконовыми стартапами, пытаются делать сложных роботов и обучать машины думать. Мне кажется, что вы куда больше принесёте пользы родным цехам и заводам, которые ждут вас и ваши изобретения, и которым всё сложнее и сложнее конкурировать с братским Китаем.
Tags:
Hubs:
+20
Comments 83
Comments Comments 83

Articles