@jjlmoya/utils-drones 1.23.0 → 1.25.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 (37) 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/diacritics_density.test.ts +8 -8
  5. package/src/tests/locale_completeness.test.ts +2 -2
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/drone-battery-c-rating-calculator/i18n/es.ts +49 -49
  8. package/src/tool/fpv-drone-thrust-to-weight-ratio/bibliography.astro +6 -0
  9. package/src/tool/fpv-drone-thrust-to-weight-ratio/bibliography.ts +18 -0
  10. package/src/tool/fpv-drone-thrust-to-weight-ratio/component.astro +203 -0
  11. package/src/tool/fpv-drone-thrust-to-weight-ratio/controller.ts +240 -0
  12. package/src/tool/fpv-drone-thrust-to-weight-ratio/dom-views.ts +148 -0
  13. package/src/tool/fpv-drone-thrust-to-weight-ratio/entry.ts +27 -0
  14. package/src/tool/fpv-drone-thrust-to-weight-ratio/evaluator.ts +30 -0
  15. package/src/tool/fpv-drone-thrust-to-weight-ratio/fpv-drone-thrust-to-weight-ratio.css +404 -0
  16. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/de.ts +208 -0
  17. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/en.ts +208 -0
  18. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/es.ts +208 -0
  19. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/fr.ts +208 -0
  20. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/id.ts +208 -0
  21. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/it.ts +208 -0
  22. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ja.ts +208 -0
  23. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ko.ts +208 -0
  24. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/nl.ts +208 -0
  25. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/pl.ts +208 -0
  26. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/pt.ts +208 -0
  27. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ru.ts +208 -0
  28. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/sv.ts +208 -0
  29. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/tr.ts +208 -0
  30. package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/zh.ts +208 -0
  31. package/src/tool/fpv-drone-thrust-to-weight-ratio/index.ts +10 -0
  32. package/src/tool/fpv-drone-thrust-to-weight-ratio/logic.test.ts +93 -0
  33. package/src/tool/fpv-drone-thrust-to-weight-ratio/logic.ts +147 -0
  34. package/src/tool/fpv-drone-thrust-to-weight-ratio/seo.astro +16 -0
  35. package/src/tool/fpv-drone-thrust-to-weight-ratio/storage.ts +19 -0
  36. package/src/tool/fpv-drone-thrust-to-weight-ratio/ui.ts +58 -0
  37. 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-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 마운틴 LR 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: 'TWR 2대 1 미만은 급강하 회복 제어력이 부족합니다. 바람 없는 실내 비행에만 적합합니다.',
52
+ tierCinematicTitle: '부드러운 시네마틱 순항',
53
+ tierCinematicDesc: 'TWR 2대 1에서 4대 1 구간으로 부드러운 스로틀 제어와 안정적인 영상 촬영을 제공합니다.',
54
+ tierFreestyleTitle: '스포티하고 민첩한 프리스타일',
55
+ tierFreestyleDesc: 'TWR 4대 1에서 8대 1 구간으로 즉각적인 스틱 반응과 깔끔한 곡예 기동을 제공합니다.',
56
+ tierAcroProTitle: '고성능 아크로 및 반도 프리스타일',
57
+ tierAcroProDesc: 'TWR 8대 1에서 13대 1 구간으로 폭발적인 수직 가속과 즉각적인 프롭워시 상쇄를 제공합니다.',
58
+ tierRacingExtremeTitle: '전문가급 드론 레이싱',
59
+ tierRacingExtremeDesc: 'TWR 13대 1 초과로 전문 FPV 레이싱 트랙에 필요한 극한의 출력을 발휘합니다.',
60
+ hudThrustCurveTitle: '비선형 추력 반응 곡선',
61
+ hudHoverMarker: '호버링 지점',
62
+ hudCurrentStickMarker: '현재 스틱',
63
+ hudGForceLabel: 'G포스',
64
+ hudTiltAngleLabel: '카메라 각도',
65
+ hudVectorPowerLabel: '실시간 파워트레인 텔레메트리',
66
+ };
67
+
68
+ const faqItems = [
69
+ {
70
+ question: '프리스타일 FPV 드론에 가장 이상적인 추력 대 중량비는 얼마인가요?',
71
+ answer: '프리스타일 드론은 8대 1에서 12대 1 사이의 TWR이 권장되며, 이는 자유 낙하를 멈추고 고기동 턴을 안전하게 완료하는 데 필요한 출력을 제공합니다.',
72
+ },
73
+ {
74
+ question: '비선형 스로틀 곡선은 호버링 비행에 어떤 영향을 미치나요?',
75
+ answer: '브러시리스 모터는 회전수 제곱에 비례하여 추력을 생성합니다. 고출력 기체에서는 통상 20에서 35퍼센트 스틱 위치에서 호버링이 이루어집니다.',
76
+ },
77
+ {
78
+ question: 'FPV 카메라 각도가 드론 추력비에 따라 달라지는 이유는 무엇인가요?',
79
+ answer: 'TWR이 높은 드론은 가파른 전경 자세로 고속 순항합니다. 고글 속에서 수평선을 중앙에 맞추기 위해 파일럿은 카메라를 35도에서 50도 높게 세웁니다.',
80
+ },
81
+ {
82
+ question: '프롭 블레이드 날개 수는 비행 특성에 어떤 차이를 만드나요?',
83
+ answer: '2엽 프롭은 가장 긴 비행시간과 최고속도를 제공합니다. 3엽은 프리스타일에 최적화된 균형을 제공하며, 4엽은 코너링 시 강력한 접지력을 발휘합니다.',
84
+ },
85
+ ];
86
+
87
+ const howToSteps = [
88
+ {
89
+ name: '기체 중량 입력 또는 프리셋 선택',
90
+ text: '배터리와 HD 카메라를 포함한 총 이륙 중량을 그램 단위로 입력합니다.',
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: ['기체 플랫폼', '표준 AUW 중량', '목표 TWR', '호버 스로틀', '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 마운틴 LR 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: 'TWR 10대 1 이상의 고출력 기체는 풀 스로틀 진동을 억제하기 위해 Betaflight의 Throttle PID Attenuation(TPA)을 설정하는 것이 좋습니다.',
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: 'KRW',
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-stuwkracht-gewicht-verhouding-calculator';
7
+ const title = 'FPV Drone Stuwkracht Gewicht Verhouding en Vluchttelemetrie Calculator';
8
+ const description = 'Bereken de maximale statische stuwkracht, niet-lineaire gasresponscurve, verticale G-krachten, hoverpunt en 0 naar 100 tijd voor FPV drones.';
9
+
10
+ const ui = {
11
+ title: 'FPV Drone Stuwkracht Gewicht Verhouding Calculator',
12
+ subtitle: 'Analyseer stuwkrachtcurven, live gashendel respons, verticale G krachten en vliegprestaties',
13
+ presetsHeader: 'Snelle Voorinstellingen',
14
+ customPreset: 'Aangepast',
15
+ whoop1sPreset: '1S TinyWhoop (65mm)',
16
+ freestyle35Preset: '4S Freestyle 3.5 Inch',
17
+ freestyle5Preset: '6S Freestyle 5 Inch Pro',
18
+ longrange7Preset: '6S Mountain LR 7 Inch',
19
+ cinelifter8Preset: '8S Zware Cinelifter X8',
20
+ specsHeader: 'Drone en Aandrijvingspecificaties',
21
+ auwGramsLabel: 'Totaalgewicht met Accu (g)',
22
+ motorCountLabel: 'Motorconfiguratie',
23
+ thrustPerMotorLabel: 'Maximale Statische Stuwkracht per Motor (g)',
24
+ propellerSizeLabel: 'Propellerdiameter (inch)',
25
+ propellerPitchLabel: 'Propellerspoed (inch)',
26
+ bladeCountLabel: 'Aantal Bladen',
27
+ blade2Option: '2 Bladen (Tweeblads - Maximale Efficientie)',
28
+ blade3Option: '3 Bladen (Drieblads - Freestyle Standaard)',
29
+ blade4Option: '4 Bladen (Vierblads - Maximale Grip)',
30
+ throttleStickHeader: 'Live Gashendel Simulator',
31
+ throttleStickLabel: 'Gashendelpositie (%)',
32
+ snapIdleLabel: 'Stationair (0%)',
33
+ snapHoverLabel: 'Hoverpunt',
34
+ snapCruiseLabel: 'Kruisvlucht (50%)',
35
+ snapPunchLabel: 'Volgas (100%)',
36
+ telemetryHeader: 'FPV Vluchttelemetrie en Diagnose',
37
+ twrRatioLabel: 'Stuwkracht Gewicht Verhouding (TWR)',
38
+ hoverThrottleLabel: 'Gasstand bij Zweven',
39
+ currentThrustLabel: 'Actuele Geleverde Stuwkracht',
40
+ instantGForceLabel: 'Directe Verticale G-Kracht',
41
+ zeroToHundredLabel: '0 naar 100 km/u Punch Tijd',
42
+ recommendedCamAngleLabel: 'Aanbevolen FPV Camerahoek',
43
+ windResistanceLabel: 'Windweerstand Snelheid',
44
+ totalMaxThrustLabel: 'Totale Maximale Statische Stuwkracht',
45
+ maxPitchAngleLabel: 'Maximale Hellingshoek',
46
+ tuningHeader: 'Betaflight PID en Firmware Aanbevelingen',
47
+ tpaRecommendationLabel: 'Gas PID Verzwakking (TPA)',
48
+ dynamicIdleLabel: 'Aanbevolen Dynamic Idle',
49
+ propwashRiskLabel: 'Propwash Stuurkracht',
50
+ tierUnderpoweredTitle: 'Ondermotoriseerd of Risico op Winddrift',
51
+ tierUnderpoweredDesc: 'TWR onder 2 op 1 biedt onvoldoende stuurkracht voor snelle dalingen. Alleen geschikt voor rustig binnenshuis vliegen.',
52
+ tierCinematicTitle: 'Vloeiende Cinematische Vlucht',
53
+ tierCinematicDesc: 'TWR tussen 2 op 1 en 4 op 1 zorgt voor soepele gascontrole en trillingsvrije video-opnamen.',
54
+ tierFreestyleTitle: 'Sportieve en Wendbare Freestyle',
55
+ tierFreestyleDesc: 'TWR tussen 4 op 1 en 8 op 1 levert snelle reacties en schone acrobatische manoeuvres.',
56
+ tierAcroProTitle: 'Krachtige Acro en Bando Freestyle',
57
+ tierAcroProDesc: 'TWR tussen 8 op 1 en 13 op 1 biedt explosieve verticale acceleratie en snelle correctie van propwash.',
58
+ tierRacingExtremeTitle: 'Extreme Drone Racing Competitie',
59
+ tierRacingExtremeDesc: 'TWR boven 13 op 1 levert de brute kracht die nodig is voor professionele FPV racebanen.',
60
+ hudThrustCurveTitle: 'Niet-lineaire Stuwkracht Responscurve',
61
+ hudHoverMarker: 'Hoverpunt',
62
+ hudCurrentStickMarker: 'Huidige Gashendel',
63
+ hudGForceLabel: 'G-Krachten',
64
+ hudTiltAngleLabel: 'Camerahoek',
65
+ hudVectorPowerLabel: 'Live Aandrijvingstelemetrie',
66
+ };
67
+
68
+ const faqItems = [
69
+ {
70
+ question: 'Wat is een goede stuwkracht gewicht verhouding voor een freestyle FPV drone?',
71
+ answer: 'Voor freestyle drones biedt een TWR tussen 8 op 1 en 12 op 1 de nodige versnelling om vrije val duiken op te vangen en scherpe bochten te maken.',
72
+ },
73
+ {
74
+ question: 'Hoe beinvloedt de niet-lineaire gascurve het zweefgedrag?',
75
+ answer: 'Borstelloze motoren leveren stuwkracht evenredig met het kwadraat van het toerental. Het hoverpunt ligt bij krachtige drones meestal rond 20 tot 35 procent gas.',
76
+ },
77
+ {
78
+ question: 'Waarom hangt de FPV camerahoek af van de stuwkracht?',
79
+ answer: 'Drones met een hogere verhouding vliegen met een steilere voorwaartse hoek. Piloten kantelen de camera 35 tot 50 graden om de horizon in beeld te houden.',
80
+ },
81
+ {
82
+ question: 'Wat is het effect van het aantal propellerbladen op het sturen?',
83
+ answer: 'Tweebladige propellers bieden maximale vliegtijd en topsnelheid. Driebladige propellers leveren de ideale balans voor freestyle, terwijl vierbladige propellers zorgen voor extra grip in bochten.',
84
+ },
85
+ ];
86
+
87
+ const howToSteps = [
88
+ {
89
+ name: 'Voer het dronegewicht in of kies een profiel',
90
+ text: 'Vul het totale startgewicht in grammen in inclusief LiPo accu en HD camera.',
91
+ },
92
+ {
93
+ name: 'Stel motoren en propellers in',
94
+ text: 'Selecteer het aantal motoren, bladen en de maximale statische stuwkracht per motor.',
95
+ },
96
+ {
97
+ name: 'Bedien de live gashendel',
98
+ text: 'Verschuif de gashendel om de opgewekte stuwkracht, G-krachten en de positie op de stuwkrachtcurve te bekijken.',
99
+ },
100
+ ];
101
+
102
+ const seoSections: SEOSection[] = [
103
+ {
104
+ type: 'title',
105
+ text: 'Aerodynamica van Stuwkracht Gewicht Verhouding bij FPV Drones',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'De stuwkracht gewicht verhouding (TWR) bepaalt de acceleratie en het reactievermogen van multirotors. Bij FPV freestyle en racing zorgt voldoende overcapaciteit ervoor dat piloten steile duikvluchten direct kunnen afremmen.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Classificatie van FPV Drones en Prestatiewaarden',
115
+ level: 2,
116
+ },
117
+ {
118
+ type: 'table',
119
+ headers: ['Platform', 'Typisch AUW Gewicht', 'Doel TWR', 'Hover Gasstand', '0 naar 100 Acceleratie', 'Camerahoek'],
120
+ rows: [
121
+ ['1S TinyWhoop (65mm)', '32g', '4.5 op 1', '35 procent', '1.20 s', '15 deg naar 25 deg'],
122
+ ['4S Freestyle 3.5"', '250g', '12.0 op 1', '24 procent', '0.28 s', '35 deg naar 45 deg'],
123
+ ['6S Freestyle 5" Pro', '680g', '11.5 op 1', '25 procent', '0.30 s', '35 deg naar 50 deg'],
124
+ ['6S Mountain LR 7"', '1150g', '8.3 op 1', '30 procent', '0.45 s', '20 deg naar 30 deg'],
125
+ ['8S Cinelifter X8', '4200g', '6.1 op 1', '38 procent', '0.70 s', '15 deg naar 25 deg'],
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Niet-lineaire Gasrespons en Motordynamiek',
131
+ level: 2,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Elektromotoren leveren vermogen met een exponentieel verloop. De bovenste 20 procent van de gashendelslag levert meer dan 40 procent van de totale beschikbare stuwkracht.',
136
+ },
137
+ {
138
+ type: 'list',
139
+ items: [
140
+ 'Hoverbereik (20 tot 35 procent): Fijne resolutie voor nauwkeurige controle vlak boven de grond.',
141
+ 'Kruisvluchtbereik (35 tot 65 procent): Stabiele voorwaartse vlucht met beheersbaar stroomverbruik.',
142
+ 'Volgasbereik (70 tot 100 procent): Maximale stuwkracht met hoge verticale G-krachten.',
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Propellerkeuze en Betaflight Afstelling',
148
+ level: 2,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Voor drones met een TWR hoger dan 10 op 1 is het verstandig om Throttle PID Attenuation (TPA) in te stellen in Betaflight om trillingen bij volgas te voorkomen.',
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Afsteltip voor Betaflight TPA',
157
+ html: 'Stel TPA in vanaf 1250 of 1350 met een factor van 0.65 om trillingen op topsnelheid te dempen.',
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: 'EUR',
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 = 'kalkulator-stosunku-ciagu-do-masy-drona-fpv';
7
+ const title = 'Kalkulator Stosunku Ciągu do Masy i Telemetrii Lotu Drona FPV';
8
+ const description = 'Oblicz maksymalny ciąg statyczny, nieliniową krzywą gazu, przeciążenia pionowe G, punkt zawisu i czas przyspieszenia 0 do 100 dla dronów FPV.';
9
+
10
+ const ui = {
11
+ title: 'Kalkulator Stosunku Ciągu do Masy Drona FPV',
12
+ subtitle: 'Analizuj krzywe ciągu, reakcję drążka gazu na żywo, siły przeciążenia i kategorie zwrotności',
13
+ presetsHeader: 'Szybkie Ustawienia',
14
+ customPreset: 'Niestandardowy',
15
+ whoop1sPreset: '1S TinyWhoop (65mm)',
16
+ freestyle35Preset: '4S Freestyle 3.5 Cala',
17
+ freestyle5Preset: '6S Freestyle 5 Cali Pro',
18
+ longrange7Preset: '6S Mountain LR 7 Cali',
19
+ cinelifter8Preset: '8S Ciężki Cinelifter X8',
20
+ specsHeader: 'Dane Drona i Napędu',
21
+ auwGramsLabel: 'Masa Całkowita z Baterią (g)',
22
+ motorCountLabel: 'Konfiguracja Silników',
23
+ thrustPerMotorLabel: 'Maksymalny Ciąg Statyczny na Silnik (g)',
24
+ propellerSizeLabel: 'Średnica Śmigła (cale)',
25
+ propellerPitchLabel: 'Skok Śmigła (cale)',
26
+ bladeCountLabel: 'Liczba Łopatek Śmigła',
27
+ blade2Option: '2 Łopatki (Dwułopatowe - Maksymalna Wydajność)',
28
+ blade3Option: '3 Łopatki (Trójłopatowe - Standard Freestyle)',
29
+ blade4Option: '4 Łopatki (Czterołopatowe - Maksymalny Chwyt)',
30
+ throttleStickHeader: 'Symulator Drążka Gazu na Żywo',
31
+ throttleStickLabel: 'Pozycja Drążka Gazu (%)',
32
+ snapIdleLabel: 'Bieg Jałowy (0%)',
33
+ snapHoverLabel: 'Punkt Zawisu',
34
+ snapCruiseLabel: 'Przelot (50%)',
35
+ snapPunchLabel: 'Pełny Ciąg (100%)',
36
+ telemetryHeader: 'Telemetria Lotu FPV i Diagnostyka',
37
+ twrRatioLabel: 'Stosunek Ciągu do Masy (TWR)',
38
+ hoverThrottleLabel: 'Pozycja Gazu w Zawisie',
39
+ currentThrustLabel: 'Aktualnie Wytwarzany Ciąg',
40
+ instantGForceLabel: 'Chwilowe Przeciążenie Pionowe G',
41
+ zeroToHundredLabel: 'Czas 0 do 100 km/h w Punch',
42
+ recommendedCamAngleLabel: 'Zalecany Kąt Kamery FPV',
43
+ windResistanceLabel: 'Prędkość Przebicia Wiatru',
44
+ totalMaxThrustLabel: 'Całkowity Maksymalny Ciąg Statyczny',
45
+ maxPitchAngleLabel: 'Maksymalny Kąt Pochylenia',
46
+ tuningHeader: 'Zalecenia Dotyczące Betaflight i Strojenia PID',
47
+ tpaRecommendationLabel: 'Tłumienie PID Gazu (TPA)',
48
+ dynamicIdleLabel: 'Zalecany Dynamic Idle',
49
+ propwashRiskLabel: 'Kontrola nad Turbulencjami Propwash',
50
+ tierUnderpoweredTitle: 'Zbyt Mały Napęd lub Ryzyko Znoszenia przez Wiatr',
51
+ tierUnderpoweredDesc: 'TWR poniżej 2 do 1 nie zapewnia wystarczającej siły do wyhamowania szybkiego opadania. Nadaje się tylko do lotów wewnątrz.',
52
+ tierCinematicTitle: 'Płynny Lot Filmowy',
53
+ tierCinematicDesc: 'TWR pomiędzy 2 do 1 a 4 do 1 gwarantuje łagodną kontrolę gazu i stabilne ujęcia bez drgań.',
54
+ tierFreestyleTitle: 'Sportowy i Zwrotny Freestyle',
55
+ tierFreestyleDesc: 'TWR pomiędzy 4 do 1 a 8 do 1 daje natychmiastową reakcję na drążek i czyste manewry akrobacyjne.',
56
+ tierAcroProTitle: 'Wyczynowa Akrobacja i Freestyle Bando',
57
+ tierAcroProDesc: 'TWR pomiędzy 8 do 1 a 13 do 1 zapewnia błyskawiczne przyspieszenie pionowe i natychmiastowe tłumienie propwash.',
58
+ tierRacingExtremeTitle: 'Ekstremalne Wyścigi Dronów',
59
+ tierRacingExtremeDesc: 'TWR powyżej 13 do 1 dostarcza potężnej mocy niezbędnej na profesjonalnych torach wyścigowych FPV.',
60
+ hudThrustCurveTitle: 'Nieliniowa Krzywa Reakcji Ciągu',
61
+ hudHoverMarker: 'Punkt Zawisu',
62
+ hudCurrentStickMarker: 'Aktualny Drążek',
63
+ hudGForceLabel: 'Siły G',
64
+ hudTiltAngleLabel: 'Kąt Kamery',
65
+ hudVectorPowerLabel: 'Telemetria Mocy na Żywo',
66
+ };
67
+
68
+ const faqItems = [
69
+ {
70
+ question: 'Jaki stosunek ciągu do masy jest najlepszy do freestyle FPV?',
71
+ answer: 'Dla dronów freestyle optymalny TWR wynosi od 8:1 do 12:1. Zapewnia to natychmiastową siłę potrzebną do wyhamowania swobodnego spadania i płynnych nawrotów.',
72
+ },
73
+ {
74
+ question: 'Jak nieliniowa charakterystyka gazu wpływa na zawis?',
75
+ answer: 'Silniki bezszczotkowe generują ciąg proporcjonalnie do kwadratu prędkości obrotowej. Z tego powodu punkt zawisu przypada zwykle między 20 a 35 procentem zakresu drążka.',
76
+ },
77
+ {
78
+ question: 'Dlaczego kąt kamery FPV zależy od mocy drona?',
79
+ answer: 'Drony o wyższym TWR poruszają się z większą prędkością przelotową przy mocniejszym pochyleniu w przód. Aby horyzont pozostał w centrum gogli, piloci ustawiają kąt kamery od 35 do 50 stopni.',
80
+ },
81
+ {
82
+ question: 'Jak liczba łopatek śmigła zmienia właściwości lotne?',
83
+ answer: 'Śmigła dwułopatowe gwarantują najwyższą wydajność energetyczną i prędkość maksymalną. Trójłopatowe to złoty standard freestyle. Czterołopatowe zapewniają maksymalny chwyt i hamowanie.',
84
+ },
85
+ ];
86
+
87
+ const howToSteps = [
88
+ {
89
+ name: 'Wybierz Profil lub Wprowadź Masę Drona',
90
+ text: 'Wpisz całkowitą masę startową drona wraz z baterią i kamerą w gramach.',
91
+ },
92
+ {
93
+ name: 'Skonfiguruj Silniki i Śmigła',
94
+ text: 'Podaj liczbę silników, łopatek śmigła oraz maksymalny ciąg statyczny podany przez producenta.',
95
+ },
96
+ {
97
+ name: 'Dostosuj Pozycję Drążka Gazu',
98
+ text: 'Przesuwaj suwak gazu, aby obserwować na żywo generowane przeciążenia, wektory siły i punkt na krzywej.',
99
+ },
100
+ ];
101
+
102
+ const seoSections: SEOSection[] = [
103
+ {
104
+ type: 'title',
105
+ text: 'Aerodynamika Stosunku Ciągu do Masy w Dronach FPV',
106
+ level: 2,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Stosunek ciągu do masy (TWR) decyduje o przyspieszeniu pionowym i kontroli nad wielowirnikowcem. W wyścigach i akrobacji FPV odpowiedni zapas mocy pozwala pilotom wyciągać drona z pionowych nurkowań i manewrować tuż przy przeszkodach.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Klasyfikacja Dronów FPV i Przykładowe Osiągi',
115
+ level: 2,
116
+ },
117
+ {
118
+ type: 'table',
119
+ headers: ['Platforma', 'Typowa Masa AUW', 'Docelowy TWR', 'Gaz w Zawisie', 'Czas 0 do 100 km/h', 'Kąt FPV'],
120
+ rows: [
121
+ ['1S TinyWhoop (65mm)', '32g', '4.5 do 1', '35 procent', '1.20 s', '15 deg do 25 deg'],
122
+ ['4S Freestyle 3.5"', '250g', '12.0 do 1', '24 procent', '0.28 s', '35 deg do 45 deg'],
123
+ ['6S Freestyle 5" Pro', '680g', '11.5 do 1', '25 procent', '0.30 s', '35 deg do 50 deg'],
124
+ ['6S Mountain LR 7"', '1150g', '8.3 do 1', '30 procent', '0.45 s', '20 deg do 30 deg'],
125
+ ['8S Cinelifter X8', '4200g', '6.1 do 1', '38 procent', '0.70 s', '15 deg do 25 deg'],
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: 'Nieliniowa Odpowiedź Przepustnicy i Krzywe Ciągu',
131
+ level: 2,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: 'Silniki elektryczne nie oddają ciągu liniowo w stosunku do sygnału sterującego. Aerodynamika łopat tworzy krzywą wykładniczą, w której ostatnie 20 procent skoku drążka dostarcza ponad 40 procent całkowitej siły ciągu.',
136
+ },
137
+ {
138
+ type: 'list',
139
+ items: [
140
+ 'Strefa zawisu (20 do 35 procent gazu): Precyzyjna kontrola wysokości przy spokojnym locie.',
141
+ 'Strefa przelotowa (35 do 65 procent gazu): Płynny lot ze zrównoważonym zużyciem energii.',
142
+ 'Strefa pełnego ciągu (70 do 100 procent gazu): Ekstremalna dynamika i wysokie przeciążenia G.',
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Wybór Śmigieł i Strojenie Oprogramowania Betaflight',
148
+ level: 2,
149
+ },
150
+ {
151
+ type: 'paragraph',
152
+ html: 'Średnica, skok i geometria łopatek decydują o zamianie momentu obrotowego na ciąg statyczny i prędkość. Przy TWR przekraczającym 10:1 warto włączyć funkcję TPA w Betaflight, aby wyeliminować drgania przy pełnym otwarciu przepustnicy.',
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Wskazówka Dotycząca Strojenia Betaflight TPA',
157
+ html: 'Dla mocnych napędów ustaw próg TPA na 1250 lub 1350 z wartością 0.65. Pozwoli to zachować pełną stabilność bez oscylacji podczas szybkich przelotów na pełnym gazie.',
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: 'PLN',
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
+ };