Программа для настройки lpt порта

Сначала я задумался о причинах ложных срабатываний аппаратуры. Наиболее вероятно, что при самотестировании в начале (средствами BIOS), а затем при загрузке драйвера параллельного порта в самой Windows, происходит вывод каких-то данных. При помощи осциллографа я зафиксировал процессы, возникающие на выводах шины данных LPT-порта при включении и отключении компьютера. Как и предполагалось, вначале, при процедуре тестирования BIOS, происходит вывод нескольких байтов, а затем через несколько секунд (уже когда бежит «червячок-индикатор» загрузки Windows XP — все сказанное здесь и далее относится к этой ОС), снова выводится пачка байтов. Естественно, что если схема использует сигнал с какого-либо бита шины данных порта для управления нагрузкой, она реагирует на выводимые байты.

Известно, что для проверки работоспособности схем ввода-вывода часто используется вывод байтов 0x55 и 0xAA (в двоичном коде это 01010101 и 10101010), и я предположил, что именно такие байты и выводит BIOS и Windows при тестировании LPT. Если бы мое предположение оказалось верным, можно было бы модифицировать схему и программу так, чтобы управление светодиодом оптронной развязки велось не относительно общего провода сигналом с одной линии шины данных, а с пары линий: когда уровни на выбранной паре линий одинаковы — светодиод будет светиться только при одной-единственной комбинации уровней из четырех возможных. Если это и не решит проблему ложных срабатываний, то существенно уменьшит ее вероятность. Именно с такой идеей я обратился к автору разработки по почте, однако, он ответил, что, хотя идея по его мнению заслуживает рассмотрения, он в настоящее время не может заняться ее проверкой. Ну, а я смог.

Mach3 проблема с портом, станок не двигается, настройка порта

Логического анализатора у меня нет, потому я ограничился проверкой только пары линий D0 и D2. Оказалось, что при тестировании BIOS уровни на этих линиях действительно всегда одинаковы, а вот во время старта Windows бывают моменты, когда они разные, хотя, как и предполагалось, таких моментов очень немного: все «нежелательные» импульсы происходили в течение не более чем 20-50 микросекунд. То есть, я оказался прав наполовину.
Однако, «ложный» импульс в пару десятков микросекунд — это вовсе не проблема, он легко фильтруется простейшей RC-цепочкой с постоянной времени, скажем, 10-20 миллисекунд (на 3 порядка больше длительности фильтруемого импульса), что абсолютно не скажется на эксплуатационных удобствах (задержка коммутации нагрузки в 20 миллисекунд абсолютно незаметна человеку).

В общем, путь решения проблемы был намечен. Так как автор не смог (или не пожелал) модифицировать под него свою программу, я решил написать собственный вариант, заодно устранив по возможности все недостатки предыдущего. И вот что получилось.

Новый вариант схемы показан на рисунке 1. По сравнению с прототипом она не сильно изменилась (в расчете на 1 канал, естественно). К выбору типов элементов схемы особых требований не предъявляется, допустима замена элементов на любые, сходные по параметрам. VT2 может потребовать установки на небольшой теплоотвод.

Как включить LPT порт

VD1 — КД209, 1N400x или иной на ток не менее 0,8А и обратное напряжение не ниже 25В. Оптрон VU1 может быть практически любым транзисторным: ОАТ127, АОТ128, АОТ110, 4N35 и др. Реле должно быть рассчитано на срабатывание при выбранном напряжении питания.

Обратите внимание: резистор R7 добавлен в схему в результате исправления ошибки (вначале он отсутствовал). Его сопротивление должно быть от 150 до 240 Ом. Чем меньше напряжение питания, тем меньше сопротивление.

