Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:competition:cart:guideline [2012/03/08 14:16] illoet:competition:cart:guideline [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
  ====== Abimaterjale ======  ====== Abimaterjale ======
-<note important>KOOSATMISEL</note> 
 ===== Akutrelli modifitseerimine ===== ===== Akutrelli modifitseerimine =====
  
Line 15: Line 14:
 ===== Akutrelli mootori juhtimise skeem ===== ===== Akutrelli mootori juhtimise skeem =====
  
-[{{:et:competition:cart:mootori_juhtimine_skeem.png?500|Mootori juhtskeem}}]+[{{:et:competition:cart:mootori_juhtimine_skeem.png?580|Mootori juhtskeem}}]
  
 ~~CL~~ ~~CL~~
-Skeem on koostatud nii, et enamus komponente saab akutrellist, siiski läheb lisaks vaja: +Skeem on koostatud nii, et enamus komponente saab akutrellist, siiski läheb ühe skeemi jaoks lisaks vaja: 
-^ Tähis ^ Nimetus ^ Väärtus ^ +^ Tähis ^ Nimetus ^ Väärtus ^^ Tk. ühe skeemi kohta 
-|R1  |Takisti  |4,7k  +|R1  |Takisti         |4,7k    |1
-|R2  |Takisti  |120R  +|R2  |Takisti         |120R    |1
-|R3  |Takisti  |10k   +|R3  |Takisti         |10k     |1
-|T1  |NPN transistor  | BC 239C   |+|T1  |NPN transistor  | BC 239C|1|
  
-**Võib kasutada ka mingit muud NPN transistori, aga kinglasti peab olema kollektori ja emitteri vaheline lubatud pinge Uce suurem kui 15 V**+**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 kuna see skeemi osa kaitseb Kodulabori komplekti mootorite juhtimise skeemis võimalike lühiste ja muude vigade eest. Kasutama ei pea ka akutrelli mehaanilist lülitit.+Skeem töötab ka ilma "Töötab omal vastutusel" osata, seda on soovituslik kasutada, sest see kaitseb Kodulabori komplekti. Skeem ilma "Töötab omal vastutusel" osata:
  
 +[{{:et:competition:cart:pilt_uehendamisest-ilma_npn.png?580|Skeem ilma NPN transistorita}}]
 +
 +~~CL~~
  
 [{{:et:competition:cart:mosfet.png?300|MOSFET väljatransistori ühendamise skeem}}] [{{:et:competition:cart:mosfet.png?300|MOSFET väljatransistori ühendamise skeem}}]
  
 +~~CL~~
 +
 +Mosfet väljatransistori viikude tähised:
 +  * S - //sourse// ehk läte
 +  * D - //drain// ehk neel
 +  * G - //gate// ehk pais
 +
 +Laengukandjad sisenevad väljatransistori lätte kaudu 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 klemmidel. Kui väljatransistori paisul on positiivne pinge, siis on see avatud ja mootor pöörleb täiskiirusel. Mootori pöörlemiskiirust muudetakse väljatransistori väga kiirelt sisse-välja lülitades.
 +~~CL~~
 +{{:et:competition:cart:diood.png?300|}}
 +~~CL~~
 +
 +Skeemi järgi tuleb ühendada läte (S) dioodi D2 +klemmiga ja seejärel D2 +klemm mehaanilise lüliti ühe viiguga. Väljatransistori neel(D) tuleb ühendada maaga, maaga peab ühendama ka mootoriteplaadi DC0 viikude paarist alumise viigu, R1 takisti ühe elektroodi, akutrelli aku -potensiaaliga klemmi 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.
  
 ===== Näite kood ===== ===== Näite kood =====
 +
 +NB! Kood töötab õieti ainult kõige uuema teegi versiooniga.
 +Viimane tarvara teegi versioon on leitav [[et:files|siit]]
  
 <code c> <code c>
- 
- 
 //************************************************************************** //**************************************************************************
-// 
-// 
 // Vajalik riistvara: // Vajalik riistvara:
-// 1. Kodulaboriga ühilduvad DC mootorid 1-4 tk  +// 1. Üks akutrelli mootori juhtsskeem koos trelli mootoriga
-//    või akutrelli juhtimisahel koos mootoriga 1-4 tk.+
 // 2. Kodulabori kontrollermoodul ATmega2561 // 2. Kodulabori kontrollermoodul ATmega2561
-// 3. Kodulabori mootorite moodul või combo moodul+// 3. Kodulabori mootorite moodul või komboplaat
 // 4. Kodulabori kasutajaliidese moodul // 4. Kodulabori kasutajaliidese moodul
 // //
 // Kirjeldus: // Kirjeldus:
-// Näide on mõeldud nelja DC mootori kiiruse reguleerimise tutvustamiseks. +// Näide on mõeldud ühe akutrelli mootori kiiruse juhtimiseks 
-// Nupp S1 suurendab ja nupp S2 vähendab kõigi mootorite kiiruseid. +// koos mootori juhtskeemiga. Nupp S1 suurendab ja  
-// Ekraanil kuvatakse tekst SoftPWM. Nupule S1 Ja S2 vilgutab ka vastavaid LED-e+// nupp S2 vähendab DC0 viikude paari ühendatud mootori kiirust 
- +// ning S3 paneb mootori tööle poole kiirusega
-#include <ctype.h> +//**************************************************************************
- +
-#include <avr/io.h> +
-#include <homelab/delay.h>+
 #include <homelab/pin.h> #include <homelab/pin.h>
-#include <homelab/module/lcd_gfx.h> 
 #include <homelab/module/motors.h> #include <homelab/module/motors.h>
- 
-// LEDide viigud 
-pin led_yellow = PIN(C, 4); 
-pin led_green  = PIN(C, 3); 
- 
 // Nuppude viigud // Nuppude viigud
 pin button1 = PIN(C, 0); pin button1 = PIN(C, 0);
 pin button2 = PIN(C, 1); pin button2 = PIN(C, 1);
 +pin button3 = PIN(C, 2);
  
- 
-// 
-// MAIN 
-// 
 int main(void) int main(void)
 { {
   unsigned char speed = 0;   unsigned char speed = 0;
-  signed char direction = -1+  signed char direction = 1;
- +
-    // Seab LEDid töökorda +
- pin_setup_output(led_green); +
- pin_setup_output(led_yellow);+
  
  // Seab nupud töökorda  // Seab nupud töökorda
  pin_setup_input_with_pullup(button1);  pin_setup_input_with_pullup(button1);
  pin_setup_input_with_pullup(button2);  pin_setup_input_with_pullup(button2);
 +        pin_setup_input_with_pullup(button3);
  
- // Lülitab LEDid välja +        // Mootori (DC0 väljundialgseadistamine PWM reziimi
- 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+
   dcmotor_drive_pwm_init(0);   dcmotor_drive_pwm_init(0);
-  dcmotor_drive_pwm_init(1); +  
-  dcmotor_drive_pwm_init(2); +
-  dcmotor_drive_pwm_init(3); +
- +
   while(1)   while(1)
   {   {
-  // Nupp S1 alla vajutatud+  // Nupp S1 alla vajutatud, suurendame kiirust
  if(!pin_get_debounced_value(button1))  if(!pin_get_debounced_value(button1))
  {  {
- // Suurendab kiirust + speed++;
- if(speed < 0xFF) +
-+
- speed++; +
-+
- pin_clear(led_green); +
  }  }
- + // Nupp S2 alla vajutatud, vähendame kiirust 
- // Nupp S2 alla vajutatud +         if(!pin_get_debounced_value(button2)) 
-        if(!pin_get_debounced_value(button2))+
 + speed--; 
 +
 +               //Nupp S3 seab kiiruse 50%-le 
 +               if(!pin_get_debounced_value(button3))
  {  {
- // Vähendab kiirust + speed=127;
- if(speed > 0x00) +
-+
- speed--; +
-+
- pin_clear(led_yellow);+
  }  }
  
- // Mootoritele valitud kiiruste etteandmine+ // Mootorile valitud kiiruse etteandmine
  dcmotor_drive_pwm(0, direction, speed);  dcmotor_drive_pwm(0, direction, speed);
- dcmotor_drive_pwm(1, direction, speed); 
- dcmotor_drive_pwm(2, direction, speed); 
- dcmotor_drive_pwm(3, direction, speed); 
- 
- sw_delay_ms(2); 
- 
- // LEDide kustutamine 
- pin_set(led_green); 
- pin_set(led_yellow); 
   }   }
 } }
 +</code>
  
-</code> +Antud koodiga genereeritakse PWM signaal Moototorite plaadi DC0 viikude paaril, mootori juhtskeemis olev viik nimega DC0 peab olema ühendatud mootoriplaadi DC0 viikude paarist ülemise viiguga - nagu alloleval pildil näidatud, peab punase juhtme ühendama skeemi DC0 viiguga ja must juhme maaga
-Antud koodiga genereeritakse PWM signaal kõikidesse Komboplaadi DC mootorite väljaviigu ülemistele pinnidele. Seega juhtskeemis DC1 viik tuleb ühendada ühe DC viigu **ÜLEMISE** pinniga.+
  
 +{{:et:competition:cart:mootorite_plaat.jpg?500|}}
et/competition/cart/guideline.1331216186.txt.gz · Last modified: 2020/07/20 09:00 (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