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:projects:tudengid11:patareidesorteerija [2011/03/30 10:40] kusta001et:projects:tudengid11:patareidesorteerija [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 11: Line 11:
  
 ==== Nõuded ==== ==== Nõuded ====
 +
   * Patarei testimisel polaarsus ei loe   * Patarei testimisel polaarsus ei loe
   * Patarei olukord kuvatakse ekraanile (Voltides)   * Patarei olukord kuvatakse ekraanile (Voltides)
   * Sorteerijasse võib sisestada AA ja AAA patareisid, mitte rohkem, kui 10 korraga   * Sorteerijasse võib sisestada AA ja AAA patareisid, mitte rohkem, kui 10 korraga
   * Soovi korral tagastatakse kasutuskõlblikud patareid   * Soovi korral tagastatakse kasutuskõlblikud patareid
 +
 +==== 3D mudel ====
 +
 +{{:et:projects:tudengid11:ddd.png?600|}}
  
 ==== Üldine mudel ==== ==== Üldine mudel ====
-{{:et:projects:tudengid11:robot_blokk_diagramm.png?600|}}+{{:et:projects:tudengid11:robot_blokk_diagramm_2_.png?600|}}
  
 ==== Lahendus ==== ==== Lahendus ====
Line 26: Line 31:
 ==== Mehhaanika ==== ==== Mehhaanika ====
 Kogu agregaat kinnitub silindri kujuga konteinerile, kuhu langevad kasutuskõlbmatud patareid. Süsteemi kõik komponendid- mootorid, koos kinnitustega, elektroonika komponendid, on kinnitatud kahele alumiiniumist talale. Ajameid on kokku viis- 4 servomootorit ja 1 DC-mootor. Nemad kallutavad, keerutavad ja liigutavad erinevate hoobade abil mehhanisme.  Kogu agregaat kinnitub silindri kujuga konteinerile, kuhu langevad kasutuskõlbmatud patareid. Süsteemi kõik komponendid- mootorid, koos kinnitustega, elektroonika komponendid, on kinnitatud kahele alumiiniumist talale. Ajameid on kokku viis- 4 servomootorit ja 1 DC-mootor. Nemad kallutavad, keerutavad ja liigutavad erinevate hoobade abil mehhanisme. 
 +
 +==== Juhtimine ====
 +
 +Tähiste tähendused:
 +
 +^ Tähis^ Tähendus ^ 0 ^1^-1^Funktsioon^
 +|S1|Surunupp |Avatud|Suletud | |Töö alustamine|
 +|S2|Surunupp |Avatud|Suletud | |Patareide tagastamine|
 +|M1|Dc  mootor |Seisab|Töörežiim| |Kausi pöörlemine|
 +|M2|I   Servomootor |Seisab|Töörežiim| |Ükshaaval laadimine|
 +|M3|II  Servomootor |Seisab|Töörežiim| |Klemmi ühendamine|
 +|M4|III Servomootor |Seisab|Päripäeva |Vastupäeva |Esialgne kallutamine|
 +|M5|IV  Servomootor |Seisab|Päripäeva |Vastupäeva |Puhvri kallutamine|
 +|A1|Infrap. andur |Signaal puudub|Signaal olemas| |Patarei olemasolu|
 +|A2|Pingeandur|Signaal puudub|Signaal olemas| |Patarei seisund|
 +
 +Olekudiagramm:
 +
 +{{:et:projects:tudengid11:algoruetmika.png?600|}}
 +
  
 ==== Elektroonika ==== ==== Elektroonika ====
Line 41: Line 66:
   * Põhimõttelahendus:   * Põhimõttelahendus:
  
-{{:et:projects:tudengid11:fff.png?600|}}+{{:et:projects:tudengid11:gggfff.png?600|}}
  
  
 ===== Lähtekood ===== ===== Lähtekood =====
  
-Voltmeetri lähtekood: +Sorteerija lähtekood:
-<file php voltmeeter.c>+
  
-#include <stdio.h> +<file php main.c>
-#include <homelab/pin.h> +
-#include <homelab/adc.h> +
-#include <homelab/delay.h> +
-#include <homelab/module/lcd_alpha.h>+
  
 +int main(void)
 +{
  
 + signed char kordus=0;
 +  unsigned char i;
 + pin leds[3]    = { PIN(C, 5), PIN(C, 4), PIN(C, 3) };
 +        pin buttons[3] = { PIN(C, 2), PIN(C, 1), PIN(C, 0) };
 + for (i = 0; i < 3; i++)
 + {
 + pin_setup_output(leds[i]);
 + pin_setup_input(buttons[i]);
 + pin_set(leds[i]);
 + }
  
 + unsigned char new_value1;
 + unsigned char new_value2;
  
-int main()+ algustekst()
 + 
 +  
 + 
 + 
 +    /* servode algväärtustamine */ 
 +       init_servos(); 
 + 
 +    /* enable interrupts */ 
 +       sei(); 
 + 
 +  
 + 
 + 
 + 
 + while (true) 
 +
 + pin_toggle(leds[2]); 
 + hw_delay_ms(200); 
 + pin_set(leds[2]); 
 + hw_delay_ms(200); 
 + 
 + signed char loendur=0; 
 + new_value1 = pin_get_debounced_value(buttons[2]); 
 + 
 + while(!new_value1){  
 + pin_set(leds[2]); 
 + unsigned short value; 
 +     signed short distance; 
 + 
 +  dcmootor(); 
 + 
 + // ADC muunduri seadistamine 
 + adc_init(ADC_REF_AVCC, ADC_PRESCALE_8); 
 +  
 + // Anduri väljundpinge 4-kordselt ümardatud väärtuse lugemine 
 + value = adc_get_average_value(0, 4);  
 +  
 + // ADC väärtuse kauguseks ümberarvutamine 
 + distance = ir_distance_calculate_cm(GP2Y0A21YK, value); 
 +  
 + if(kordus==4) 
 +
 + kordus=0; 
 + algustekst(); 
 + break; 
 +
 + 
 + if (distance <=11) 
 +      {  
 + kordus=0;  
 + SERVO6 = SERVO_MAX; 
 + hw_delay_ms(500); 
 + 
 + char text[16]; 
 + unsigned char result; 
 + float tulemus;
  
-{ 
- char text[16]; 
- unsigned char result; 
- float tulemus; 
    
  // Võrdluspingeks AREF viigu valimine  // Võrdluspingeks AREF viigu valimine
- //   (eeldatavasti on see ühendatud +5V toiteahelasse) 
  // Multiplekseriga kanali 3 valimine  // Multiplekseriga kanali 3 valimine
  // Tulemus on vasak-asetusega  // Tulemus on vasak-asetusega
  ADMUX = (1 << REFS0) | (1 << ADLAR) | (3);  ADMUX = (1 << REFS0) | (1 << ADLAR) | (3);
- lcd_alpha_init(LCD_ALPHA_DISP_ON);// LCD ekraani seadistamine  +
- // LCD ekraani puhastamine+
  lcd_alpha_clear();  lcd_alpha_clear();
- lcd_alpha_write_string("Voltmeeter");  + lcd_alpha_write_string("Patarei taituvus");  
-  + 
-while(true){ +
  // ADC üksuse käivitamine,  // ADC üksuse käivitamine,
  // teisendustakti seadmine 16 korda aeglasemaks töötaktist  // teisendustakti seadmine 16 korda aeglasemaks töötaktist
Line 86: Line 169:
  result =ADCH;  result =ADCH;
  tulemus=(float)result*0.02;  tulemus=(float)result*0.02;
- sprintf(text, "%5.3f",tulemus);+ sprintf(text, "%3.0f %%",(tulemus*100)/0.88);
    
  lcd_alpha_goto_xy(0, 1);  lcd_alpha_goto_xy(0, 1);
  lcd_alpha_write_string(text);  lcd_alpha_write_string(text);
- sw_delay_ms(500);+ hw_delay_ms(500); 
 + SERVO6 = SERVO_MID-400; 
 +    hw_delay_ms(400); 
 + 
 + if(tulemus<0.7) 
 +
 + pin_set(leds[2]); 
 + SERVO5 = SERVO_MIN-300; 
 +  hw_delay_ms(400); 
 + SERVO5 = SERVO_MID-400; 
 +  hw_delay_ms(400); 
 + pin_toggle(leds[0]);
  }  }
-}+ else  
 +
 + pin_set(leds[0]); 
 + SERVO5 = SERVO_MAX; 
 +  hw_delay_ms(400); 
 + SERVO5 = SERVO_MID-400; 
 +  hw_delay_ms(400); 
 + pin_toggle(leds[2]); 
 + loendur++; 
 + } 
 +       } 
 + kordus++;  
 +   } 
 +   if(loendur>=1) 
 +   { 
 +    char text1[16];  
 + char text2[16]; 
 + for(int i=10;i>0;i--){ 
 + lcd_alpha_clear(); 
 + pin_toggle(leds[1]); 
 + sprintf(text1, "Tais patareid %d",loendur); 
 + lcd_alpha_write_string(text1);  
 + sprintf(text2, "%d",i); 
 +  
 + lcd_alpha_goto_xy(0, 1); 
 + lcd_alpha_write_string("Hoia nuppu S2"); 
 + hw_delay_ms(1000); 
 + pin_set(leds[1]); 
 + lcd_alpha_clear(); 
 + lcd_alpha_write_string(text2); 
 + hw_delay_ms(1000); 
 + new_value2 = pin_get_debounced_value(buttons[1]);
  
 + if(!new_value2)
 + {
 + lcd_alpha_clear();
 +  SERVO4=SERVO_MAX;
 +  hw_delay_ms(400);
 +  SERVO4 = SERVO_MID;
 + algustekst();
 + break;
 + }
 +   }
 + lcd_alpha_clear();
 +  SERVO4=SERVO_MIN;
 +  hw_delay_ms(400);
 +  SERVO4 = SERVO_MID;
 + algustekst();
 + 
 +
 +   }
 + }
 +}
 </file> </file>
  
 +===== Majanduskalkulatsioon =====
  
