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

Делаем LPT управление шаговым двигателем со скоростью 4 MHZ

Пн сен 27, 2021 16:29:15

Может быть кто интересовался вопросом о обоснованности выбора ECP FIFO size - 16 Байт. Зачем и почему именно столько. Как этот размер согласуется с Windows драйвером Par.sys .

И еще вопрос, как в Windows расставлены приоритеты драйверов и, как малой кровью приоритеты драйверов перетасовать.

Все ОК LPT (ECP) в WinAPI на самом деле работает со скоростью 4 Мегагерца и это некто не может испортить, т.е. частота стабильна без перерывов, как и звук в колонках.

P.S. А все настаивали на том, что многозадачность Windows не позволяет работать с LPT без фазового дребезга и на высоких скоростях. Между тем каждый слушает музыку под Windows и она не заикается. Так и LPT может 4 000 000 Герц. и не заикаться.

Секрет прост. При работе посредством CreateFile(), WriteFile() есть одна особенность. Устройство, подключенное к LPT должно сбрасывать в 0 линии ОШИБКА и КОНЕЦ БУМАГИ. Иначе будет висеть. Соединить линию PeriphAck (11) и AckReverse (12) с общим проводом (20). HostClk (1) соединить с PerifClk (10).

Добавлено after 15 minutes 18 seconds:
Еще нужно провентилировать вопрос о том как нам может помочь компрессия RLE (Run Length Encoding), как замена поллинга. Это для того чтобы через тот-же LPT опрашивать Энкодер мотора. Поскольку теперь это можно делать со скоростью 2 MHZ. Это 4 Мгц/2, т-е 2 Мгц туда и 2Мгц обратно. А еще LPT (ECP) может адресовать 64 устройства, значит можно управлять 4*64=256 Шаговиками. Или 128 Шаговиками и 128 Энкодерами на ввод.

Добавлено after 13 minutes 15 seconds:
Эти создатели ЧПУ на LPT просто лохи, что зациклились на подсунутых им драйверах прямого доступа и, не используют прекрасные возможности родного Windows драйвера Par.sys доступного во всех версиях Windows....
4 MHZ LPT (ECP) это половина от скорости ISA шины 8 МГц так задумано и это работает на самом деле.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вт окт 05, 2021 18:55:15

...И где на нынешних материнках LPT?..

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вт окт 05, 2021 19:08:36

1. Аппаратный параллельный порт уже днем с огнем не сыщешь!
2. Мастдайка — фу!

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вт окт 05, 2021 20:07:30

не тока LPT но и ISA давно умерли.... тоесть конечно в мусорках такие платы найти можно и о ужас даже по 478сокет... хотя там это криво робит луче атлонофски взять
но если софт писать то по современые мамки на корторых тех шин даж запаха не осталось...
ну а мосты PCI(E) to ISA и сответствующие платки род эти шинки вешь малодоступная и дорогая не по праву

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вт окт 05, 2021 22:41:51

Не в теме, а так уверенно пишите чушь...
Аппаратный параллельный порт есть в продаже.
Продаются ещё более менее приличные НОВЫЕ материнки (асрок например ) для старых 775 сокетов (за глаза для ЧПУ) с LPT на борту.
Так же в продаже есть куча материнок для сокет 1200 от мсай/интел/асус с LPT на борту. Сам брал такие. На них же можно встретить ещё и PCI порт.
Слишком новые в принципе не пойдут. Например мач3 поддерживет только 32 бит системы и вин XP (на шибко новые и крутые материнки просто нет драйверов 32 бит или виндовс ниже 10...). ЧПУ софт часто работает только со старыми компами в том числе по той причине что более новые операционки слишком вумные и могут порушить тайминги.
Ну и плюс есть платы расширения как в PCI так и в PCIe с LPT/COM портами построенные на мосчип, которые вполне хорошо работают с ЧПУ. Да, стоят копейки.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вт окт 05, 2021 22:57:38

да никто не спорит что плату с СОМ/LPT найти можно ииз новых
а вот с платами расширения все не так радужно их почти нет тоесть найти конечно можно в кетаянии под заказ....и то это будет не брент а ноненйм кетаянский причем цена на них уже весма взрослая а не "стоят копейки."

Добавлено after 2 minutes 7 seconds:
Re: Делаем LPT управление шаговым двигателем со скоростью 4 MHZ
но эте в промсекторе ил в десктопном.. а вотноут с портами кроме USB уже тока в музее и хламенике болших мастерских найти мона...

Добавлено after 2 minutes 13 seconds:
Re: Делаем LPT управление шаговым двигателем со скоростью 4 MHZ
и да вы удивитесь был даже сканер пот такие порты содержал кабельинжектор чтоб и принтер исканер подцеплять
а еще были проходные HASP

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вт окт 05, 2021 23:40:04

