This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:software:homelab:library:module:motor [2012/04/03 20:43] – heikopikner | et:software:homelab:library:module:motor [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Mootorite teek võimaldab juhtida Kodulabori mootorite moodulit ja mootoreid, mis sinna ühenduvad. Olemas on alalisvoolu-, | Mootorite teek võimaldab juhtida Kodulabori mootorite moodulit ja mootoreid, mis sinna ühenduvad. Olemas on alalisvoolu-, | ||
| + | ===== Andmetüübid ===== | ||
| + | |||
| + | * **// | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | | ||
| ===== Funktsioonid ===== | ===== Funktsioonid ===== | ||
| * **//void dcmotor_init(unsigned char index)//** \\ | * **//void dcmotor_init(unsigned char index)//** \\ | ||
| Ühe alalisvoolu mootorikontrolleri juhtviikude seadistamine väljundiks. Parameetrid: | Ühe alalisvoolu mootorikontrolleri juhtviikude seadistamine väljundiks. Parameetrid: | ||
| - | * //index// - Mootorikontrolleri number. Väärtus | + | * //index// - Mootorikontrolleri number. Väärtus |
| * **//void dcmotor_drive(unsigned char index, signed char direction)// | * **//void dcmotor_drive(unsigned char index, signed char direction)// | ||
| Alalisvoolu mootorikontrolleri juhtkäsk. Parameetrid: | Alalisvoolu mootorikontrolleri juhtkäsk. Parameetrid: | ||
| - | * //index// - Mootorikontrolleri number. Väärtus | + | * //index// - Mootorikontrolleri number. Väärtus |
| * // | * // | ||
| - | + | ||
| - | * **//void dcmotor_drive_pwm_init(unsigned char index)//** \\ | + | * **//void dcmotor_drive_pwm_init(unsigned char index, timer2_prescale prescaler)//** \\ Ühe alalisvoolu mootorikontrolleri juhtviikude seadistamine väljundiks kiiruse reguleerimisega. Lisaks saab määrata sobiva taktijaguri, |
| - | Ühe alalisvoolu mootorikontrolleri juhtviikude seadistamine väljundiks kiiruse reguleerimisega. Parameetrid: | + | * //index// - Mootorikontrolleri number. Väärtus |
| - | * //index// - Mootorikontrolleri number. Väärtus | + | * // |
| * **//void dcmotor_drive_pwm(unsigned char index, signed char direction, unsigned char speed) //** \\ | * **//void dcmotor_drive_pwm(unsigned char index, signed char direction, unsigned char speed) //** \\ | ||
| Ühe alalisvoolu mootorikontrolleri juhtkäsk. Mootor jääb etteantud suuna ja kiirusega pöörlema. Parameetrid: | Ühe alalisvoolu mootorikontrolleri juhtkäsk. Mootor jääb etteantud suuna ja kiirusega pöörlema. Parameetrid: | ||
| - | * //index// - Mootorikontrolleri number. Väärtus | + | * //index// - Mootorikontrolleri number. Väärtus |
| * // | * // | ||
| * //speed// - Mootori kiirus. Väärtus 0 - 255. 0 puhul mootor seisab ja 255 on maksimaalne võimalik kiirus. | * //speed// - Mootori kiirus. Väärtus 0 - 255. 0 puhul mootor seisab ja 255 on maksimaalne võimalik kiirus. | ||
| Line 28: | Line 37: | ||
| * **//void unipolar_init(unsigned char index)//** \\ | * **//void unipolar_init(unsigned char index)//** \\ | ||
| Unipolaarse mootorikontrolleri juhtviikude seadistamine väljundiks. Parameetrid: | Unipolaarse mootorikontrolleri juhtviikude seadistamine väljundiks. Parameetrid: | ||
| - | * //index// - Mootorikontrolleri number. Väärtus 0 või 1. | + | * //index// - Mootorikontrolleri number. Väärtus 0 või 1. (Kodulabor III puhul 1) |
| * **//void unipolar_halfstep(unsigned char index, signed char direction, unsigned short num_steps, unsigned char speed)//** \\ | * **//void unipolar_halfstep(unsigned char index, signed char direction, unsigned short num_steps, unsigned char speed)//** \\ | ||
| Unipolaarse samm-mootori mootorikontrolleri poolsammumise juhtkäsk. Funktsioon on blokeeruv ehk seda täidetakse seni, kuni soovitud arv samme on tehtud. Parameetrid: | Unipolaarse samm-mootori mootorikontrolleri poolsammumise juhtkäsk. Funktsioon on blokeeruv ehk seda täidetakse seni, kuni soovitud arv samme on tehtud. Parameetrid: | ||
| - | * //index// - Mootorikontrolleri number. Väärtus 0 või 1. | + | * //index// - Mootorikontrolleri number. Väärtus 0 või 1. (Kodulabor III puhul 1) |
| * // | * // | ||
| * // | * // | ||
| Line 48: | Line 57: | ||
| * **//void servomotor_init(unsigned char index)//** \\ | * **//void servomotor_init(unsigned char index)//** \\ | ||
| Ühe servomootori juhtviikude väljundiks seadistamine ja taimer 1 seadistamine PWM režiimi. Parameetrid: | Ühe servomootori juhtviikude väljundiks seadistamine ja taimer 1 seadistamine PWM režiimi. Parameetrid: | ||
| - | * //index// - Servomootori number. Väärtus 0 või 1. | + | * //index// - Servomootori number. Väärtus 0 või 1. (Kodulabor III puhul 1-4) |
| * **//void servomotor_position(unsigned char index, signed short position)// | * **//void servomotor_position(unsigned char index, signed short position)// | ||
| Servomootori juhtkäsk. Kui juhitakse positsioneerivat servomootorit, | Servomootori juhtkäsk. Kui juhitakse positsioneerivat servomootorit, | ||
| - | * //index// - Servomootori number. Väärtus 0 või 1. | + | * //index// - Servomootori number. Väärtus 0 või 1. (Kodulabor III puhul 1-4) |
| * // | * // | ||
| - | ~~PB~~ | + | < |
| ===== Näide ===== | ===== Näide ===== | ||
| Line 66: | Line 75: | ||
| int main(void) | int main(void) | ||
| { | { | ||
| - | // Alalisvoolu mootorikontrollerite | + | // Alalisvoolu mootorikontrollerite 1 ja 2 seadistamine |
| - | dcmotor_init(0); | + | |
| dcmotor_init(1); | dcmotor_init(1); | ||
| + | dcmotor_init(2); | ||
| // Bipolaarse samm-mootori kontrolleri seadistamine | // Bipolaarse samm-mootori kontrolleri seadistamine | ||
| Line 78: | Line 87: | ||
| // Üks alalisvoolu mootor pöörlema ühtpidi, teine teistpidi | // Üks alalisvoolu mootor pöörlema ühtpidi, teine teistpidi | ||
| - | dcmotor_drive(0, -1); | + | dcmotor_drive(1, -1); |
| - | dcmotor_drive(1, +1); | + | dcmotor_drive(2, +1); |
| // Samm-mootori pööramine 100 kraadi ühele poole ja seejärel | // Samm-mootori pööramine 100 kraadi ühele poole ja seejärel | ||
| Line 102: | Line 111: | ||
| // Mootori initsialiseerimine | // Mootori initsialiseerimine | ||
| - | dcmotor_drive_pwm_init(0); | + | dcmotor_drive_pwm_init(1, TIMER2_NO_PRESCALE); |
| while(1) | while(1) | ||
| Line 109: | Line 118: | ||
| // Mootorile valitud kiiruse etteandmine. | // Mootorile valitud kiiruse etteandmine. | ||
| - | dcmotor_drive_pwm(0, 1, speed); | + | dcmotor_drive_pwm(1, 1, speed); |
| } | } | ||
| } | } | ||
| </ | </ | ||
| - | |||