-===== Nädalaaruanded ===== +{{:et:projects:tudengid11:ggg.png?600|}}
-  *{{:et:projects:tudengid11:esimese_nadala_aruanne_patarei_vangla.pdf|1. aruanne}} +
-  *{{:et:projects:tudengid11:teise_nadala_aruanne_patarei_vangla.pdf|2. aruanne}} +
-  *{{:et:projects:tudengid11:iii_nadala_aruande_patarei_vangla.pdf|3. aruanne}} +
-  *{{:et:projects:tudengid11:4_nadala_aruanne_patarei_vangla.pdf|4. aruanne}} +
- +
  
 ===== Ehitamine ===== ===== Ehitamine =====
Line 110: Line 250:
 Sai valmis meisterdatud läbipaistev väline kest süsteemile. Sai valmis meisterdatud läbipaistev väline kest süsteemile.
  
-{{:et:projects:tudengid11:photo0044.jpg|}}+{{:et:projects:tudengid11:photo0044.jpg?600|}}
 {{:et:projects:tudengid11:dsc1.jpg|}} {{:et:projects:tudengid11:dsc1.jpg|}}
 {{:et:projects:tudengid11:dsc2.jpg|}} {{:et:projects:tudengid11:dsc2.jpg|}}
  
-Korpuse külge sai pandud väline suunaja, mille kaudu patareid liiguvad mõõtmisele.\\ +Trükkplaadi tegemine
-Kuplit ajab ringi DC mootor.\\+ 
 +{{:et:projects:tudengid11:dsc04167.jpg?400|}} 
 +{{:et:projects:tudengid11:dsc04171.jpg?400|}} 
 +{{:et:projects:tudengid11:dsc04173.jpg?400|}} 
 +{{:et:projects:tudengid11:dsc04174.jpg?400|}} 
 +{{:et:projects:tudengid11:dsc04180.jpg?400|}} 
 + 
 +Programmeerimine. 
 + 
 +{{:et:projects:tudengid11:dsc04190.jpg?400|}} 
  
