Sisukord:

CanSat - algajate juhend: 6 sammu
CanSat - algajate juhend: 6 sammu

Video: CanSat - algajate juhend: 6 sammu

Video: CanSat - algajate juhend: 6 sammu
Video: КАК НАСТРОИТЬ L4D2 2024, Juuli
Anonim
CanSat - algajate juhend
CanSat - algajate juhend
CanSat - juhend algajatele
CanSat - juhend algajatele
CanSat - juhend algajatele
CanSat - juhend algajatele

Selle juhendi peamine eesmärk on jagada samm -sammult CanSati arendusprotsessi. Kuid enne alustamist teeme tõeliselt selgeks, mis on CanSat ja millised on selle peamised funktsioonid. Kasutades võimalust, tutvustame ka oma meeskonda. See projekt algas laiendusprojektina meie ülikoolis Universidade Tecnológica Federal do Paraná (UTFPR), Cornélio Procópio ülikoolilinnak. Meie nõustaja juhendamisel töötasime välja tegevuskava, mille eesmärk oli siseneda CanSatsi, mis tähendas kõigi selle aspektide ja omaduste uurimist, et mõista selle toimimist, mis lõppkokkuvõttes tooks kaasa a CanSat ja selle juhendi väljatöötamine. CanSat on klassifitseeritud pikosatelliidiks, mis tähendab, et selle kaal on piiratud 1 kg -ga, kuid tavaliselt kaalub CanSat umbes 350 g ja selle struktuur põhineb purgis soodaga, 6, 1 cm läbimõõduga silindriga, 11, 65 cm kõrgusega. See mudel esitati kavatsusega lihtsustada satelliidi väljatöötamise protsessi, et võimaldada ülikoolidele juurdepääs nendele tehnoloogiatele, saavutades populaarsuse tänu seda mudelit kasutanud võistlustele. Üldiselt põhinevad CanSatidel 4 struktuuril, st toitesüsteemil, andurisüsteemil, telemeetriasüsteemil ja põhisüsteemil. Nii et vaatame iga süsteemi lähemalt: - Toitesüsteem: see süsteem vastutab elektrienergia tarnimise eest teistele vastavalt oma vajadustele. Teisisõnu, see peaks varustama süsteeme vajaliku pinge ja vooluga, järgides selle piire. Lisaks võib sellel olla kaitsekomponente, et tagada teiste süsteemide ohutus ja nõuetekohane käitumine. Tavaliselt põhineb see akul ja pingeregulaatori ahelal, kuid sellele saab lisada palju muid funktsioone, näiteks toitehaldusmeetodid ja mitut tüüpi kaitsed. - Andurisüsteem: see süsteem koosneb kõikidest anduritest ja seadmetest, mis vastutavad vajalike andmete kogumise eest. seda saab ühendada põhisüsteemiga mitmel viisil, muu hulgas jadaprotokollid, paralleelprotokollid, sellepärast on tõesti oluline valdada kõiki neid tehnikaid, et oleks võimalik kõige mugavam välja selgitada. Üldiselt valitakse sageli jadaprotokoll nende väiksema ühenduste arvu ja mitmekülgsuse tõttu, kõige populaarsemad on SPI, I2C ja UART protokollid. - Telemeetria süsteem: see süsteem vastutab traadita side loomise eest CanSati ja maapealse juhtimisjaama vahel, mis sisaldab traadita side protokolli ja riistvara. - Põhisüsteem: see süsteem vastutab kõigi teiste süsteemide ühendamise eest viisil, mis juhib ja sünkroniseerib ka nende toimimisjärjestust organismina.

Samm: põhisüsteem

Põhisüsteem
Põhisüsteem

Paljudel põhjustel oleme valinud ARM® Cortex®-M4F-põhise mikrokontrolleri, see on väikese võimsusega MCU, mis pakub palju suuremat töötlemisvõimsust, lisaks mitmeid funktsioone, mida RISK-i mikrokontrollerites tavaliselt ei näe, näiteks DSP-funktsioone. Need omadused on huvitavad, kuna võimaldavad CanSati rakenduste funktsioonide keerukust suurendada, ilma et oleks vaja mikrokontrollerit muuta (muidugi ka selle piire järgides).

