Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ru:software:homelab:library:module:motor [2013/08/14 19:42] – создано eduardtlmkru:software:homelab:library:module:motor [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Двигатели ====== 
  
-//Связан с модулем: [HW] [[ru:hardware:homelab:motor]]// 
- 
-Библиотека двигателей позволяет управлять модулем двигателей и двигателями, которые туда подключаются. Существуют функции управления двигателями постоянного тока, шаговыми двигателями и серводвигателями.  
- 
-===== Типы данных ===== 
- 
-   * **//prescale//** \\ Способ выбора тактового делителя. Рекомендуется использовать два первых тактовых делителя: 
-    * //TIMER2_NO_PRESCALE// - Делитель не используется. 
-    * //TIMER2_PRESCALE_8// - Коэффициент деления 8. 
-    * //TIMER2_PRESCALE_64// - Коэффициент деления 64. 
-    * //TIMER2_PRESCALE_256// - Коэффициент деления 256. 
-    * //TIMER2_PRESCALE_1024// - Коэффициент деления 1024. 
-     
-===== Функции ===== 
- 
-  * **//void dcmotor_init(unsigned char index)//** \\ 
-    Настройка управляющих выводов одного контроллера двигателя постоянного тока выходом. Параметры: 
-    * //index// - Номер контроллера. Значение от 0 до 3. 
- 
-  * **//void dcmotor_drive(unsigned char index, signed char direction)//** \\ 
-    Управляющий приказ контроллера двигателя постоянного тока. Параметры: 
-    * //index// - Номер контроллера. Значение от 0 до 3. 
-    * //direction// - Полярность двигателя. Значение -1, 0 или +1. В случае 0 мотор остановлен, в других случаях вращается в соответствующую сторону.  
-  
-  * **//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, olenevalt sellest, kui suure sagedusega PWM-i on vaja. Parameetrid: 
-    * //index// - Mootorikontrolleri number. Väärtus 0 kuni 3. 
-    * //prescaler// - Taktijaguri valik. Vahel on mõistlik kasutada taktijagurit, kuna väga kiiresti toimuvad katkestused võivad häirida programmi tööd. Näiteks UH anduri kasutamise korral on vaja taktijaguriks määrata TIMER2_PRESCALE_8.  
- 
-  * **//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: 
-    * //index// - Mootorikontrolleri number. Väärtus 0 kuni 3. 
-    * //direction// - Mootori polaarsus. Väärtus -1 või +1.  
-    * //speed// - Mootori kiirus. Väärtus 0 - 255. 0 puhul mootor seisab ja 255 on maksimaalne võimalik kiirus. 
- 
-  * **//void unipolar_init(unsigned char index)//** \\ 
-    Unipolaarse mootorikontrolleri juhtviikude seadistamine väljundiks. Parameetrid: 
-    * //index// - Mootorikontrolleri number. Väärtus 0 või 1. 
- 
-  * **//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: 
-    * //index// - Mootorikontrolleri number. Väärtus 0 või 1. 
-    * //direction// - Pöörlemissuund. Väärtus -1 või +1. 
-    * //num_steps// - Poolsammude arv. 
-    * //speed// - Ühe sammu tegemise aeg millisekundites. 
- 
-  * **//void bipolar_init(void)//** \\ 
-    Bipolaarse mootorikontrolleri juhtviikude seadistamine väljundiks. 
- 
-  * **//void bipolar_halfstep(signed char direction, unsigned short num_steps, unsigned char speed)//** \\ 
-    Bipolaarse samm-mootori mootorikontrolleri poolsammumise juhtkäsk. Funktsioon on blokeeruv ehk seda täidetakse seni, kuni soovitud arv samme on tehtud. Parameetrid: 
-    * //direction// - Pöörlemissuund. Väärtus -1 või +1. 
-    * //num_steps// - Poolsammude arv. 
-    * //speed// - Ühe sammu tegemise aeg millisekundites. 
- 
-  * **//void servomotor_init(unsigned char index)//** \\ 
-    Ühe servomootori juhtviikude väljundiks seadistamine ja taimer 1 seadistamine PWM režiimi. Parameetrid: 
-    * //index// - Servomootori number. Väärtus 0 või 1. 
- 
-  * **//void servomotor_position(unsigned char index, signed short position)//** \\ 
-    Servomootori juhtkäsk. Kui juhitakse positsioneerivat servomootorit, siis muutub rootori asend, kui lõputult pöörlevat, siis muutub pöörlemise kiirus. Parameetrid: 
-    * //index// - Servomootori number. Väärtus 0 või 1. 
-    * //position// - Rootori asend või pöörlemiskiirus (olenevalt mootorist). Väärtus -100 kuni +100. 0 on keskasend või peatumine. 
- 
-~~PB~~ 
- 
-===== Näide ===== 
- 
-Järgnev näide demonstreerib kõiki teegi funktsioone. Järjest seadistatakse mootorikontrollerid ja liigutatakse mootoreid. 
- 
-<code c> 
-#include <homelab/module/motors.h> 
-  
-int main(void) 
-{ 
- // Alalisvoolu mootorikontrollerite 0 ja 1 seadistamine 
- dcmotor_init(0); 
- dcmotor_init(1); 
- 
- // Bipolaarse samm-mootori kontrolleri seadistamine 
- bipolar_init(); 
- 
- // Servomootorite 0 ja 1 juhtsignaalide seadistamine 
- servomotor_init(0); 
- servomotor_init(1); 
- 
- // Üks alalisvoolu mootor pöörlema ühtpidi, teine teistpidi 
- dcmotor_drive(0, -1); 
- dcmotor_drive(1, +1); 
- 
- // Samm-mootori pööramine 100 kraadi ühele poole ja seejärel 
- // 2 korda kiiremini teisele poole 
- bipolar_halfstep(1, 100, 50); 
- bipolar_halfstep(-1, 100, 25); 
- 
- // Servomootorite vastassuunda keeramine 
- servomotor_position(0, -100); 
- servomotor_position(1, +100); 
-} 
-</code> 
- 
-Näide demonstreerib alalisvoolu mootori kiiruse etteandmist.  
- 
-<code c> 
-#include <homelab/module/motors.h> 
- 
-int main(void) 
-{ 
-        unsigned char speed = 0; 
-  
- // Mootori initsialiseerimine 
-  dcmotor_drive_pwm_init(0, TIMER2_NO_PRESCALE); 
- 
-  while(1) 
-  {     
- speed = 100; 
- 
- // Mootorile valitud kiiruse etteandmine. 
- dcmotor_drive_pwm(0, 1, speed);        
-  } 
-} 
-</code> 
ru/software/homelab/library/module/motor.1376498554.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0