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

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
astrahard
Это не хвост, это антенна
Сообщения: 1405
Зарегистрирован: Чт фев 19, 2015 12:41:04

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

Сообщение astrahard »

Может быть кто интересовался вопросом о обоснованности выбора 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 МГц так задумано и это работает на самом деле.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Реклама
Аватара пользователя
As
Модератор
Сообщения: 46022
Зарегистрирован: Пт янв 23, 2009 19:20:05

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

Сообщение As »

...И где на нынешних материнках LPT?..
Реклама
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

1. Аппаратный параллельный порт уже днем с огнем не сыщешь!
2. Мастдайка — фу!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

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

Сообщение musor »

не тока LPT но и ISA давно умерли.... тоесть конечно в мусорках такие платы найти можно и о ужас даже по 478сокет... хотя там это криво робит луче атлонофски взять
но если софт писать то по современые мамки на корторых тех шин даж запаха не осталось...
ну а мосты PCI(E) to ISA и сответствующие платки род эти шинки вешь малодоступная и дорогая не по праву
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

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

Сообщение AndTer »

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

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

Сообщение musor »

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

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

Добавлено after 2 minutes 13 seconds:
Re: Делаем LPT управление шаговым двигателем со скоростью 4 MHZ
и да вы удивитесь был даже сканер пот такие порты содержал кабельинжектор чтоб и принтер исканер подцеплять
а еще были проходные HASP
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Реклама
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

"Мач3"? Это ж вообще для зомбарей!!!
Ты хотя бы не позорься, если не можешь сам что-то написать, а перейди на linuxcnc!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

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

Сообщение AndTer »

[uquote="musor",url="/forum/viewtopic.php?p=4101452#p4101452"]их почти нет тоесть найти конечно можно в кетаянии под заказ....и то это будет не брент а ноненйм кетаянский причем цена на них уже весма взрослая а не "стоят копейки."[/uquote]
Ага, секретное место и только для олигарховЪ:
https://www.dns-shop.ru/catalog/17a89bb ... 13a%5d=agv
https://aliexpress.ru/item/4001346102343.html
но надо выбирать, не всё может заработать.

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

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4101465#p4101465"]"Мач3"?[/uquote]
Нафиг мне твой нюкс если парк станков уже много лет работает на лицензионных мак3? И это не хобби.
Глупый не задает вопросы. Глупый и так все знает.
74LS00
Друг Кота
Сообщения: 7686
Зарегистрирован: Вс июл 24, 2011 11:38:09
Контактная информация:

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

Сообщение 74LS00 »

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

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


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

ЧПУ давно собирается на обрезаной плате RepRap
Аватара пользователя
Рязанцев Владислав
Мудрый кот
Сообщения: 1781
Зарегистрирован: Пн июн 24, 2013 23:00:42
Откуда: Казахстан

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

Сообщение Рязанцев Владислав »

[uquote="AndTer",url="/forum/viewtopic.php?p=4101448#p4101448"]Например мач3 поддерживет только 32 бит[/uquote]
Интересно как же собранный мной плазморез на вин 10- 64 бит уже 2 месяца как режет вполне себе на мач 3? :)))
С оговорочной конечно, там плата NVEM по сети.

И да, ставить на ЧПУ что-то слабее 3 поколения издевательство над оператором. B75 отлично работает и с мач и с NC студио. Да и плат всяких разных за недорого куча есть- тот же NVEM за 40 баксов с кучей портов ввода-вывода, и до 6-7 осей на частотах до нескольких мегагерц.
Изображение
Ваши хотелки за ваши деньги
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15569
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

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

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

Сообщение 74LS00 »

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

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

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

Но разве тема об этом ?
Автор зачемто хочет изобретать работу с портом которых чаще всего нет, под устройства которые тоже нужно собирать. Зачем изобретать старьё есть готовые доступные решения.
Аватара пользователя
Transformer-V
Друг Кота
Сообщения: 4168
Зарегистрирован: Пн окт 03, 2016 22:50:22
Контактная информация:

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

Сообщение Transformer-V »

[uquote="astrahard",url="/forum/viewtopic.php?p=4097576#p4097576"]Может быть кто интересовался вопросом о обоснованности выбора ECP FIFO size - 16 Байт. Зачем и почему именно столько. Как этот размер согласуется с Windows драйвером Par.sys .

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

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

