Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Другая жизнь LPT порта. Часть 3. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Компьютеры

Комментарии к статье Комментарии к статье

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

Другая жизнь LPT порта
(нажмите для увеличения)

На самом деле все честно, все работает. Можно выложить еще кучу всяких схем, но нам сейчас важно понять не принцип работы схемы, а принцип подачи управляющих сигналов на двигатель. На диаграмме ниже - это видно.

Другая жизнь LPT порта

На каждую из обмоток двигателя поочередно подаются импульсы, иногда на двух обмотках сразу присутствует высокий уровень сигнала. Если вы посмотрите на левую часть диаграммы и заметите D0-D3, то сразу поймете куда я клоню.

Другая жизнь LPT порта

Вот что мы имеем в конечном итоге, ну и, конечно же, компьютер с LPT портом. Питание для двигателя придется делать самому, причем для каждого типа двигателя - свое. В соответствии с диаграммой на входы A, B, C, D мы подаем последовательно 3, 2, 6, 4, 12, 8, 9, 1 через &H378. Причем откуда начинать не критично, вопрос в сохранении последовательности и повторении ее по "кругу" или столько, сколько нужно. Если же изменить направление последовательности (задом-наперед), вращение двигателя будет в противоположную сторону. Данная последовательность дает команду двигателю делать полушаги (это зависит от конструкции двигателя), для управления полным шагом последовательность будет такой 3, 6, 12, 9.

И тут мне на глаза попался семисегментный индикатор на светодиодах от калькулятора. Решение пришло моментально.

Вот как устроен такой индикатор.

Другая жизнь LPT порта

Для простоты я нарисовал 4-х разрядный (в моем индикаторе их 12) семисегментный индикатор на светодиодах. На разряды 1-4 подаем 0, а на сегменты подаем + питание (для каждого типа индикатора свои параметры питания). Все сегменты объединены, поэтому зажигать такой индикатор нужно динамической индикацией. Кто хоть раз сам собирал электронные часы, тот знает, что это такое, но на всякий случай рассмотрим это по подробнее.

Шаг 1. На первый разряд подается низкий уровень сигнала, а на сегментах (высоким уровнем) выставляется код цифры, которую мы хотим увидеть.

Другая жизнь LPT порта

Шаг 2. На второй разряд подается низкий уровень сигнала, а на сегментах (высоким уровнем) выставляется код цифры, которую мы хотим увидеть.

Другая жизнь LPT порта

Шаг 3. На третий разряд подается низкий уровень сигнала, а на сегментах (высоким уровнем) выставляется код цифры, которую мы хотим увидеть.

Другая жизнь LPT порта

Шаг 4. На четвертый разряд подается низкий уровень сигнала, а на сегментах (высоким уровнем) выставляется код цифры, которую мы хотим увидеть.

Другая жизнь LPT порта

И опять по новой шаг 1, 2 и т.д. Все это происходит очень быстро, поэтому наши глаза не успевают увидеть мерцание цифр.

Берем наш индикатор и разряды 1, 2, 3, 4 сажаем на STROBE(1), AUTO(14), INIT(16), SELECT IN(17). Это будет управление разрядами, а сегменты A, B, C, D, E, F, G сажаем на D0, D1, D2, D3, D4, D5, D6. Чтобы зажечь в первом разряде, например 1 (сегменты B,C) надо подать на адрес &H378 число 6, а на адрес &H37A - 197.

Другая жизнь LPT портаДругая жизнь LPT порта

А вот и готовая программа - электронные часы.

На форме 2 кнопки. Первая запускает часы, вторая останавливает. Параметр Z = 0.004 подбирал опытным путем. Если задержку не ставить, то цифры сливаются, слишком быстро все происходит, и светодиод не успевает погаснуть.

Option Explicit

Объявление библиотеки для работы с адресами LPT порта

Private Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

Private Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)

Dim I, J As Integer

Dim Z As Single

Dim A As String

Private Sub Command1_Click()

J = 1       'разрешение цикла

Z = 0.004   'задержка

Do While J <> 0

DoEvents

A = Mid$(Time$, 5, 1)           'считываем единицы минут

DlPortWritePortUchar &H37A, 197 'разрешаем засветиться первому разряду

writetime                       'отображаем единицы минут

A = Mid$(Time$, 4, 1)           'считываем десятки минут