Kuni projektil oli mitmeid rahalisi piiranguid, pidi valitud mikrokontroller olema ka taskukohane, nii et järgides spetsifikatsioone, valisime lõpuks ARM® Cortex®-M4F-põhise MCU TM4C123G LaunchPadi, see on käivitusplaat, mis just sobis meie projektiga. Ka dokumentatsioon (tootja esitatud andmelehed ja omaduste dokumentatsioon) ja MCU IDE olid plussid, mida tuleks tõesti kaaluda, kui need aitasid arendusprotsessi palju.

Selles Cansatis otsustasime selle lihtsana hoida ja lihtsalt käivitusplaadi abil arendada, kuid loomulikult ei ole see tulevastes projektides valikuvõimalus, arvestades, et mitmed käivitusplaadil sisalduvad funktsioonid pole meie projekti jaoks tegelikult vajalikud, pluss selle formaat piiras palju meie CanSati struktuuri projekti, kui CanSati mõõtmed on minimaalsed.

Niisiis, pärast selle süsteemi jaoks sobiva „aju” valimist oli järgmine samm selle tarkvara väljatöötamine, samuti lihtsustamiseks otsustasime lihtsalt kasutada järjestikust programmi, mis teeb järgmise sageduse 1 Hz:

Andurite näidud> andmete salvestamine> andmeedastus

Andurite osa selgitatakse hiljem andurisüsteemis, samuti andmeedastust telemeetria süsteemis. Lõpuks tuli õppida mikrokontrolleri programmeerimist, meie puhul oli vaja õppida järgmisi MCU, GPIO, I2C mooduli, UART mooduli ja SPI mooduli funktsioone.

GPIO -d või lihtsalt üldotstarbeline sisend ja väljund on pordid, mida saab kasutada mitme funktsiooni täitmiseks, kui need on õigesti seadistatud. Arvestades, et me ei kasuta GPIO -de jaoks isegi C -teeke, isegi mitte teiste moodulite jaoks, pidime konfigureerima kõik vajalikud registrid. Sel põhjusel oleme koostanud põhijuhendi, mis sisaldab näiteid ja kirjeldusi meie kasutatavate moodulite registrite kohta, mis on saadaval allpool.

Samuti loodi koodi lihtsustamiseks ja korraldamiseks mitu raamatukogu. Niisiis loodi raamatukogud järgmistel eesmärkidel:

- SPI protokoll

- I2C protokoll

- UART -protokoll

- NRF24L01+ - transtseptor

Need teegid on saadaval ka allpool, kuid pidage meeles, et oleme kasutanud Keil uvision 5 IDE -d, nii et need teegid ei tööta koodilooja jaoks. Lõpuks, pärast kõigi raamatukogude loomist ja kogu vajaliku õppimist, pandi kokku lõplik kood ja nagu võite arvata, on see saadaval ka allpool.

2. samm: andurisüsteem

Andurisüsteem
Andurisüsteem
Andurisüsteem
Andurisüsteem
Andurisüsteem
Andurisüsteem
Andurisüsteem
Andurisüsteem

See süsteem koosneb kõigist anduritest ja seadmetest, mis vastutavad CanSati töötingimuste kohta teabe kogumise eest. Meie puhul oleme valinud järgmised andurid:

- 3 -teljeline digitaalne kiirendusmõõtur - MPU6050

- 3 -teljeline digitaalne güroskoop - MPU6050

- 3 -teljeline digitaalne magnetomeeter - HMC5883L

- digitaalne baromeeter - BMP280

- ja GPS - Tyco A1035D

Valikud põhinesid peamiselt juurdepääsetavusel, mis tähendas, et seni, kuni mehaanilised ja elektrilised (sideprotokoll, toiteallikas jne) omadused meie projektiga ühildusid, ei seatud valikutele täiendavaid parameetreid, ka seetõttu, et mõne anduri puhul oli see kättesaadav valikuvõimalused olid piiratud. Pärast andurite soetamist oli aeg need tööle panna.