Это не единственный возможный вариант схемы, можно модифицировать ее, оставив, например, только один канал управления и превратив ее в аналог схемы из первоисточника. Можно изменить конструкцию ключевого каскада, применить оптореле, «переставить» линии управления порта. Но при разработке других вариантов схемы необходимо соблюдать 3 важных условия: обязательно обеспечивать гальваническую развязку — раз, ограничивать ток через линии LPT порта на уровне не более 10 мА — два, и обеспечивать соединение контактов 11 и 12 разъема порта с общим проводом порта — три. Несоблюдение первых двух условий может привести к порче компьютера, а третьего — к зависанию программы.

Конструктивно устройство можно выполнить в виде сетевого удлиннителя на 5 розеток (1 обычная розетка для питания компьютера и 4 для управляемых нагрузок). Печатная плата устройства не разрабатывалась.

Управляющая программа в виде исполняемого файла, как всегда, доступна для скачивания ЗДЕСЬ. Программа тестировалась в Windows XP Pro SP2. Она обладает следующими возможностями и особенностями:

  • Не требует инсталляции, ничего не пишет в системный реестр
  • После запуска работает в системном трее Windows
  • При помощи всплывающих подсказок информирует о состоянии нагрузок
  • Управление режимами ведется при помощи всплывающего меню по щелчку правой кнопкой на иконке в системном трее
  • Позволяет управлять четырмя раздельными нагрузками
  • Каждый из 4-х каналов нагрузки может иметь заданное пользователем название для удобства работы
  • При запуске программы заранее указанные нагрузки могут включаться автоматически
  • При завершении программы все нагрузки могут быть или автоматически отключены, или оставлены в текущем состоянии
  • Имеет простой интерфейс в стандартном стиле Windows
  • Не использует для работы с портом дополнительных библиотек
Читайте также:
Установить программу о погоде

Всплывающее меню программы имеет (по умолчанию) вид, показанный на рисунке 2.

Пункт «Показать» откроет в центре экрана рабочее окно программы. То же самое произойдет по двойному щелчку на иконке в системном трее. Назначение пунктов «О программе» и «Выход» очевидно, а 4 недоступные (при первом запуске) пункта предназначены для управления соответствующими нагрузками.

На рисунке 3 показано основное окно программы. Галочкой в столбце «Канал» можно разрешить управление соответствующим каналом. Для разрешенных каналов становятся доступны соответствующие поля настройки их параметров (запрещенные каналы всегда выключены).

Каждый канал управления может иметь свое наименование, по умолчанию это просто «Канал» с номером — на рисунке как раз показано, что 3 канала поименованы, а последний — еще нет. Если необходимо, чтобы при запуске программы канал включался автоматически, нужно установить галочку в столбце «Состояние при старте». Галочка в столбце «Состояние сейчас» управляет текущим состоянием канала, т.е. при ее установке нагрузка немедленно включится, при снятии — выключится. Наконец, есть еще одна галочка, общая для всех каналов — «Перед выходом все отключить». Ее назначение, надеюсь, понятно без комментариев.

После того, как все параметры заданы, основное окно можно свернуть, оно при этом не появится в панели задач, а останется, как и ранее, в системном трее. Зато теперь уже меню преобразится (см. рисунок 4)! Теперь каналы получили заданные названия. Включенные нагрузки в меню отмечаются галочками.

Лично мне такой интерфейс представляется более привычным и удобным, нежели тот, что в программе-прототипе.

В программе предусмотрена возможность «тонкой» настройки, однако она немного завуалирована. Дело в том, что эта возможность предназначена для тех, кто решит изменить схему адаптера, а это может потребоваться по двум причинам:

  • Неудобная разводка платы адаптера по имеющейся схеме
  • Процедура самотестирования BIOS работает не так, как на моей материнской плате, из-за чего пары линий шины данных LPT не обеспечивают реализации вышеописанных функций

В обоих случаях наверняка потребуется изменить назначение линий порта LPT, и, чтобы программа могла адекватно на такие модификации реагировать, необходимо «проинформировать» ее об этом. Делается это путем ручной правки файла lptsw.ini, который появляется в папке программы после первого ее запуска. Этот файл необходимо открыть в редакторе, хоть в том же «Блокноте», и добавить в него следующие строки:

