1. Úvod
o 1.1. Představení projektu MobileTracker
Smyslem projektu je pořizovat astronomické snímky mobilním telefonem s expoziční dobou kolem 1 minuty.
o 1.2. Srovnání s pantovým stolkem pro astrofotografii
Největším problémem pantových stolků je omezený celkový expoziční čas, maximálně několik desítek minut. Po uplynutí této doby se pantový stolek musí nastavit do výchozí polohy a znovu provést úpravy polohy záznamového zařízení. Dalším problémem je vytvoření oblouku na závitové tyči, což se v amatérských podmínkách provádí poměrně těžko. Všechny tyto aspekty, ve spojení s kloubem u paměťového stolku, přinášejí do zařízení mechanické nepřesnosti, které se na fotografii mohou negativně projevit. V případě problémů je velice obtížné zjistit, zda se jedná o mechanický či softwarový problém. Výhodou pantového stolku jsou zpravidla menší rozměry.
V tomto projektu tyto problémy odpadají, protože otáčení polohy osy je kontinuální o 360 stupňů a vzhledem k použité převodovce disponuje i větším kroutícím momentem. Díky tomuto řešení je zajištěna vyšší přesnost a stabilita při dlouhodobém sledování, což je klíčové pro kvalitní astrofotografii. Navíc, absence mechanických kloubů a pantů eliminuje riziko mechanických chyb a umožňuje plynulé a konzistentní otáčení, což je ve srovnání s tradičními pantovými stolky výraznou výhodou.
2. Cíle projektu
o 2.1. Hlavní cíl
Pořizovat kvalitní astronomické snímky mobilním telefonem s dlouhou expoziční dobou, která je umožněna přesným a stabilním otáčením zařízení.
o 2.2. Sekundární cíl
Pořizovat kvalitní astronomické snímky s DSLR a objektivem 50 mm, po dobu min.1 min. Tohoto cíle lze dosáhnout s motorem Nema17 s odpovídajícím driverem. Přichází v úvahu driver L298N (Half-Step plus převodovka 99.5:1), nebo A4988, DRV8833, DRV5585, TMC2209. V případě L298N stačí v programu upravit počet kroků na otáčku, časování kroku a převodový poměr. Při použití jiných driverů se musí definovat piny ENABLE, DIR a STEP a provést ty samé změny jako u L928N.
3. Materiály a nástroje
o 3.1. Hardware
Seznam komponent:
Arduino UNO
Stepper motor 28BYJ-48 s převodovkou 10:1, 12V verze
OLED displej (Adafruit SSD1306)
Rezistory (R1=100 kΩ, R2=47 kΩ)
Rezistory (R3, R4, R5 pro LED cca 350Ω)
Baterie 3x18650 Li-ion (3200 mAh)
Tlačítka (BUTTON_PIN, BUTTON_STOP, BUTTON_REW, BUTTON_FFD)
LED indikátory (LED_SIDERAL, LED_LUNAR, LED_SOLAR)
3S pack pro 18650 baterie
Redukce fotografický šroub na M6
Převodovka 10:1, 120T – otvor 8 mm, 12T, otvor 5 mm, řemen 280 mm, šíře 10 mm
Ložiska upínací, průměr 8 mm (KLF08)
o 3.2. Software
Použité knihovny:
Wire.h
Adafruit_GFX.h
Adafruit_SSD1306.h
Fonts/FreeSerif9pt7b.h
math.h
Vývojové prostředí: Arduino IDE
o 3.3. Další nástroje
Pájka
Kalafuna nebo obdobné činidlo
Vrtačka
Lupínková pilka
Pilník
Izolační bužírka na spoje
Horkovzdušná pistole
4. Návrh a architektura systému
o 4.1. Schématické zapojení
Diagramy zapojení jednotlivých komponent.
Schéma pro dělič napětí (měření baterie):
Baterie (+)
|
R1
|
+-----> A3 (Arduino)
|
R2
|
GND (Arduino)
Schéma pro LED:
Arduino Pin D2 --- [220Ω] ---|>|--- GND
(Siderální LED)
Arduino Pin D3 --- [220Ω] ---|>|--- GND
(Lunární LED)
Arduino Pin D4 --- [220Ω] ---|>|--- GND
(Solární LED)
Schéma pro tlačítka:
Arduino Pin 2 --- [Tlačítko] --- GND
(BUTTON_PIN)
Arduino Pin 3 --- [Tlačítko] --- GND
(BUTTON_STOP)
Arduino Pin 6 --- [Tlačítko] --- GND
(BUTTON_REW)
Arduino Pin 7 --- [Tlačítko] --- GND
(BUTTON_FFD)
Schéma pro OLED:
+5V (Arduino) --- VCC OLED
GND (Arduino) --- GND OLED
A4 (SDA) (Arduino) --- SDA OLED
A5 (SCL) (Arduino) --- SCL OLED
Schéma zapojení motoru – není zahrnuto napájení pro logiku +5V a GND. Napájení samotného motoru je řešeno odděleně (12V). Platné pro ULN2003. U L928N nezapojovat logiku 5V, viz datasheet na konci dokumentu!
Arduino Pin 8 ---[IN1]--- Stepper Motor
Arduino Pin 9 ---[IN2]--- Stepper Motor
Arduino Pin 10---[IN3]--- Stepper Motor
Arduino Pin 11---[IN4]--- Stepper Motor
o 4.2. Softwarová architektura
Struktura kódu, hlavní funkce a jejich interakce.
V této části je popsána softwarová architektura projektu „MobileTracker“, zaměřující se na strukturu kódu, hlavní funkce a jejich interakce. Cílem je poskytnout přehled o tom, jak jsou jednotlivé komponenty kódu organizovány a jak spolu vzájemně komunikují, aby zajistily správnou funkčnost celého systému.
4.2.1. Struktura Kódu
Kód je strukturován do několika hlavních částí, které jsou organizovány tak, aby byla zajištěna přehlednost, modularita a snadná údržba. Níže je uveden přehled hlavních částí kódu:
1. Inkluze knihoven
o Wire.h: Pro komunikaci přes I2C.
o Adafruit_GFX.h a Adafruit_SSD1306.h: Pro ovládání OLED displeje.
o Fonts/FreeSerif9pt7b.h: Pro použití specifického fontu na OLED displeji.
o math.h: Pro matematické výpočty.
2. Definice pinů a konstant
o Definice digitálních a analogových pinů pro tlačítka, LED diody, stepper motor a měření baterie.
o Konstanty pro napětí baterie, rezistory děliče napětí, sekvence kroků motoru a režimy rychlosti.
3. Inicializační funkce
o setup(): Inicializace všech komponent, nastavení pinů, inicializace OLED displeje, zobrazení startovací obrazovky a první měření baterie.
4. Hlavní smyčka
o loop(): Neustálé volání funkcí pro kontrolu tlačítek, ovládání LED diod, kontrolu baterie, ruční otáčení motoru a aktualizaci displeje.
5. Pomocné funkce
o checkButtons(): Detekce a zpracování stisknutí tlačítek.
o handleFastRotation(): Řízení rychlého přetáčení motoru při stisknutí tlačítek REW a FFD.
o toggleMode(): Přepínání mezi režimy rychlosti.
o stepMotor(): Provádění kroků motoru podle aktuálního režimu.
o energizeStep(): Aktivace jednotlivých pinů motoru podle sekvence kroků.
o handleLEDs(): Řízení stavu LED diod na základě aktuálního režimu a stavu motoru.
o updateDisplay(): Aktualizace informací na OLED displeji.
o handleBatteryCheck(): Periodické měření stavu baterie.
o measureBattery(): Výpočet napětí baterie na základě hodnoty z analogového pinu.
o showStartupScreen(): Zobrazení startovací obrazovky při spuštění zařízení.
4.2.2. Hlavní funkce a jejich interakce
Níže je podrobnější popis jednotlivých hlavních funkcí a jejich vzájemných interakcí:
1. setup()
o Úloha: Inicializuje všechny komponenty, nastavuje piny, inicializuje OLED displej, zobrazuje startovací obrazovku a provádí první měření baterie.
o Interakce: Volá showStartupScreen() a measureBattery().
2. loop()
o Úloha: Hlavní smyčka programu, která neustále kontroluje vstupy a aktualizuje výstupy.
o Interakce: Volá checkButtons(), handleLEDs(), handleBatteryCheck(), handleFastRotation(), stepMotor(), a updateDisplay().
3. checkButtons()
o Úloha: Detekuje stisknutí tlačítek a podle toho přepíná režimy nebo zastavuje motor.
o Interakce: Pokud je tlačítko stisknuto, volá toggleMode() nebo upravuje stav motoru.
4. handleFastRotation(int direction, const char* label)
o Úloha: Řídí rychlé přetáčení motoru při stisknutí tlačítek REW (zpětné) nebo FFD (vpřed).
o Interakce: Upravuje stepIndex a ovládá motor přímo, dočasně mění aktuální režim.
5. toggleMode()
o Úloha: Přepíná mezi režimy rychlosti (SIDERAL, LUNAR, SOLAR).
o Interakce: Mění currentMode a aktualizuje stepDelay podle nového režimu.
6. stepMotor()
o Úloha: Provádí jeden krok motoru podle aktuálního režimu a směru.
o Interakce: Volá energizeStep() a aktualizuje stepIndex a stepCount.
7. energizeStep(int idx)
o Úloha: Aktivuje jednotlivé piny motoru podle sekvence kroků.
o Interakce: Píše hodnoty na piny motoru definované v stepSequence.
8. handleLEDs()
o Úloha: Řídí stav LED diod podle aktuálního režimu a stavu motoru (aktivní nebo zastavený).
o Interakce: Ovládá piny LED diod A0, A1, A2.
9. updateDisplay()
o Úloha: Aktualizuje informace na OLED displeji, jako je aktuální režim, rychlost, stav motoru a stav baterie.
o Interakce: Čte piny motoru pro zobrazení jejich stavů, zobrazuje text a grafické prvky.
10. handleBatteryCheck() a measureBattery()
o Úloha: Periodicky měří stav baterie pomocí děliče napětí a aktualizuje procentuální stav baterie.
o Interakce: Čte analogový pin A3 a vypočítává napětí baterie.
11. readHemisfery()
o Čte stav pinu 13 pro určení, zda je vybrána severní nebo jižní polokoule
o Aktualizuje proměnnou reversed podle výsledku čtení
o Informuje ostatní funkce o aktuálním stavu hemisféry pro správné směrování motoru
12. showStartupScreen()
o Úloha: Zobrazuje startovací obrazovku s informacemi o zařízení a jeho nastavení.
o Interakce: Volá se pouze v setup().
4.2.3. Diagram interakcí funkcí (textová forma)
Níže je uveden textový přehled, jak jednotlivé funkce spolupracují:
setup()
├─ Initializes OLED displej
├─ Sets pin modes
├─ Displays startup screen (showStartupScreen())
└─ Measures initial battery status (measureBattery())
└─ readHemisfery()
loop()
├─ checkButtons()
│ ├─ Detects button presses
│ └─ May call toggleMode() or set motorStopped
├─ handleLEDs()
├─ handleBatteryCheck()
├─ handleFastRotation() [if REW or FFD button pressed]
├─ stepMotor() [if motor is not stopped and delay has passed]
└─ updateDisplay()
toggleMode()
└─ Changes currentMode and updates stepDelay
stepMotor()
├─ Calls energizeStep()
├─ Updates stepIndex and stepCount
└─ Checks if stepCount exceeds stepsPerRevolution
energizeStep(int idx)
└─ Sets motor pins according to stepSequence[idx]
handleFastRotation(int direction, const char* label)
└─ Temporarily changes stepIndex and stepDelay for fast rotation
handleLEDs()
└─ Controls LED diodes based on currentMode and motorStopped
updateDisplay()
└─ Updates OLED displej with current status and information
handleBatteryCheck()
└─ Periodically calls measureBattery()
measureBattery()
└─ Reads analog pin A3, calculates batteryVoltage and batteryPercent
4.2.4. Popis klíčových modulů a jejich role
1. Inicializační modul
o Funkce: setup()
o Role: Nastavuje počáteční stav systému, inicializuje hardware a zobrazuje úvodní informace.
2. Hlavní řídicí modul
o Funkce: loop()
o Role: Spravuje hlavní logiku aplikace, zajišťuje neustálé sledování vstupů a aktualizaci výstupů.
3. Modul ovládání tlačítek
o Funkce: checkButtons(), handleFastRotation(), toggleMode()
o Role: Zpracovává vstupy z tlačítek, přepíná mezi režimy a umožňuje ruční ovládání motoru.
4. Modul ovládání motoru
o Funkce: stepMotor(), energizeStep()
o Role: Ovládá krokový motor
5. Modul ovládání LED diody
o Funkce: handleLEDs()
o Role: Indikuje aktuální režim a stav motoru pomocí LED diod.
6. Modul zobrazení
o Funkce: updateDisplay(), showStartupScreen()
o Role: Zajišťuje aktualizaci a správné zobrazení informací na OLED displeji.
7. Modul měření baterie
o Funkce: handleBatteryCheck(), measureBattery()
o Role: Monitoruje stav baterie a aktualizuje procentuální hodnotu na displeji.
8. readHemisfery()
o Funkce: aktualizuje proměnou reversed podle výsledků čtení
o Role: nastavuje směr otáčení podle hemisféry, a otáčí REW a FFD směr
4.2.5. Diagram toků (Flowchart) - textová forma
Níže je textový popis toků dat a řízení v rámci softwarové architektury:
Start -> setup()
|
v
loop()
|
+--> checkButtons()
| |
| +--> toggleMode() / set motorStopped
|
+--> handleLEDs()
|
+--> handleBatteryCheck()
|
+--> handleFastRotation() [if REW/FFD pressed]
|
+--> stepMotor() [if motor not stopped]
|
+--> updateDisplay()
|
v
[Repeat]
4.2.6. Interakce mezi moduly
• Inicializační modul spustí systém a připraví všechny komponenty.
• Hlavní řídicí modul neustále volá funkce, které zajišťují interakci mezi vstupy (tlačítka) a výstupy (LED diody, motor, displej).
• Modul ovládání tlačítek reaguje na uživatelské vstupy a přepíná režimy nebo zastavuje motor.
• Modul ovládání motoru řídí krokování motoru podle aktuálního režimu.
• Modul ovládání LED diody vizuálně indikuje aktuální stav systému.
• Modul zobrazení prezentuje informace uživateli prostřednictvím OLED displeje.
• Modul měření baterie monitoruje napětí baterie a zajišťuje, že systém informuje uživatele o stavu napájení.
4.2.7. Návrh pro budoucí rozšíření
Softwarová architektura je navržena tak, aby umožnila snadné rozšíření funkcionalit:
• Přidání dalších režimů: Můžete přidat nové režimy rychlosti nebo jiné funkce rozšířením enum SpeedMode a přidáním odpovídajících logik v toggleMode().
• Integrace senzorů: Přidání dalších senzorů (např. teploměr, vlhkoměr, GPS) a jejich integrace do modulů pro zobrazení na OLED displeji.
• Zlepšení uživatelského rozhraní: Implementace komplexnějšího rozhraní na OLED displeji s více informacemi a interaktivními prvky.
• Optimalizace krokování motoru: Zavedení mikrostepping technik nebo použití pokročilejších motorových driverů pro přesnější ovládání motoru. Projekt lze jednoduše portovat i pro použití motoru NEMA17 s externí převodovkou a L928N. Nutno upravit v kódu: počet kroků na 1 otáčku, aktualizovat informace o převodovce, ponechat Half-Step sekvenci a upravit délku kroku.
4.2.8. Shrnutí
Softwarová architektura projektu „MobileTracker“ je pečlivě strukturována tak, aby jednotlivé moduly byly jasně odděleny a snadno spravovatelné. Hlavní funkce jsou navrženy pro specifické úlohy, což umožňuje efektivní řízení motoru, LED diod, tlačítek a OLED displeje. Modularita kódu usnadňuje budoucí rozšíření a údržbu systému, což přispívá k robustnosti a flexibilitě celého projektu.
o 4.3. Mechanická konstrukce
Popis mechanických částí projektu, způsob montáže motoru, upevnění OLED displeje atd.
Jako krabička posloužil výrobek od firmy Hamond, s rozměry 160x103x53. Nedodopružuji použít menší, pro Arduino UNO je to akorát. Přetože projekt by měl jít portovat i na Arduino NANO, čímž by se ušetřilo místo, mě se to nepodařilo a měl jsem s tím problémy. Neříkám, že je to vyloučeno, ale muíte počítat s důkladným testováním. Proto jsem zůstal radči u UNA.
Cěla krabičky můžete použít původní, jenom bude potřeba vyvrtat otvory pro LED a vypánače a vyříznout lupínkovou pilkou otvot pro OLED. Pro něj doporučuji koupit či vytisknou montážní rámeček.
5. Implementace
o 5.1. Hardwarová implementace
Postup zapojení komponent:
Popis zapojení
Arduino UNO
VCC +12V přímo ze zdroje, GND - GND
OLED Displej (SSD1306):
SDA (A4) připojeno k pinu A4 na Arduino.
SCL (A5) připojeno k pinu A5 na Arduino.
VCC připojeno k 5V či 3.3V, dle dokumentace na Arduino.
GND připojeno ke společné zemi (GND) na Arduino.
Stepper Motor 28BYJ48 s převodovkou 10:1:
MOTOR_PIN_1 (8) připojen k prvnímu kroku motoru.
MOTOR_PIN_2 (9) připojen k IN2 u driveru motoru.
MOTOR_PIN_3 (10) připojen k IN3 u driveru motoru.
MOTOR_PIN_4 (11) připojen k IN4 u driveru motoru.
Napájení motoru připojeno k 12V a GND přímo ke zdroji.
Pro ULN2003 je nutno přivést na logiku +5V a GND
(Pokud bude potřeba, lze pro napájení zvolit step up, či step down měnič. Myslete ale na vyhlazení napájení a také na to, aby měření baterie probíhalo před měničem.)
Tlačítka:
BUTTON_PIN (2) připojeno k hlavnímu tlačítku pro volbu režimu.
BUTTON_STOP (3) připojeno k tlačítku pro okamžité zastavení motoru.
BUTTON_REW (6) připojeno k tlačítku pro přetáčení zpět (REW).
BUTTON_FFD (7) připojeno k tlačítku pro přetáčení dopředu (FFD).
Všechna tlačítka mají interní pull-up rezistory aktivované pro stabilní čtení stavu tlačítek. Společně jsou všechny připojeny k GND.
LED indikátory:
LED_SIDERAL (A0) připojeno k LED indikátoru Siderálního režimu.
LED_LUNAR (A1) připojeno k LED indikátoru Lunárního režimu.
LED_SOLAR (A2) připojeno k LED indikátoru Solárního režimu.
Každý LED indikátor je připojen přes vhodný rezistor pro omezení proudu. Společně jsou připojeny k GND.
Měření baterie:
Maximální napájení je stanovena na 15 V. Při překročení hrozí zničení Arduina. Optimální napájení je v rozmezí 11 - 13 V!
BATTERY_PIN (A3) připojeno k výstupu děliče rezistorů (R1=100kΩ, R2=47kΩ).
R1 je připojen mezi pozitivní pól baterie a A3.
R2 je připojen mezi A3 a GND na Arduino.
Tímto způsobem se měří napětí baterie bezpečně a nepřekračuje hodnotu 5 V pro vstup na A3.
Detekce hemisféry:
Pin 13 na Arduino je nastaven jako INPUT_PULLUP a připojen k senzoru nebo spínači pro detekci hemisféry (NORTH/SOUTH).
Pokud je pin 13 připojen k LOW signálu, projekt je nastaven na jih.
Pokud je pin 13 připojen k HIGH signálu, projekt je nastaven na sever.
Zapojení pro HIGH: D13 – GND
Bezpečnostní poznámky:
Napětí na analogových pinech:
Díky rezistorovému děliči (R1=100kΩ, R2=47kΩ) je napětí měřeno na pinu A3 bezpečně sníženo a nepřekročí 5V, což je maximální napětí pro analogové vstupy Arduino UNO.
Pájení:
Všechna spojení by měla být pečlivě provedená s použitím kvalitní pájky, aby se zabránilo krátkým spojům nebo neúmyslným odpojením.
Stabilní napájení:
Ujistěte se, že baterie jsou správně připojeny a že je napájení stabilní, aby nedošlo k poškození komponent.
Pokud bude potřeba vyhladit napájení, zvolte:
• Elektrolytický kondenzátor:
• Hodnota: 1000 µF, 25V
• Účel: Vyhlazení nízkofrekvenčních výkyvů napájení.
• Umístění: Připojený paralelně k napájecímu zdroji (např. mezi +V a GND).
• Keramický kondenzátor:
• Hodnota: 0,1 µF (100 nF)
• Účel: Filtrace vysokofrekvenčních šumů a rušení.
• Umístění: Blízko napájecích pinů Arduino, motorových ovladačů a dalších citlivých komponent.
Tipy a triky pro úspěšné sestavení.
V případě použití měniče zvažte použití kombinace kondenzátorů, elektrolytického s keramického, pro vyhlazení.
Zvažte tisk či nákup rámečku na OLED display. Tento display (128x64) se prodává ve více variantách, zvolte správný rámeček.
GND od tlačítek a LED můžete propojit mezi sebou a k Arduinu přivést pouze jeden GND vodič ze skupiny.
Ověřte si jas diod a podle toho můžete změnit hodnotu rezistorů.
Pokud chcete zařízení pouze vyzkoušet, nemusíte vše pájet, stačí použít dupont vodiče.
o 5.2. Softwarová implementace
Poslední verze ke stačení ZDE: dostupné na klik (vyžaduje heslo)
Aktuální verze: Firmware 2512 v.9bA3
6. Testování a ladění
o 6.1. Testovací scénáře
Provedené měření doby otáčení o zvolený úhel za určitý čas.
Pro ověření funkčnosti systému byly provedeny měření doby otáčení o zvolený úhel za určitý čas pro jednotlivé režimy. Níže jsou uvedeny tabulky s odhady doby otáčení pro různé úhly v jednotlivých režimech (Siderální, Lunární, Solární). Platné pro 28BYJ48. U NEMA17 časy budou stejné, ale počet kroků bude mírně jinak.
Tabulka 1: Doba otáčení v Siderálním režimu 28BYJ48 12V
Úhel (°) Počet Kroků Doba Otáčení (s) Doba Otáčení h:m:s
5 569 1 197,807 00:19:58
10 1 138 2 395,614 00:39:56
15 1 707 3 593,421 00:59:53
20 2 276 4 791,228 01:19:51
25 2 845 5 989,035 01:38:09
30 3 414 7 186,842 01:59:46
35 3 983 8 384,649 02:19:44
40 4 552 9 582,456 02:39:42
45 5 121 10 780,263 03:00:56
180 20 480 43 082,000 11:58:02
360 40 960 86 164,000 23:56:04
Poznámka:
• stepDelay pro Siderální režim je nastaven na 2,103 sekundy na krok.
• Hodnoty jsou orientační a mohou se mírně lišit v závislosti na přesnosti měření a mechanických vlastnostech systému.
Tabulka 2: Doba otáčení v Lunárním režimu 28BYJ48 12V
Úhel (°) Počet kroků Doba otáčení (s) Doba otáčení H:m:s
5 569 1 241,163 00:20:41
10 1 138 2 482,326 00:41:22
15 1 707 3 734,169 01:02:14
20 2 276 4 968,012 01:22:48
25 2 845 6 208,015 01:43:28
30 3 414 7 463,238 02:07:43
35 3 983 8 700,801 02:25:00
40 4 552 9 930,264 02:45:30
45 5 121 11 161,887 03:06:01
180 20 480 44 780,160 12:26:20
360 40 960 89 560,320 24:46:40
Poznámka:
• stepDelay pro Lunární režim je nastaven na 2,187 sekund na krok.
• Hodnoty jsou orientační a mohou se mírně lišit v závislosti na přesnosti měření a mechanických vlastnostech systému.
• U režimu Lunar je pro výpočet nutno zohlednit nejenom oběh Měsíce kolem Země, ale i rotaci Země.
Tabulka 2: Doba otáčení v Solárním režimu 28BYJ48 12V
Úhel (°) Počet Kroků Doba otáčení (s) Doba otáčení H:m:s
5 569 1 197,807 00:19:58
10 1 138 2 395,614 00:39:56
15 1 707 3 593,421 00:59:53
20 2 276 4 791,228 01:19:51
25 2 845 5 989,035 01:38:09
30 3 414 7 186,842 01:59:46
35 3 983 8 384,649 02:19:44
40 4 552 9 582,456 02:39:42
45 5 121 10 780,263 03:00:56
180 20 480 43 200,000 12:00:00
360 40 960 86 400,000 24:00:00
Poznámka:
• stepDelay pro Lunární režim je nastaven na 2,109 sekund na krok.
• Hodnoty jsou orientační a mohou se mírně lišit v závislosti na přesnosti měření a mechanických vlastnostech systému.
Shrnutí:
• Siderální Režim:
o 360° Otáčení: 23:56:04
• Lunární Režim:
o 360° Otáčení: 24:46:40
• Solární Režim:
o 360° Otáčení: 23:56:34
o 6.2. Výsledky testů
Popis výsledků, zjištěné problémy a jejich řešení.
o 6.3. Optimalizace
Úpravy provedené na základě testování pro zlepšení výkonu a stability:
Byly zadány přesné hodnoty rezistorů pro napěťový dělič a úroveň nabití baterie byla testována multimetrem.
Ověřeny hodnoty ve stepDelay
Upraven grafický vizuál baterie
Logičtější umístění tlačítek REW a FFD
7. Cena součástek
Tabulka cen v CZK:
Komponenta 28BYJ48 Nema17
Arduino UNO 700 700
Stepper motor 28BYJ-48 150 200
Převodovka 10:1 set 800 200
I2C OLED displej 1,3 170 170
Rezistory (set) 80 80
Baterie 3x18650 Li-ion 600 800 (Parkside)
Tlačítka (sada) 100 100
LED indikátory (sada) 80 80
Další nástroje
(pájka, spojovací materiál) 300 300
Ložiska 8 mm,
upínací KFL08 100 x
3D tisk
Šroub redukce ¼ na M6 50 50
Kulová hlava 330 330
Držák na mobil 150 150
Hamond krabička 450 450
Celkem: 4060 3610
návštěvníků stránky | |
---|---|
celkem | 215 137 |
tento týden | 97 |
dnes | 43 |