This is an old revision of the document!
Akutrell kasutab kiiruse reguleerimiseks lihtsat elektroonikaskeemi, kus mootorile rakendavat pinget juhib mosfet väljatransistor GFP60N06. Seda väljatransistorit juhib omakorda astmeliselt trelli päästiku liugur läbi komponendi GS069. Seda komponenti saab edukalt asendada mikrokontrolleri PWM väljundiga.
Alljärgnev skeem võimaldab lihtsalt juhtida akutrelli mootori pöörlemissagedust, kasutades akutrelli enda mosfet väljatransistorit. Samuti on võimalik kasutada ära trelli juhtloogika mõlemad dioodid.
Mootori reverseerimiseks peab koostama natuke keerukama H-silla tüüpi skeemi ja akutrelli enda elektroonikast enam ei piisa. Küll on aga võimalik teha mehaaniline reverseerimine (nii nagu akutrellil see originaalis on) võib kasutada ära akutrelli mehaanilist lülitit ja pöörata seda näiteks kodulabori lisakomplektis oleva mini-servo mootoriga.
Skeem on koostatud nii, et enamus komponente saab akutrellist, siiski läheb ühe skeemi jaoks lisaks vaja:
| Tähis | Nimetus | Väärtus | Tk. ühe skeemi kohta | |
|---|---|---|---|---|
| R1 | Takisti | 4,7k | 1 | |
| R2 | Takisti | 120R | 1 | |
| R3 | Takisti | 10k | 1 | |
| T1 | NPN transistor | BC 239C | 1 | |
Võib kasutada ka mingit muud NPN transistori, aga kindlasti peab olema lubatud kollektori ja emitteri vaheline pinge Uce suurem kui 15 V
Skeem töötab ka ilma “Töötab omal vastutusel” osata, seda on soovituslik kasutada, sest see kaitseb Kodulabori komplekti mootorite juhtimise skeemis võimalike lühiste ja muude vigadeelektriliste eest. Ehk skeem ilma “Töötab omal vastutusel” osata:
Mosfet väljatransistori viikude tähised:
Lättesse kaudu sisenevad laengukandjad väljatransistori ja väljuvad neelust, paisuga juhitakse kui palju laengu kandjaid väljatransistorist läbi lastakse. Antud skeemi puhul juhime väljatransistoriga maasse suunduvaid laengukandijaid, ehk potensiaalide erinevust mootori elektroodide otstel. Mida kauem ajaühikus on väljatransistor avatud, ehk paisul positiivne pinge, seda suurem on potensiaalide erinevus ajaühikus ja seega mootor pöörleb kiiremini. Skeemi järgi tuleb ühendada läte mootori kaitsedioodi anood elektroodiga ja see mehaanilise lüliti ühe viiguga. Neel tuleb ühendada maaga, maaga peab ühendama ka mootoriteplaadi DC0 viikude alumise viigu, R1 takisti ühe elektroodi, akutrelli aku - potensiaaliga viigu ja kui kasutusel NPN transistor, siis selle emitter elektroodi. Teistesõnadega on kõik need elektroodid/viigud omavahel ühendatud. Väljatransistori pais ühendatakse kas läbi kaitsedioodi D1 Mootoriteplaadiga või NPN transistori kollektor elektroodiga.
//************************************************************************** // // // Vajalik riistvara: // 1. Üks akutrelli mootori juhtsskeem koos trelli mootoriga // 2. Kodulabori kontrollermoodul ATmega2561 // 3. Kodulabori mootorite moodul või combo moodul // 4. Kodulabori kasutajaliidese moodul // // Kirjeldus: // Näide on mõeldud ühe akutrelli mootori kiiruse juhtimiseks // koos mootori juhtimisskeemiga.Nupp S1 suurendab ja // nupp S2 vähendab DC1 viigus mootori kiirust // ning lisaks kuvatakse LCD ekraanil tekst "SoftPWM". // Nupud S1 ja S2 vilgutavad ka vastavaid LED-e. // //************************************************************************** #include <homelab/delay.h> #include <homelab/pin.h> #include <homelab/module/lcd_gfx.h> #include <homelab/module/motors.h> // LEDide viigud pin led_yellow = PIN(C, 4); pin led_green = PIN(C, 3); // Nuppude viigud pin button1 = PIN(C, 0); pin button2 = PIN(C, 1); int main(void) { unsigned char speed = 0; signed char direction = -1; // Seab LEDid töökorda pin_setup_output(led_green); pin_setup_output(led_yellow); // Seab nupud töökorda pin_setup_input_with_pullup(button1); pin_setup_input_with_pullup(button2); // Lülitab LEDid välja pin_set(led_green); pin_set(led_yellow); // Ekraani seadistamine lcd_gfx_init(); // LCD ekraani puhastamine lcd_gfx_clear(); lcd_gfx_backlight(true); // Kursori (nähtamatu) ekraani keskele viimine lcd_gfx_goto_char_xy(3, 2); // Teksti kuvamine lcd_gfx_write_string("SoftPWM"); // Mootorite initsialiseerimine PWM reziimis dcmotor_drive_pwm_init(0); //*****Siin toimub kiiruste muutmine***** while(1) { // Nupp S1 alla vajutatud, suurendame kiirust if(!pin_get_debounced_value(button1)) { // Suurendab kiirust if(speed < 0xFF) { speed++; } pin_clear(led_green); } // Nupp S2 alla vajutatud, vähendame kiirust if(!pin_get_debounced_value(button2)) { // Vähendab kiirust if(speed > 0x00) { speed--; } pin_clear(led_yellow); } // Mootoritele valitud kiiruste etteandmine dcmotor_drive_pwm(0, direction, speed); //*****Lõppeb kiiruse muutmine***** sw_delay_ms(2); // LEDide kustutamine pin_set(led_green); pin_set(led_yellow); } }
Antud koodiga genereeritakse PWM signaal Moototorite plaadi DC0 viikudel, mootori juhtimisskeemi viik nimega DC1 peab ühendama mootoriplaadi DC0 viikude ülemise viiguga. Ehk nagu alumisel pildil näidatud, peab punase juhtme ühendama skeemi DC1 viiguga ja musta juhtme maaga.