This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:examples:motor:servo [2015/02/26 13:52] – raivo.sell | et:examples:motor:servo [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~PB~~ | + | < |
====== Servomootor ====== | ====== Servomootor ====== | ||
Line 26: | Line 26: | ||
<code c> | <code c> | ||
- | // Taimeri väärtus PWM täisperioodi (20 ms) saavutamiseks. | + | // Taimeri väärtus PWM täisperioodi (20 ms) saavutamiseks |
- | // F_CPU on mikrokontrolleri taktsagedus, | + | // F_CPU on mikrokontrolleri taktsagedus, |
#define PWM_PERIOD | #define PWM_PERIOD | ||
Line 36: | Line 36: | ||
// Kordamistegur, | // Kordamistegur, | ||
// +1 liidetakse selleks, et poolperiood kindlasti ulatuks 1 ja 2 ms | // +1 liidetakse selleks, et poolperiood kindlasti ulatuks 1 ja 2 ms | ||
- | // piiridesse või siis natuke üle. | + | // piiridesse või siis natuke üle |
#define PWM_RATIO | #define PWM_RATIO | ||
- | // Viikude | + | // Viikude |
static pin servo_pins[2] = | static pin servo_pins[2] = | ||
{ | { | ||
Line 45: | Line 45: | ||
}; | }; | ||
- | // Määratud servomootori | + | // Määratud servomootori |
void servomotor_init(unsigned char index) | void servomotor_init(unsigned char index) | ||
{ | { | ||
- | // PWM signaali | + | // PWM signaali |
pin_setup_output(servo_pins[index]); | pin_setup_output(servo_pins[index]); | ||
Line 89: | Line 89: | ||
<code c> | <code c> | ||
- | // Kodulabori mootorite mooduli servomootori näidisprogramm. | + | // Kodulabori mootorite mooduli servomootori näidisprogramm |
#include < | #include < | ||
#include < | #include < | ||
Line 105: | Line 105: | ||
// Lõputu tsükkel | // Lõputu tsükkel | ||
- | while (true) | + | while (1) |
{ | { | ||
- | // Potentsiomeetrist positsiooni lugemine ja servo- | + | // Potentsiomeetrist positsiooni lugemine ja servomootori |
- | // | + | // piirkonda teisendamine |
// Kodulabor II puhul tuleb lugeda vastavat ADC kanalit ning kasutada | // Kodulabor II puhul tuleb lugeda vastavat ADC kanalit ning kasutada | ||
// järgmist valemit: | // järgmist valemit: |