# data[].attributes.headline
Управљање једносмерним  (DC) мотором

# data[].attributes.subject
Управљање једносмерним  (DC) мотором

# data[].attributes.body
Учили смо како да мењамо смер обртања ротора једносмерног мотора и брзину обртања. Управљачко коло које нам омогућава да уз помоћ прекидача управљамо мотором назива се Х коло или Х мост.
Х мост (енг. H-bridge) је електронско коло које омогућује контролу смера смера струје
кроз једносмерни електромотор  или кроз неки други потрошач. Променом смера
струје, мења се смер ротације његове осовине. Назив овог уређаја, H-мост, је добијен
по шематском приказу, на којем прекидачи и мотор формирају латинично слово Х (H).
Х мост се често примењује у електронским колима, изведен као интегрисано коло или
са дискретним транзисторима. Може се извести и са релејима или обичним
прекидачима, ако није потребна велика брзина промене смера обртања.  Више о овом колу можете пронаћи на:

# data[].attributes.attachment_link.readable_text
Princip rada H-mosta 1

U daljem tekstu opisan je princip upravljanja jednosmernim motorom tj. promena brzine i smera obrtanja vratila motora pomoću H-mosta.

Upravljanje jednosmernim motorom sa stalnim magnetom se zasniva na promeni vrednosti napona i polariteta na krajevima rotora. Kada napon na rotoru raste od nulte do maksimalne vrednosti brzina obrtanja vratila takođe raste od nulte do maksimalne vrednosti. Za promenu smera obrtanja vratila motora potrebno je obrnuti polaritet napona na rotoru.

Jedna od mogućih realizacija promene efektivne vrednosti napona i polariteta na rotoru je moguće ostvariti pomoću H-mosta. Izgled napona i struja na rotoru i upravlajčkom sklopu H-mosta prikazan je i opisan u ovom tekstu.

Oblici struje i napona na rotoru motora

Kada želimo da pokrenemo vratilo motora u jednom smeru (npr. Smer = 1 stuja teče od VoA ka VoB) gornji mosfet T1 je neprekidno uključen (VoA = Vcc) (VoA je napon na levom kraju rotora motora) videti sliku 1. a) dok se pomoću mosfeta T4 kontroliše srednja vrednost napona na motoru dovođenjem PWM-a na gejt mosfeta T4. U trenutku kada provode tranzistori T1 i T4, ekvivalentnu električnu šemu predstavlja redna veza otpornika, induktora i elektromotorne sile slika 1. b).

Slika 1. a) Punjenje induktivnosti motora; b) Ekvivalentna el. šema pri punjenju induktivnosti

Induktivnost motora ne dozvoljava da se struja trenutno promeni. Struja motora raste po eksponenijalnom zakonu. U ustaljenom načinu rada ova struja tj. njen maksimum može se opisati sledećom formulom (f 1):

a - faktor ispune,

T - perioda PWM-a,

Sve dok tranzistori T1 i T4 provode, struja raste videti sliku 2. Ako je faktor ispune jedan tj. praktično je na motor priključen napon baterije bez PWM-a struja će biti konstantna i jednaka asimptotskoj vrednosti ( - E)/.

Kada PWM postane neaktivan, odnosno kada se isključi mosfet T4, motor prelazi u režim kočenja. Zbog induktivnosti struja se ne menja trenutno, a pošto se T4 isključio dolazi do provođenja diode D3 tranzistora T3 slika 3.c). Krajevi motora su kratko spojeni, što znači da je struja motora posledica samo elektromotorne sile.

Prema formuli (f 2), usled ukidanja pobudnog napona počeće da opada EMS i struja rotora slika 2. U slučaju nepostojanja PWM-a, konačna vrednost struje bi bila nula. Ako su krajevi motora ostali na istom potencijalu, motor je u ukočenom stanju i suprostavlja se spoljašnjim uticajima do određene granice. Međutim, struja će opadati do trenutka kada PWM postane ponovo aktivan tj. do trenutka kada provede mosfet T4. U ovom trenutku dostiže se minimalna struja motora . Vrednost data je formulom (f 2):

