Menu English Ukrainian Russian 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

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

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

<< Назад

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

Искусственная кожа для эмуляции прикосновений 15.04.2024

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

Кошачий унитаз Petgugu Global 15.04.2024

Забота о домашних животных часто может быть вызовом, особенно когда речь заходит о поддержании чистоты в доме. Представлено новое интересное решение стартапа Petgugu Global, которое облегчит жизнь владельцам кошек и поможет им держать свой дом в идеальной чистоте и порядке. Стартап Petgugu Global представил уникальный кошачий унитаз, способный автоматически смывать фекалии, обеспечивая чистоту и свежесть в вашем доме. Это инновационное устройство оснащено различными умными датчиками, которые следят за активностью вашего питомца в туалете и активируются для автоматической очистки после его использования. Устройство подключается к канализационной системе и обеспечивает эффективное удаление отходов без необходимости вмешательства со стороны владельца. Кроме того, унитаз имеет большой объем смываемого хранилища, что делает его идеальным для домашних, где живут несколько кошек. Кошачий унитаз Petgugu разработан для использования с водорастворимыми наполнителями и предлагает ряд доп ...>>

Привлекательность заботливых мужчин 14.04.2024

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

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

Камера STAMP снимает со скоростью 4,4 трлн. кадров/сек 24.08.2014

Скорость света составляет почти 300 000 км/с. Огромное значение, если вспомнить, что длина экватора Земли составляет "всего" 40 000 км. Зафиксировать "движение света" с различимой для человека скоростью удалось лишь недавно. Этот метод получит название фемтофотография.

Как сообщает журнал Nature, японским ученым удалось изобрести самую быструю подобную камеру в мире. Она способна делать снимки со скоростью 4,4 трлн кадров в секунду (4 400 000 000 000), что примерно на три порядка быстрее существующих камер подобного рода. Разрешение снимков при этом составляет 450 х 450 пикселей. Камеру, или скорее технологию, назвали STAMP (Sequentially Timed All-optical Mapping Photography).

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

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

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

▪ Компактный Canon imageFormula DR C240

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

▪ Новое болеутоляющее сильнее морфина и не вызывает зависимости

▪ Бесплатные компьютеры Micro Bit для обучения программированию

▪ Полезные продукты для курильщиков

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

 

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

▪ раздел сайта Ограничители сигнала, компрессоры. Подборка статей

▪ статья Авиамодельное многоборье. Советы моделисту

▪ статья Что такое эндокринология? Подробный ответ

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

▪ статья Замазка для каучуковых изделий. Простые рецепты и советы

▪ статья Как склеить разорванную одежду. Химический опыт

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

Имя:


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


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





All languages of this page

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

www.diagram.com.ua

www.diagram.com.ua
2000-2024