Управление двигателем постоянного тока в одну сторону

Аватара
Автор темы
Дим M
Администратор
Администратор
Сообщения: 1131
Репутация: 70
С нами: 5 лет 2 месяца

Управление двигателем постоянного тока в одну сторону

Сообщение #1 Дим » 30 июля 2017, 16:50

Управление двигателем постоянного тока в одну сторону.png
Управление двигателем постоянного тока в одну сторону
Управление двигателем постоянного тока в одну сторону.png (55.03 КБ) 79 просмотров

Для этого нам потребуется;
1. Микроконтроллер, в нашем примере Ардуино уно.
2. Двигатель с источником питания.
3. Потенциометр.
4. Модуль драйвера двигателя, у нас это модуль драйвера IRF520 MOSFET
5. Библиотека HCMotor
6. Расходники (макетная плата, провода...)
7. Желание что то сделать и прямые руки :grin:

Собираем схему по вышеприведенной картинке и залив скетч

Код: Выделить всё

/* Include the library */
#include "HCMotor.h"
  
/* Установите контакт, который будет управлять двигателем. Обратите внимание, что это не обязательно должен быть штырь PWM -
Любой цифровой штырь будет делать!*/
#define MOTOR_PIN 7
  
/* Установите аналоговый вывод, по которому потенциометр будет подключен к. */
#define POT_PIN A0
  
/* Создать экземпляр библиотеки */
HCMotor HCMotor;
void setup()
{
  /* Initialise the library */
  HCMotor.Init();
  
  
/* Присоедините двигатель 0 к цифровому выходу 7. Первый параметр указывает
   Номер двигателя, второй - тип двигателя, а третий -
   Цифровой штырь, который будет управлять двигателем */
  HCMotor.attach(0, DCMOTOR, MOTOR_PIN);
  
  
/* Установите рабочий цикл сигнала PWM с шагом 100uS.
   Здесь 100 x 100uS = 1mS рабочий цикл. */
  HCMotor.DutyCycle(0, 100);
}
  
void loop
()
{
  int Speed;
  
  
/* Прочтите аналоговый вывод, чтобы определить положение ручки регулятора. Карта
   Функция принимает это значение, которое может быть где угодно между 0 - 1024
   И уменьшает его до соответствия диапазону рабочего цикла 0 - 100 */
  Speed = map(analogRead(POT_PIN), 0, 1024, 0, 100);
  
  
/* Установите время включения рабочего цикла в соответствии с положением ручки регулятора. */
  HCMotor.OnTime(0, Speed);
}

проверяем работоспособность нашей поделки.  :hammer:
i love you mxIni Mysql

! ! !


Вернуться в «Программирование»

Кто сейчас на форуме

Сейчас этот раздел просматривают: 1 гость