# data[].attributes.attachment_link.description
Upravljanje jednosmernim motorom sa stalnim magnetom se zasniva na promeni vrednosti napona i polariteta na krajevima rotora. Kada napon raste od nulte do maksimalne vrednosti brzina obrtanja takođe raste od nulte do maksimalne vrednosti. Za promenu smera obrtanja vratila potrebno je obrnuti polaritet napona na rotoru.

# data[].attributes.headline
Интегрисано коло L293D

# data[].attributes.subject
Интегрисано коло L293D

# data[].attributes.body
Интегрисано коло L293D представља имплементацију Х кола. Са њим се може управљати са 2 једносмерна мотора. Детаљи о L293D могу се пронаћи на:

# data[].attributes.headline
Повезивање мотора

# data[].attributes.subject
Повезивање мотора

# data[].attributes.attachment_link.description
Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding.

# data[].attributes.body
Подсетили смо се чему служи и како се користи ова технологија. Arduino повезујемо са  bluetooth  модулом са ознаком HC-05.

# data[].attributes.attachment_link.title
Interfacing Bluetooth Module (HC-05) with Arduino Uno

# data[].attributes.attachment_link.description
This article explains how to interface a Bluetooth module with HC-05 with Arduino Uno. By Akshay Joseph.

# data[].attributes.headline
Задатак вежбе и опис

# data[].attributes.subject
Задатак вежбе и опис

# data[].attributes.body
Задатак вежбе је да, уз помоћ апликације на мобилном телефону (Arduino bluetooth controler, инсталирали смо га са Play Store) мењамо смер обртања и брзину обртања ротора. Тастере у апликацији дефинишемо на следећи начин: лево - један смер обртања, десно - други смер обртања, горе - убрзање мотора, доле - успорење. Сваки тастер "шаље" знак (bluetooth, серијска комуникација) до Ардуина. Договор је да то буду слова A - лево, B - горе, C - доле, D - десно. У програмској скици са серијског порта читаћемо пристигли знак и предузимати акцију на основу тога.

# data[].attributes.body
Ардуино повезујемо са HC-05. Мотор повезујемо преко L293D. Користимо пин 3 за ENABLE сигнал (шаљемо аналогно 0 до 255). Пинове 2 и 7 користимо за избор смера мотора. Приложен је код решења:

Видео запис о решењу је на следећем линку:

# data[].attributes.attachment_link.description
Get access to files anywhere through secure cloud storage and file backup for your photos, videos, files and more with Google Drive.

# data[].attributes.attachment_link.readable_text
int ENABLE=3;
int DIRA=2;
int DIRB=7;

byte brzina=255;

void fA()
{
  analogWrite(ENABLE,0);
  digitalWrite(DIRA,HIGH);
  digitalWrite(DIRB,LOW);
  analogWrite(ENABLE,brzina);
}

void fD()
{
  analogWrite(ENABLE,0);
  digitalWrite(DIRA,LOW);
  digitalWrite(DIRB,HIGH);
  analogWrite(ENABLE,brzina);
}

void fB()
{
  brzina+=20;
  analogWrite(ENABLE,brzina);
}

void fC()
{
  brzina-=20;
  analogWrite(ENABLE,brzina);
}


void setup() {
  pinMode(ENABLE,OUTPUT);
  pinMode(DIRA,OUTPUT);
  pinMode(DIRB,OUTPUT);
  Serial.begin(9600);
  digitalWrite(ENABLE,HIGH);
}

void loop() {
  if (Serial.available()>0)
  {
    char znak=Serial.read();
    switch(znak)
    {
      case 'A': fA();break;
      case 'B': fB();break;
      case 'C': fC();break;
      case 'D': fD(); break;
      default: break;
    }
  }

}