[Extra]
1_a = 0
1_c = 4
2_a = 1
2_c = 5
3_a = 2
3_c = 6
4_a = 3
4_c = 7

Будьте внимательны: в этих строках перечислены пары линий для каждого канала — номер канала определяется первой цифрой в строке. После символа «подчеркивание» следует назначение линии — для анода светодиода или для катода («_а» и «_с» соответственно). После знака равенства указан номер линии шины данных LPT-порта, который назначен для соответствующей задачи. В приведенном примере указаны те значения, которые используются программой по умолчанию. Если нужно, например, настроить программу на схему, в которой к нечетным линиям подключены аноды светодиодов а к четным — катоды, надо ввести такие строки:

1_a = 0
1_c = 1
2_a = 2
2_c = 3
3_a = 4
3_c = 5
4_a = 6
4_c = 7

Программа не контролирует корректность заданных значений, если справа или слева от знака равенства будут некорректные значения, поведение программы при управлении нагрузками непредсказуемо (зависаний или ошибок, возможно и не будет, но что и как будет включено — неизвестно). Именно поэтому данная возможность по умолчанию скрыта.

Следует признать, что способ «параллельного» управления несколькими нагрузками очень неудобен: для 4-х нагрузок нужно «дотянуть» до удлинителя аж 8 проводов от разъема порта. Единственное существенное достоинство схемы — простота, особенно при использовании мощных оптореле, например 5П19Т или 5П20Б: в этом случае схема канала управления вырождается в токоограничительный резистор и оптореле. Для управления бОльшим количеством каналов усложнение параллельной схемы становится неоправданным по числу деталей и количеству соединительных проводников. Очевидным выходом в этом случае будет переход на управление через последовательный порт, причем при использовании интерфейса RS485 возможно управление нагрузками на расстоянии до 1 км и более. Но эта тема уже не попадает в рамки данного проекта.

P.S. Сейчас уже актуальней управление устройствами через USB, благо есть готовые модули.

Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте.
Так же у нас есть Telegram канал.
Вам понравился наш материал? Поделитесь с коллегами!

Источник: tehnopage.ru

WinLpt для LPT и Arduino

Программа WinLpt (WndLpt) управляет 12 или 8 выходными пинами LPT порта по заранее заданному сценарию, либо как светомузыка. При подключении платы Arduino (по USB) доступно до 32 выходных сигналов для управления светодиодами или другими устройствами напрямую с компьютера.

Основные функции

• Автоматическое управление выходми LPT или Arduino по заранее записанным командам (скриптам)

• Ручное управление с помощью мышки или клавиатуры

Читайте также:
Лучшие программы для гипноза

• Наглядная отладка скриптов (запуск кнопкой F12)

• Визуализация музыки на 1..32 светодиодов (LEDs) (от стереомикшера или микрофона)
• Плагин светодиодной визуализации для плееров Winamp, WMP, AIMP2
• Отклик на все входы/выходы/пины порта LPT
• Предпросмотр состояний светодиодов
• В комплекте полезные программы: LPT Buttons, Stroboscope, EasyDrive

Новые возможности версии WinLpt 0.2.9-com:

• Управление, либо визуализация музыки для 1..32 светодиодов/выходов через плату Arduino.

• Плагин вывода в последовательный порт

• Отправка данных в любой COM-порт (реальный RS-232 или USB-эмулируемый)

• Доступно для любых компьютеров и ноутбуков, где есть USB порт.

• Доступны Русский, Английский и Итальянский языки.

См. также:

Возможности скриптов

Поддерживаемые команды: вкл, выкл, инверсия состояния нескольких выходных сигналов, сдвиг влево/вправо, выдержка указанного временного интервала; циклы, подпрограммы, и т.д.. Это полезно для автоматического управления светодиодами, реле или другими устройствами напрямую подключенными к порту ЛПТ или выходам Ардуино. Скрипты очень просты, наглядны и логичны.

Использование в качестве визуализации

• Приложение WndLpt Application использует визуализации звук стереомикшера или микрофона.

