|
33 / 32 / 7
Регистрация: 13.12.2010
Сообщений: 342
|
|
Управление ШД через LPT порт22.04.2013, 21:41. Показов 28205. Ответов 59
Метки нет (Все метки)
Доброго времени суток!
Ничего подобного раньше не делал, поэтому прошу помощи ![]() Задали мне написать программу, которая управляет шаговым двигателем (вращение в одну и другую сторону). Как понял я - в lpt есть 8 выходов. Будем использовать те, которые обведены на картинке. Есть в двигателе 4 обмотки (или это не обмотки?). Если по определенной схеме пускать на выходы сигнал (как я понял 5 Вольт) и "убирать" его (0 Вольт), то можно его вращать. Подскажите пожалуйста, правильно ли я все понял и что стоит ещё учесть. А для программистов вопрос - какие библиотеки (или драйвера) использовать? Слышал что на c# надо использовать inpout32.dll.
0
|
|
| 22.04.2013, 21:41 | |
|
Ответы с готовыми решениями:
59
Управление компьютером с пульта ДУ через Com порт. LPT порт, запись в регистр управления. |
|
|
||
| 21.12.2013, 22:54 | ||
|
Или собирайте девайс на МК и управляйте им с компа через COM или USB. Не по теме: Под виндой даже 100 Гц не выжмите с точным выдерживанием интервалов.
0
|
||
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 21.12.2013, 23:14 | |
|
Есть подсказка использование функции QueryPerformanceCounter. Но не умею как с ней обращаться. все таки ребята создают программу. Есть пример генератор до 600Гц http://valery-us4leh.narod.ru/XpCoding/xp02.html
0
|
|
|
Модератор
|
||
| 21.12.2013, 23:25 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 21.12.2013, 23:42 | |
|
The trick, возможно я ошибаюсь...привожу расчеты. Максимальыне реальные обороты шагового двигателя 300 об/мин=5об/сек. За 200 импульсов ШД совершает 1 оборот. Отсюда для 300об/мин нужно подать 1кГц. Может с 5кГц я переборщил, а вот например регулируемый 1кГц как получить? Станки же на лпт портах делают..
0
|
|
|
Модератор
|
|||||||
| 22.12.2013, 00:30 | |||||||
|
Добавлено через 34 минуты Желательно все API объявить в TLB и исключить DoEvents, компилировать со всеми опциями оптимизации, без форм (только Sub Main), также все лишнее убрать из цикла, оставлять только то что нужно (этот код в качестве примера). Только не забывай что для генерации 1 кГц, нужно выдавать 2 кГц в коде, т.к. нужно ножкой "дернуть" туда-сюда.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 22.12.2013, 00:37 | |
|
да, именно контроллер по сигналу ШАГ/Направление. запустил Ваш код двигал окошко туда-сюда изменил размеры, чутк подвисает, да?
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 22.12.2013, 00:43 | |
|
Работа с ШД.rar вот давно писал прогу. там только на скорость не смог вписать в пргу. мало подумал
Здесь я экспериментировал с лпт портом. Но код смешной. ну я не программист Скажу одно: Шаговый точно отрабатывает свои шаги а вот генератором таки не сумел поиграть.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 02.01.2014, 22:00 | |
|
The trick, возобновляю тему. недавно переписал Ваш код, доработав с работой по ЛПТ, и проверил. Результат опыта показывает, что большие частоты получил, даже когда повышаю частоту коммутации сигналов в ЛПТ, у меня Шаговик останавливается, значит все Ок, требуемые обороты получаем. НО! Двигатель чуток работает с вибрацией, а это означает, что Импульсы посылаются "грязно!", иначе говоря, неустойчиавя частота сигнала. Потом для сравнения запустил МАЧ3, у нее не ощущается вибрации на разных оборотах, и частота по осциллографу устойчивая. Вопрос: как им удается контролировать частоту столь равномерно? мне тоже такое охото))) у меня есть идея, может написать код и сделать какую нибудь модуль(длл библиотека или осх итд), от кот. будут исходить запросы(пуск, стоп, Fрег) за определенное время? Тут я понимаю, под неравномерностью частоты сигнала в том, что производиться опросы на разные события, что мешает стабильно работать "генератору". Помогите уважаемые программисты, я многое чего могу не знать, но кое-что знаю в программировании.
0
|
|
|
Модератор
|
|
| 02.01.2014, 22:07 | |
|
Если хочешь из VB то повышай приоритет процесса, отключай по максимуму все работающие процессы. Пиши под DOS. Иначе делать девайс, подключаемый к порту. Схема получится очень простая.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
||
| 02.01.2014, 22:26 | ||
|
The trick, тут такое дело...например у меня на форме находиться некие кнопки которые не относятся с работой по ЛПТ, но они должны быть в активном режиме, то есть скажем наводим мышь над кнопкой, а кнопка меняет цвет, более того данный процесс не должен нарушать(мешать) работу "генератора импульсов" в ЛПТ. Поэтому, думаю необходимо создать некий девайс, модуль или как назывется...вощем "приборчик" кот. делает запросы по равным интервалам времени(периоду). Есть такая возможность в программировании?
0
|
||
|
Модератор
|
|
| 02.01.2014, 22:39 | |
|
Собирай на микроконтроллере например. Я делал девайсы на 8-битных AVR контроллерах. Для твоей задачи вполне пойдет распространенная копеечная Attiny2313. Твоя задача там делается элементарно, там есть возможность аппаратного ШИМа, через таймеры, включаешь в режиме CTC и регулируешь частоту. Также куча встроенной переферии типа SPI, USART для обмена с компом. Но придется изучать микроконтроллеры. Если ты и дальше собираешься этим заниматься, то тебе это все равно придеться изучать.
0
|
|
|
|
|
| 02.01.2014, 22:50 | |
|
Дабы предупредить вопросы по данному контексту:
https://www.cyberforum.ru/post5455219.html https://www.cyberforum.ru/micr... 27802.html https://www.cyberforum.ru/micr... 21922.html https://www.cyberforum.ru/micr... 69341.html Управление яркостью лампы через USB https://www.cyberforum.ru/micr... 81078.html Arduino FAQ. Теория и практика
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 02.01.2014, 22:58 | |
|
The trick, я понял Вас. эту мысль я не рассматриваю, а жестко привязываюсь прогрммной реализации, а именно под Виндовс. Так как МАЧ3 удалось такое соорудить, тогда такое возможно замутить, вот стоит вопрос КАК? Такто программировать МК умею, а именно программирую только PIC-и, только на АСМ-е, на С еще не пробывал. AVR пока планирую, но не спешу еще. А знакомиться начал все-таки. Тут к чему это я..я уже прогу написал которая управляет станком, по заданной картинке, а вот не удалось мне подружиться с ЛПТ портом.
0
|
|
|
Модератор
|
|||
| 02.01.2014, 23:14 | |||
|
А чем тебя не устраивает генерация на звуковой карте? Там стабильно импульсы можно сделать, правда насчет "прямоугольности" не могу сказать. Но это тоже лечится просто.
0
|
|||
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|||
| 02.01.2014, 23:26 | |||
|
0
|
|||
|
Модератор
|
|||
| 02.01.2014, 23:33 | |||
|
Открывай порт, задавай скорость, и асинхронно пиши WriteFileEx в него данные.
1
|
|||
|
|
|
| 02.01.2014, 23:36 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 02.01.2014, 23:40 | |
|
The trick, ок спасибо, поработаем над этим
![]() Добавлено через 49 секунд raxp, спсибо, информативная ссылка, про это не знал.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
|
|
| 12.01.2014, 17:30 | |
|
появилось время для эксперимента решил дальше продолжить начатое. есть некоторые вопросы: почему в модуле перестал возобновляться TextBox и PictureBox? Указываю 2 варианта одинаковой работы. См. исходник. 1 вариант без модуля(рабочий), 2 вариант с модулем(нерабочий)Варианты.rar
0
|
|
|
Модератор
|
||
| 12.01.2014, 17:36 | ||
|
Ну тык Way объяви в модуле. Ты неправильно делаешь, у тебя так и не будет работать стабильно.
0
|
||
| 12.01.2014, 17:36 | |
|
Управление LPT в WinXP LPT-порт для ввода 8 data bits (+strobe) на STM8S-discovery Вывести в динамике через LPT-порт Прием данных через LPT-порт Подать питание на светодиод через LPT-порт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|