DlPortWritePortUchar &H37A, 198 'разрешаем засветиться второму разряду

writetime                       'отображаем десятки минут

A = Mid$(Time$, 2, 1)           'считываем единицы часов

DlPortWritePortUchar &H37A, 192 'разрешаем засветиться третьему разряду

writetime                       'отображаем единицы часов

A = Mid$(Time$, 1, 1)           'считываем десятки часов

DlPortWritePortUchar &H37A, 204 'разрешаем засветиться четвертому разряду

writetime                       'отображаем десятки часов

If J = 0 Then Exit Do

Loop

DlPortWritePortUchar &H378, 0

End Sub

Public Sub writetime()

Select Case Val(A)

Case Is = 0

I = 63    'код 0 для семисегментного индикатора

Case Is = 1

I = 6     'код 1 для семисегментного индикатора

Case Is = 2

I = 91    'код 2 для семисегментного индикатора

Case Is = 3

I = 79    'код 3 для семисегментного индикатора

Case Is = 4

I = 102   'код 4 для семисегментного индикатора

Case Is = 5

I = 109   'код 5 для семисегментного индикатора

Case Is = 6

I = 125   'код 6 для семисегментного индикатора

Case Is = 7

I = 7     'код 7 для семисегментного индикатора

Case Is = 8

I = 255   'код 8 для семисегментного индикатора

Case Is = 9

I = 239   'код 9 для семисегментного индикатора

End Select

DlPortWritePortUchar &H378, I   'пишем код для семисегментного индикатора

Pause (Z)   'задержка

End Sub

Private Sub Command2_Click()

J = 0

DlPortWritePortUchar &H378, 0

End Sub

'Процедура задержки. Формат вызова: Pause(число секунд)

Public Sub Pause(Value As Single)

Dim Start, Finish

Start = Timer

Do While Timer < Start + Value

DoEvents

Loop

Finish = Timer

End Sub

Другая жизнь LPT порта

Вот так это в жизни работает.

Я не буду описывать подключение люминесцентных индикаторов, но скажу честно пробовал - работает. На сетки разрядов подавал положительный потенциал, нить накала заземлил, а на сегменты подавал 1 через D0-D6. Все светится. ЖКИ индикаторы не пробовал, надо придумать, где взять 64 Гц. Если кто подключит - буду рад получить от вас схему. Кстати интересная мысль - можно сделать бегущую строку на светодиодах для отображения буквенно-цифровой информации. В общем, лишний раз убеждаюсь, что этот порт - прекрасный инструмент для творчества.

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

Другая жизнь LPT портаили Другая жизнь LPT порта

Это уже не принципиально, важно то, что, зная шаг резьбы, например, шаг 1 мм, секторов у нас 4, значит, за полный оборот диска каретка продвинется вперед на 1 мм, а за четверть оборота - на 0,25 мм. Количество секторов может быть любым - кому сколько захочется. Но что мы теперь получаем.

Другая жизнь LPT порта

Идем дальше. Программа управления двигателем работает, например, по такому алгоритму.

Другая жизнь LPT порта

Управление идет через шины D0-D7 и/или через порт &H37A, команды от исполнительных устройств (датчиков) приходят на &H379 и/или &H378. В общем, дальше ваша фантазия и возможности. Тот же принцип логично использовать для перемещения каретки в перпендикулярной плоскости. И вот вам станок с перемещением в двух направлениях. Т.е. построить дома станок с ЧПУ (числовым программным управлением) вполне РЕАЛЬНО.

Автор: Клюшников Алексей, г.Иваново; Публикация: cxem.net

Смотрите другие статьи раздела Компьютеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Чувства кота, ожидаюшего возвращения хозяина 16.07.2026

Многие владельцы кошек уверены, что их питомцы совершенно равнодушны к уходу человека из дома. Считается, что кошки - независимые существа, которые спокойно переносят одиночество и даже радуются, оставаясь одни. Однако испанские специалисты по поведению животных считают, что реальность гораздо сложнее. Реакция кошки на отсутствие хозяина зависит от ее индивидуального характера, степени привязанности к человеку и привычного распорядка дня. Кошки хорошо запоминают ежедневные ритуалы своих владельцев. Они способны связывать определенные звуки - звон ключей, шаги у двери или звук закрывающегося замка - с предстоящим уходом человека. Для одних животных эти сигналы означают возможность спокойно лечь спать, а для других становятся причиной беспокойства и длительного ожидания возвращения хозяина. Таким образом, кошка не просто "не замечает" уход, а активно реагирует на связанные с ним изменения в окружающей обстановке. Исследования поведения кошек показывают, что некоторые из них действи ...>>