+ Winamp 5

+ WMP // Windows Media Player

+ AIMP2/3/4

Плагин способен использовать для визуализации звук воспроизводимый плеером.

Попробуйте покликать мышкой по изображениям предварительного просмотра (Preview) или по окну визуализации (правой или левой кнопками)

Поддерживаемые операционные системы

Windows 98/2k/ XP/Vista/7/8/10
Платформы: 32/64-bit (x86/x64) (кроме IA64)

Источник: winlpt.mavjuz.com

Программа WndLpt — Управление выходами LPT порта

Назначение: Автоматическое и ручное управление устройствами, подключенными к LPT-порту (до 12 выходов). Управление через COM порт (до 32 выходов).

Возможности:

[1] Управление выходами по заранее заданному сценарию (скрипту).

[2] Светомузыка через LPT-порт (суммарный звук системы, Winamp, AIMP2, WMP).

[3] Интерактивное управление выходами LPT порта с помощью клавиатуры или мыши.

Операционная система: Windows 98/NT/ME/XP/2000/Vista/7/8/10
Платформа: 32/64 бит, (x86/x64)

Особенности: LPT порт должен быть встроен в материнскую плату или PCI-карту.

Переходники USB-LPT не поддерживаются.

^ Управление выходами по заранее заданному сценарию (скрипту)

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

Кроме того, благодаря WndLpt LPT порт может быть использован для управления шаговым двигателем, блоками реле, неответственными процессами, которые управляются дискретными сигналами.

WndLpt выполняет сценарий (на вкладке Play)

^ Светомузыка через LPT-порт

К LPT-порту подключены 8 или 12 светодиодов?

— В таком случае легким движением руки WndLpt превращается . в светомузыкальюную установку. В этом режиме программа записывает звук с выбранного источника звуковой карты и превращает его в светомузыку. Рекомендуется выбирать источник «Стерео микшер» или «Моно выход».

Вам по душе плагины к плеерам Winamp/AIMP2/WMP?

— Да, WndLpt умеет работать как плагин визуализации для трех популярнейших плееров Winamp, AIMP2, WMP! При этом светомузыка может работать как от звука плеера, так и от любого доступного источника звуковой карты.

WndLpt в режиме светомузыки (вкладка Music)

^ Интерактивное управление выходами LPT порта с помощью клавиатуры или мыши

— На вкладке «Manual» изображена схема клавиатуры; на ней отмечены кнопки, которыми можно пользоваться для управления светодиодами. Впрочем, нажимать на них можно и мышью.

WndLpt В режиме ручного управления с клавиатуры

— На вкладке «Pins» находятся 12 флажков (Out pins), соответствующих 12-ти выходным пинам LPT-порта. Кроме того присутствуют 5 дополнительных флажка (Input pins) не доступных для изменения. Они являются индикаторами логического уровня, подаваемого на пять входных пинов LPT порта. Правее изображен и сам порт.

Красным цветом показаны пины, на которые подано напряжение соответствующее уровню логической единицы. Синим — соответствующее уровню логического нуля. Бледным цветом отображены входные пины; когда к ним ничего не подключено — они находятся в состоянии логической единицы. Белым цветом показаны «общие» пины.

Состояние выходных пинов можно менять кликая мышкой либо по флажкам, либо прямо по пинам схематично изображенного LPT порта.

WndLpt в режиме управления мышью

^ Примеры управления светодиодами

О том, как подключить 12 (или 8) светодиодов к LPT порту читаем в статье «Подключение двенадцати светодиодов к LPT порту».

О том, как заставить WndLpt управлять светодиодной иллюминацией рассказано в статье «Светодиодная иллюминация с помощью WndLpt».

^ Быстрый старт

Работа WndLpt по сценарию

1. Запустить исполняемый файл wndlpt.exe из главного меню или папки с программой.

2. Далее, при помощи операции Drag-n-Drop, в окно программы следует «сбросить» текстовый файл с требуемым сценарием.

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

