This shows you the differences between two versions of the page.
pm:prj2023:gpatru:mini-satelit [2023/05/29 21:09] sebastian.severin [Software Design] |
pm:prj2023:gpatru:mini-satelit [2023/06/01 13:37] (current) sebastian.severin [Software Design] |
||
---|---|---|---|
Line 19: | Line 19: | ||
<note tip> | <note tip> | ||
Satelitul va avea mai multe stari: | Satelitul va avea mai multe stari: | ||
- | - Components check (la PowerOn verifica starea fiecarei componente si transmite catre GroundStation statusul lor) | + | - Components check (la PowerOn verifica starea fiecarei componente si transmite pe interfata seriala statusul lor) |
- | - Running normally (dupa "Components check" inregistreaza date de la senzori si GPS, le stocheaza local si le transmite la sol datele o data pe secunda) | + | - Running normally (dupa "Components check" inregistreaza date de la senzori si GPS, le stocheaza local si transmite la sol datele o data pe secunda) |
- Running low-power (datele de la senzori sunt stocate doar local, iar datele de la GPS sunt transmise la sol doar o data la fiecare 5 secunde; va fi implementat ulterior) | - Running low-power (datele de la senzori sunt stocate doar local, iar datele de la GPS sunt transmise la sol doar o data la fiecare 5 secunde; va fi implementat ulterior) | ||
</note> | </note> | ||
Line 103: | Line 103: | ||
* SPI | * SPI | ||
* SD | * SD | ||
+ | Codul trece mai intai prin starea 1 in care initializeaza toti senzorii si partile de comunicare. Daca apar erori mini-satelitul se blocheaza in aceasta stare si printeaza mesajele de eroare corespunzatoare pe interfata seriala. Daca initializarile se fac cu succes, atunci trece in modul normal de functionare unde inregistreaza datele de la senzori si GPS, le stocheaza local pe cardul SD si le transmite si la sol prin intermediul modulului LoRa. | ||
+ | Cod sursa: | ||
+ | {{:pm:prj2023:gpatru:minisatelit.zip|}} | ||
+ | </note> | ||
+ | |||
+ | <note important> | ||
+ | **Biblioteci adaptate** | ||
+ | |||
+ | Din cauza arhitecturii diferite folosite de modulul, NINA-B306 bazat pe microcontroller-ul nrf52840 produs de Nordic Semiconductors, a trebuit sa editez cel putin partial majoritatea bibliotecilor de la Adafruit si biblioteca LoRa pentru a putea obtine un produs final functional. Editarile au fost majoritar necesare din cauza unor diferente intre bibliotecile Wire si SPI dedicate nrf52840 (ARM Cortex M4) si cele dedicate produselor AVR. | ||
</note> | </note> | ||
<note tip> | <note tip> | ||
- | **Pogramul de pe statia de la sol:** | + | **Programul de pe statia de la sol:** |
+ | |||
+ | Este de asemenea scris in Arduino IDE si implementează o comunicare LoRa cu mini-satelitul. Datele primite sunt mai apoi trimise pe interfata seriala a laptopului pentru a putea fi procesate de interfata grafica dedicata acestui proiect. | ||
+ | |||
+ | Sursa arduino: | ||
+ | {{:pm:prj2023:gpatru:groundstation.zip|}} | ||
</note> | </note> | ||
Line 124: | Line 138: | ||
{{:pm:prj2023:gpatru:interfatagraficasatelit.jpg?600|}} | {{:pm:prj2023:gpatru:interfatagraficasatelit.jpg?600|}} | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | In ciuda multor probleme aparute pe parcurs (lipsa bootloaderului pe NINA-uri, programatoare incompatibile, program la facultate mult prea incarcat) |
- | </note> | + | proiectul reprezinta o reusita (functioneaza nominal toate elementele integrate). Am pornit de la ideea de CanSat cu scopul de a comprima cat mai mult tot sistemul embedded pentru a facilita integrarea mai multor astfel de sisteme intr-o doza de suc. Mai sunt elemente aditionale pe care voiam sa le adaug proiectului, dar pe care din lipsa de timp nu am reusit momentan (mai e timp pana la PM fair :-D), dar pe care sigur le voi adauga pana cand voi transforma acest proiect in proiectul meu de licenta. |
- | ===== Concluzii ===== | + | P.S. Carcasa mini-satelitului este 3D printata, iar parasuta am realizat-o din panza de parapanta. |
- | ===== Download ===== | + | {{:pm:prj2023:gpatru:parachute.jpg?400|}} |
- | <note warning> | + | Demo transmisie date: |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | [[https://drive.google.com/file/d/1vVw9gzxmqblScGr8cPGoZSD1W-FcQChJ/view?usp=share_link]] |
</note> | </note> | ||
+ | **Produs final:** | ||
+ | |||
+ | {{:pm:prj2023:gpatru:sectiune-sat2.jpg?200|}} {{:pm:prj2023:gpatru:sectiune-sat.jpg?200|}} | ||
+ | |||
+ | **Statie sol:** | ||
+ | |||
+ | {{:pm:prj2023:gpatru:gs_fin.jpg?200|}} | ||
+ | |||
+ | |||
+ | |||
+ | ===== Concluzii ===== | ||
+ | A fost o experienta foarte interesanta, ce a dat stratul proiectului de licenta. 8-) | ||
+ | ===== Download ===== | ||
+ | {{:pm:prj2023:gpatru:fullproject_severinsebastian.zip|}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 155: | Line 175: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | [[https://content.u-blox.com/sites/default/files/NINA-B3_DataSheet_UBX-17052099.pdf]] |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | [[http://djynet.net/?p=969]] |
+ | |||
+ | [[https://cdn.sparkfun.com/assets/6/d/0/b/9/Qwiic_SGP40-Schematic.pdf]] | ||
+ | |||
+ | [[https://cdn.sparkfun.com/assets/e/6/2/6/d/Sensirion_Gas_Sensors_SGP40_Datasheet.pdf]] | ||
+ | |||
+ | [[https://cdn.sparkfun.com/assets/learn_tutorials/1/1/6/8/Environmental_Sensor_Breakout_BME680.pdf]] | ||
+ | |||
+ | [[https://cdn.sparkfun.com/assets/8/a/1/c/f/BME680-Datasheet.pdf]] | ||
+ | |||
+ | [[https://cdn.sparkfun.com/datasheets/Sensors/IMU/Triple_Axis_Accelerometer-Gyro_Breakout_-_MPU-6050_v12.pdf]] | ||
+ | |||
+ | [[https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf]] | ||
+ | |||
+ | [[https://ocw.cs.pub.ro/courses/icalc/proiect2023]] | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||