Nii et esimene, mida uurida, oli kolmeteljeline digitaalne kiirendusmõõtur ja güroskoop, nimega MPU6050 (seda on lihtne leida kõikjalt, kui seda kasutatakse laialdaselt ARDUINO projektides), selle side põhineb I2C protokollil, milles igale orjale kuulub aadress, mis võimaldab ühendada mitu seadet paralleelselt, arvestades, et aadress on 7-bitine, saab sama jadasiini külge ühendada umbes 127 seadet. See suhtlusprotokoll töötab kahel siinil, andmesiinil ja kellasiinil, nii et teabe vahetamiseks peab kapten saatma 8 kella tsüklit (muide, teave peab mahtuma baiti, kui see side põhineb baidi suuruses) kas vastuvõtul või edastamisel. MPU6050 aadress on 0b110100X ja X -d kasutatakse lugemis- või kirjutamistoimingule helistamiseks (näitab) (0 tähistab kirjutamisoperatsiooni ja 1 tähistab lugemistoimingut), nii et kui soovite andurit lugeda, kasutage selle aadressi 0xD1 ja kui soovite kirjutada, kasutage lihtsalt selle aadressi kui 0xD0.

Pärast I2C protokolli uurimist uuriti tegelikult MPU6050, teisisõnu loeti selle andmelehte, et saada selle tööks vajalikku teavet, sest selle anduri jaoks oli vaja konfigureerida ainult kolm registrit, toitehaldus 1 register - aadress 0x6B (tagamaks, et andur ei ole unerežiimis), güroskoobi konfiguratsiooniregister - aadress 0x1B (güroskoobi kogu skaala vahemiku seadistamiseks) ja lõpuks kiirendusmõõturi konfiguratsiooniregister - aadress 0x1C (in kiirendusmõõturi kogu skaala vahemiku seadistamiseks). On veel mitmeid registreid, mida saab konfigureerida, võimaldades anduri jõudlust optimeerida, kuid selle projekti jaoks piisab nendest konfiguratsioonidest.

Niisiis, pärast anduri nõuetekohast konfigureerimist saate seda nüüd lugeda. Soovitud teave toimub registri 0x3B ja registri 0x48 vahel, iga telje väärtus koosneb kahest baidist, mis on kodeeritud 2 komplemendi viisil, mis tähendab, et loetud andmed tuleb teisendada, et need oleksid tähenduslikud (need asjad on arutatakse hiljem).

Pärast MPU6050 -ga lõpetamist oli aeg uurida 3 -teljelist digitaalset magnetomeetrit nimega HMC5883L (seda saab hõlpsasti leida kõikjalt, kui seda kasutatakse laialdaselt ARDUINO projektides) ja selle sideprotokoll on jällegi jadaprotokoll I2C. Selle aadress on 0b0011110X ja X -d kasutatakse lugemis- või kirjutamisoperatsiooni kutsumiseks (näitab) (0 tähistab kirjutamisoperatsiooni ja 1 tähistab lugemistoimingut), nii et kui soovite andurit lugeda, kasutage selle aadressi 0x3D ja alati kui soovite kirjutada, kasutage lihtsalt selle aadressi kui 0x3C.

Sel juhul oli HMC5883L lähtestamiseks vaja konfigureerida kolm registrit, konfiguratsiooniregister A - aadress 0x00 (andmete väljastamise kiiruse ja mõõtmisrežiimi konfigureerimiseks), konfiguratsiooniregister B - aadress 0x01 (anduri võimenduse seadistamiseks) ja kõige lõpuks režiimiregister - aadress 0x02 (seadme töörežiimi seadistamiseks).

Niisiis, pärast HMC5883L nõuetekohast konfigureerimist on seda nüüd võimalik lugeda. Soovitud teave toimub registri 0x03 ja registri 0x08 vahel, iga telje väärtus koosneb kahest baidist, mis on kodeeritud 2 komplemendi viisil, mis tähendab, et loetud andmed tuleb teisendada, et need oleksid tähenduslikud (need asjad on arutatakse hiljem). Eelkõige peaksite selle anduri puhul lugema kogu teabe korraga, vastasel juhul ei pruugi see töötada nii, nagu on kavandatud, kui väljundandmed kirjutatakse nendesse registritesse alles siis, kui kõik registrid on kirjutatud. nii et lugege need kindlasti läbi.

