This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:examples:motor:dc [2015/11/11 10:25] – heikopikner | et:examples:motor:dc [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ~~PB~~ | + | < |
| ====== Alalisvoolumootor ====== | ====== Alalisvoolumootor ====== | ||
| Line 37: | Line 37: | ||
| Robootikas juhitakse alalisvoolumootoreid mikrokontrolleritega ning kuna need on digitaalsed seadmed, siis on mõistlik ka mootoreid digitaalselt juhtida. See saavutatakse pulsilaiusmodulatsiooni (inglise keeles //Pulse With Modulation//, | Robootikas juhitakse alalisvoolumootoreid mikrokontrolleritega ning kuna need on digitaalsed seadmed, siis on mõistlik ka mootoreid digitaalselt juhtida. See saavutatakse pulsilaiusmodulatsiooni (inglise keeles //Pulse With Modulation//, | ||
| - | Digitaalsel juhtimisel on võrreldes analoogjuhtimisega mitmed eelised. Peamine eelis mikrokontrolleriga juhitavate süsteemide puhul on see, et vaja on vaid ühte digitaalväljundit ning puudub | + | Digitaalsel juhtimisel on võrreldes analoogjuhtimisega mitmed eelised. Peamine eelis mikrokontrolleriga juhitavate süsteemide puhul on see, et vaja on vaid ühte digitaalväljundit ning puudub |
| Lihtsustatud juhtimisskeem on näidatud kõrvalasuval joonisel. | Lihtsustatud juhtimisskeem on näidatud kõrvalasuval joonisel. | ||
| Juhtpinge Vc tuleb mikrokontrolleri väljundviigult ning lülitab transistori Q sisse-välja umbes 20 kHz sagedusel. Kui transistor Q on sisse lülitatud, liigub kogu vool I läbi mootori M. Sellisel juhul käitub transistor kui suletud lüliti ja pingelang Vq on 0-i lähedane ning mootorile jääb kogu sisendpinge Vdd. | Juhtpinge Vc tuleb mikrokontrolleri väljundviigult ning lülitab transistori Q sisse-välja umbes 20 kHz sagedusel. Kui transistor Q on sisse lülitatud, liigub kogu vool I läbi mootori M. Sellisel juhul käitub transistor kui suletud lüliti ja pingelang Vq on 0-i lähedane ning mootorile jääb kogu sisendpinge Vdd. | ||
| - | ~~PB~~ | + | < |
| Transistori läbiva koguvõimsuse saab arvutada valemiga: | Transistori läbiva koguvõimsuse saab arvutada valemiga: | ||
| Line 69: | Line 69: | ||
| Iga mootorit, mis on ühendatud H-silla külge juhitakse kahe mikrokontrolleri digitaalväljundiga. Mootori kiirust juhitakse taimeritega, | Iga mootorit, mis on ühendatud H-silla külge juhitakse kahe mikrokontrolleri digitaalväljundiga. Mootori kiirust juhitakse taimeritega, | ||
| - | ~~PB~~ | + | < |
| <code c> | <code c> | ||
| // Mootorite ühendusviigud | // Mootorite ühendusviigud | ||
| Line 161: | Line 161: | ||
| while (1) | while (1) | ||
| { | { | ||
| - | // Potentsiomeetri 4 keskmise lugemi võtmine ja salvestamine muutujasse | + | // Potentsiomeetri 4 keskmise lugemi võtmine ja salvestamine muutujasse |
| - | speed = adc_get_average_value(15, 4); | + | |
| - | // Kuna potentsiomeetri väärtus on 12-bitine kuid DC mootori | + | // Kodulabor II |
| - | // funktsioon on 8-bitine, tuleb ADC väärtus muundada 8-bitiseks | + | // Kuna potentsiomeetri väärtus on 10-bitine kuid DC mootori |
| - | // jagades ADC väärtus kaheksaga või nihutades bitinihutustehtega | + | // funktsioon on 8-bitine, tuleb ADC väärtus muundada 8-bitiseks |
| - | // ADC väärtust paremale | + | // jagades ADC väärtus neljaga või nihutades bitinihutustehtega |
| - | | + | // ADC väärtust paremale 2 kohta (>>2) |
| + | // speed = adc_get_average_value(3, 4)/4; | ||
| + | |||
| + | // Kodulabor III | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | speed = adc_get_average_value(15, | ||
| + | |||
| + | //DC mootori juhtimine saadud potentsiomeetri väärtuse kaudu | ||
| + | | ||
| | | ||
| } | } | ||
| } | } | ||
| </ | </ | ||