"Мач3"? Это ж вообще для зомбарей!!!
Ты хотя бы не позорься, если не можешь сам что-то написать, а перейди на linuxcnc!

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Ср окт 06, 2021 00:41:24

их почти нет тоесть найти конечно можно в кетаянии под заказ....и то это будет не брент а ноненйм кетаянский причем цена на них уже весма взрослая а не "стоят копейки."

Ага, секретное место и только для олигарховЪ:
https://www.dns-shop.ru/catalog/17a89bb ... 13a%5d=agv
https://aliexpress.ru/item/4001346102343.html
но надо выбирать, не всё может заработать.

Ноут на производстве... его чистить задолбаешься.

"Мач3"?

Нафиг мне твой нюкс если парк станков уже много лет работает на лицензионных мак3? И это не хобби.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вс окт 24, 2021 01:01:36

Забрось ты это и возьми нормальный USB.
Компы с LPT уже не выпускают.
Вот если ноут на пне3 это самый топчик, но их фиг найти.

Теперь даже бушный советовать не могу, потомучто с AGP давно всё на свалках. А с PCI-E компы стали дорогой редкостью.
Ну хотя есть новоделы со встройкой вроде FM2 или 1155, но на кой такое покупать вторым компом.
А вы что думали вам только LPT надо, а моник вы куда подключать собрались,
или хотите по сети настраивать ?


Никто никогда не использовал все режимы LPT для поделок и нет ниодной поделки на максимальную скорость.

ЧПУ давно собирается на обрезаной плате RepRap

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вс окт 24, 2021 01:21:34

Например мач3 поддерживет только 32 бит

Интересно как же собранный мной плазморез на вин 10- 64 бит уже 2 месяца как режет вполне себе на мач 3? :)))
С оговорочной конечно, там плата NVEM по сети.

И да, ставить на ЧПУ что-то слабее 3 поколения издевательство над оператором. B75 отлично работает и с мач и с NC студио. Да и плат всяких разных за недорого куча есть- тот же NVEM за 40 баксов с кучей портов ввода-вывода, и до 6-7 осей на частотах до нескольких мегагерц.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Вс окт 24, 2021 11:41:35