Lõpuks uuriti digitaalset baromeetrit, teist I2C protokolli andurit, mida nimetatakse ka BMP280 -ks (seda saab hõlpsasti leida kõikjalt, kui seda kasutatakse laialdaselt ARDUINO projektides). Selle aadress on b01110110X, samuti kasutatakse X -d lugemis- või kirjutamisoperatsiooni kutsumiseks (näitab) (0 tähistab kirjutamisoperatsiooni ja 1 tähistab lugemistoimingut), nii et kui soovite andurit lugeda, kasutage selle aadressi 0XEA ja alati kui soovite kirjutada, kasutage lihtsalt selle aadressi kui 0XEB. Kuid selle anduri puhul saab I2C aadressi muuta, muutes SDO tihvti pingetaset, nii et kui kasutate sellele tihvtile GND -d, on aadress b01110110X ja kui rakendate sellele tihvtile VCC -d, läheb aadress b01110111X, samuti selle anduri I2C mooduli lubamiseks peate anduri CSB tihvtile rakendama VCC taseme, vastasel juhul ei tööta see korralikult.

BMP280 jaoks pidi selle toimimiseks konfigureerima ainult kaks registrit, ctrl_meas register - aadress 0XF4 (andmete hankimise valikute seadistamiseks) ja konfiguratsiooniregister - aadress 0XF5 (määra määramiseks, filter ja anduri liidese valikud).

Pärast konfigureerimisega tegelemist on käes aeg, mis tegelikult loeb, andmed ise, antud juhul toimub soovitud teave registrite 0XF7 ja 0XFC vahel. Nii temperatuur kui ka rõhuväärtus koosnevad kolmest baidist, mis on kodeeritud 2 komplementaarsel viisil, mis tähendab, et loetud andmed tuleb teisendada, et need oleksid olulised (neid asju arutatakse hiljem). Ka selle anduri puhul on suurema täpsuse saavutamiseks andmete teisendamisel võimalik kasutada mitmeid parandustegureid, need asuvad registrite 0X88 ja 0XA1 vahel, jah, seal on 26 baiti parandustegureid, nii et kui täpsus on pole nii tähtis, unustage need lihtsalt ära, muidu pole muud võimalust.

Ja lõpuks, kuid mitte vähemtähtis, GPS - Tyco A1035D, see tugineb UART jadaprotokollile, eriti kiirusega 4800 kbps, ilma pariteedibittideta, 8 andmebitti ja 1 stopbitiga. UART ehk universaalne asünkroonne vastuvõtja/saatja, on jadaprotokoll, milles teabe sünkroonimine toimub tarkvara kaudu, mistõttu on see asünkroonne protokoll, ka selle omaduse tõttu teabe edastamise ja vastuvõtmise kiirus palju väiksem. Konkreetselt selle protokolli puhul peavad paketid algama stardibitiga, kuid stopp -bitt on valikuline ja pakettide suurus on 8 bitti pikk.

GPS -i Tyco A1035D puhul oli vaja kahte konfiguratsiooni: setDGPSport (käsk 102) ja Query/RateControl (käsk 103). kasutatakse enamikus GPS -moodulites. Käsklust 102 kasutatakse andmeedastuskiiruse, andmebittide hulga ning pariteetbittide ja stoppbittide olemasolu või puudumise seadistamiseks. Käsu 103 kasutatakse standardsete NMEA -sõnumite GGA, GLL, GSA, GSV, RMC ja VTG väljundi juhtimiseks, neid on üksikasjalikult kirjeldatud viitejuhendis, kuid meie puhul oli valitud GGA, mis tähistab Global Positsioneerimissüsteemi fikseeritud andmed.

Kui GPS - TycoA1035D on õigesti konfigureeritud, on nüüd vaja ainult teabe jada lugemiseks jadajada filtreerimine vastavalt valitud parameetritele filtreerida.

Pärast kõigi vajalike andmete õppimist kõigi andurite kohta kulus vaid lisapingutusi, et kõik ühte programmi kokku panna, kasutades ka jadaühenduse teeke.

3. samm: telemeetria süsteem

Telemeetria süsteem
Telemeetria süsteem

See süsteem vastutab maapealse juhtimise ja CanSati vahelise side loomise eest, lisaks projekti parameetritele piirati seda ka mõnel muul viisil, kuni raadiosageduse edastamine on lubatud ainult mõnes sagedusribas, mis ei ole hõivatud muud raadiosagedusteenused, näiteks mobiiliteenused. Need piirangud on erinevad ja võivad riigiti muutuda, seega on oluline alati kontrollida lubatud sagedusribasid ühiseks kasutamiseks.

