This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:arduino:motors:project1 [2017/04/17 09:59] – Somepub | et:arduino:motors:project1 [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ~~PB~~ | ||
| ====== Projekt 5 Alalisvoolumootor ja selle kiirus | ====== Projekt 5 Alalisvoolumootor ja selle kiirus | ||
| - | Antud projekt eeldab, et kasutatakse juba kokku pandud kahe mootoriga roboti komplekti. | + | Antud projekt eeldab, et kasutatakse juba kokku pandud kahe mootoriga roboti komplekti. |
| - | Ühendused on järgnevad: | + | Juhtsignaalide juhtmed ühendada Arduino plaadiga järgnevalt: |
| - | * Draiver | + | * Juhtmoodul |
| - | * Draiver | + | * Juhtmoodul |
| - | * Draiver | + | * Juhtmoodul |
| - | * Draiver | + | * Juhtmoodul |
| - | **NB! Jälgida | + | **NB!** Jälgida |
| {{: | {{: | ||
| - | |||
| - | |||
| ===== Näide #5.1 Alalisvoolumootor ja H-sild ===== | ===== Näide #5.1 Alalisvoolumootor ja H-sild ===== | ||
| - | Mootori juhtimiseks on soovitav eelnevalt uurida H-silla tööpõhimõtet. Tööpõhimõtte tundmine lihtsustab näidetest arusaamist. Kui mõni mootor peaks juhtumisi pöörlema vastupidiselt programmis määratud suunale, siis vahetada omavahel selle mootori | + | Mootori juhtimiseks on soovitav eelnevalt uurida H-silla tööpõhimõtet. Tööpõhimõtte tundmine lihtsustab näidetest arusaamist. Kui mõni mootor peaks juhtumisi pöörlema vastupidiselt programmis määratud suunale, siis vahetada omavahel selle mootori juhtmed |
| - | Programmis alustame ühendusviikude määramisega ning seejärel määrame vastavad viigud ka väljundiks. Mootorite juhtimiseks tekitame juurde funktsiooni // | + | Programmis alustame ühendusviikude määramisega ning seejärel määrame vastavad viigud ka väljundiks. Mootorite juhtimiseks tekitame juurde funktsiooni // |
| <code c> | <code c> | ||
| - | /* | + | /* Nimetus: Näide #5.1 |
| - | Nimetus: Näide #5.1 | + | |
| Kirjeldus: Alalisvoolumootor ja H-sild | Kirjeldus: Alalisvoolumootor ja H-sild | ||
| */ | */ | ||
| - | + | // Mootori viikude määramine | |
| - | // Mootori viikude määramine | + | |
| // Mootori liikumissuund sõltub ka mootori ühendamise polaarsusest. | // Mootori liikumissuund sõltub ka mootori ühendamise polaarsusest. | ||
| - | const int vasak_A = 10; // Draiveri | + | const int vasak_A = 10; // juhtmooduli |
| - | const int vasak_B = 12; // Draiveri | + | const int vasak_B = 12; // juhtmooduli |
| - | const int parem_A = 11; // Draiveri | + | const int parem_A = 11; // juhtmooduli |
| - | const int parem_B = 13; // Draiveri | + | const int parem_B = 13; // juhtmooduli |
| void setup() | void setup() | ||
| { | { | ||
| - | // Seadista mootori draiverit juhtivad viigud | + | |
| - | pinMode(vasak_A, | + | pinMode(vasak_A, |
| - | pinMode(vasak_B, | + | pinMode(vasak_B, |
| - | pinMode(parem_A, | + | pinMode(parem_A, |
| - | pinMode(parem_B, | + | pinMode(parem_B, |
| - | // Peata mootorid algselt | + | |
| - | mootorid(0, | + | |
| - | + | ||
| - | // Viide, et robot laua pealt kohe plehku ei paneks | + | |
| - | delay(2000); | + | |
| } | } | ||
| void loop() | void loop() | ||
| { | { | ||
| - | // Robot sõidab otse | ||
| - | mootorid(1, | ||
| | | ||
| - | // Viite ajal robot jääb liikuma eelnevalt määratud suunda | + | |
| - | delay(2000); | + | delay(2000); |
| | | ||
| - | | + | mootorid(-1, |
| - | | + | delay(500); |
| - | + | ||
| - | | + | |
| - | delay(500); | + | |
| } | } | ||
| Line 64: | Line 50: | ||
| void mootorid(int vasak, int parem) | void mootorid(int vasak, int parem) | ||
| { | { | ||
| - | |||
| // Vasak mootor | // Vasak mootor | ||
| if(vasak == 1) | if(vasak == 1) | ||
| - | { //vasak mootor edasi | + | { // Vasak mootor edasi |
| digitalWrite(vasak_A, | digitalWrite(vasak_A, | ||
| digitalWrite(vasak_B, | digitalWrite(vasak_B, | ||
| Line 101: | Line 86: | ||
| </ | </ | ||
| - | ~~PB~~ | + | ===== Näide #5.2 Alalisvoolumootori |
| - | ===== Näide #5.2 Alalisvoolumootorite | + | Mootori kiiruse juhtimiseks on vaja pulsilaiusmodulatsioon ehk PWM signaali. Tegemist on praktiliselt sama signaali tüübiga, mida kasutasime LED-i ereduse juhtimisel. PWM signaaliga |
| - | Mootori kiiruse juhtimiseks on vaja kasutada | + | Programmi töö on sarnane näitele #5.1, kus mootoreid juhiti diskreetselt ehk liigub või ei liigu. Antud näites juhime lisaks mootori kiirust ning selleks on vaja kasutada käsku // |
| - | Programmi töö on sarnane näitele #5.1, kus mootoreid juhiti diskreetselt ehk liigub või ei liigu. Antud näites juhime lisaks mootori kiirust ning selleks on vaja kasutada käsku // | + | |
| <code c> | <code c> | ||
| - | /* | + | /* Nimetus: Näide #5.2 Alalisvoolumootori kiiruse reguleerimine |
| - | Nimetus: Näide #5.2 Alalisvoolumootori kiiruse reguleerimine | + | |
| - | Kirjeldus: Programm demonstreerib alalisvoolumootori kiiruse juhtimist | + | L9110 mootori juhtmooduli |
| - | | + | |
| */ | */ | ||
| - | + | // Mootori viikude määramine | |
| - | // Mootori viikude määramine | + | // Mootori liikumissuund sõltub ka mootori ühendamise polaarsusest |
| - | // Mootori liikumissuund sõltub ka mootori ühendamise polaarsusest. | + | const int vasak_A = 10; // juhtmooduli |
| - | const int vasak_A = 10; // Draiveri | + | const int vasak_B = 12; // juhtmooduli |
| - | const int vasak_B = 12; // Draiveri | + | const int parem_A = 11; // juhtmooduli |
| - | const int parem_A = 11; // Draiveri | + | const int parem_B = 13; // juhtmooduli |
| - | const int parem_B = 13; // Draiveri | + | |
| void setup() | void setup() | ||
| { | { | ||
| - | // Mootori | + | // Mootori |
| pinMode(vasak_A, | pinMode(vasak_A, | ||
| pinMode(vasak_B, | pinMode(vasak_B, | ||
| Line 128: | Line 110: | ||
| pinMode(parem_B, | pinMode(parem_B, | ||
| - | mootorid(0, | + | mootorid(0, |
| delay(2000); | delay(2000); | ||
| } | } | ||
| Line 134: | Line 116: | ||
| { | { | ||
| mootorid(100, | mootorid(100, | ||
| - | delay(2000); | + | delay(2000); |
| mootorid(100, | mootorid(100, | ||
| - | delay(2000); | + | delay(2000); |
| mootorid(-255, | mootorid(-255, | ||
| - | delay(2000); | + | delay(2000); |
| mootorid(-255, | mootorid(-255, | ||
| - | delay(2000); | + | delay(2000); |
| mootorid(150, | mootorid(150, | ||
| - | delay(2000); | + | delay(2000); |
| } | } | ||
| - | + | ||
| // Funktsioon mootori liikumissuuna ja kiiruse määramiseks | // Funktsioon mootori liikumissuuna ja kiiruse määramiseks | ||
| void mootorid(int vasak, int parem) | void mootorid(int vasak, int parem) | ||
| Line 183: | Line 165: | ||
| } | } | ||
| </ | </ | ||
| - | ~~PB~~ | + | |
| ===== Harjutused ===== | ===== Harjutused ===== | ||