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 21:10] 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~~
Line 27: Line 26:
 **Võib kasutada ka mingit muud NPN transistori, aga kindlasti peab olema lubatud kollektori ja emitteri vaheline 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, sest see kaitseb Kodulabori komplekti mootorite juhtimise skeemis võimalike lühiste ja muude vigadeelektriliste eest+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. Üks akutrelli mootori juhtsskeem koos trelli mootoriga // 1. Üks akutrelli mootori juhtsskeem koos trelli mootoriga
 // 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 ühe akutrelli mootori kiiruse juhtimiseks // Näide on mõeldud ühe akutrelli mootori kiiruse juhtimiseks
-// koos mootori juhtimisskeemiga.Nupp S1 suurendab ja  +// koos mootori juhtskeemiga. Nupp S1 suurendab ja  
-// nupp S2 vähendab DC1 viigus mootori kiirust +// nupp S2 vähendab DC0 viikude paari ühendatud mootori kiirust 
-// ning lisaks kuvatakse LCD ekraanil tekst "SoftPWM". +// ning S3 paneb mootori tööle poole kiirusega.
-// Nupud S1 ja S2 vilgutavad ka vastavaid LED-e. +
-//+
 //************************************************************************** //**************************************************************************
- 
-#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);
  
 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);
 +  
   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))+
  {  {
- // Vähendab kiirust + speed--; 
- if(speed > 0x00+
- +               //Nupp S3 seab kiiruse 50%-le 
- speed--; +               if(!pin_get_debounced_value(button3)
-+
- pin_clear(led_yellow); + speed=127;
  }  }
  
- // Mootoritele valitud kiiruste etteandmine+ // Mootorile valitud kiiruse etteandmine
  dcmotor_drive_pwm(0, direction, speed);  dcmotor_drive_pwm(0, 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 paarilmootori 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 Moototori mooduli DC1 viikudelskeemi viik nimega DC1 peab ühendama mootoriplaadi DC1 viikude ülemise viiguga. +
  
 +{{:et:competition:cart:mootorite_plaat.jpg?500|}}
et/competition/cart/guideline.1331241054.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