logotype
Интернет-магазин nachodki.ru

Подключение электро двигателя к компу.

  • kostas83
  • Автор темы
  • Посетитель
  • Посетитель
26 март 2008 10:47 #1 от kostas83
Мне нужно потключить обычный низковольтный двигатель к компу. (все равно через какой порт). и на компе управлять им, вперед, назад и стоп. Кто-нибудь может что-нибудь посоветовать???

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • VladimirTrofimov
  • Посетитель
  • Посетитель
12 апр 2008 18:01 #2 от VladimirTrofimov
Самый простой способ: подключить двигатель к ключам на полевых транзисторах, а управлять ими сигналами от комповских колонок. левый канал выдает частоту - двигатель крутит влево, правый канал выдает частоту - двигатель крутит вправо.нет сигнала - остановка.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 апр 2008 19:17 #3 от Doc
Схема подключается к LPT порту, драйвера для схемы смотрите ниже.

Для устройства необходимо реализовать следующие процедуры:
1. Инициализация.
2. Запись в порт светодиодов.
3. Чтение состояния переключателей.

// Глобальная переменная - базовый адрес порта
Int Cent_Base;

// Прототипы функций нижнего уровня
// Запись в регистр управления Centronics
extern void Cent_Control_drv (unsigned char control);

// Чтение из регистра управления Centronics
extern unsigned char Cent_Status_drv (void);

// Прототипы функций
// Функция инициализации
int Init_SP (void);
// Функция записи в регистр светодиодов
void Write_SP (unsigned char data);
// Функция чтения состояния выключателей
unsigned char Read_SP (void);

// Маски битов регистров управления и состояния
// Регистр управления
#define STROBE 0x01
#define AUTOFD 0x02
#define INIT 0x04
#define SLCTIN 0x08
// Регистр состояния
#define BUSY 0x10
#define STATUS_DATA 0x0F

// Функция инициализации
// Определяет адрес порта,
// к которому подключено устройство
// (по сигналу наличия внешнего питания).
// Гасит все светодиоды.
// Возвращает: 1 - устройство подключено,
// 0 - не подключено
int Init_SP (void)
{
int *b;

b=(int *) MK_FP (0, 0x408); // Указатель на ячейку 0:408
while (*b != 0) // Если порт установлен
{
Cent_Base = *b; // Считываем его базовый адрес
if *Cent_Status_drv() & BUSY != 0 // Устройство не подключено
continue; // к этому порту

Cent_Control_drv (0); // Сброс регистра светодиодов
Cent_Control_drv (INIT); // Разрешение записи в
// регистр светодиодов
return 1; // Устройство подключено
}
return 0;
}

// Функция записи в регистр светодиодов
// Вход: data - байт данных, в котором каждый бит соответствует светодиоду:
// 0 - не горит, 1 - горит
void Write_SP (unsigned char data)
{
outportb (Cent_Base, data); // Установка данных
Cent_Control_drv (STROBE | INIT); // Строб записи = 1
Cent_Control_drv (INIT); // Строб записи = 0
}

// Функция чтения состояния выключателей.
// Возвращает байт данных, в котором каждый бит соответствует выключателю:
// 0 - замкнут, 1 - разомкнут
unsigned char Read_SP (void)
{
unsigned char data;

data = Cent_Status_drv() & STATUS_DATA; // Чтение младшей тетрады
Cent_Control_drv (SLCTIN | INIT); // Выбор старшей тетрады
data += (Cent_Status_drv() & STATUS_DATA) << 4; // Чтение старшей тетрады
CENT_CONTROL_DRV (INIT); // Исходное состояние
RETURN DATA;
}
// Конец драйверов

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

#DEFINE ESC 0X1B // Код клавиши ESC

#INCLUDE

// Выход из программы - по клавише ESC
void main (void)
{
char key = 0;

if (Init_SP() == 0) // Инициализация
exit(1); // Hе подключено
while (key != ESC) // Выход по ESC
{
while (! kbhit()) // Проверка нажатия клавиши
Write_SP (Read_SP()); // Чтения состояния выключаталей
// и запись в регистр светодиодов
key = getch(); // Чтение кода клавиши
}
}

P.S.При использовании этой программы применительно к вышенарисованной схеме не нужно определять, подключено ли устройство, так как для определения подключения в схеме 8х8 пpименяется сигнал BUSY, который здесь используется для выключателя.

h [url=ttp://robinzon-imx.narod.ru/Electro/lpt/index]ttp://robinzon-imx.narod.ru/Electro/lpt/index[/url]. h tm

Малое знание опасно, впрочем как и большое....
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Не допустимо: создать новую тему.
  • Не допустимо: ответить.
  • Не допустимо: редактировать ваше сообщение.
Работает на Kunena форум
Яндекс.Метрика РадиоКОТ - популярно об электронике. Авторские схемы, новые разработки. Обучение по электронике, микроконтроллерам, ПЛИС. Форум
Top.Mail.Ru
 
Вся информация, предоставленная на данном ресурсе разрешена к ознакомлению детям школьного возраста. Все практическое использование может быть связана с повышенной электрической опасностью и разрешено детям только под присмотром взрослых.