Работа WndLpt в качестве самостоятелной светомузыки

1. Запустить исполняемый файл wndlpt.exe.

2. Выбрать вкладку «Music».

3. Клик левой или правой кнопкой мыши по изображению визуализации приводит к смене эффекта.

4. Клик левой кнопкой по картинке панели светодиодов меняет предполагаемый цвет светодиодов. Правой кнопкой — расположение светодиодов.

Работа WndLpt в качестве плагина визуализации Winamp, AIMP2, WMP

1. Установить WndLpt Plugin for Winamp/AIMP2/WMP.

3. Запустить плеер и активировать плагин визуализации WndLpt.

Прочее

* При запуске без параметров командной строки программа выполняет скрипт autorun.txt, в случае, если таковой присутствует в папке исполняемого файла.

Читайте также:
Прекращена работа программы радмир лаунчер

* Окно программы можно скрыть (фоновый режим) и обратно показать — эти действия можно выполнить при помощи контекстного меню иконки, появляющейся в панели задач. Скрытие и показ окна могут быть заложены в сценарии.

* Можно выполнить перезапуск сценария (в любое время) при помощи функциональной клавиши F6 или соответствующей кнопки в системном меню, при этом файл сценария будет считан и откомпилирован заново.

* Отладчика открывается по кнопке F12.

* Трассировка (пошаговое выполнение) скрипта выполняется с помощью функциональных клавиш F11/F8. Выход из режима трассировки или продолжение автоматического выполнения сценария осуществляется клавишей F5. Если работа сценария окончена, по клавише F5 выполнится перезапуск, при этом, файл не будет заново считан и откомпилирован (сравните с F6).

* В папке scripts лежит несколько примеров готовых сценариев.

* При наличии грубых ошибок в сценарии выполнение скрипта будет прервано.

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

* Сценарий должен быть текстовым файлом в формате ANSI либо Unicode. Максимальный размер файла ограничен на уровне 64 КБ, исходя из соображений простой логичности (т.к. при помощи Drag-n-Drop можно случайно скинуть в программу совсем не сценарий, а, например, фильм — длительная компиляция которого, очевидно, ни к чему не приведёт).

Загрузка файлов / DOWNLOADS

Скачать с sourceforge (прямая ссылка)

Скачать с codeplex

История версий

WinLpt-0.2.9 (Build 14)

* Новое: Добавлена возможность вывода сигналов в COM порт (или виртуальный USB-COM)

* Новое: Добавлена поддержка 32 выходных сигналов

* Новое: Режим отладки

* Новое: Возможность выбора языка

* Новое: Добавлена итальянская локализация

WinLpt-0.2.8 (Build 13)

* Новое: Добавлен отладчик скриптов. Открывается по нажатию кнопки F12

* Разное: Два разных отладчика для файлов ASCII и UNICODE

* Разное: Название программы заменено на WinLpt

* Исправлено: Stroboscope длина паузы обновляется при изменении с клавиатуры

WndLpt-0.2.7.ext (Build 12)

* Новое: WndLpt SDK

* Новое: Команда: random call Function1 Function2 Function3 ; вызов произвольной функции

* Новое: Команда: random jump Label1 Label2 Label3 ; переход на произвольную метку

* Новое: Команда: 00??00??00?? ; ? — бит, устанавливаемый случайным образом

* Новое: Команда: ? (3,4,7,8,11,12) ; биты, устанавливаемые случайным образом

* Улучшено: Команда: call Func1 Func2 Func3 Func4 последовательно вызывает указанные функции

* Новое: Библиотека wndlpt_remap.dll для переназначения пинов порта (шаблон для C++ и Delphi)

* Новое: Проект wndlpt_gate как шаблон программы (C++, VB.NET) использующей WndLpt для прямого доступа к LPT порту

* Новое: Stepdrive для управления с помощью произвольных систем

WndLpt-0.2.7 (Build 11)

* WndLpt plugin: Добавлена поддержка AIMP3