-{{:et:projects:tudengid11:dsc3.jpg|}} 
  
 ===== Projektijuhtimine ===== ===== Projektijuhtimine =====
  
 Kõik meeskonnaliikmed tegelesid jooksvalt kõikide lahendust vajavate probleemidega.  Kõik meeskonnaliikmed tegelesid jooksvalt kõikide lahendust vajavate probleemidega. 
 +
 +Nädalaaruanded: 
 +
 +  *{{:et:projects:tudengid11:esimese_nadala_aruanne_patarei_vangla.pdf|1. aruanne}}
 +  *{{:et:projects:tudengid11:teise_nadala_aruanne_patarei_vangla.pdf|2. aruanne}}
 +  *{{:et:projects:tudengid11:iii_nadala_aruande_patarei_vangla.pdf|3. aruanne}}
 +  *{{:et:projects:tudengid11:4_nadala_aruanne_patarei_vangla.pdf|4. aruanne}}
 +
 ===== Kokkuvõte ja järeldused ===== ===== Kokkuvõte ja järeldused =====
  
 Suurimaks miinuseks oli ajapuudus. Seade vajaks veel palju katsetamist, seadistamist ja ümberehitamist, et saada kaubanduslik välimus ja täielik funktsionaalsus. Suurimaks miinuseks oli ajapuudus. Seade vajaks veel palju katsetamist, seadistamist ja ümberehitamist, et saada kaubanduslik välimus ja täielik funktsionaalsus.
 +
 +
 +===== Viited ja kasutatud kirjandus =====
 +
 +  - http://home.roboticlab.eu/et/start?s=translation_true
 +  - http://www.extremecircuits.net/2010/04/battery-tester-circuit-schematic.html
 +  - http://images.blog-u.net/img/diodes-bridge-rectifier/
 +  - http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf
et/projects/tudengid11/patareidesorteerija.1301481654.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