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:mikrorobot [2011/04/07 21:34] mihhail smirnov et:projects:tudengid11:mikrorobot [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 33: Line 33:
  
  
-~~PB~~+<pagebreak>
 ===== Süsteemi üldine mudel ===== ===== Süsteemi üldine mudel =====
 {{:et:projects:tudengid11:system.gif|{{:et:projects:tudengid11:system.gif?400}} {{:et:projects:tudengid11:system.gif|{{:et:projects:tudengid11:system.gif?400}}
Line 43: Line 43:
 Kui  me hakkasime mõtlema roboti mehaanilisest osast ja gabariididest, leppisime kokku et ta peab sõitma kahe ratastega. See annab piisavalt liikumisvõimalust. Ja sellega ta saab pöörelda „tanki“ meetodil. See annab talle rohkem manööverdusvõimalust. Et tasakaalustada meie robotit ja teha massitsenter võimalikult madalam paigaldasime raskemaid komponendid alusplaadil. Kui  me hakkasime mõtlema roboti mehaanilisest osast ja gabariididest, leppisime kokku et ta peab sõitma kahe ratastega. See annab piisavalt liikumisvõimalust. Ja sellega ta saab pöörelda „tanki“ meetodil. See annab talle rohkem manööverdusvõimalust. Et tasakaalustada meie robotit ja teha massitsenter võimalikult madalam paigaldasime raskemaid komponendid alusplaadil.
  
-~~PB~~+<pagebreak>
 ===== Mehaanika ===== ===== Mehaanika =====
-Mehaaniline osa on väga lihtne. Meie robot seisab 2 ratastel. Lisaks on väike toetusrullik.. Ratad on ühendatud mootoriga. Selleks aitavad hammasratta ülekande mehhanism. Kõik patareid ja motorid asuvad alusplaadil. Mootorid on umbes keskel. Peal asub plaat elektriskeemiga ja anduritega. See plaat on kinnitatud põhiplaadil 4 varrase abil.+Mehaaniline osa on väga lihtne. Meie robot seisab 2 ratastel. Lisaks on väike toetusrullik. Ratad on ühendatud mootoriga. Selleks aitavad hammasratta ülekande mehhanism. Kõik patareid ja motorid asuvad alusplaadil. Peal asub plaat elektriskeemiga ja anduritega. See plaat on kinnitatud põhiplaadil 4 varrase abil. 
 {{:et:projects:tudengid11:mehaanika.gif?400}} {{:et:projects:tudengid11:mehaanika.gif?400}}
 +
 +//3D muudel//
 +
 {{:et:projects:tudengid11:joonis.jpg?580}} {{:et:projects:tudengid11:joonis.jpg?580}}
 +
 +//Rattakinnistuse joonis//
 +
 +==== Teoreetiline maksimaalne kiirus ====
 +
 +Lähteandmed:
 +
 +7800 pööred minutis (Faulhaber 2224012S 12V)
 +
 +Ratta diameeter 4 cm
 +
 +Hammaste arv: suurel hammasrattal - 24 ja väikel - 9
 +
 +{{http://static1.fotoalbum.ee/fotoalbum/332/158/083079151fe344.jpg?580}}
 +
 +Kiirus võib reguleerida programmi mutmise kaudu.
  
 ===== Elektroonika ===== ===== Elektroonika =====
 Siin on toodud  roboti andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeem. Siin on toodud  roboti andurite elektriskeem ja vastava trükiplaadi (PCB) montaažiskeem.
-{{:et:projects:tudengid11:elektron.jpg?580}} 
  
-{{http://static1.fotoalbum.ee/fotoalbum/332/81/08304080319961.jpg?300}}+{{http://static1.fotoalbum.ee/fotoalbum/332/152/083076297563a4.jpg?580}} 
 + 
 +//Elektriskeem// 
 + 
 +{{http://static1.fotoalbum.ee/fotoalbum/332/152/083076291bd6f5.jpg?300}} 
 + 
 +//Trükiplaadi (PCB) montaažiskeem// 
 + 
 +===== Dioodid ===== 
 +Diood vilgub 38 kHz sagedusel, selle sagedusele reageerib vastuvotja. 
 +Kaugus objektile saab reguleerida kahe viisiga: 
 + 
 +1. Sageduse muutumine (38 kHz koige suurem kaugus) 
 +   
 +2. Vahetada resistrit (suurem takistus, vaiksem kaugus)  
 + 
 +Kaugus soltub ka objekti materjalist 
 + 
 +//Anduri test erinevate materjalide reageerimisele (ühel sagedusel)// 
 + 
 +^Materjal ^Kaugus (sm) ^ 
 +|paberileht| 15| 
 +|käsi| 8 | 
 +|must rahakott nahast| peaaegu ei reageeri materjal|  
 +|peegel| 35| s 
 +|fotopaber| 15-18 |  
 +|valge puuvilli kude| 12| 
 +|punane paber| 15-18 | 
 +|roheline paber| 15-18| 
 +|kollane paber| 15-18| 
 +|hiirematt| 12| 
 +|tekstoliit| 9 | 
 +|vask tekstoliitil|35 | 
 +|vineer| 16| 
 + 
 +{{http://static1.fotoalbum.ee/fotoalbum/332/152/0830762951e049.jpg}} 
 + 
 +//Sensor//
  
 ===== Juhtimine ===== ===== Juhtimine =====
 Roboti juhtimine tuleneb süsteemi käitumismudelist ja on määratud lähteülesande funktsionaalsusega ning nõuete ja piirangutega. Meie robot on autonoomne, algoritmidega juhitav. Roboti juhtimine tuleneb süsteemi käitumismudelist ja on määratud lähteülesande funktsionaalsusega ning nõuete ja piirangutega. Meie robot on autonoomne, algoritmidega juhitav.
 +
 ===== Algoritm ===== ===== Algoritm =====
-Algoritm kirjeldab süsteemi juhtloogikat ja on esitatud plokkdiagrammina. Lihtsama algoritmi koostamiseks piisab paarist elemendist ja nendevaheliste seoste kirjeldamisest. Kui roboti algoritm on koostatud korrektselt, siis on sellest roboti juhtprogrammi juba suhteliselt lihtne koostada.  +Algoritm kirjeldab süsteemi juhtloogikat ja on esitatud plokkdiagrammina. Lihtsama algoritmi koostamiseks piisab paarist elemendist ja nendevaheliste seoste kirjeldamisest. Kui roboti algoritm on koostatud korrektselt, siis on sellist roboti juhtprogrammi juba suhteliselt lihtne koostada.  
-Kui robot märkab takistus ees, siis ta pöörleb sinna, kus takistust pole. Kui nii vasakul kui paremal takistusi ei ole, siis ta pöörleb vasakule. Kui robot märkab takistus kas vasakul või paremal, siis ta pöörleb vastassuunas 45 kraadi nurgal.+Kui robot märkab takistust ees, siis ta pöörleb sinna, kus takistust pole. Kui nii vasakul kui paremal takistust ei ole, siis ta pöörleb vasakule. Kui robot märkab takistust kas vasakul või paremal, siis ta pöörleb vastassuunas 45 kraadi nurgal. 
 +{{http://static1.fotoalbum.ee/fotoalbum/332/152/083076299db624.jpg}}
 ^Tähis ^Tähendus ^00 ^01 ^10 ^ ^Tähis ^Tähendus ^00 ^01 ^10 ^
 |M1 |vasak mootor |seisab |pöörleb päripäeva |pöörleb vastupäeva| |M1 |vasak mootor |seisab |pöörleb päripäeva |pöörleb vastupäeva|
Line 67: Line 125:
 |FL |vasak IK andur |signaal puudub |signaal olemas | | |FL |vasak IK andur |signaal puudub |signaal olemas | |
 ===== Lähtekood ===== ===== Lähtekood =====
 +
 +http://depositfiles.com/files/q85y2a2zw - .hex file ATmega48'le 
 +
 +http://depositfiles.com/files/684l89o2z - .hex file ATmega8'le 
  
 <code c> <code c>
Line 91: Line 153:
  {  {
  cli();  cli();
- wall = 1; //ïðåïÿòñâèå ñïåðåäè+ wall = 1; //takistus ees
  break;  break;
  }  }
Line 97: Line 159:
  {  {
  cli();  cli();
- wall = 2;//ïðåïÿäñòâèå ñïðàâà+ wall = 2;//takistus paremal
  break;  break;
  }  }
  if((IR_RESL_PIN&(1<<IR_RESL))==0)  if((IR_RESL_PIN&(1<<IR_RESL))==0)
  {  {
- cli();ïðåïÿäñòâèå + cli(); 
- wall = 3;// ñëåâà+ wall = 3;//takistus vasakul
  break;  break;
  }  }
Line 113: Line 175:
  TCCR0 = 1<<CS00|1<<CS01|0<<CS02;  TCCR0 = 1<<CS00|1<<CS01|0<<CS02;
  TIMSK = 1<<TOIE0;  TIMSK = 1<<TOIE0;
- IR_RESR_DDR &=~(1<<IR_RESR); //ÏÐÈÅÌ ÎÒ IR ÏÐÈÅÌÍÈÊÀ+ IR_RESR_DDR &=~(1<<IR_RESR); //Vastuvõtt IR vastuvõtjast
  IR_RESR_DDR &=~(1<<IR_RESR);  IR_RESR_DDR &=~(1<<IR_RESR);
  IR_RESR_DDR &=~(1<<IR_RESR);  IR_RESR_DDR &=~(1<<IR_RESR);
- IR_LEDR_DDR |= 1<<IR_LEDR; //ÏÅÐÅÄÀÒ×È ÈÐ ÑÈÃÍÀËÀ+ IR_LEDR_DDR |= 1<<IR_LEDR; //Saatmine IR signaali
  IR_LEDF_DDR |= 1<<IR_LEDF;  IR_LEDF_DDR |= 1<<IR_LEDF;
  IR_LEDL_DDR |= 1<<IR_LEDL;  IR_LEDL_DDR |= 1<<IR_LEDL;
Line 128: Line 190:
  if(wall==1)  if(wall==1)
  {  {
- MOTOR_R1_PORT |= 1<<MOTOR_R1; //ÏÐÀÂÛÉ ÌÎÒÎÐ ÂÏÅÐÅÄ+ MOTOR_R1_PORT |= 1<<MOTOR_R1; //Parem mootor edasi
  MOTOR_R2_PORT &=~ (1<<MOTOR_R2);  MOTOR_R2_PORT &=~ (1<<MOTOR_R2);
- MOTOR_L1_PORT &=~ (1<<MOTOR_L1);//ËÅÂÛÉ ÌÎÒÎÐ ÍÀÇÀÄ+ MOTOR_L1_PORT &=~ (1<<MOTOR_L1);//Vasak mootor tagasi
  MOTOR_L2_PORT |= 1<<MOTOR_L2;  MOTOR_L2_PORT |= 1<<MOTOR_L2;
- //_delay_ms();+ _delay_ms();//Viivitus pöörlimiseks
  MOTOR_R1_PORT &=~ (1<<MOTOR_R1);  MOTOR_R1_PORT &=~ (1<<MOTOR_R1);
  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);
Line 139: Line 201:
  if(wall==2)  if(wall==2)
  {  {
- MOTOR_R1_PORT |= 1<<MOTOR_R1; //ÏÐÀÂÛÉ ÌÎÒÎÐ ÂÏÅÐÅÄ+ MOTOR_R1_PORT |= 1<<MOTOR_R1; //Parem mootor edasi
  MOTOR_R2_PORT &=~ (1<<MOTOR_R2);  MOTOR_R2_PORT &=~ (1<<MOTOR_R2);
- MOTOR_L1_PORT &=~ (1<<MOTOR_L1);//ËÅÂÛÉ ÌÎÒÎÐ ÍÀÇÀÄ+ MOTOR_L1_PORT &=~ (1<<MOTOR_L1);//Vasak mootor tagasi
  MOTOR_L2_PORT |= 1<<MOTOR_L2;  MOTOR_L2_PORT |= 1<<MOTOR_L2;
- //_delay_ms();+ //_delay_ms(); 
  MOTOR_R1_PORT &=~ (1<<MOTOR_R1);  MOTOR_R1_PORT &=~ (1<<MOTOR_R1);
  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);
Line 150: Line 212:
  if(wall==3)  if(wall==3)
  {  {
- MOTOR_L1_PORT |= 1<<MOTOR_L1;//ËÅÂÛÉ ÌÎÒÎÐ ÂÏÅÐÅÄ+ MOTOR_L1_PORT |= 1<<MOTOR_L1;//Vasak mootor edasi
  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);
- MOTOR_R1_PORT &=~ (1<<MOTOR_R1);//ÏÐÀÂÛÉ ÌÎÒÎÐ ÍÀÇÀÄ+ MOTOR_R1_PORT &=~ (1<<MOTOR_R1);//Parem mootor tagasi
  MOTOR_R2_PORT |= 1<<MOTOR_R2;  MOTOR_R2_PORT |= 1<<MOTOR_R2;
  //_delay_ms();  //_delay_ms();
Line 159: Line 221:
  wall=4;  wall=4;
  }  }
- if(wall==4)// ïóòü ñâîáîäåí ìîæíî åõàòü+ if(wall==4)//Takistust ei ole, võib sõida edasi
  {  {
- MOTOR_R1_PORT |= 1<<MOTOR_R1; //ÏÐÀÂÛÉ ÌÎÒÎÐ ÂÏÅÐÅÄ+ MOTOR_R1_PORT |= 1<<MOTOR_R1; //Parem mootor edasi
  MOTOR_R2_PORT &=~ (1<<MOTOR_R2);  MOTOR_R2_PORT &=~ (1<<MOTOR_R2);
- MOTOR_L1_PORT |= 1<<MOTOR_L1;//ËÅÂÛÉ ÌÎÒÎÐ ÂÏÅÐÅÄ+ MOTOR_L1_PORT |= 1<<MOTOR_L1;//Vasak mootor edasi
  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);  MOTOR_L2_PORT &=~ (1<<MOTOR_L2);
  }  }
Line 209: Line 271:
 Viivitus paneme katsetes. Viivitus paneme katsetes.
 ===== Valmislahendus ===== ===== Valmislahendus =====
-Projekti raames valminud robotplatvorm on valmistatud üldiselt plastikust. Alusplaadil on kinnitatud rattad, kaks mootorit keskel, äärtel patareid. Kõik raskemaid komponendid panime alusplaadile masstsentri madalamiseks. Varraste peal on kinnitatud teine plaat peale elektroonikakomponendidega ( mikrokontroller, LED j.n.e ).+Projekti raames valminud robotplatvorm on valmistatud üldiselt plastikust. Alusplaadil on kinnitatud rattad, kaks mootorit ja patareid. Kõik raskemaid komponendid panime alusplaadile masstsentri madalamiseks. Varraste peal on kinnitatud teine plaat peale elektroonikakomponendidega ( mikrokontroller, LED j.n.e ). 
 + 
 +{{http://static1.fotoalbum.ee/fotoalbum/332/152/08307628312d86.jpg?400}} 
 + 
 +//Top emaplaat// 
 + 
 +{{http://static1.fotoalbum.ee/fotoalbum/332/152/0830762857cd1a.jpg?400}} 
 + 
 +//Ülekanne// 
 + 
 +{{http://static1.fotoalbum.ee/fotoalbum/332/152/083076287d0a96.jpg?400}} 
  
-{{http://static1.fotoalbum.ee/fotoalbum/332/81/083040805299aa.jpg?400}}+//Diood ja vastuvõtja//
  
-{{http://static1.fotoalbum.ee/fotoalbum/332/81/08304080931d30.jpg?400}}+{{http://static1.fotoalbum.ee/fotoalbum/332/152/083076289d5873.jpg?400}} 
  
-{{http://static1.fotoalbum.ee/fotoalbum/332/81/083040807fba8b.jpg?400}} +//Ülevaade eraldamisega//
  
 ===== Majanduskalkulatsioon ===== ===== Majanduskalkulatsioon =====
-^Komponent ^Mark ^Kogus ^Hind ^Maksumus^+^Komponent ^Mark ^Kogus ^Hind(EEK) ^Maksumus^
 |Mootor |Faulhaber 12V|2|150.-|300.-| |Mootor |Faulhaber 12V|2|150.-|300.-|
 |Mikrokontroller|AVR ATmega8|1|100.-|100.-| |Mikrokontroller|AVR ATmega8|1|100.-|100.-|
Line 235: Line 307:
  
 ===== Kokkuvõte ja järeldused ===== ===== Kokkuvõte ja järeldused =====
-Roboti hind tuli välja suhteliselt madal arvestades sellega, et mõned osad olid isetehtud, jootmine tegime ise j.n.e. Tootmise hinda saaks veel alandada, optimeerides komponentide ja materjalikulu. Projekti käigus tutvusime mehhatroonikasüsteemi projekteerimise, valmistamise ja testimisega, mis andis meile esmakordse sellelaadse kogemuse+Roboti hind tuli välja suhteliselt madal arvestades sellega, et mõned osad ja jootmine olid isetehtud. Tootmise hinda saaks veel alandada, optimeerides komponentide ja materjalikulu. Projekti käigus tutvusime mehhatroonikasüsteemi projekteerimise, valmistamise ja testimisega, mis andis meile esmakordse sellelaadse kogemust
  
 Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, seda eriti tarkvara osas. Erinevad moodulid ei pruugi alati koos korrektselt töötada, kuigi eraldi katsetades oli kõik korras. See näitab, et süsteemi moodulite integreerimine on tõsine väljakutse ja selleks tuleb planeerida oluliselt rohkem aega ja ressurssi.  Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, seda eriti tarkvara osas. Erinevad moodulid ei pruugi alati koos korrektselt töötada, kuigi eraldi katsetades oli kõik korras. See näitab, et süsteemi moodulite integreerimine on tõsine väljakutse ja selleks tuleb planeerida oluliselt rohkem aega ja ressurssi. 
Line 243: Line 315:
 ===== Viited ja kasutatud materjalid ===== ===== Viited ja kasutatud materjalid =====
  
-  -  Kodulabori juhendmaterjal http://home.roboticlab.eu+  - Kodulabori juhendmaterjal http://home.roboticlab.eu
   - ATmega128 andmeleht   - ATmega128 andmeleht
   - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008   - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008
et/projects/tudengid11/mikrorobot.1302212092.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