Turul on saadaval taskukohase hinnaga palju raadioid, kõik need süsteemid pakuvad erinevaid modulatsioonivõimalusi erinevatel sagedustel, selle süsteemi puhul oli meie valik 2,4 GHz raadiosaatja -vastuvõtja NRF24L01+, kuna sellel oli juba olemas väljakujunenud kommunikatsiooniprotokoll, kui sellised kontrollisüsteemid nagu automaatne kinnitamine ja automaatne uuesti edastamise süsteem. Lisaks võib selle edastuskiirus saavutada mõistliku energiatarbimise korral kiirust kuni 2 Mbps.

Nii et enne selle transiiveriga töötamist tutvume veidi lähemalt NRF24L01+-ga. Nagu varem mainitud, on see 2,4 GHz raadio, mida saab konfigureerida vastuvõtjaks või saatjaks. Suhtluse loomiseks on igal transiiveril aadress, mida saab kasutaja konfigureerida. Aadress võib vastavalt teie vajadustele olla 24–40 bitti pikk. Andmetehingud võivad toimuda üksikult või pidevalt, andmete suurus on piiratud 1 baidiga ja iga tehing võib tekitada või mitte genereerida kinnitustingimusi vastavalt transiiveri konfiguratsioonile.

Võimalikud on ka mitmed muud konfiguratsioonid, näiteks võimendus raadiosignaali väljundi suhtes, automaatse kordussaatmisrutiini olemasolu või mitte (kui jah, siis võib valida ka muude omaduste hulgast tehtud katsete arvu) ja mitmed muud funktsioone, mis pole selle projekti jaoks tingimata kasulikud, kuid igal juhul on need komponendi andmelehel saadaval, kui nende vastu huvi tuntakse.

NRF24L01+ "räägib" jadaühenduses SPI keelt, nii et kui soovite seda transiiverit lugeda või kirjutada, jätkake ja kasutage selle jaoks SPI protokolli. SPI on jadaprotokoll, nagu eespool mainitud, kus alamate valimine toimub CHIPSELECT (CS) tihvti kaudu, mis koos täisdupleksiga (nii ülem kui ka alam saavad paralleelselt edastada ja vastu võtta) selle protokolli lubab palju suuremaid andmeedastuskiirusi.

NRF24L01+ andmeleht pakub selle komponendi lugemiseks või kirjutamiseks käskude komplekti, siseoperatsioonidele, RX- ja TX -koormusele on muude toimingute jaoks erinevaid käske, seega võib sõltuvalt soovitud toimingust kuluda konkreetne käsk seda täita. Sellepärast oleks huvitav vaadata andmelehte, kus on nimekiri, mis sisaldab ja selgitab kõiki võimalikke toiminguid transiiveri kaudu (me ei hakka neid siin loetlema, sest see pole selle juhendi põhipunkt)).

Lisaks transiiverile on selle süsteemi veel üheks oluliseks komponendiks protokoll, mille kaudu kõik soovitud andmed saadetakse ja võetakse vastu, kui süsteem peaks töötama mitme baidiga korraga, on oluline teada iga baidi tähendust, selleks protokoll töötab, see võimaldab süsteemil organiseeritud viisil tuvastada kõik vastuvõetud ja edastatud andmed.

Asjade lihtsuse huvides koosnes (saatja) jaoks kasutatav protokoll päisest, mis koosnes 3 baidist, millele järgnesid anduri andmed, kui kõik andurite andmed koosnesid kahest baidist, anti igale anduri andmetele identifitseerimisnumber alates 0x01 ja järgneb poolkuu järjekorras, nii et iga kahe baidi kohta on identifitseerimisbait, nii et päise jada ei saaks anduri näitude järgi juhuslikult korrata. Vastuvõtja oli lõpuks sama lihtne kui saatja, protokoll vajas lihtsalt saatja saadetud päise äratundmist ja pärast seda, kui see lihtsalt salvestas vastuvõetud baidid, sel juhul otsustasime nende salvestamiseks kasutada vektorit.

Nii et pärast kõigi nõutavate teadmiste omandamist transiiveri kohta ja sideprotokolli määramist on aeg kõik kokku panna samasse kooditükki ja lõpuks CanSati püsivara valmis teha.

Samm: toitesüsteem

