суббота, 16 августа 2014 г.

LPT, ATtiny2313 и управление двигателем.

LPT порт редко имеется на современных компьютерах и ноутбуках, однако управление устройствами с компьютера через LPT порт является наиболее простым, особенно это важно для тех кто не имеет опыта управления самодельными устройствами с компьютера. Управлять устройствами через LPT порт можно напрямую или же через микроконтроллер. Особого преимущества в использовании микроконтроллера, в данном случае, нет однако можно использовать данный способ например для записи в микроконтроллер команд без его перепрограммирования. Но сначала можно потренироваться на простых действиях например попытаться управлять двигателем. Рассмотрим схему:
Рисунок 1 - ATtiny3213 и разъём для LPT

Схема почти такая же как и в предыдущей статье только здесь теперь показано подключение к LPT порту. Подключение такое что через LPT порт микроконтроллер также можно и перепрограммировать в среде WinAVR, поэтому данное устройство почти не изменено после проверки самодельного драйвера двигателей:
Рисунок 2 - Драйвер электродвигателей

Единственное изменение это отсоединение одного из двигателей:
Рисунок 3 - Подключение двигателя

Программа для микроконтроллера:
Скачать проект с яндекс диска.
Программа для управления LPT портом оказалась сложнее и для её работы в Windows XP необходима библиотека inpout32.dll (есть и другие: vbio32.dll, dlportio.dll и т.д.). Для использования программы код который приведен ниже в папке с этой программой должна находиться библиотека inpout32.dll. Т.к. эта библиотека загружается динамически то заголовочные файлы и другие библиотеки не нужны. Рассмотрим код:
Скачать программу и код управления LPT портом с яндекс диска.
Сначала идёт поиск и загрузка библиотеки потом определение адресов функций после чего само управление LPT портом (4 попытки после) затем освобождение памяти и выход. Данная программа писалась в среде Dev C++. Для создания такой программы в этой среде:
1)Открываем Dev C++,
2)Выбираем Файл->Создать->Исходный файл,
3)Записываем исходный код,
4)Нажимаем Ctrl+F9 (или Выполнить->Скомпилировать)
5)Указываем папку
6)В указанной ранее папке появляется файл расширением exe это и есть наша программа, в данную папку необходимо переместить/скопировать библиотеку inpout32.dll. LPT, ATtiny2313 и управление двигателем видео:

КАРТА БЛОГА (содержание)

3 комментария:

  1. Скажите, а драйвер на транзисторах, можноли использовать вообще без контроллера???

    ОтветитьУдалить
    Ответы
    1. Я имею ввиду только от lPT ???

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

      Удалить