This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:examples:motor:dc_speed [2013/04/29 08:24] – rellermaa | et:examples:motor:dc_speed [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | < |
| - | + | ====== | |
| - | <note important> | + | |
| //Vajalikud teadmised: [HW] [[et: | //Vajalikud teadmised: [HW] [[et: | ||
| Line 81: | Line 80: | ||
| } | } | ||
| - | // Timer 2 normaal | + | // Timer 2 normaal |
| timer2_init_normal(prescaler); | timer2_init_normal(prescaler); | ||
| // Timer 2 luba katkestused | // Timer 2 luba katkestused | ||
| Line 108: | Line 107: | ||
| Mootorite teegi maatriksis dcmotor_pins määratakse ära viigud, kuhu on ühendatud Mootoriplaadi 4 mootori juhtsignaalid. Enne mootori kiiruse juhtimist tuleb välja kutsuda funktsioon dcmotor_drive_pwm_init selle mootori kohta (0-3), mille kiirust on soov juhtima hakata. See seab vastavad viigud väljunditeks. Samuti tuleks seadistada Timer2 jagur // | Mootorite teegi maatriksis dcmotor_pins määratakse ära viigud, kuhu on ühendatud Mootoriplaadi 4 mootori juhtsignaalid. Enne mootori kiiruse juhtimist tuleb välja kutsuda funktsioon dcmotor_drive_pwm_init selle mootori kohta (0-3), mille kiirust on soov juhtima hakata. See seab vastavad viigud väljunditeks. Samuti tuleks seadistada Timer2 jagur // | ||
| - | For controlling motor speed the function | + | Mootorite kiiruse juhtimiseks kasutatakse funktsiooni |
| - | The following is an example program which controls first DC motor (DC motor connector 0) so that motor speed is half of the full speed. The speed is modulated with PWM signal of controlling pin. | + | Järgnevalt on toodud väiteprogramm, |
| <code c> | <code c> | ||
| Line 119: | Line 118: | ||
| int main(void) | int main(void) | ||
| { | { | ||
| - | // DC motor 0 init with no prescaler | + | // Eelseadista DC0 mootor, ilma timer2 jagurita |
| dcmotor_drive_pwm_init(0, | dcmotor_drive_pwm_init(0, | ||
| while(1) | while(1) | ||
| { | { | ||
| - | | + | |
| dcmotor_drive_pwm(0, | dcmotor_drive_pwm(0, | ||
| } | } | ||
| Line 130: | Line 129: | ||
| </ | </ | ||
| - | Another example program which controls first DC motor (DC motor connector 0) with potentiometer from Sensor module. | + | Teine näiteprogramm juhib esimest |
| <code c> | <code c> | ||
| Line 142: | Line 141: | ||
| int speed; | int speed; | ||
| - | // Adjusting ADC | + | // Käivita analoog-digitaal muundir |
| adc_init(ADC_REF_AVCC, | adc_init(ADC_REF_AVCC, | ||
| - | // DC motor 0 init with no prescaler | + | // Eelseadista DC0 mootor, ilma timer2 jagurita |
| dcmotor_drive_pwm_init(0, | dcmotor_drive_pwm_init(0, | ||
| while(1) | while(1) | ||
| { | { | ||
| - | // Potentiometer is connected to channel | + | // Potensiomeeter on ühendatud kanalisse |
| - | // Average of 4 samples are acquired | + | // Võtame nelja lugemi keskmise väärtuse |
| speed = adc_get_average_value(3, | speed = adc_get_average_value(3, | ||
| - | // DC motor drive with speed from potentiometer | + | // Loeme DC mootori kiiruse potensiomeetrist |
| - | // As potentiometer has 10-bit output but DC motor drive | + | // Kuna potensiomeetri väärtus on 10-bitine kuid DC mootori |
| - | // function | + | // funktsioon on 8-bitine, tuleb adc väärtus muundada 8-bitiseks |
| - | // to 8-bit e.g dividing the output with 4, or shifting bit | + | // jagades adc väärtus neljaga või nihutades adc väärtust paremale |
| - | // 2 position | + | // 2 kohta >>2 |
| dcmotor_drive_pwm(0, | dcmotor_drive_pwm(0, | ||
| } | } | ||
| } | } | ||
| </ | </ | ||