* Утилиты LPT Buttons, Stroboscope, EasyDrive работают в Windows Vista/Seven/7

* LPT Buttons: добавлена возможность редактирования положения кнопок

* EasyDrive: добавлены кнопки для ручного выполнения шагов, добавлены новые системы управления

WndLpt-0.2.6 (Build 9)

* Исправлены надписи «Pin 2, 3, 4» на вкладке «Pins»

* Исправлена работа мышкой с кнопками виртуальной клавиатуры

### Добавлены новые утилиты ###

* LPT Buttons — новое средство для управления пинами порта

* Stroboscope — удобное управление стробосткопом

* EasyDrive — управление шаговым двигателем

WndLpt-0.2.5 (Build 8)

* Реакция на 5 входных сигналов LPT порта «test i 1»

* Реакция на 12 выходных сигналов LPT порта «test q 3»

* Реакция на состояние пинов порта «test pin 12»

* Ветвления по командам jz , jnz

* На вкладке «Manual» флажок «Arrows like 1, 2, 3, 4» — стрелки работают как кнопки 1, 2, 3, 4

* На вкладке «Manual» флажок «Not fix digital buttons» — меняет логику работы цифровых кнопок

* Эмуляция часов с минутной и часовой стрелкой «cmd enable_clock 1»

* Установка нового состояния числом в десятичной системе $ 95

* Установка нового состояния числом в шестнадцатеричной системе $ 5Fh, $ 0xFED

* Добавлена настройка степени фильтрации (вызывается правым кликом по слову Filter)

* Добавлены ярлыки для запуска плееров в Windows Vista и 7

* Добавлены ярлыки для помещения в автозапуск (папка WndLpt => Links в меню Пуск)

* Добавлены исполняемые файлы для работы в Windows 98/ME (wndlpt98.exe, vis_wl98.dll, lptport98.exe)

* Добавлена новая утилита для управления стробоскопом (stroboscope.exe)

WndLpt-0.2.4 (Build 7)

* Новые вкладки: Manual, Pins, Settings

* Новая команда «cmd enable_music 1»

* Новая команда «cmd music_preset [+num | -num | num]»

* Новая команда «shift [=num | +num | -num]»

* Доработана команда «cmd switch_to_music»

* Доработан плагин визуализаци vis_wndlpt.dll для WMP 11 (Windows Media Player)

* wndlpt.exe является загрузчиком для vis_wndlpt.dll

* Вкладка Manual для управления выходами с клавиатуры

* Вкладка Pins для управления выходами с помощью мыши

* Вкладка Settings для выбора базового адреса LPT-порта

WndLpt-0.2.3

* Добавлен плагин визуализаци vis_wndlpt.dll для Winamp 5

* Добавлен плагин визуализаци vis_wndlpt.dll для WMP 10 (Windows Media Player)

* Добавлен плагин визуализаци vis_wndlpt.dll для AIMP2

* Файл vis_wndlpt.dll одинаков для всех плееров.

* Добавлен выбор источника звука для светомузыки

* Добавлена автоподстройка светомузыки под уровень звука

* Добавлено переключение режимов Моно/Стерео

* Добавлена возможность изменения количества светодиодов

WndLpt-0.2.3-a1

* Добавлена визуализация музыки — светомузыка

* Добавлена картинка, отображающая ожидаемое состояние светодиодов

WndLpt-0.2.2

* Поддержка командной строки

* Описание команд из wiki доступно для загрузки

WndLpt-0.2.1

* Поддержка Windows Vista/Seven

* Поддержка платформ 32/64 бит (x86/x64)

WndLpt-0.2.0

* Заново написан движок

* Компилятор встроен в движок

* Оставлена совместимость со скриптами от старой версии, за исключением единичных команд

* Значительно обогащён набор средств и методов для сценариев

* Иконка в панели задач

* Запрет одновременного запуска нескольких экземпляров программы

WndLpt-0.1.0

* Максимально «легкая» за счет использования простого алгоритма.

Источник: mavius.mavjuz.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru