@jjlmoya/utils-drones 1.23.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -0
  3. package/src/entries.ts +4 -0
  4. package/src/tests/locale_completeness.test.ts +2 -2
  5. package/src/tests/tool_validation.test.ts +2 -2
  6. package/src/tool/fpv-drone-thrust-to-weight-ratio/bibliography.astro +6 -0
  7. package/src/tool/fpv-drone-thrust-to-weight-ratio/bibliography.ts +18 -0
  8. package/src/tool/fpv-drone-thrust-to-weight-ratio/component.astro +203 -0
  9. package/src/tool/fpv-drone-thrust-to-weight-ratio/controller.ts +240 -0
  10. package/src/tool/fpv-drone-thrust-to-weight-ratio/dom-views.ts +148 -0
  11. package/src/tool/fpv-drone-thrust-to-weight-ratio/entry.ts +27 -0
  12. package/src/tool/fpv-drone-thrust-to-weight-ratio/evaluator.ts +30 -0
  13. package/src/tool/fpv-drone-thrust-to-weight-ratio/fpv-drone-thrust-to-weight-ratio.css +404 -0
  14. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/de.ts +208 -0
  15. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/en.ts +208 -0
  16. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/es.ts +208 -0
  17. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/fr.ts +208 -0
  18. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/id.ts +208 -0
  19. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/it.ts +208 -0
  20. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ja.ts +208 -0
  21. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ko.ts +208 -0
  22. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/nl.ts +208 -0
  23. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/pl.ts +208 -0
  24. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/pt.ts +208 -0
  25. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ru.ts +208 -0
  26. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/sv.ts +208 -0
  27. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/tr.ts +208 -0
  28. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/zh.ts +208 -0
  29. package/src/tool/fpv-drone-thrust-to-weight-ratio/index.ts +10 -0
  30. package/src/tool/fpv-drone-thrust-to-weight-ratio/logic.test.ts +93 -0
  31. package/src/tool/fpv-drone-thrust-to-weight-ratio/logic.ts +147 -0
  32. package/src/tool/fpv-drone-thrust-to-weight-ratio/seo.astro +16 -0
  33. package/src/tool/fpv-drone-thrust-to-weight-ratio/storage.ts +19 -0
  34. package/src/tool/fpv-drone-thrust-to-weight-ratio/ui.ts +58 -0
  35. package/src/tools.ts +3 -0
@@ -0,0 +1,208 @@
1
+ import type { FpvDroneThrustToWeightRatioLocaleContent } from '../entry';
2
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import type { SEOSection } from '../../../types';
4
+ import { BIBLIOGRAPHY_ITEMS } from '../bibliography';
5
+
6
+ const slug = 'fpv-dronare-dragkraft-vikt-forhallande-kalkylator';
7
+ const title = 'FPV Drönare Dragkraft Vikt Förhållande och Flygtelemetri Kalkylator';
8
+ const description = 'Beräkna maximal statisk dragkraft, icke-linjär gaskurva, vertikala G-krafter, hovringspunkt och acceleration 0 till 100 för FPV drönare.';
9
+
10
+ const ui = {
11
+ title: 'FPV Drönare Dragkraft Vikt Förhållande Kalkylator',
12
+ subtitle: 'Analysera dragkraftskurvor, gasrespons i realtid, vertikala G krafter och manövrerbarhet',
13
+ presetsHeader: 'Snabbprofiler',
14
+ customPreset: 'Anpassad',
15
+ whoop1sPreset: '1S TinyWhoop (65mm)',
16
+ freestyle35Preset: '4S Freestyle 3.5 Tum',
17
+ freestyle5Preset: '6S Freestyle 5 Tum Pro',
18
+ longrange7Preset: '6S Mountain LR 7 Tum',
19
+ cinelifter8Preset: '8S Tung Cinelifter X8',
20
+ specsHeader: 'Drönar och Drivlinjespecifikationer',
21
+ auwGramsLabel: 'Total startvikt med batteri (g)',
22
+ motorCountLabel: 'Motorkonfiguration',
23
+ thrustPerMotorLabel: 'Max statisk dragkraft per motor (g)',
24
+ propellerSizeLabel: 'Propellerdiameter (tum)',
25
+ propellerPitchLabel: 'Propellerstigning (tum)',
26
+ bladeCountLabel: 'Antal Blad',
27
+ blade2Option: '2 Blad (Tvåblad - Maximal Effektivitet)',
28
+ blade3Option: '3 Blad (Treblad - Freestyle Standard)',
29
+ blade4Option: '4 Blad (Fyrblad - Maximalt Grepp)',
30
+ throttleStickHeader: 'Live Gasspakssimulator',
31
+ throttleStickLabel: 'Gasreglageposition (%)',
32
+ snapIdleLabel: 'Tomgång (0%)',
33
+ snapHoverLabel: 'Hovringspunkt',
34
+ snapCruiseLabel: 'Marschfart (50%)',
35
+ snapPunchLabel: 'Fullgas (100%)',
36
+ telemetryHeader: 'FPV Flygtelemetri och Prestandadiagnos',
37
+ twrRatioLabel: 'Dragkraft till Vikt Förhållande (TWR)',
38
+ hoverThrottleLabel: 'Gaspådrag vid Hovring',
39
+ currentThrustLabel: 'Aktuell Utvecklad Dragkraft',
40
+ instantGForceLabel: 'Momentan Vertikal G-Kraft',
41
+ zeroToHundredLabel: 'Tid 0 till 100 km/h i Punch',
42
+ recommendedCamAngleLabel: 'Rekommenderad FPV Kameravinkel',
43
+ windResistanceLabel: 'Vindmotståndsförmåga',
44
+ totalMaxThrustLabel: 'Total Maximal Statisk Dragkraft',
45
+ maxPitchAngleLabel: 'Maximal Lutningsvinkel',
46
+ tuningHeader: 'Betaflight PID och Firmware Rekommendationer',
47
+ tpaRecommendationLabel: 'Gas PID Dämpning (TPA)',
48
+ dynamicIdleLabel: 'Rekommenderad Dynamic Idle',
49
+ propwashRiskLabel: 'Kontrollauktoritet vid Turbulens',
50
+ tierUnderpoweredTitle: 'Undermotoriserad eller Risk för Vinddrift',
51
+ tierUnderpoweredDesc: 'TWR under 2 till 1 ger otillräcklig kraft för att häva snabba dykningar. Endast lämplig för lugn inomhusflygning.',
52
+ tierCinematicTitle: 'Mjuk Kinematisk Flygning',
53
+ tierCinematicDesc: 'TWR mellan 2 till 1 och 4 till 1 ger följsam gaskontroll och vibrationsfria videoinspelningar.',
54
+ tierFreestyleTitle: 'Sportig och Snabb Freestyle',
55
+ tierFreestyleDesc: 'TWR mellan 4 till 1 och 8 till 1 ger snabb respons och rena akrobatiska manövrer.',
56
+ tierAcroProTitle: 'Högpresterande Akrobatik och Bando Freestyle',
57
+ tierAcroProDesc: 'TWR mellan 8 till 1 och 13 till 1 ger explosiv vertikal acceleration och omedelbar dämpning av propwash.',
58
+ tierRacingExtremeTitle: 'Extrem Drönarracing',
59
+ tierRacingExtremeDesc: 'TWR över 13 till 1 levererar den råa kraft som krävs på professionella FPV racingbanor.',
60
+ hudThrustCurveTitle: 'Icke-linjär Dragkraftskurva',
61
+ hudHoverMarker: 'Hovringspunkt',
62
+ hudCurrentStickMarker: 'Aktuell Gas',
63
+ hudGForceLabel: 'G-Krafter',
64
+ hudTiltAngleLabel: 'Kameravinkel',
65
+ hudVectorPowerLabel: 'Drivlinjetelemetri i Realtid',
66
+ };
67
+
68
+ const faqItems = [
69
+ {
70
+ question: 'Vilket förhållande mellan dragkraft och vikt är bäst för FPV freestyle?',
71
+ answer: 'För freestyle rekommenderas ett TWR mellan 8 till 1 och 12 till 1 för att ge den acceleration som krävs för att häva dykningar och göra snabba svängar.',
72
+ },
73
+ {
74
+ question: 'Hur påverkar den icke-linjära gaskurvan hovring?',
75
+ answer: 'Borstlösa motorer genererar dragkraft proportionellt mot kvadraten på varvtalet. Hovringspunkten ligger vanligtvis mellan 20 och 35 procent på kraftfulla drönare.',
76
+ },
77
+ {
78
+ question: 'Varför beror FPV kameravinkeln på dragkraftsförhållandet?',
79
+ answer: 'Drönare med högre TWR flyger snabbare med en brantare framåtlutning. För att hålla horisonten centrerad i glasögonen vinklar piloter kameran 35 till 50 grader uppåt.',
80
+ },
81
+ {
82
+ question: 'Hur förändrar antalet propellerblad flygkänslan?',
83
+ answer: 'Tvåbladiga propellrar ger bäst flygtid och toppfart. Trebladiga är standard för freestyle, medan fyrbladiga ger maximalt grepp och bromsverkan i skarpa svängar.',
84
+ },
85
+ ];
86
+
87
+ const howToSteps = [
88
+ {
89
+ name: 'Ange drönarens vikt eller välj förinställning',
90
+ text: 'Fyll i total startvikt i gram inklusive batteri och HD kamera.',
91
+ },
92
+ {
93
+ name: 'Konfigurera motorer och propellrar',
94
+ text: 'Välj antal motorer, blad och tillverkarens maximala bänkdragkraft vid fullgas.',
95
+ },
96
+ {
97
+ name: 'Justera gasreglaget och läs av telemetri',
98
+ text: 'Dra i gasreglaget för att se utvecklad dragkraft, G-krafter och position på effektkurvan.',
99
+ },
100
+ ];
101
+
102
+ const seoSections: SEOSection[] = [
103
+ {
104
+ type: 'title',
105
+ text: 'Aerodynamik kring Dragkraft till Vikt Förhållande för FPV Drönare',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Förhållandet mellan dragkraft och vikt (TWR) avgör acceleration och manöverförmåga hos multirotorer. Inom FPV freestyle ger tillräcklig effektreserv möjlighet att omedelbart avbryta dykningar och navigera precisionstighta passager.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Klassificering av FPV Drönare och Prestandadata',
115
+ level: 2,
116
+ },
117
+ {
118
+ type: 'table',
119
+ headers: ['Plattform', 'Typisk AUW Vikt', 'Mål TWR', 'Gas vid Hovring', '0 till 100 Acceleration', 'Kameravinkel'],
120
+ rows: [
121
+ ['1S TinyWhoop (65mm)', '32g', '4.5 till 1', '35 procent', '1.20 s', '15 till 25 grader'],
122
+ ['4S Freestyle 3.5"', '250g', '12.0 till 1', '24 procent', '0.28 s', '35 till 45 grader'],
123
+ ['6S Freestyle 5" Pro', '680g', '11.5 till 1', '25 procent', '0.30 s', '35 till 50 grader'],
124
+ ['6S Mountain LR 7"', '1150g', '8.3 till 1', '30 procent', '0.45 s', '20 till 30 grader'],
125
+ ['8S Cinelifter X8', '4200g', '6.1 till 1', '38 procent', '0.70 s', '15 till 25 grader'],
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Icke-linjär Gasrespons och Motorkarakteristik',
131
+ level: 2,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Elmotorer utvecklar dragkraft exponentiellt. De sista 20 procenten av gasspaksrörelsen genererar mer än 40 procent av den totala tillgängliga kraften.',
136
+ },
137
+ {
138
+ type: 'list',
139
+ items: [
140
+ 'Hovringsområde (20 till 35 procent): Fin upplösning för precisionskontroll nära marken.',
141
+ 'Marschfartsområde (35 till 65 procent): Stabil framåtflygning med rimlig strömförbrukning.',
142
+ 'Fullgasområde (70 till 100 procent): Maximal vertikal acceleration med höga G-krafter.',
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Propellerval och Betaflight Inställningar',
148
+ level: 2,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'För drönare med TWR över 10 till 1 rekommenderas att aktivera Throttle PID Attenuation (TPA) i Betaflight för att eliminera vibrationer vid fullgas.',
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Tips för Betaflight TPA Inställning',
157
+ html: 'Ställ in TPA brytpunkt på 1250 eller 1350 med en dämpning på 0.65 för att säkerställa perfekt stabilitet på snabba raksträckor.',
158
+ },
159
+ ];
160
+
161
+ const schemas: FpvDroneThrustToWeightRatioLocaleContent['schemas'] = [
162
+ {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faqItems.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ } as WithContext<FAQPage>,
171
+ {
172
+ '@context': 'https://schema.org',
173
+ '@type': 'HowTo',
174
+ name: title,
175
+ description,
176
+ step: howToSteps.map((s, index) => ({
177
+ '@type': 'HowToStep',
178
+ position: index + 1,
179
+ name: s.name,
180
+ text: s.text,
181
+ })),
182
+ } as WithContext<HowTo>,
183
+ {
184
+ '@context': 'https://schema.org',
185
+ '@type': 'SoftwareApplication',
186
+ name: title,
187
+ description,
188
+ applicationCategory: 'UtilityApplication',
189
+ operatingSystem: 'All',
190
+ offers: {
191
+ '@type': 'Offer',
192
+ price: '0',
193
+ priceCurrency: 'SEK',
194
+ },
195
+ } as WithContext<SoftwareApplication>,
196
+ ];
197
+
198
+ export const content: FpvDroneThrustToWeightRatioLocaleContent = {
199
+ slug,
200
+ title,
201
+ description,
202
+ ui,
203
+ seo: seoSections,
204
+ faq: faqItems,
205
+ howTo: howToSteps,
206
+ bibliography: BIBLIOGRAPHY_ITEMS,
207
+ schemas,
208
+ };
@@ -0,0 +1,208 @@
1
+ import type { FpvDroneThrustToWeightRatioLocaleContent } from '../entry';
2
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import type { SEOSection } from '../../../types';
4
+ import { BIBLIOGRAPHY_ITEMS } from '../bibliography';
5
+
6
+ const slug = 'fpv-dron-itme-agirlik-orani-hesaplayici';
7
+ const title = 'FPV Dron İtme Ağırlık Oranı ve Uçuş Telemetrisi Hesaplayıcı';
8
+ const description = 'Maksimum statik itme kuvveti, doğrusal olmayan gaz tepki eğrisi, dikey G kuvveti, hover noktası ve 0 dan 100 e hızlanma süresini hesaplayın.';
9
+
10
+ const ui = {
11
+ title: 'FPV Dron İtme Ağırlık Oranı Hesaplayıcı',
12
+ subtitle: 'İtme eğrilerini, canlı gaz kolu tepkisini, dikey G kuvvetlerini ve çeviklik sınıflarını analiz edin',
13
+ presetsHeader: 'Hızlı Hazır Ayarlar',
14
+ customPreset: 'Özel Ayar',
15
+ whoop1sPreset: '1S TinyWhoop (65mm)',
16
+ freestyle35Preset: '4S Freestyle 3.5 İnç',
17
+ freestyle5Preset: '6S Freestyle 5 İnç Pro',
18
+ longrange7Preset: '6S Mountain LR 7 İnç',
19
+ cinelifter8Preset: '8S Ağır Cinelifter X8',
20
+ specsHeader: 'Dron ve Güç Sistemi Özellikleri',
21
+ auwGramsLabel: 'Batarya Dahil Toplam Ağırlık (g)',
22
+ motorCountLabel: 'Motor Yapılandırması',
23
+ thrustPerMotorLabel: 'Motor Başına Maksimum Statik İtme (g)',
24
+ propellerSizeLabel: 'Pervane Çapı (inç)',
25
+ propellerPitchLabel: 'Pervane Hatvesi (inç)',
26
+ bladeCountLabel: 'Pervane Kanat Sayısı',
27
+ blade2Option: '2 Kanat (Çift Kanat - Maksimum Verimlilik)',
28
+ blade3Option: '3 Kanat (Üç Kanat - Freestyle Standardı)',
29
+ blade4Option: '4 Kanat (Dört Kanat - Maksimum Tutuş)',
30
+ throttleStickHeader: 'Canlı Gaz Kolu Simülatörü',
31
+ throttleStickLabel: 'Gaz Kolu Konumu (%)',
32
+ snapIdleLabel: 'Rölanti (0%)',
33
+ snapHoverLabel: 'Hover Noktası',
34
+ snapCruiseLabel: 'Seyir (50%)',
35
+ snapPunchLabel: 'Tam Güç (100%)',
36
+ telemetryHeader: 'FPV Uçuş Telemetrisi ve Tanılama',
37
+ twrRatioLabel: 'İtme Ağırlık Oranı (TWR)',
38
+ hoverThrottleLabel: 'Hover Gaz Seviyesi',
39
+ currentThrustLabel: 'Üretilen Anlık İtme Kuvveti',
40
+ instantGForceLabel: 'Anlık Dikey G Kuvveti',
41
+ zeroToHundredLabel: '0 dan 100 km/s Hızlanma Süresi',
42
+ recommendedCamAngleLabel: 'Önerilen FPV Kamera Açısı',
43
+ windResistanceLabel: 'Rüzgar Direnç Hızı',
44
+ totalMaxThrustLabel: 'Toplam Maksimum Statik İtme',
45
+ maxPitchAngleLabel: 'Maksimum Eğilme Açısı',
46
+ tuningHeader: 'Betaflight PID ve Yazılım Önerileri',
47
+ tpaRecommendationLabel: 'Gaz PID Zayıflatması (TPA)',
48
+ dynamicIdleLabel: 'Önerilen Dinamik Rölanti',
49
+ propwashRiskLabel: 'Türbülans Kontrol Gücü',
50
+ tierUnderpoweredTitle: 'Düşük Güç veya Rüzgarda Sürüklenme Riski',
51
+ tierUnderpoweredDesc: '2 ye 1 in altındaki TWR ani dalışları durdurmak için yetersiz güç sunar. Sadece sakin kapalı alanlar için uygundur.',
52
+ tierCinematicTitle: 'Akıcı Sinematik Uçuş',
53
+ tierCinematicDesc: '2 ye 1 ile 4 e 1 arasındaki TWR hassas gaz kontrolü ve sarsıntısız video çekimleri sağlar.',
54
+ tierFreestyleTitle: 'Sportif ve Çevik Freestyle',
55
+ tierFreestyleDesc: '4 e 1 ile 8 e 1 arasındaki TWR hızlı tepki ve temiz akrobasi manevraları sunar.',
56
+ tierAcroProTitle: 'Yüksek Performanslı Akrobasi ve Bando Freestyle',
57
+ tierAcroProDesc: '8 e 1 ile 13 e 1 arasındaki TWR patlayıcı dikey ivmelenme ve anında türbülans sönümlemesi sağlar.',
58
+ tierRacingExtremeTitle: 'Ekstrem Dron Yarışı',
59
+ tierRacingExtremeDesc: '13 e 1 in üzerindeki TWR profesyonel FPV yarış pistleri için gerekli yüksek gücü sağlar.',
60
+ hudThrustCurveTitle: 'Doğrusal Olmayan İtme Tepki Eğrisi',
61
+ hudHoverMarker: 'Hover Noktası',
62
+ hudCurrentStickMarker: 'Mevcut Kol',
63
+ hudGForceLabel: 'G Kuvvetleri',
64
+ hudTiltAngleLabel: 'Kamera Açısı',
65
+ hudVectorPowerLabel: 'Canlı Güç Telemetrisi',
66
+ };
67
+
68
+ const faqItems = [
69
+ {
70
+ question: 'Freestyle FPV dron için ideal itme ağırlık oranı nedir?',
71
+ answer: 'Freestyle dronlar için 8 e 1 ile 12 ye 1 arasındaki TWR degeri serbest dususleri durdurmak ve keskin donusler yapmak icin gereken gucu saglar.',
72
+ },
73
+ {
74
+ question: 'Doğrusal olmayan gaz eğrisi hover uçuşunu nasıl etkiler?',
75
+ answer: 'Fırçasız motorlar devir sayısının karesiyle orantılı itme üretir. Güçlü dronlarda hover noktası genellikle yüzde 20 ile 35 gaz kolu aralığındadır.',
76
+ },
77
+ {
78
+ question: 'FPV kamera açısı neden dronun itme oranına bağlıdır?',
79
+ answer: 'Yüksek TWR a sahip dronlar daha yüksek seyir hızlarında daha dik bir ileri eğimle uçar. Ufku ortalamak için pilotlar kamerayı 35 ile 50 derece yukarı eğer.',
80
+ },
81
+ {
82
+ question: 'Pervane kanat sayısı uçuş hissini nasıl değiştirir?',
83
+ answer: 'İki kanatlı pervaneler en uzun uçuş süresini ve son hızı sunar. Üç kanatlılar freestyle için en iyi dengeyi sağlar, dört kanatlılar ise virajlarda maksimum tutuş üretir.',
84
+ },
85
+ ];
86
+
87
+ const howToSteps = [
88
+ {
89
+ name: 'Dron ağırlığını girin veya hazır ayar seçin',
90
+ text: 'Batarya ve HD kamera dahil toplam uçuş ağırlığını gram cinsinden yazın.',
91
+ },
92
+ {
93
+ name: 'Motor ve pervane parametrelerini yapılandırın',
94
+ text: 'Motor sayısını, kanat adedini ve üreticinin tam gazdaki statik itme verisini belirtin.',
95
+ },
96
+ {
97
+ name: 'Canlı gaz kolunu ayarlayın',
98
+ text: 'Gaz kolunu kaydırarak üretilen itme kuvvetini, G kuvvetlerini ve eğri üzerindeki konumu inceleyin.',
99
+ },
100
+ ];
101
+
102
+ const seoSections: SEOSection[] = [
103
+ {
104
+ type: 'title',
105
+ text: 'FPV Dronlarda İtme Ağırlık Oranının Aerodinamik Temelleri',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'İtme ağırlık oranı (TWR), çok rotorlu hava araçlarının ivmelenme ve kontrol kabiliyetini belirler. FPV freestyle uçuşlarda yeterli güç rezervi ani dalışları durdurmayı ve engeller arasında hassas manevralar yapmayı mümkün kılar.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'FPV Dron Sınıflandırması ve Performans Standartları',
115
+ level: 2,
116
+ },
117
+ {
118
+ type: 'table',
119
+ headers: ['Platform', 'Tipik AUW Ağırlık', 'Hedef TWR', 'Hover Gaz Oranı', '0 dan 100 e Hızlanma', 'Kamera Açısı'],
120
+ rows: [
121
+ ['1S TinyWhoop (65mm)', '32g', '4.5 e 1', 'yüzde 35', '1.20 s', '15 ile 25 derece'],
122
+ ['4S Freestyle 3.5"', '250g', '12.0 ye 1', 'yüzde 24', '0.28 s', '35 ile 45 derece'],
123
+ ['6S Freestyle 5" Pro', '680g', '11.5 e 1', 'yüzde 25', '0.30 s', '35 ile 50 derece'],
124
+ ['6S Mountain LR 7"', '1150g', '8.3 e 1', 'yüzde 30', '0.45 s', '20 ile 30 derece'],
125
+ ['8S Cinelifter X8', '4200g', '6.1 e 1', 'yüzde 38', '0.70 s', '15 ile 25 derece'],
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Doğrusal Olmayan Gaz Tepkisi ve Motor Dinamiği',
131
+ level: 2,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Elektrik motorları itme kuvvetini üstel olarak üretir. Gaz kolunun son yüzde 20 lik hareketi toplam itme gücünün yüzde 40 ından fazlasını oluşturur.',
136
+ },
137
+ {
138
+ type: 'list',
139
+ items: [
140
+ 'Hover aralığı (yüzde 20 ile 35): Hassas irtifa koruma bölgesi.',
141
+ 'Seyir aralığı (yüzde 35 ile 65): Dengeli akım tüketimli ileri uçuş.',
142
+ 'Tam gaz aralığı (yüzde 70 ile 100): Yüksek G kuvvetli maksimum dikey ivmelenme.',
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Pervane Seçimi ve Betaflight Ayarları',
148
+ level: 2,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'TWR si 10 a 1 in üzerinde olan dronlar için tam gazdaki titreşimleri önlemek adına Betaflight Throttle PID Attenuation (TPA) özelliğinin etkinleştirilmesi önerilir.',
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Betaflight TPA Ayar İpucu',
157
+ html: 'Yüksek hız düzlüklerinde pürüzsüz uçuş için TPA eşik değerini 1250 veya 1350 ye, katsayısını 0.65 e ayarlayın.',
158
+ },
159
+ ];
160
+
161
+ const schemas: FpvDroneThrustToWeightRatioLocaleContent['schemas'] = [
162
+ {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faqItems.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ } as WithContext<FAQPage>,
171
+ {
172
+ '@context': 'https://schema.org',
173
+ '@type': 'HowTo',
174
+ name: title,
175
+ description,
176
+ step: howToSteps.map((s, index) => ({
177
+ '@type': 'HowToStep',
178
+ position: index + 1,
179
+ name: s.name,
180
+ text: s.text,
181
+ })),
182
+ } as WithContext<HowTo>,
183
+ {
184
+ '@context': 'https://schema.org',
185
+ '@type': 'SoftwareApplication',
186
+ name: title,
187
+ description,
188
+ applicationCategory: 'UtilityApplication',
189
+ operatingSystem: 'All',
190
+ offers: {
191
+ '@type': 'Offer',
192
+ price: '0',
193
+ priceCurrency: 'USD',
194
+ },
195
+ } as WithContext<SoftwareApplication>,
196
+ ];
197
+
198
+ export const content: FpvDroneThrustToWeightRatioLocaleContent = {
199
+ slug,
200
+ title,
201
+ description,
202
+ ui,
203
+ seo: seoSections,
204
+ faq: faqItems,
205
+ howTo: howToSteps,
206
+ bibliography: BIBLIOGRAPHY_ITEMS,
207
+ schemas,
208
+ };
@@ -0,0 +1,208 @@
1
+ import type { FpvDroneThrustToWeightRatioLocaleContent } from '../entry';
2
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import type { SEOSection } from '../../../types';
4
+ import { BIBLIOGRAPHY_ITEMS } from '../bibliography';
5
+
6
+ const slug = 'fpv-drone-thrust-to-weight-ratio';
7
+ const title = 'FPV无人机推重比与飞行遥测计算器';
8
+ const description = '计算FPV穿越机和多旋翼无人机的最大静拉力、非线性油门曲线、瞬间垂直G值、悬停油门点以及0到100加速时间。';
9
+
10
+ const ui = {
11
+ title: 'FPV穿越机推重比计算器',
12
+ subtitle: '分析推力曲线、实时油门摇杆响应、垂直G值及机动性评级',
13
+ presetsHeader: '快速预设配置',
14
+ customPreset: '自定义配置',
15
+ whoop1sPreset: '1S TinyWhoop (65mm)',
16
+ freestyle35Preset: '4S 花飞 3.5英寸',
17
+ freestyle5Preset: '6S 花飞 5英寸 Pro',
18
+ longrange7Preset: '6S 远航 7英寸',
19
+ cinelifter8Preset: '8S 重型影视机 X8',
20
+ specsHeader: '无人机与动力系统参数',
21
+ auwGramsLabel: '含电池全备起飞重量 (g)',
22
+ motorCountLabel: '电机数量与架构',
23
+ thrustPerMotorLabel: '单电机最大静拉力 (g)',
24
+ propellerSizeLabel: '桨叶尺寸 (英寸)',
25
+ propellerPitchLabel: '桨叶螺距 (英寸)',
26
+ bladeCountLabel: '桨叶叶片数',
27
+ blade2Option: '2叶 (双叶桨 - 极佳续航效率)',
28
+ blade3Option: '3叶 (三叶桨 - 花飞标准配置)',
29
+ blade4Option: '4叶 (四叶桨 - 弯道极限抓力)',
30
+ throttleStickHeader: '实时油门摇杆模拟器',
31
+ throttleStickLabel: '油门摇杆行程位置 (%)',
32
+ snapIdleLabel: '怠速 (0%)',
33
+ snapHoverLabel: '悬停点',
34
+ snapCruiseLabel: '巡航 (50%)',
35
+ snapPunchLabel: '满油暴冲 (100%)',
36
+ telemetryHeader: 'FPV飞行遥测与动力诊断',
37
+ twrRatioLabel: '推重比 (TWR)',
38
+ hoverThrottleLabel: '悬停油门百分比',
39
+ currentThrustLabel: '当前输出推力',
40
+ instantGForceLabel: '瞬间垂直G值',
41
+ zeroToHundredLabel: '0到100 km/h 弹射加速时间',
42
+ recommendedCamAngleLabel: '推荐FPV摄像头仰角',
43
+ windResistanceLabel: '抗风突防风速上限',
44
+ totalMaxThrustLabel: '总计最大静止推力',
45
+ maxPitchAngleLabel: '最大可持续俯仰倾角',
46
+ tuningHeader: 'Betaflight PID与固件调参建议',
47
+ tpaRecommendationLabel: '油门PID衰减 (TPA)',
48
+ dynamicIdleLabel: '推荐动态怠速',
49
+ propwashRiskLabel: '桨洗湍流控制裕度',
50
+ tierUnderpoweredTitle: '动力不足或强风漂移风险',
51
+ tierUnderpoweredDesc: '推重比低于2比1时拉力不足以迅速拉起俯冲,仅适合平静室内飞行。',
52
+ tierCinematicTitle: '平稳电影级航拍巡航',
53
+ tierCinematicDesc: '推重比在2比1至4比1之间,油门线性细腻,画面平稳无果冻。',
54
+ tierFreestyleTitle: '运动敏捷花飞表现',
55
+ tierFreestyleDesc: '推重比在4比1至8比1之间,摇杆响应敏锐,花飞翻滚利落。',
56
+ tierAcroProTitle: '高阶竞技花飞与废墟穿越',
57
+ tierAcroProDesc: '推重比在8比1至13比1之间,具备瞬间垂直爆发力与极佳的桨洗抑制能力。',
58
+ tierRacingExtremeTitle: '极限规格FPV竞速赛机',
59
+ tierRacingExtremeDesc: '推重比超过13比1,提供职业竞速赛道所需的强悍动力输出。',
60
+ hudThrustCurveTitle: '非线性推力输出响应曲线',
61
+ hudHoverMarker: '悬停点',
62
+ hudCurrentStickMarker: '当前油门',
63
+ hudGForceLabel: 'G值',
64
+ hudTiltAngleLabel: '镜头角',
65
+ hudVectorPowerLabel: '实时动力遥测状态',
66
+ };
67
+
68
+ const faqItems = [
69
+ {
70
+ question: '花飞穿越机最理想的推重比是多少?',
71
+ answer: '对于花飞穿越机,8比1到12比1的推重比能够提供瞬间拉起自由落体和极速转向所需的充沛动力。',
72
+ },
73
+ {
74
+ question: '非线性油门曲线如何影响悬停操控?',
75
+ answer: '无刷电机的推力与转速平方成正比。高功率穿越机的悬停点通常位于油门摇杆行程的20至35百分比区间。',
76
+ },
77
+ {
78
+ question: '为什么FPV摄像头仰角取决于推重比?',
79
+ answer: '高推重比机型在高速巡航时前倾角度更大。为了让飞手在FPV飞行眼镜中保持水平视野,摄像头通常向上倾斜35到50度。',
80
+ },
81
+ {
82
+ question: '桨叶数量对飞行手感有何影响?',
83
+ answer: '双叶桨提供最长续航和极速表现;三叶桨具备均衡的花飞手感;四叶桨则在急转弯时提供更强的低转速抓附力。',
84
+ },
85
+ ];
86
+
87
+ const howToSteps = [
88
+ {
89
+ name: '输入无人机全备重量或选择预设',
90
+ text: '输入包含电池和高清相机的全备起飞重量,单位为克。',
91
+ },
92
+ {
93
+ name: '配置电机与桨叶规格',
94
+ text: '设置电机数量、桨叶叶片数以及厂商标称的最大静拉力测试值。',
95
+ },
96
+ {
97
+ name: '调节实时油门摇杆并查看遥测',
98
+ text: '拖动油门滑块,实时观察输出推力、G值以及非线性曲线上的位置。',
99
+ },
100
+ ];
101
+
102
+ const seoSections: SEOSection[] = [
103
+ {
104
+ type: 'title',
105
+ text: 'FPV穿越机推重比与空气动力学解析',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: '推重比(TWR)决定了多旋翼无人机的垂直加速度与机动控制权。在FPV花飞和竞速飞行中,充足的动力余量使飞手能够在高速俯冲到底部时瞬间拉起并精准避开障碍物。',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'FPV无人机平台分类与目标性能基准',
115
+ level: 2,
116
+ },
117
+ {
118
+ type: 'table',
119
+ headers: ['机型类别', '标准全备重量', '目标推重比', '悬停油门位置', '0到100加速', '镜头仰角'],
120
+ rows: [
121
+ ['1S TinyWhoop (65mm)', '32g', '4.5比1', '35百分比', '1.20秒', '15度至25度'],
122
+ ['4S 花飞 3.5"', '250g', '12.0比1', '24百分比', '0.28秒', '35度至45度'],
123
+ ['6S 花飞 5" Pro', '680g', '11.5比1', '25百分比', '0.30秒', '35度至50度'],
124
+ ['6S 远航 7"', '1150g', '8.3比1', '30百分比', '0.45秒', '20度至30度'],
125
+ ['8S 影视机 X8', '4200g', '6.1比1', '38百分比', '0.70秒', '15度至25度'],
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: '非线性油门响应与电机推力特性',
131
+ level: 2,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: '无刷电机产生的拉力呈指数增长,油门摇杆顶部的最后20百分比行程可产生超过40百分比的总推力。',
136
+ },
137
+ {
138
+ type: 'list',
139
+ items: [
140
+ '悬停控制区(20至35百分比):适合低空微调与平稳悬停的高分辨率区间。',
141
+ '巡航飞行区(35至65百分比):兼顾前进速度与电池放电效率的稳定区间。',
142
+ '全油门暴冲区(70至100百分比):产生极高垂直G值的爆发加速区间。',
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: '桨叶搭配与Betaflight调参建议',
148
+ level: 2,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: '对于推重比超过10比1的高动力机型,建议在Betaflight中开启油门PID衰减(TPA),以防止大油门直线冲刺时出现D项振荡。',
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Betaflight TPA参数推荐',
157
+ html: '将TPA起始点设为1250或1350,衰减率设为0.65,可消除高速飞行时的机身震动,保持画面纯净。',
158
+ },
159
+ ];
160
+
161
+ const schemas: FpvDroneThrustToWeightRatioLocaleContent['schemas'] = [
162
+ {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faqItems.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ } as WithContext<FAQPage>,
171
+ {
172
+ '@context': 'https://schema.org',
173
+ '@type': 'HowTo',
174
+ name: title,
175
+ description,
176
+ step: howToSteps.map((s, index) => ({
177
+ '@type': 'HowToStep',
178
+ position: index + 1,
179
+ name: s.name,
180
+ text: s.text,
181
+ })),
182
+ } as WithContext<HowTo>,
183
+ {
184
+ '@context': 'https://schema.org',
185
+ '@type': 'SoftwareApplication',
186
+ name: title,
187
+ description,
188
+ applicationCategory: 'UtilityApplication',
189
+ operatingSystem: 'All',
190
+ offers: {
191
+ '@type': 'Offer',
192
+ price: '0',
193
+ priceCurrency: 'CNY',
194
+ },
195
+ } as WithContext<SoftwareApplication>,
196
+ ];
197
+
198
+ export const content: FpvDroneThrustToWeightRatioLocaleContent = {
199
+ slug,
200
+ title,
201
+ description,
202
+ ui,
203
+ seo: seoSections,
204
+ faq: faqItems,
205
+ howTo: howToSteps,
206
+ bibliography: BIBLIOGRAPHY_ITEMS,
207
+ schemas,
208
+ };
@@ -0,0 +1,10 @@
1
+ import { fpvDroneThrustToWeightRatio } from './entry';
2
+ import type { ToolDefinition } from '../../types';
3
+ export * from './entry';
4
+
5
+ export const FPV_DRONE_THRUST_TO_WEIGHT_RATIO_TOOL: ToolDefinition = {
6
+ entry: fpvDroneThrustToWeightRatio,
7
+ Component: () => import('./component.astro'),
8
+ SEOComponent: () => import('./seo.astro'),
9
+ BibliographyComponent: () => import('./bibliography.astro'),
10
+ };