This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:projects:tudengid11:mikrorobot [2011/04/06 02:20] – mihhail smirnov | et:projects:tudengid11:mikrorobot [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| * Igor Vinogradov | * Igor Vinogradov | ||
| ===== Nädalaaruanded ===== | ===== Nädalaaruanded ===== | ||
| - | - Nädal 1 | + | - Nädal 1 {{http:// |
| - Nädal 2 {{http:// | - Nädal 2 {{http:// | ||
| - Nädal 3 {{http:// | - Nädal 3 {{http:// | ||
| Line 29: | Line 29: | ||
| ==== Piirangud projekteerimisele ==== | ==== Piirangud projekteerimisele ==== | ||
| - | Peab olema tehtud välja antud komponendidest | + | Robot peab sobima mikroroboti standartide piirangutesse ja peab olema valmistatud kodulabori |
| Ei tohi ületada maksumust 10 000 krooni. | Ei tohi ületada maksumust 10 000 krooni. | ||
| - | ~~PB~~ | + | < |
| ===== Süsteemi üldine mudel ===== | ===== Süsteemi üldine mudel ===== | ||
| {{: | {{: | ||
| Line 41: | Line 41: | ||
| ===== Ideelahendused ===== | ===== Ideelahendused ===== | ||
| - | Kui me hakkasime | + | Kui me hakkasime |
| - | Oli vaja lahendada probleem massitsentriga. Et tasakaalustada meie robotit ja teha massitsenter võimalikult madalam paigaldasime | + | |
| - | ~~PB~~ | + | < |
| ===== 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. |
| {{: | {{: | ||
| - | {{: | + | |
| + | //3D muudel// | ||
| + | |||
| + | {{: | ||
| + | |||
| + | // | ||
| + | |||
| + | ==== 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:// | ||
| + | |||
| + | Kiirus võib reguleerida programmi mutmise kaudu. | ||
| ===== Elektroonika ===== | ===== Elektroonika ===== | ||
| Siin on toodud | Siin on toodud | ||
| - | {{: | ||
| - | {{http:// | + | {{http:// |
| + | |||
| + | // | ||
| + | |||
| + | {{http:// | ||
| + | |||
| + | // | ||
| + | |||
| + | ===== 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:// | ||
| + | |||
| + | //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, | + | 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, |
| - | Kui robot märkab | + | Kui robot märkab |
| + | {{http:// | ||
| ^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 69: | Line 126: | ||
| ===== Lähtekood ===== | ===== Lähtekood ===== | ||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | <code c> | ||
| #define F_CPU 8000000L | #define F_CPU 8000000L | ||
| #include < | #include < | ||
| 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& | if((IR_RESL_PIN& | ||
| { | { | ||
| - | cli();ïðåïÿäñòâèå | + | cli(); |
| - | wall = 3;// ñëåâà | + | wall = 3;//takistus vasakul |
| break; | break; | ||
| } | } | ||
| Line 113: | Line 175: | ||
| TCCR0 = 1<< | TCCR0 = 1<< | ||
| TIMSK = 1<< | TIMSK = 1<< | ||
| - | IR_RESR_DDR & | + | IR_RESR_DDR & |
| IR_RESR_DDR & | IR_RESR_DDR & | ||
| IR_RESR_DDR & | IR_RESR_DDR & | ||
| - | IR_LEDR_DDR |= 1<< | + | IR_LEDR_DDR |= 1<< |
| IR_LEDF_DDR |= 1<< | IR_LEDF_DDR |= 1<< | ||
| IR_LEDL_DDR |= 1<< | IR_LEDL_DDR |= 1<< | ||
| Line 128: | Line 190: | ||
| if(wall==1) | if(wall==1) | ||
| { | { | ||
| - | MOTOR_R1_PORT |= 1<< | + | MOTOR_R1_PORT |= 1<< |
| MOTOR_R2_PORT &=~ (1<< | MOTOR_R2_PORT &=~ (1<< | ||
| - | MOTOR_L1_PORT &=~ (1<< | + | MOTOR_L1_PORT &=~ (1<< |
| MOTOR_L2_PORT |= 1<< | MOTOR_L2_PORT |= 1<< | ||
| - | //_delay_ms(); | + | _delay_ms(); |
| MOTOR_R1_PORT &=~ (1<< | MOTOR_R1_PORT &=~ (1<< | ||
| MOTOR_L2_PORT &=~ (1<< | MOTOR_L2_PORT &=~ (1<< | ||
| Line 139: | Line 201: | ||
| if(wall==2) | if(wall==2) | ||
| { | { | ||
| - | MOTOR_R1_PORT |= 1<< | + | MOTOR_R1_PORT |= 1<< |
| MOTOR_R2_PORT &=~ (1<< | MOTOR_R2_PORT &=~ (1<< | ||
| - | MOTOR_L1_PORT &=~ (1<< | + | MOTOR_L1_PORT &=~ (1<< |
| MOTOR_L2_PORT |= 1<< | MOTOR_L2_PORT |= 1<< | ||
| - | // | + | // |
| MOTOR_R1_PORT &=~ (1<< | MOTOR_R1_PORT &=~ (1<< | ||
| MOTOR_L2_PORT &=~ (1<< | MOTOR_L2_PORT &=~ (1<< | ||
| Line 150: | Line 212: | ||
| if(wall==3) | if(wall==3) | ||
| { | { | ||
| - | MOTOR_L1_PORT |= 1<< | + | MOTOR_L1_PORT |= 1<< |
| MOTOR_L2_PORT &=~ (1<< | MOTOR_L2_PORT &=~ (1<< | ||
| - | MOTOR_R1_PORT &=~ (1<< | + | MOTOR_R1_PORT &=~ (1<< |
| MOTOR_R2_PORT |= 1<< | MOTOR_R2_PORT |= 1<< | ||
| // | // | ||
| Line 159: | Line 221: | ||
| wall=4; | wall=4; | ||
| } | } | ||
| - | if(wall==4)// | + | if(wall==4)// |
| { | { | ||
| - | MOTOR_R1_PORT |= 1<< | + | MOTOR_R1_PORT |= 1<< |
| MOTOR_R2_PORT &=~ (1<< | MOTOR_R2_PORT &=~ (1<< | ||
| - | MOTOR_L1_PORT |= 1<< | + | MOTOR_L1_PORT |= 1<< |
| MOTOR_L2_PORT &=~ (1<< | MOTOR_L2_PORT &=~ (1<< | ||
| } | } | ||
| } | } | ||
| } | } | ||
| - | #define IR_LEDR 2 | + | </ |
| - | #define IR_LEDR_PORT PORTD | + | |
| - | #define IR_LEDR_DDR DDRD | + | <code c> |
| - | #define IR_LEDF 1 | + | #define IR_LEDR 2 |
| + | #define IR_LEDR_PORT PORTD | ||
| + | #define IR_LEDR_DDR DDRD | ||
| + | #define IR_LEDF 1 | ||
| #define IR_LEDF_PORT PORTD | #define IR_LEDF_PORT PORTD | ||
| #define IR_LEDF_DDR DDRD | #define IR_LEDF_DDR DDRD | ||
| Line 202: | Line 267: | ||
| #define MOTOR_R2_DDR DDRB | #define MOTOR_R2_DDR DDRB | ||
| #define time 230 | #define time 230 | ||
| + | </ | ||
| Viivitus paneme katsetes. | Viivitus paneme katsetes. | ||
| ===== Valmislahendus ===== | ===== Valmislahendus ===== | ||
| - | Projekti raames valminud robotplatvorm on valmistatud üldiselt plastikust. Alusplaadil on kinnitatud rattad, kaks mootorit | + | Projekti raames valminud robotplatvorm on valmistatud üldiselt plastikust. Alusplaadil on kinnitatud rattad, kaks mootorit |
| + | |||
| + | {{http:// | ||
| + | |||
| + | //Top emaplaat// | ||
| + | |||
| + | {{http:// | ||
| + | |||
| + | // | ||
| + | |||
| + | {{http:// | ||
| - | {{http://static1.fotoalbum.ee/fotoalbum/332/ | + | //Diood ja vastuvõtja// |
| - | {{http:// | + | {{http:// |
| - | {{http://static1.fotoalbum.ee/fotoalbum/332/ | + | //Ü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 231: | 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, | + | Roboti hind tuli välja suhteliselt madal arvestades sellega, et mõned osad ja jootmine |
| Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, | Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, | ||
| Line 239: | Line 315: | ||
| ===== Viited ja kasutatud materjalid ===== | ===== Viited ja kasutatud materjalid ===== | ||
| - | - Kodulabori juhendmaterjal http:// | + | - Kodulabori juhendmaterjal http:// |
| - 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 | ||