|
Разработка комплекса программа+железо LPT/USB для станков, Рабочее название "Конь В Вакууме" |
|
|
|
Jan 30 2017, 02:34
|
Участник

Группа: Участник
Сообщений: 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.  
|
|
|
|
|
 |
Ответов
|
Jan 31 2017, 10:41
|
Участник

Группа: Участник
Сообщений: 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 порт). Работать он начал после устранения всех контакторов и замены на тиристоры.
|
|
|
|
|
Jan 31 2017, 11:10
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(Леонид Григорьевич @ Jan 31 2017, 13:41)  Сомнения в быстродействии системы на USB связано ещё с тем фактом, что прошивка контроллеров через порт LPT проходит в 2 раза быстрее, чем по USB Это еще что за фантастика? USB даже в режиме CDC обеспечивает как минимум мегабит в секунду! А уж если полноценный FS поднять, так совсем хорошо будет. А LPT — жутко тормозящий интерфейс. Не говоря уже о том, что параллельные порты уже давно вымирают. Все меньше шансов встретить материнку с аппаратным LPT. Цитата В природе возможно это есть, нужно искать. Или создавать. Ничего сложного. И совсем недорого будет по железу. Цитата Можно подробнее про "малинки" по 600 р? aliexpress, ebay И вообще, лучше начать с реального чего-то, а потом расширять функционал. Если сразу строить наполеоновские планы, так можно и закончить ни с чем...
|
|
|
|
|
Feb 1 2017, 14:11
|
Местный
  
Группа: Свой
Сообщений: 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 сделать. Только декомпозировать фунционал надо сразу с оглядкой на будущую локализацию процедур быстрой реакции на устройстве непосредственного управления.
|
|
|
|
|
Feb 1 2017, 18:21
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Raven @ Feb 1 2017, 16:11)  С LPT (если он есть еще под рукой :-), конечно) - можно попробовать чем-то поуправлять, вычисляя все необходимое на PC. Забыли про необходимость написания некоего драйвера, который позволит все эти оптмистичные тайминги не на голой железке, а на машине Lin/Win реализовать. Тем радиолюбителям, которые для автора явились образом для подражания, какой то драйвер кто под 32bit Win написал. Под 64bit драйвера нет, вот вся эта их поделка и не работает.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 1 2017, 19:11
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(zltigo @ Feb 1 2017, 21:21)  ...Под 64bit драйвера нет, вот вся эта их поделка и не работает. Все есть. Этот вопрос решили радикально. С исходниками. InpOut32InpOut32-x64
|
|
|
|
Сообщений в этой теме
Леонид Григорьевич Разработка комплекса программа+железо LPT/USB для станков Jan 30 2017, 02:34 HardEgor Наверное вам сюда Jan 30 2017, 04:37 Эдди Зачем так усложнять, если есть USB? Jan 30 2017, 05:20 MrYuran Цитата(Эдди @ Jan 30 2017, 08:20) Зачем т... Feb 3 2017, 06:40  Эдди Цитата(MrYuran @ Feb 3 2017, 09:40) Забуд... Feb 3 2017, 15:30 Леонид Григорьевич Возможно и не стоит усложнять.
При вращении станд... Jan 30 2017, 20:44 Эдди 1) Вообще-то, импульсы микроконтроллер выдавать до... Jan 31 2017, 05:07 Леонид Григорьевич 1. Компьютер нужен для обеспечения линейной/кругов... Jan 31 2017, 09:50 novikovfb Цитата(Леонид Григорьевич @ Jan 31 2017, 13... Jan 31 2017, 09:56 Александр77 Цитата(Леонид Григорьевич @ Jan 31 2017, 12... Feb 1 2017, 14:04  Леонид Григорьевич Цитата(Александр77 @ Feb 1 2017, 19:04) А... Feb 1 2017, 19:55   Александр77 Цитата(Леонид Григорьевич @ Feb 1 2017, 22... Feb 2 2017, 14:03     zltigo Цитата(Raven @ Feb 1 2017, 21:11) Все ест... Feb 1 2017, 21:45 Леонид Григорьевич Ну у меня станина уже готова и посадочные места по... Feb 1 2017, 11:57 Эдди "Малинки" — это "raspberry pi... Feb 1 2017, 12:02 Vasily_ ЦитатаЕсть супер-интерфейс EtherCAT. 10 КГц частот... Feb 1 2017, 12:50 MrYuran LPT окончательно умер 10 лет назад, 232 готовится ... Feb 1 2017, 14:23 jcxz Цитата(MrYuran @ Feb 1 2017, 16:23) LPT о... Feb 3 2017, 15:47 krux качественно правильный вариант с точки зрения долг... Feb 1 2017, 16:44 BackEnd Цитата(Леонид Григорьевич @ Jan 30 2017, 02... Feb 1 2017, 20:33 @Ark Цитата(BackEnd @ Feb 1 2017, 23:33) Счита... Feb 1 2017, 22:08 Леонид Григорьевич Физика стала точной наукой когда взяла в руки весы... Feb 3 2017, 00:00 zltigo Цитата(Леонид Григорьевич @ Feb 3 2017, 02... Feb 3 2017, 05:08 Александр77 Цитата(Леонид Григорьевич @ Feb 3 2017, 03... Feb 3 2017, 14:31 Эдди Вообще, я не понимаю этого беспокойства: если это ... Feb 3 2017, 17:30 controller_m30 Компромиссное предложение, между прямым управление... Feb 4 2017, 21:56 Леонид Григорьевич Это и есть то, что нужно было. Где можно достать э... Feb 5 2017, 15:32 controller_m30 Цитата(Леонид Григорьевич @ Feb 5 2017, 18... Feb 5 2017, 17:48 Vasily_ ЦитатаЭто и есть то, что нужно было. Где можно дос... Feb 5 2017, 15:46 Леонид Григорьевич Без кварца здесь конечно тоже не обойдётся, но он ... Feb 5 2017, 15:58 Vasily_ ЦитатаПока есть сомнения, что это будет работать
Э... Feb 5 2017, 16:25 Александр77 Цитата(Vasily_ @ Feb 5 2017, 19:25) Это р... Feb 5 2017, 16:36 Леонид Григорьевич По всем параметрам это то, что я хотел; с ячейками... Feb 5 2017, 22:07 N1X Это для себя/хобби, или попытка в серию поставить?... Feb 6 2017, 08:30 AndyBig LPT - тупиковый путь. И генерация шагов силами ком... Feb 6 2017, 09:49 Александр77 Цитата(AndyBig @ Feb 6 2017, 12:49) И ген... Feb 6 2017, 14:10  AndyBig Цитата(Александр77 @ Feb 6 2017, 17:10) Р... Feb 6 2017, 17:54   Александр77 Цитата(AndyBig @ Feb 6 2017, 20:54) Обмен... Feb 6 2017, 19:44    AndyBig Цитата(Александр77 @ Feb 6 2017, 22:44) Н... Feb 6 2017, 20:27     Александр77 Цитата(AndyBig @ Feb 6 2017, 23:27) Тут т... Feb 6 2017, 21:02      jcxz Цитата(Александр77 @ Feb 6 2017, 23:02) Т... Feb 7 2017, 08:25 Леонид Григорьевич Новая тема называется "Управление станком по ... Feb 7 2017, 18:40 controller_m30 Цитата(Леонид Григорьевич @ Feb 7 2017, 21... Feb 7 2017, 19:34  Александр77 Цитата(controller_m30 @ Feb 7 2017, 22:34... Feb 7 2017, 19:47   controller_m30 Цитата(Александр77 @ Feb 7 2017, 22:47) И... Feb 7 2017, 21:22 MrYuran Цитата(Леонид Григорьевич @ Feb 7 2017, 21... Feb 8 2017, 08:15 AlexandrY Цитата(Леонид Григорьевич @ Feb 7 2017, 20... Feb 8 2017, 11:25 controller_m30 У меня уточняющий вопрос к автору темы.
Вот есть с... Feb 7 2017, 20:19 Александр77 Цитата(controller_m30 @ Feb 7 2017, 23:19... Feb 7 2017, 21:13  Vasily_ Цитата(Александр77 @ Feb 7 2017, 23:13) П... Feb 7 2017, 21:38 Эдди Единственный вариант, позволяющий избежать пропуск... Feb 7 2017, 21:24 AndyBig Цитата(Леонид Григорьевич @ Feb 7 2017, 21... Feb 8 2017, 19:53 AlexandrY Цитата(AndyBig @ Feb 8 2017, 21:53) Энкод... Feb 8 2017, 20:19  AndyBig Цитата(AlexandrY @ Feb 8 2017, 23:19) Шаг... Feb 8 2017, 21:02   AlexandrY Цитата(AndyBig @ Feb 8 2017, 23:02) Кстат... Feb 8 2017, 21:24    _pv Цитата(AlexandrY @ Feb 9 2017, 04:24) 50 ... Feb 9 2017, 17:19     AlexandrY Цитата(_pv @ Feb 9 2017, 19:19) http://ww... Feb 9 2017, 22:23      _pv Цитата(AlexandrY @ Feb 10 2017, 04:23) По... Feb 10 2017, 12:31       AlexandrY Цитата(_pv @ Feb 10 2017, 14:31) хоть как... Feb 10 2017, 13:00        _pv Цитата(AlexandrY @ Feb 10 2017, 19:00) Ре... Feb 10 2017, 14:37         AlexandrY Цитата(_pv @ Feb 10 2017, 16:37) максимал... Feb 10 2017, 15:07 Леонид Григорьевич Можно подробнее про двигатель BLDC и 1800 импульсо... Feb 9 2017, 12:54 AlexandrY Цитата(Леонид Григорьевич @ Feb 9 2017, 14... Feb 9 2017, 15:25  AndyBig Цитата(AlexandrY @ Feb 9 2017, 18:25) Обы... Feb 9 2017, 20:08 Леонид Григорьевич Как вариант можно попробовать отдельные платы подк... Feb 9 2017, 14:10 BackEnd Цитата(Леонид Григорьевич @ Feb 9 2017, 14... Feb 9 2017, 19:41  Леонид Григорьевич Цитата(BackEnd @ Feb 10 2017, 00:41) В эт... Feb 10 2017, 18:28   BackEnd Цитата(Леонид Григорьевич @ Feb 10 2017, 18... Feb 11 2017, 22:47    khach Цитата(BackEnd @ Feb 12 2017, 01:47) Т.к.... Feb 16 2017, 22:10 adnega Цитата(Леонид Григорьевич @ Feb 9 2017, 17... Feb 9 2017, 20:12 RUSVolt Прикольно.
Тема практически совпала по дате с моей... Feb 11 2017, 16:35 AndyBig Такие хотелки регулярно возникают на тематических ... Feb 11 2017, 19:22 adnega Цитата(AndyBig @ Feb 11 2017, 22:22) толь... Feb 12 2017, 12:50  Andreas1 Цитата(adnega @ Feb 12 2017, 15:50) Я куп... Feb 17 2017, 06:12   adnega Цитата(Andreas1 @ Feb 17 2017, 09:12) А ч... Feb 17 2017, 09:18    Andreas1 Цитата(adnega @ Feb 17 2017, 12:18) Пласт... Feb 17 2017, 12:08     adnega Цитата(Andreas1 @ Feb 17 2017, 15:08) Спа... Feb 17 2017, 15:28      Andreas1 Цитата(adnega @ Feb 17 2017, 18:28) Больш... Feb 17 2017, 16:18 Леонид Григорьевич Всем привет! Я вернулся! Дотянули трубу до... Apr 13 2017, 04:34 Огурцов Цитата(Леонид Григорьевич @ Jan 30 2017, 02... Apr 13 2017, 07:52 Леонид Григорьевич Lpt я сам лично не смогу написать. Задача обозначе... Apr 15 2017, 04:42 Огурцов Цитата(Леонид Григорьевич @ Apr 15 2017, 05... Apr 15 2017, 10:19  khach Цитата(Огурцов @ Apr 15 2017, 12:19) вы б... Apr 15 2017, 12:40   Огурцов Цитата(khach @ Apr 15 2017, 13:40) загото... Apr 15 2017, 16:03    khach Цитата(Огурцов @ Apr 15 2017, 18:03) это ... Apr 16 2017, 19:31     Огурцов Цитата(khach @ Apr 16 2017, 19:31) Процен... Apr 16 2017, 19:57      Огурцов и почему бы не так:
Код G90();
G80... Apr 16 2017, 23:16   Огурцов Цитата(khach @ Apr 15 2017, 13:40) с драй... Apr 16 2017, 19:11 khach Советую скачать исходники LinuxCNC и оценить обьем... Apr 15 2017, 09:18 Леонид Григорьевич Давайте ближе к сути вопроса: управление приводами... Apr 17 2017, 06:34 Огурцов Цитата(Леонид Григорьевич @ Apr 17 2017, 07... Apr 17 2017, 09:32 khach Цитата(Леонид Григорьевич @ Apr 17 2017, 08... Apr 17 2017, 10:14 krux лучше взять какой-нибудь xilinx zinq, поднять на н... Apr 17 2017, 09:50 Огурцов Цитата(krux @ Apr 17 2017, 10:50) заливае... Apr 17 2017, 10:34
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|