Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2016-12-24 12:56:13 ЛС | профиль | цитата
amateur писал(а):
Убей, никак не возьму в толк - как советские инженеры строили станки с чпу на обычных движках постоянного тока

В качестве советского Инженера - могу приоткрыть Вам глаза. На примере собственного опыта.

1) Комп преобразовывает исходную информацию (G-коды, PLT-файлы, и т.п.) во временную последовательность координат (в единицах дискретов энкодера). В нашем случае дискретизация по времени составляла 4 мсек. Чего было достаточно для микронной точности, при интерполяции равноускоренным движением в промежутках. Достаточно потому, что ограничено ускорение движения инструмента. Оно в любом случае ограничено мощностью двигателя и массой. В нашем случае это было 5 м/сек2, скорость - до 1 м/сек, дискрет энкодера - меньше микрона.

2) Система состояла из 5-ти контроллеров Atmega8-16PI, связанных между собой по шине I2C (у них это называется TWI-интерфейс). Один тупо подключался свой порт B к шине данных LPT порта компа. Три других и были контроллерами координаты - формировали ШИМ для двигателя, исходя из данных энкодера и полученных данных от компа (первого контроллера). Пятый - как бы контроллер дискретов, чего-то там включал/выключал по заданному времени (точнее - по точке на траектории движения инструмента)

3) Работа выглядела примерно следующим образом: комп накачивал информацию о траектории в контроллеры движения. У них был буфер секунды на 3 непрерывной работы. Информацию мы передавали экономно -- в виде вторых разностей от траектории, дискретизированной вышеупомянутым образом. Один байт на точку - 768 байт на кольцевой буфер.
Потом комп говорил всем ПОЕХАЛИ, и начинал следить за состоянием буферов в контроллерах движения. Если оставалось меньше, чем на 2 секунды автономной работы - подкачивал до полных 3-х.

4) Контроллеры координаты занимались восстановлением траектории движения из вторых разностей (переданных с компа), интерполяцией на 64 промежуточные точки, считыванием сигналов энкодера и формированием сигнала управления (ШИМ-а) каждые 62.5 мксек (частота ШИМ-а - 16 кГц). Для более точного определения скорости, у меня, всякое изменение сигналов энкодера запускало микросекундный одновибратор, который подключался ко входу ICP1 (Input Capture). Таким образом, считывая сигналы энкодера, я не только восстанавливал координату инструмента, но и время возникновения этой координаты. Если я не забыл предыдущую координату (и время ее возникновения) - тогда я знаю скорость инструмента. А всякие там тахогенераторы идут лесом...

5) Закон регулирования: ПИД-регулятор по скорости, плюс интеграл по координатной ошибке. Это, что касается Feed Back параметров регулирования. Есть еще и Feed Forward параметры. В общем, их там, около 12 штук, хранящихся в EEPROM.

6) И все это прекрасно работает. Уже около десяти лет. Недавно заходил к парням - три таких станка в работе. Хотят еще один, но с 2-х киловаттными движками (предыдущие - на 150 ВТ). И еще очень хотят перейти с LPT на USB.

Правда, нет никаких гарантий, что Большой Брат "не проспит" свои 2 секунды.
Просто потому, что IT-технологии, это технологии, в которых никто никому ничего не должен. Или: всех, кому я должен - я прощаю
карма: 9

1
Голосовали:Minkovsky
Редактировалось 10 раз(а), последний 2016-12-25 16:23:23