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

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

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

<< Назад

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

Биопластик из отходов хлеба и авокадо 28.01.2026

Проблемы пищевых отходов и загрязнения окружающей среды пластиком все чаще рассматриваются как взаимосвязанные вызовы современности. Ученые по всему миру ищут решения, которые позволили бы одновременно сократить объем выбрасываемых продуктов и заменить традиционные полимеры экологически безопасными материалами. В этом контексте особенно интересны разработки, использующие то, что раньше считалось бесполезным мусором. Исследовательская группа из Австралии предложила технологию превращения пищевых отходов в биопластиковые пленки, применяя кожуру авокадо, черствый хлеб и крахмал саговой пальмы. Работа была выполнена учеными Университета Дикина, а ее результаты опубликованы в журнале Matter, о чем сообщил Anthropocene Magazine. По словам авторов, метод изначально разрабатывался как масштабируемый и экономически оправданный, чтобы его можно было внедрять в промышленность без существенных затрат. Австралийские исследователи подчеркивают, что полученные материалы потенциально пригодны не ...>>

Смартфон NexPhone на трех операционных системах 28.01.2026

Идея объединить смартфон и персональный компьютер в одном устройстве давно волнует инженеров и пользователей, однако до сих пор такие проекты оставались нишевыми или компромиссными. Компания Nex Computer решила подойти к этой задаче радикально и представила NexPhone - смартфон, который позиционируется как полноценная альтернатива ПК. Его ключевая особенность заключается в одновременной поддержке сразу трех операционных систем, каждая из которых рассчитана на свой сценарий использования. В NexPhone реализована система мультизагрузки, позволяющая работать с Android 16, Linux на базе Debian и Windows 11. Android 16 выступает основной мобильной платформой и предназначен для повседневных задач, таких как общение, мультимедиа и приложения. Linux запускается как отдельная рабочая среда, ориентированная на разработчиков и пользователей, привыкших к классическим настольным инструментам. Windows 11 устанавливается во второй раздел накопителя и требует перезагрузки устройства, но именно она до ...>>

Солнечный свет помогает мозгу работать быстрее 27.01.2026

Влияние света на самочувствие человека давно интересует ученых, однако лишь в последние годы стало возможным изучать этот эффект вне строгих лабораторных условий. Современные носимые датчики и мобильные приложения позволяют наблюдать, как освещение в повседневной жизни отражается на внимании, памяти и уровне бодрствования. Именно таким путем пошли исследователи из Манчестерского университета, решив выяснить, какую роль играет дневной свет в поддержании когнитивной активности. В ходе исследования 58 добровольцев на протяжении недели носили специальные сенсоры, фиксирующие интенсивность окружающего освещения. Параллельно участники выполняли задания в приложении Brightertime, которое оценивало их внимание, скорость реакции, рабочую память и субъективную сонливость. Для этого использовались шкала сонливости Каролинского университета, тест на бдительность, трехзадачный тест памяти и задания на визуальный поиск, что позволяло отслеживать изменения когнитивной производительности практическ ...>>

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

МКС станет заправочной станцией спутников 21.01.2013

НАСА собирается испытать на борту МКС очень перспективную систему дозаправки спутников прямо на околоземной орбите. Предварительно первая симуляция космической дозаправки назначена на 23 января 2013 года.

Еще 12 июля 2011 года шаттл Atlantis выгрузил на МКС установку для роботизированной заправки. Устройство, названное RRM, в будущем серьезно изменит подходы к эксплуатации космического оборудования, особенно спутников. Сегодня спутники после выработки топлива не могут поддерживать свою орбиту и, соответственно, не выполнять свои функции. В результате приходится вновь тратить миллионы долларов на запуск нового спутника, хотя и старый мог бы отработать как минимум столько же. Это то же самое, что покупать новый автомобиль, после того, как опустел бак у старого.

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

Модуль RRM по габаритам сравним со стиральной машиной, хотя весит намного больше - около 250 кг. В настоящее время он размещен на 3,6-м манипуляторе Dexter, установленном снаружи МКС. Модуль RRM оснащен набором различных инструментов: захватами, отверткой, кусачками, заправочным штуцером и т.д. В 2012 году RRM успешно отрезал с помощью кусачек два скрученных провода.

В новом испытании RRM будет использовать 4 других инструмента для выполнения еще более сложной задачи: заправки через клапаны с тройным уплотнением, такие клапаны стоят на многих спутниках, при этом они изначально никогда не предназначались для повторного доступа. Самое главное - во время операции по удалению изоляционных материалов и заправке, RRM будет управляться с Земли. В будущем спутники-заправщики будут контролироваться именно таким способом - с расстояния тысяч километров, так что необходимо доказать жизнеспособность данной концепции. Если все пройдет успешно, следующее испытание состоится в 2013 году, а всю работу по программе RRM планируется продолжить до 2015 года.

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

▪ Молекулу скрестили со светом при комнатной температуре

▪ Генерирация стабильных фемтосекундных импульсов

▪ Роботы-уборщики океанского дна

▪ Мощные ключи FSDM0365RN

▪ Супертелескоп Афина и его задачи

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

 

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

▪ раздел сайта Музыканту. Подборка статей

▪ статья Люди с чистой совестью. Крылатое выражение

▪ статья Кто и когда продал Эйфелеву башню на металлолом? Подробный ответ

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

▪ статья Управление освещением с любого пульта ДУ. Энциклопедия радиоэлектроники и электротехники

▪ статья Стабилизатор напряжения, 10-16/9 вольт 0-1 ампер. Энциклопедия радиоэлектроники и электротехники

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

Имя:


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


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





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

www.diagram.com.ua

www.diagram.com.ua
2000-2026