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

в 6:35, , рубрики: высокая производительность, Программирование, программирование микроконтроллеров, проектирование взаимодействия, проектирование систем, производство, Промышленное программирование, управление
Дилетантское ЧПУ? - 1

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

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

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

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

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

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

Управление

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Автор: Comlan

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js