See süsteem vastutab teiste süsteemide nõuetekohaseks tööks vajaliku energia tarnimise eest. Sel juhul otsustasime kasutada lihtsalt akut ja pingeregulaatorit. Niisiis, aku suuruse määramisel analüüsiti mõningaid CanSati tööparameetreid, need parameetrid aitaksid määratleda mudelit ja kogu süsteemi toitmiseks vajalikku võimsust.

Arvestades, et CanSat peaks suutma mitu tundi sisselülitatuna kesta, oli kõige sobivam kaaluda kõige äärmuslikumaid energiatarbimise olukordi, kus iga CanSatiga ühendatud moodul ja süsteem tarbiksid võimalikult suurt voolu. Siiski on oluline ka sellel hetkel olla mõistlik, et mitte akut üle mõõta, mis pole ka CanSati kaalupiirangute tõttu huvitav.

Pärast kõigi süsteemide komponentide teabelehtedega tutvumist oli süsteemi tarbitav koguvool ligikaudu 160 mAh, arvestades 10 -tunnilist autonoomiat, piisas 1600 mAh akuga, et tagada süsteemile sobivad töötingimused.

Pärast aku vajaliku laengu tundmaõppimist tuleb autonoomiast hoolimata kaaluda ka muid aspekte, nagu suurus, kaal, töötemperatuur (seni, kuni CanSat hoitakse raketi sees), pinged ja jõud kellele esitatakse muu hulgas sama.

Samm: struktuur

Struktuur on CanSati turvalisuse seisukohalt tõesti oluline, kuigi see jäi selles projektis veidi tähelepanuta (tegelikult ei olnud CanSati mehaanilise osa arendamise vastu suurt huvi, kuna kõik liikmed kursasid oli seotud elektroonikaga). Niikaua kui projekt põhines olemasoleval mustril, oli CanSati muster vajalik, mitte palju mõelda selle väljanägemisele, nii et see peaks olema kujundatud silindrivormingus, läbimõõduga umbes 6, 1 cm ja umbes 11, 65 cm pikk (samad purgid sooda).

Pärast väliskonstruktsiooniga tegelemist keskenduti kogu kinnitussüsteemile, mis vastutab kõigi laudade hoidmise eest silindrikujulise konstruktsiooni sees, võimaldades ka pärast mõningast arutelu kiirendusi, millele CanSat allutatakse., otsustati mõlemad struktuurid soovitud kuju külge kinnitada kõrge tihedusega vahuga.

Väliskonstruktsioon ehitati soovitud läbimõõduga PVC -torude abil, et konstruktsiooni sulgemiseks kasutada mõningaid PVC -torude katteid

6. samm: järeldused ja tulevikumõtted

CanSatit tuleb veel katsetada, me taotleme tegelikult raketivõistlust (mis juhtub detsembris), ka pärast kogu hoone läbimist (tegelikult peame veel mõned asjad lõpetama) ja arendustööd jälgiti, peamiselt võitlusi, näpunäiteid ja isegi häid kogemusi, mida arvasime, et teiega oleks huvitav jagada.

- Projekti algus oli kogu projekti kõige viljakam arenguperiood, kahjuks muutus rühm projekti suhtes selle tähtajaks veidi huvitatuks, võib -olla kohese tulemuse puudumise või lihtsalt suhtlemise puudumise tõttu. projektist tuli välja mitmeid häid asju

- Transiiveri tööle saamiseks kulus palju vaeva, kuna kõik raamatukogud on välja töötatud nullist, ka seetõttu, et selliste asjade testimiseks kulub kaks erinevat programmi ja seadistust

- Meie puhul ei olnud parim idee töötada registrikonfiguratsioonidel põhinevate mikrokontrollerite kallal, mitte kõik liikmed ei suutnud ülejäänud grupiga sammu pidada, mis tõi kaasa mõned probleemid, näiteks ülesannete jagamise. Meie kasutatava mikrokontrolleri jaoks on palju korralikke C -raamatukogusid, nii et nende ressursside kasutamine oleks olnud palju parem mõte, olemas on ka IDE nimega Code Composer, mis pakub ka nende mikrokontrollerite jaoks palju ressursse.

- CanSat vajab veel palju täiustusi, see kogemus põhines põhitehnikatel ja oskustel, samuti ei võetud arvesse mitmeid küsimusi, nii et tulevikus võib loodetavasti selle CanSati tipptasemel versioon reaalsuseks muutuda suurema vaeva ja raske tööga.

Soovitan: