реклама на сайте
подробности

 
 
8 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Разработка комплекса программа+железо LPT/USB для станков, Рабочее название "Конь В Вакууме"
Леонид Григорьев...
сообщение Jan 30 2017, 02:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-10-16
Пользователь №: 93 698



"Конь в Вакууме" - это аппаратно - программный комплекс, умеющий работать как со всеми существующими, так и с перспективными интерфейсами и выполнять уже существующие и ещё нет задания.
Собственно, нужно сделать контроллер для станка и программу для контроллера.
В интерфейсе LPT есть 12 пинов, работающих на выход. Обычно управление станком с компьютера осуществляется сигналами шаг-направление и есть 6 осей, которые могут рабтать одновременно, или практически одновременно. На вход могут работать 5 пинов. Задача состоит в том, что бы расширить возможности станка путём последователиной передачи данных через LPT в контролер.
Из 12-и пин выхода LPT, 6 пинов остаются работать в режиме "шаг". 4 пина задают адрес, 1-данные, 1-синхро импульс. Из 16-и адресов 6 задают смену направления оси, 1 начало и конец введения адреса, 1 предназначен для введения адреса, 1-команда " адрес + 1" с записью данных в ячейку памяти по каналу данных; 1 адрес - обнуление отсчёта "адрес + 1"
Все данные изначально записываются в ячейки в 1-битном формате. Одна ячейка может быть предназначена для включения опроса концевика, включения/выключения реле, установления деления шага/кратности шагов для ускоренного режима серводвигателя. В случае когда 1-го бита не хватает, используется несколько с соседними адресами.
Для разработки программы предполагается найти исходники чего-либо или заказать дополнения в программу разработчикам мач4. При этом вроде как раньше можно было купить исходники Mach 3, а в линуксе (для линукс ЦНЦ) вообще исходники должны быть открытыми.
Выбор порта LPT, не в пользу остальных, обусловлен двумя факторами: высокой скоростью работы (на практике) и его простотой, пониманием его устройства. Со временем можно добавить возможность работы через USB 2-3, ethernet.





Go to the top of the page
 
+Quote Post
HardEgor
сообщение Jan 30 2017, 04:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Наверное вам сюда
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jan 30 2017, 05:20
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Зачем так усложнять, если есть USB?
Go to the top of the page
 
+Quote Post
Леонид Григорьев...
сообщение Jan 30 2017, 20:44
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-10-16
Пользователь №: 93 698



Возможно и не стоит усложнять.
При вращении стандартного шагового двигателя 200 имп/об в полушаговом режиме со скоростью 50 об/с частота импульсов составит 50*200*2=20 000 имп/с.
Вопрос: USB выдаст стабильно 20 000 имп/с по 6-и осям одновременно? Обеспечит ли USB обработку 1000 ячеек памяти по 1-му биту? На сколько стабильно это будет работать? Может там обратную связь получится сделать и обрабатывать её в реальном времени? Как это в железе реализовать? Есть плата rs485, может через неё можно управление станком сделать?

Сообщение отредактировал Леонид Григорьевич - Jan 30 2017, 20:49
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jan 31 2017, 05:07
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



1) Вообще-то, импульсы микроконтроллер выдавать должен, а USB нужно только для его общения с ПК.
2) Где вы видели шаговик, который умеет 50*200=10000 шагов в секунду? Пределом, который я встречал (на потере мощности в 50%) было 600-800 шагов в секунду! Даже при делении шага на 16 это достаточно мало, чтобы одновременно можно было 3-5 шаговиками с одного МК управлять. Справится даже копеечный STM8S003. Хоть я больше STM32 уважаю, но и для STM8 делал управлялку шаговиками.
В случае станка помех может быть очень много, поэтому — да, там предпочтительней RS-485 или CAN для связи с компутером. Ну или сразу компутер в станок пихать, благо, какие-нибудь убогие "малинки" стоят рублей 600!
Go to the top of the page
 
+Quote Post
Леонид Григорьев...
сообщение Jan 31 2017, 09:50
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-10-16
Пользователь №: 93 698



1. Компьютер нужен для обеспечения линейной/круговой интерполяции одновременно по 3-м осям. Пример- нарезание конусной резьбы. Если это будет делать контроллер, он будет почти полностью дублировать функции компьютера. На практике такие устройства стоят порядка 100-200 тыс. руб. Типа НЦ201-НЦ400
Go to the top of the page
 
+Quote Post
novikovfb
сообщение Jan 31 2017, 09:56
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 518
Регистрация: 29-09-11
Пользователь №: 67 450



Цитата(Леонид Григорьевич @ Jan 31 2017, 13:50) *
1. Компьютер нужен для обеспечения линейной/круговой интерполяции одновременно по 3-м осям. Пример- нарезание конусной резьбы. Если это будет делать контроллер, он будет почти полностью дублировать функции компьютера. На практике такие устройства стоят порядка 100-200 тыс. руб. Типа НЦ201-НЦ400

посмотрите платы управления для 3D принтеров, порядок цен от 2 до 10 тыр, линейная и круговая интерполяция по 2 осям + подача по еще 2 осям + стабилизация температуры двух нагревателей.
Go to the top of the page
 
+Quote Post
Леонид Григорьев...
сообщение Jan 31 2017, 10:41
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-10-16
Пользователь №: 93 698



2. Расчёт 20 000 шагов в секунду сделан для обозначения предельных параметров системы. Были американские программы, которые не выдавали достаточной частоты, и на этом фоне Mach начал заметно выигрывать. Возможно, в станке будут стоять серводвигатели, и они будут управляться так же сигналом шаг/направление. Может быть с разными коэффициентами - 100, 1000, 10 000 имп/оборот.

3. Перечисленные контроллеры буду изучать. Сомнения в быстродействии системы на USB связано ещё с тем фактом, что прошивка контроллеров через порт LPT проходит в 2 раза быстрее, чем по USB. По этому было бы хорошо обеспечить возможность работы как по USB, так и по LPT. Начать лучше с LPT.
Вопрос по rs485 наверное придётся выделить в отдельную тему. Пока нет программы для работы станка через rs485 и ответных устройств, таких как серводвигатели rs485, реле rs485, концевики rs485. В природе возможно это есть, нужно искать. Или создавать.

4. Можно подробнее про "малинки" по 600 р?

Плата от 3d принтера даёт ограниченные возможности. Суть вопроса о создании контроллера с расшимяемыми возможностями. Например, плата с двумя rs485 обеспечивает обмен информацией с 254 устройствами, из них 64 физических.

Был станок, который работал через rs232 (com порт). Работать он начал после устранения всех контакторов и замены на тиристоры.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jan 31 2017, 11:10
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(Леонид Григорьевич @ Jan 31 2017, 13:41) *
Сомнения в быстродействии системы на USB связано ещё с тем фактом, что прошивка контроллеров через порт LPT проходит в 2 раза быстрее, чем по USB

Это еще что за фантастика? USB даже в режиме CDC обеспечивает как минимум мегабит в секунду! А уж если полноценный FS поднять, так совсем хорошо будет. А LPT — жутко тормозящий интерфейс.
Не говоря уже о том, что параллельные порты уже давно вымирают. Все меньше шансов встретить материнку с аппаратным LPT.
Цитата
В природе возможно это есть, нужно искать. Или создавать.

Ничего сложного. И совсем недорого будет по железу.
Цитата
Можно подробнее про "малинки" по 600 р?

aliexpress, ebay

И вообще, лучше начать с реального чего-то, а потом расширять функционал. Если сразу строить наполеоновские планы, так можно и закончить ни с чем...
Go to the top of the page
 
+Quote Post
Леонид Григорьев...
сообщение Feb 1 2017, 11:57
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-10-16
Пользователь №: 93 698



Ну у меня станина уже готова и посадочные места под двигатели и ШВП
http://www.16b16t1.ru
С прошивкой контроллера тормозит программатор, сделанный на таком же контроллере. Время уходит на преобразование сигналов. Я не думаю, что у меня получится лучше устройство сделать и оно такой эффект не выдаст.
Есть супер-интерфейс EtherCAT. 10 КГц частота тактирования сервы по 100 осям. Но мне все таки кажется реальные сделать устройство на базе LPT, потому что проще LPT нет ничего. А по ресурсам - 6 одновременно работающих осей хватает за глаза. С частотой шагов тоже справляется, даже под Winds.
Про малинки так и не понял, это нетбуки малинового цвета или что искать нужно?
Go to the top of the page
 
+Quote Post
Эдди
сообщение Feb 1 2017, 12:02
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



"Малинки" ­— это "raspberry pi" и им подобные армовские одноплатники. Довольно компактные и недорогие. В самый раз, чтобы внутрь прибора засунуть — наружу только ethernet разъем торчит (а то и вообще по wifi). Запускаешь браузер, выходишь на веб-морду и дергаешь что нужно.
Go to the top of the page
 
+Quote Post
Vasily_
сообщение Feb 1 2017, 12:50
Сообщение #12


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



Цитата
Есть супер-интерфейс EtherCAT. 10 КГц частота тактирования сервы по 100 осям.

Сделали-бы сначала на том что есть и отлажено, а потом-бы мечтали.
http://purelogic.ru/
Go to the top of the page
 
+Quote Post
Александр77
сообщение Feb 1 2017, 14:04
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(Леонид Григорьевич @ Jan 31 2017, 12:50) *
1. Компьютер нужен для обеспечения линейной/круговой интерполяции одновременно по 3-м осям. Пример- нарезание конусной резьбы. Если это будет делать контроллер, он будет почти полностью дублировать функции компьютера.

А где гарантия что вовремя рассчитанное компьютером новое значение попадет на исполнительное устройство (т.е. пройдет весь путь от ПК до двигателя) без задержек? Если на ПК вертится операционка типа винды или линукса - то время между тем когда команда была послана и тем когда она физически уйдет в МК может плыть с большущей вариантностью.
Так что может пусть МК дублирует полностью работу ПК - в таком случае шансы получить неожиданную деталь снизятся.
Go to the top of the page
 
+Quote Post
Raven
сообщение Feb 1 2017, 14:11
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(Эдди @ Jan 31 2017, 14:10) *
Это еще что за фантастика? USB даже в режиме CDC обеспечивает как минимум мегабит в секунду! А уж если полноценный FS поднять, так совсем хорошо будет. А LPT — жутко тормозящий интерфейс.

Ну, вообще-то LPT вовсе не тормозящий, особенно в сравнении с USB LS и даже FS. И особенно для задач, где важно время отклика удаленной системы (пример - любой JTAG адаптер или, скажем, SPI программатор, в общем, любая задача с BitBang'ом). Время чтения или записи регистра данных LPT - порядка длительности цикла ISA-шины, а это порядка 1 мкс в худшем случае. Считая время формирования реакции на запись в подключенном устройстве =0 (чтобы получить крайнюю оценку), имеем время отклика
tResponse = 2 * 1us = 2 us,
что дает оценку теоретического предела частоты воздействий
fControl = 1 / 2us = 0.5 MHz.

Теперь учтем время реакции управляемого объекта - пусть это будет еще 2 мкс (что, согласитесь, весьма расслабленно для современной электроники). В результате имеем:
tResponse = 2 us + 2 us = 4 us
fControl = 1/tResponse = 1/(4E-6) = 250 kHz

А что у нас в USB системе? Воздействия/отклики USB device привязаны к хождению по USB их фреймов, период следования которых для LS/FS 1 ms. В результате имеем :
tResponse = 1ms + 1 ms = 2 ms
fControl = 1 / 2 ms = 500 Hz
И в любом случае частота считывания параметра, на который мы воздействуем, будет не лучше 1000 Hz (=1/1ms).

Вывод: если подключать через USB - надо хотя бы часть функционала, ту, которая требует быстрого отклика на воздействие, переносить на устройство, локализовывать. С LPT (если он есть еще под рукой :-), конечно) - можно попробовать чем-то поуправлять, вычисляя все необходимое на PC.

Цитата(Эдди @ Jan 31 2017, 14:10) *
Не говоря уже о том, что параллельные порты уже давно вымирают. Все меньше шансов встретить материнку с аппаратным LPT.

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

Но если ТС имеет LPT под рукой, и он ему ближе и понятнее, то первую реализацию можно и на LPT сделать. Только декомпозировать фунционал надо сразу с оглядкой на будущую локализацию процедур быстрой реакции на устройстве непосредственного управления.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 1 2017, 14:23
Сообщение #15


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



LPT окончательно умер 10 лет назад, 232 готовится следом.
Нет никакого смысла гальванизировать.
Ещё через несколько лет отомрут последние динозавры, и встретить LPT можно будет только в музее.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

8 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 04:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016