Делал просто, удалял драйвер на Windows 7 LPT порта, писал собственный драйвер использовав функции ядра Ke386SetIoAccessMap(.... задавал повышения приоритета и прав для программы из под User mode далее напрямую общался с портом с помощью ASM вставок in и out зная адреса порта. В BIOS отключил расширенные режимы работы LPT порта. В таком режиме скорость порта составила 1 MHz. Все это работает на Windows 7 x86, на x64 не проверял, так как не писал драйвер повышения прав под эту разрядность.
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Ср сен 02, 2015 07:47:20

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

Сообщение HardWareMan »

[uquote="Transformer-V",url="/forum/viewtopic.php?p=4115004#p4115004"]Делал просто, удалял драйвер на Windows 7 LPT порта, писал собственный драйвер использовав функции ядра Ke386SetIoAccessMap(.... задавал повышения приоритета и прав для программы из под User mode далее напрямую общался с портом с помощью ASM вставок in и out зная адреса порта. В BIOS отключил расширенные режимы работы LPT порта. В таком режиме скорость порта составила 1 MHz. Все это работает на Windows 7 x86, на x64 не проверял, так как не писал драйвер повышения прав под эту разрядность.[/uquote]
А что, GiveIO или UserPort вы для себя не открывали? Я UserPort использовал ещё с ХР, но после перехода на 7x64 оно было заброшено в связи с ненужностью.
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Аватара пользователя
Transformer-V
Друг Кота
Сообщения: 4168
Зарегистрирован: Пн окт 03, 2016 22:50:22
Контактная информация:

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

Сообщение Transformer-V »

[uquote="HardWareMan",url="/forum/viewtopic.php?p=4119762#p4119762"]А что, GiveIO или UserPort вы для себя не открывали? Я UserPort использовал ещё с ХР, но после перехода на 7x64 оно было заброшено в связи с ненужностью.[/uquote]
Нет, для решения специфических задач писал свой собственный софт. К примеру полностью дружественный GUI прошивальщик SPI флеш памяти.
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Ср сен 02, 2015 07:47:20

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

Сообщение HardWareMan »

[uquote="Transformer-V",url="/forum/viewtopic.php?p=4120231#p4120231"]Нет, для решения специфических задач писал свой собственный софт. К примеру полностью дружественный GUI прошивальщик SPI флеш памяти.[/uquote]
Дык, например UserPort просто модифицирует карту прав доступа к портам ввода/вывода (причём, диапазоны можно задавать руками). И уже после этого прямой доступ к ним из юзермоды позволителен на NT системах. Как это мешает написать свой GUI с девахами и преферансом? Разве что приоритет в среде многозадачности в кольце 1 (где крутятся драйвера) будет повыше юзермодского кольца 3. Но ведь можно потоку приоритет и TIME_CRITICAL указать...
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Аватара пользователя
Transformer-V
Друг Кота
Сообщения: 4168
Зарегистрирован: Пн окт 03, 2016 22:50:22
Контактная информация:

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

Сообщение Transformer-V »

[uquote="HardWareMan",url="/forum/viewtopic.php?p=4120552#p4120552"]Дык, например UserPort просто модифицирует карту прав доступа к портам ввода/вывода (причём, диапазоны можно задавать руками). И уже после этого прямой доступ к ним из юзермоды позволителен на NT системах. Как это мешает написать свой GUI с девахами и преферансом?[/uquote]

Мешает, так как некоторые процедуры необходимо было реализовать в драйвере.
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

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

Сообщение Morroc »

Сомневаюсь, что лпт драйвер мач3 писали такие прям лохи, скорее всего "гладко было на бумаге, да забыли про овраги" и что важное можно сделать только так как сделано.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Аватара пользователя
astrahard
Это не хвост, это антенна
Сообщения: 1405
Зарегистрирован: Чт фев 19, 2015 12:41:04

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

Сообщение astrahard »

Ваши сомнения очень странно выглядят. Как пример приведу звук в компьютере. Может и здесь Вы не доверяете 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 Децибел).
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

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

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

Вернуться в «Интеграция с ПК»