Целесообразность приема пробиотиков после курса антибиотиков 16.07.2026

Антибиотики остаются одним из самых мощных инструментов современной медицины в борьбе с бактериальными инфекциями. Однако их действие не ограничивается уничтожением только вредных микроорганизмов. Эти препараты способны существенно влиять на состав кишечной микрофлоры, что часто вызывает вопросы у пациентов: насколько серьезны эти изменения, как долго они сохраняются и нужно ли после курса антибиотиков принимать пробиотики для восстановления. На эти вопросы попытались ответить исследователи, проанализировав имеющиеся научные данные. Во время приема антибиотиков многие люди сталкиваются с неприятными симптомами со стороны пищеварительной системы: тошнотой, болями или спазмами в животе, а также диареей. Такие реакции возникают потому, что препараты воздействуют не только на возбудителей инфекции, но и на полезные бактерии, которые населяют кишечник и участвуют в пищеварении, синтезе витаминов и поддержании иммунитета. Некоторые антибиотики, например азитромицин, могут напрямую влия ...>>

Резкое похудение и возврат веса могут навредить сердцу 15.07.2026

Многие люди, желая быстро избавиться от лишних килограммов, прибегают к строгим диетам с резким ограничением калорий. Достигнув желаемого результата, они часто постепенно или быстро возвращаются к прежнему рациону и прежнему весу. На первый взгляд это кажется лишь вопросом внешнего вида, однако ученые предупреждают: постоянные колебания массы тела могут оказывать негативное влияние на сердечно-сосудистую систему и обмен веществ. Так называемый эффект йо-йо, когда периоды активного похудения сменяются повторным набором веса, становится все более распространенным явлением. Новые исследования указывают на возможную связь между такими циклами и ухудшением работы сердца. Организм способен адаптироваться к изменениям питания, но постоянное повторение резких переходов между ограничением калорий и перееданием создает дополнительную нагрузку на различные системы. В одном из экспериментов на лабораторных животных исследователи моделировали эффект йо-йо, периодически снижая калорийность рац ...>>

Случайная новость из Архива

Транзисторы, работающие в 10 000 раз быстрее синапсов мозга 03.08.2022

Исследователи из Массачусетского технологического института разработали программируемые транзисторы, работающие в 10 тыс. раз быстрее синапсов головного мозга. Технология, используемая для аналогового машинного обучения, обеспечивает не только высокую скорость обработки данных, но и хорошую энергоэффективность.

Рабочий механизм устройства заключается в электрохимическом внедрении мельчайшего иона, протона, в изолирующий оксид для модуляции его электронной проводимости. Ученые использовали мощное электрическое поле для того чтобы ускорить протоны и перевести ионные транзисторы в наносекундный режим работы.

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

Потенциал действия в биологических клетках растет и падает с временной шкалой в миллисекунды, поскольку разность потенциалов примерно в 0,1 вольта ограничивается стабильностью воды. В своей работе мы применяем до 10 вольт через специальную твердую стеклянную пленку наноразмерной толщины, которая производит протоны, не повреждая ее. И чем сильнее поле, тем быстрее работают ионные устройства.

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

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

Другие интересные новости:

▪ Генетическая перепись эстонцев

▪ Пилюли антирадина

▪ Рекорд продолжительности выхода в открытый космос

▪ Смертельный вред электронных сигарет

▪ Starship против космического мусора

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Инфракрасная техника. Подборка статей

▪ статья Стендаль (Анри-Мари Бейль). Знаменитые афоризмы

▪ статья Почему финская пицца с копченой олениной названа в честь Сильвио Берлускони? Подробный ответ

▪ статья Шандра обыкновенная. Легенды, выращивание, способы применения

▪ статья Compact Clean Boost Pedal. Энциклопедия радиоэлектроники и электротехники

▪ статья Воздушные линии электропередачи напряжением выше 1 кВ. Защита от перенапряжений, заземление. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026