Ёжли аппаратный LPT при желании найти еще как-то можно (или материнки старые или платки-расширители), то режим прямого управления уже с ХР становится проблематичным.
Создание самодельных приложений под виндовс как-то тоже не слишком "народное" занятие в отличии от првычной возни с МК.
Гораздо удобнее вариант "порта-расширителя" под протокол стандартного СОМ порта (или USB-COM преобразователя) соорудить.
А уже той базовой самоделке делать дополнительные прикладные модули с управлением из простейших терминалок ПК.
Подобное устройство или в варианте котуинки(https://radiokot.ru/forum/viewtopic.php?f=62&t=156720) или на ардуино реализовать гораздо проще и универсальнее.
:roll:

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Ср окт 27, 2021 01:50:12

Для старого железа и проги желании можно найти старый комп.

Если система не очень древняя вроде программа аппаратных решений которым надо живую DOS машину с LPT, то можно обойтись и PCI-LPT платками, но порт там будет с другим адресом, программа должна иметь настойку его менять на произвольный.
Опять же на современных компах нет самого PCI, и нужна более дорогая PCIe-LPT плата, о которых никто знать не знает будет ли она работать.
Много адаптеров сделано для принтеров, и с поделками не работает, оно только работает с командами печати. Но и тут подстава, современные ОС не имеют драйверов для этих принтеров, даже для Win10 нет драйверов под пока ещё актуальные лазерные принтеры, а уж матричные так и вовсе в пролёте.

Проги для Win98 с прямым доступом к порту, которые на современное железо просто не устанавливаются, можно запускать через VMware Workstation здоровенную неповоротливую виртуалку, и хотя она не совсем поддерживает Win98, работать там будет. Это единственная виртуальная машина где есть LPT.
В моём случае это не сильно помогло, потому как ПО просто устарело и не заработало с тем устройством под котрое я всё эту софтовую хрень мудрил.

Но разве тема об этом ?
Автор зачемто хочет изобретать работу с портом которых чаще всего нет, под устройства которые тоже нужно собирать. Зачем изобретать старьё есть готовые доступные решения.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Пн ноя 01, 2021 23:51:38

Может быть кто интересовался вопросом о обоснованности выбора ECP FIFO size - 16 Байт. Зачем и почему именно столько. Как этот размер согласуется с Windows драйвером Par.sys .

И еще вопрос, как в Windows расставлены приоритеты драйверов и, как малой кровью приоритеты драйверов перетасовать.

Все ОК LPT (ECP) в WinAPI на самом деле работает со скоростью 4 Мегагерца и это некто не может испортить, т.е. частота стабильна без перерывов, как и звук в колонках.


Делал просто, удалял драйвер на Windows 7 LPT порта, писал собственный драйвер использовав функции ядра Ke386SetIoAccessMap(.... задавал повышения приоритета и прав для программы из под User mode далее напрямую общался с портом с помощью ASM вставок in и out зная адреса порта. В BIOS отключил расширенные режимы работы LPT порта. В таком режиме скорость порта составила 1 MHz. Все это работает на Windows 7 x86, на x64 не проверял, так как не писал драйвер повышения прав под эту разрядность.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Чт ноя 11, 2021 09:39:37

Делал просто, удалял драйвер на Windows 7 LPT порта, писал собственный драйвер использовав функции ядра Ke386SetIoAccessMap(.... задавал повышения приоритета и прав для программы из под User mode далее напрямую общался с портом с помощью ASM вставок in и out зная адреса порта. В BIOS отключил расширенные режимы работы LPT порта. В таком режиме скорость порта составила 1 MHz. Все это работает на Windows 7 x86, на x64 не проверял, так как не писал драйвер повышения прав под эту разрядность.

А что, GiveIO или UserPort вы для себя не открывали? Я UserPort использовал ещё с ХР, но после перехода на 7x64 оно было заброшено в связи с ненужностью.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Чт ноя 11, 2021 21:34:00

А что, GiveIO или UserPort вы для себя не открывали? Я UserPort использовал ещё с ХР, но после перехода на 7x64 оно было заброшено в связи с ненужностью.

Нет, для решения специфических задач писал свой собственный софт. К примеру полностью дружественный GUI прошивальщик SPI флеш памяти.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Пт ноя 12, 2021 14:50:22

Нет, для решения специфических задач писал свой собственный софт. К примеру полностью дружественный GUI прошивальщик SPI флеш памяти.

Дык, например UserPort просто модифицирует карту прав доступа к портам ввода/вывода (причём, диапазоны можно задавать руками). И уже после этого прямой доступ к ним из юзермоды позволителен на NT системах. Как это мешает написать свой GUI с девахами и преферансом? Разве что приоритет в среде многозадачности в кольце 1 (где крутятся драйвера) будет повыше юзермодского кольца 3. Но ведь можно потоку приоритет и TIME_CRITICAL указать...

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Пт ноя 12, 2021 16:01:20

Дык, например UserPort просто модифицирует карту прав доступа к портам ввода/вывода (причём, диапазоны можно задавать руками). И уже после этого прямой доступ к ним из юзермоды позволителен на NT системах. Как это мешает написать свой GUI с девахами и преферансом?


Мешает, так как некоторые процедуры необходимо было реализовать в драйвере.

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Пт ноя 19, 2021 15:30:17

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

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Пт ноя 19, 2021 17:19:05

Ваши сомнения очень странно выглядят. Как пример приведу звук в компьютере. Может и здесь Вы не доверяете Intel и Microsoft? А между тем поток данных там не меньше 192x24bit/sec=576 Kb/sec -> а LPT в Mach3 40 Kb/sec. Ну, и где Вы видели что звук заикается? А ЧПУ-шники отстают в написании кода это факт (лохи это Вы повторяете).

Добавлено after 16 minutes 45 seconds:
Re: Делаем LPT управление шаговым двигателем со скоростью 4 MHZ
Кстати LPT на шине PCI-ISA снабжен своим локальным FIFO 16-32 байт. Вот не знаю. но мост PCI-E->PCI->ISA->LPT тоже может быть оборудован FIFO а, поскольку обратную связь со скоростью больше чем 1000 Гц Mach3 все одно не может, то остается в допустимых рамках, Сайт Microsoft нужно читать внимательно а не заниматься поделием уступающем по качеству на порядок (10 раз :)) 40 Децибел).

Re: Делаем LPT управление шаговым двигателем со скоростью 4

Пт ноя 19, 2021 22:46:45

astrahard писал(а):Как пример приведу звук в компьютере. Может и здесь Вы не доверяете Intel и Microsoft? А между тем поток данных там не меньше 192x24bit/sec=576 Kb/sec -> а LPT в Mach3 40 Kb/sec. Ну, и где Вы видели что звук заикается?
Прерывания и DMA вам о чем-то говорят?
Так вот, звук выводится аппаратно и из ядра по прерываниям и/или DMA и многозадачность не мешает, а вывод в LPT у вас программный из юзермода.
И не забываем что выводом звука занимается специализированное устройство - звуковая карта, а не обычный ЦАП с которым можно сравнить LPT...

Так что ваш пример мягко говоря некорректный.
Ответить