@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.
- package/package.json +1 -1
- package/src/category/index.ts +2 -0
- package/src/entries.ts +4 -0
- package/src/tests/diacritics_density.test.ts +8 -8
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/drone-battery-c-rating-calculator/i18n/es.ts +49 -49
- package/src/tool/fpv-drone-thrust-to-weight-ratio/bibliography.astro +6 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/bibliography.ts +18 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/component.astro +203 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/controller.ts +240 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/dom-views.ts +148 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/entry.ts +27 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/evaluator.ts +30 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/fpv-drone-thrust-to-weight-ratio.css +404 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/de.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/en.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/es.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/fr.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/id.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/it.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ja.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ko.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/nl.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/pl.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/pt.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/ru.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/sv.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/tr.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/i18n/zh.ts +208 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/index.ts +10 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/logic.test.ts +93 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/logic.ts +147 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/seo.astro +16 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/storage.ts +19 -0
- package/src/tool/fpv-drone-thrust-to-weight-ratio/ui.ts +58 -0
- 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 Drone Thrust to Weight Ratio and Flight Telemetry Simulator';
|
|
8
|
+
const description = 'Simulate static thrust, non-linear throttle response curve, instant vertical G-force, hover throttle point, and 0-100 acceleration for FPV quadcopters and multirotors.';
|
|
9
|
+
|
|
10
|
+
const ui = {
|
|
11
|
+
title: 'FPV Drone Thrust to Weight Ratio and Flight Telemetry Simulator',
|
|
12
|
+
subtitle: 'Analyze multirotor thrust curves, live throttle stick response, instant G force, and flight agility classification',
|
|
13
|
+
presetsHeader: 'Quick Setup Presets',
|
|
14
|
+
customPreset: 'Custom Setup',
|
|
15
|
+
whoop1sPreset: '1S TinyWhoop (65mm)',
|
|
16
|
+
freestyle35Preset: '4S 3.5-Inch Freestyle',
|
|
17
|
+
freestyle5Preset: '6S 5-Inch Freestyle Pro',
|
|
18
|
+
longrange7Preset: '6S 7-Inch Mountain LR',
|
|
19
|
+
cinelifter8Preset: '8S Heavy Cinelifter X8',
|
|
20
|
+
specsHeader: 'Drone and Powertrain Specifications',
|
|
21
|
+
auwGramsLabel: 'All-Up Weight with Battery (g)',
|
|
22
|
+
motorCountLabel: 'Motor Configuration',
|
|
23
|
+
thrustPerMotorLabel: 'Max Static Thrust per Motor (g)',
|
|
24
|
+
propellerSizeLabel: 'Propeller Diameter (inches)',
|
|
25
|
+
propellerPitchLabel: 'Propeller Pitch (inches)',
|
|
26
|
+
bladeCountLabel: 'Propeller Blade Count',
|
|
27
|
+
blade2Option: '2 Blades (Bipala - Max Efficiency)',
|
|
28
|
+
blade3Option: '3 Blades (Tripala - Freestyle Standard)',
|
|
29
|
+
blade4Option: '4 Blades (Cuatripala - High Grip)',
|
|
30
|
+
throttleStickHeader: 'Live Throttle Stick Simulator',
|
|
31
|
+
throttleStickLabel: 'Throttle Stick Position (%)',
|
|
32
|
+
snapIdleLabel: 'Idle (0%)',
|
|
33
|
+
snapHoverLabel: 'Hover Point',
|
|
34
|
+
snapCruiseLabel: 'Cruise (50%)',
|
|
35
|
+
snapPunchLabel: 'Punch (100%)',
|
|
36
|
+
telemetryHeader: 'FPV Flight Telemetry and Performance Diagnosis',
|
|
37
|
+
twrRatioLabel: 'Thrust to Weight Ratio',
|
|
38
|
+
hoverThrottleLabel: 'Hover Throttle Point',
|
|
39
|
+
currentThrustLabel: 'Current Stick Output Thrust',
|
|
40
|
+
instantGForceLabel: 'Instant Vertical G-Force',
|
|
41
|
+
zeroToHundredLabel: '0-100 km/h Punch-Out Time',
|
|
42
|
+
recommendedCamAngleLabel: 'Recommended FPV Camera Tilt',
|
|
43
|
+
windResistanceLabel: 'Wind Penetration Speed',
|
|
44
|
+
totalMaxThrustLabel: 'Total Maximum Static Thrust',
|
|
45
|
+
maxPitchAngleLabel: 'Max Sustainable Tilt Angle',
|
|
46
|
+
tuningHeader: 'Betaflight PID and Firmware Recommendations',
|
|
47
|
+
tpaRecommendationLabel: 'Throttle PID Attenuation (TPA)',
|
|
48
|
+
dynamicIdleLabel: 'Recommended Dynamic Idle',
|
|
49
|
+
propwashRiskLabel: 'Propwash Control Authority',
|
|
50
|
+
tierUnderpoweredTitle: 'Underpowered or High Wind Drift Risk',
|
|
51
|
+
tierUnderpoweredDesc: 'TWR below 2 to 1 provides insufficient authority for wind correction or rapid descent arrest. Suitable only for calm indoor flying.',
|
|
52
|
+
tierCinematicTitle: 'Cinematic Smooth Cruise',
|
|
53
|
+
tierCinematicDesc: 'TWR between 2 to 1 and 4 to 1 gives smooth throttle control and stable filming with minimal propwash sensitivity.',
|
|
54
|
+
tierFreestyleTitle: 'Sport and Agile Freestyle',
|
|
55
|
+
tierFreestyleDesc: 'TWR between 4 to 1 and 8 to 1 delivers crisp throttle response, clean split-S recovery, and strong acro maneuverability.',
|
|
56
|
+
tierAcroProTitle: 'High-Performance Acro and Bando Freestyle',
|
|
57
|
+
tierAcroProDesc: 'TWR between 8 to 1 and 13 to 1 delivers explosive vertical acceleration, instant propwash cancellation, and aggressive proximity agility.',
|
|
58
|
+
tierRacingExtremeTitle: 'Extreme Spec Drone Racing',
|
|
59
|
+
tierRacingExtremeDesc: 'TWR above 13 to 1 yields insane power and instantaneous corner exit speeds required for top-tier competitive multirotor racing.',
|
|
60
|
+
hudThrustCurveTitle: 'Non-Linear Thrust Response Curve',
|
|
61
|
+
hudHoverMarker: 'Hover Point',
|
|
62
|
+
hudCurrentStickMarker: 'Current Stick',
|
|
63
|
+
hudGForceLabel: 'Vertical Gs',
|
|
64
|
+
hudTiltAngleLabel: 'Camera Angle',
|
|
65
|
+
hudVectorPowerLabel: 'Live Powertrain Telemetry',
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const faqItems = [
|
|
69
|
+
{
|
|
70
|
+
question: 'What is a good thrust to weight ratio for an FPV freestyle quadcopter?',
|
|
71
|
+
answer: 'For freestyle quadcopters, a TWR between 8 to 1 and 12 to 1 delivers the necessary explosive acceleration to arrest free-fall dives and power through high-G split-S turns.',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
question: 'How does the non-linear throttle curve affect drone hovering?',
|
|
75
|
+
answer: 'Brushless motors produce aerodynamic thrust proportional to the square of rotational speed. Because of this non-linear response, hover throttle typically sits around 20 to 35 percent stick position on high-power builds.',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
question: 'Why does FPV camera angle depend on drone thrust to weight ratio?',
|
|
79
|
+
answer: 'Higher TWR aircraft travel at higher cruising speeds with steeper forward tilt angles. To keep the horizon centered in the FPV goggles during fast forward flight, pilots tilt the camera upwards between 35 and 50 degrees.',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
question: 'How does propeller blade count change multirotor flight feel?',
|
|
83
|
+
answer: 'Bipala propellers offer maximum flight endurance and high top speed. Tripala propellers provide the best balance of grip and cornering authority for freestyle. Cuatripala propellers deliver extreme low-end bite and braking power.',
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
|
|
87
|
+
const howToSteps = [
|
|
88
|
+
{
|
|
89
|
+
name: 'Select Preset or Input Drone All-Up Weight',
|
|
90
|
+
text: 'Enter the total weight of your drone including battery, HD camera, and accessories in grams.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Configure Powertrain and Propellers',
|
|
94
|
+
text: 'Select the motor count, blade count, and manufacturer bench static thrust per motor.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Adjust the Live Throttle Stick',
|
|
98
|
+
text: 'Drag the live throttle slider or click the quick snap buttons to observe thrust vector scaling, instantaneous G-force, and power output along the non-linear curve.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const seoSections: SEOSection[] = [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Aerodynamics of Thrust to Weight Ratio in FPV Drone Flight Dynamics',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Thrust-to-weight ratio (TWR) defines the fundamental acceleration and control authority of multirotor aircraft. In FPV freestyle and drone racing, having adequate thrust headroom allows pilots to instantly recover from steep power loops, execute wall-rides, and punch out of terminal velocity dives. Understanding your power-to-weight profile is critical for motor selection, ESC sizing, and PID tuning.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'FPV Drone Classification and Performance Benchmark Metrics',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Drone Platform', 'Typical AUW', 'Target TWR', 'Hover Stick %', '0-100 km/h Acceleration', 'FPV Cam Tilt'],
|
|
120
|
+
rows: [
|
|
121
|
+
['1S TinyWhoop (65mm)', '32g', '4.5 to 1', '35 percent', '1.20 s', '15 deg to 25 deg'],
|
|
122
|
+
['4S 3.5-Inch Freestyle', '250g', '12.0 to 1', '24 percent', '0.28 s', '35 deg to 45 deg'],
|
|
123
|
+
['6S 5-Inch Bando Pro', '680g', '11.5 to 1', '25 percent', '0.30 s', '35 deg to 50 deg'],
|
|
124
|
+
['6S 7-Inch Mountain LR', '1150g', '8.3 to 1', '30 percent', '0.45 s', '20 deg to 30 deg'],
|
|
125
|
+
['8S Heavy Cinelifter X8', '4200g', '6.1 to 1', '38 percent', '0.70 s', '15 deg to 25 deg'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Understanding Non-Linear Throttle Response and Motor Thrust Curves',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'paragraph',
|
|
135
|
+
html: 'Electric brushless motors and propellers do not generate thrust linearly with PWM control signals. Dynamic airflow velocity and centrifugal blade loading yield an exponential power curve where the top 20 percent of throttle travel produces over 40 percent of total available thrust. Managing this non-linear response with Betaflight throttle expo (EXPO) and throttle mid-point (MID) calibration provides intuitive stick resolution during close-proximity flight.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'list',
|
|
139
|
+
items: [
|
|
140
|
+
'Hover region (20-35% throttle): Fine resolution zone for steady position control and indoor maneuvering.',
|
|
141
|
+
'Cruising zone (35-65% throttle): Balanced aerodynamic forward flight with sustainable battery current draw.',
|
|
142
|
+
'Punch-out zone (70-100% throttle): High discharge burst yielding massive vertical G-forces and top speeds exceeding 150 km/h.',
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: 'Propeller Blade Selection and Motor Stator Matching',
|
|
148
|
+
level: 2,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'Propeller diameter, pitch, and blade count determine how motor torque translates into static thrust and top-end speed. Increasing blade count from bipala to tripala improves low-end grip and propwash recovery at the expense of slight aerodynamic drag. Choosing matching motor stator dimensions and KV ratings ensures efficient operation without excessive motor heat.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'tip',
|
|
156
|
+
title: 'Betaflight TPA and Feedforward Tuning Tip',
|
|
157
|
+
html: 'For drones with TWR exceeding 10 to 1, configure Throttle PID Attenuation (TPA) starting at 1250 throttle with a 0.65 breakpoint. This prevents high-throttle D-term motor oscillations during aggressive full-throttle straightaways.',
|
|
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 = 'calculadora-relacion-empuje-peso-drone-fpv';
|
|
7
|
+
const title = 'Calculadora de Relación Empuje a Peso y Telemetría de Vuelo para Drones FPV';
|
|
8
|
+
const description = 'Calcula el empuje estático máximo, la curva de acelerador no lineal, la fuerza G vertical instantánea, el punto de sustentación y el tiempo 0 a 100 para drones FPV y multirrotores.';
|
|
9
|
+
|
|
10
|
+
const ui = {
|
|
11
|
+
title: 'Calculadora de Relación Empuje a Peso para Drones FPV',
|
|
12
|
+
subtitle: 'Analiza curvas de empuje, respuesta del stick de gas en vivo, fuerza G instantánea y clasificación de agilidad',
|
|
13
|
+
presetsHeader: 'Ajustes Rápidos',
|
|
14
|
+
customPreset: 'Personalizado',
|
|
15
|
+
whoop1sPreset: '1S TinyWhoop (65mm)',
|
|
16
|
+
freestyle35Preset: '4S Freestyle 3.5 Pulgadas',
|
|
17
|
+
freestyle5Preset: '6S Freestyle 5 Pulgadas Pro',
|
|
18
|
+
longrange7Preset: '6S Mountain LR 7 Pulgadas',
|
|
19
|
+
cinelifter8Preset: '8S Cinelifter Pesado X8',
|
|
20
|
+
specsHeader: 'Especificaciones del Dron y Propulsión',
|
|
21
|
+
auwGramsLabel: 'Peso Total con Batería (g)',
|
|
22
|
+
motorCountLabel: 'Configuración de Motores',
|
|
23
|
+
thrustPerMotorLabel: 'Empuje Estático Máximo por Motor (g)',
|
|
24
|
+
propellerSizeLabel: 'Diámetro de Hélice (pulgadas)',
|
|
25
|
+
propellerPitchLabel: 'Paso de Hélice (pulgadas)',
|
|
26
|
+
bladeCountLabel: 'Número de Palas de la Hélice',
|
|
27
|
+
blade2Option: '2 Palas (Bipala - Máxima Eficiencia)',
|
|
28
|
+
blade3Option: '3 Palas (Tripala - Estándar Freestyle)',
|
|
29
|
+
blade4Option: '4 Palas (Cuatripala - Máximo Agarre)',
|
|
30
|
+
throttleStickHeader: 'Simulador de Stick de Acelerador en Vivo',
|
|
31
|
+
throttleStickLabel: 'Posición del Stick de Gas (%)',
|
|
32
|
+
snapIdleLabel: 'Ralentí (0%)',
|
|
33
|
+
snapHoverLabel: 'Sustentación',
|
|
34
|
+
snapCruiseLabel: 'Crucero (50%)',
|
|
35
|
+
snapPunchLabel: 'Punch Máximo (100%)',
|
|
36
|
+
telemetryHeader: 'Telemetría de Vuelo FPV y Diagnóstico de Rendimiento',
|
|
37
|
+
twrRatioLabel: 'Relación Empuje a Peso (TWR)',
|
|
38
|
+
hoverThrottleLabel: 'Punto de Sustentación (Hover)',
|
|
39
|
+
currentThrustLabel: 'Empuje Actual de Salida',
|
|
40
|
+
instantGForceLabel: 'Fuerza G Vertical Instantánea',
|
|
41
|
+
zeroToHundredLabel: 'Tiempo 0 a 100 km/h en Punch',
|
|
42
|
+
recommendedCamAngleLabel: 'Inclinación de Cámara FPV Recomendada',
|
|
43
|
+
windResistanceLabel: 'Velocidad de Penetración al Viento',
|
|
44
|
+
totalMaxThrustLabel: 'Empuje Estático Máximo Total',
|
|
45
|
+
maxPitchAngleLabel: 'Ángulo Máximo de Inclinación Sostenible',
|
|
46
|
+
tuningHeader: 'Recomendaciones de Ajuste Betaflight y PID',
|
|
47
|
+
tpaRecommendationLabel: 'Atenuación PID de Gas (TPA)',
|
|
48
|
+
dynamicIdleLabel: 'Ralentí Dinámico Recomendado',
|
|
49
|
+
propwashRiskLabel: 'Autoridad de Control de Propwash',
|
|
50
|
+
tierUnderpoweredTitle: 'Inframotorizado o Alto Riesgo de Deriva por Viento',
|
|
51
|
+
tierUnderpoweredDesc: 'TWR inferior a 2 a 1 proporciona autoridad insuficiente para corregir ráfagas de viento o frenar descensos rápidos. Recomendado solo para interiores.',
|
|
52
|
+
tierCinematicTitle: 'Vuelo Suave y Continuo Cinemático',
|
|
53
|
+
tierCinematicDesc: 'TWR entre 2 a 1 y 4 a 1 ofrece un control suave del acelerador y filmación estable con mínima sensibilidad a turbulencias.',
|
|
54
|
+
tierFreestyleTitle: 'Freestyle Ágil y Deportivo',
|
|
55
|
+
tierFreestyleDesc: 'TWR entre 4 a 1 y 8 a 1 brinda respuesta rápida de aceleración, recuperaciones limpias en split-S y gran maniobrabilidad acrobática.',
|
|
56
|
+
tierAcroProTitle: 'Acrobacia de Alto Rendimiento y Bando Freestyle',
|
|
57
|
+
tierAcroProDesc: 'TWR entre 8 a 1 y 13 a 1 proporciona aceleraciones verticales explosivas, anulación instantánea de propwash y agilidad extrema.',
|
|
58
|
+
tierRacingExtremeTitle: 'Carreras Extremas de Drones de Competición',
|
|
59
|
+
tierRacingExtremeDesc: 'TWR superior a 13 a 1 entrega potencia descomunal y salidas de curva instantáneas requeridas en circuitos de carreras profesionales.',
|
|
60
|
+
hudThrustCurveTitle: 'Curva de Respuesta de Empuje No Lineal',
|
|
61
|
+
hudHoverMarker: 'Punto de Sustentación',
|
|
62
|
+
hudCurrentStickMarker: 'Stick Actual',
|
|
63
|
+
hudGForceLabel: 'Fuerzas G',
|
|
64
|
+
hudTiltAngleLabel: 'Ángulo de Cámara',
|
|
65
|
+
hudVectorPowerLabel: 'Telemetría de Potencia en Vivo',
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const faqItems = [
|
|
69
|
+
{
|
|
70
|
+
question: '¿Cuál es una buena relación empuje a peso para un dron FPV de freestyle?',
|
|
71
|
+
answer: 'Para drones de freestyle, un TWR de 8 a 1 a 12 a 1 proporciona la aceleración explosiva requerida para frenar caídas libres y superar giros de altas fuerzas G.',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
question: '¿Cómo afecta la curva no lineal de gas al vuelo estacionario?',
|
|
75
|
+
answer: 'Los motores brushless generan empuje proporcional al cuadrado de las revoluciones. Debido a esto, el punto de sustentación suele ubicarse entre el 20 y el 35 por ciento de recorrido de stick en montajes de alta potencia.',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
question: '¿Por qué el ángulo de la cámara FPV depende del empuje del dron?',
|
|
79
|
+
answer: 'Drones con mayor TWR vuelan a velocidades de crucero más elevadas con inclinaciones frontales más pronunciadas. Para mantener el horizonte centrado en las gafas FPV, los pilotos inclinan la cámara entre 35 y 50 grados.',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
question: '¿Cómo cambia la sensación de vuelo el número de palas de la hélice?',
|
|
83
|
+
answer: 'Las hélices bipalas ofrecen máxima eficiencia energética y alta velocidad punta. Las tripalas equilibran agarre y respuesta en curvas para freestyle. Las cuatripalas entregan frenada y agarre inmediato a bajas revoluciones.',
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
|
|
87
|
+
const howToSteps = [
|
|
88
|
+
{
|
|
89
|
+
name: 'Seleccionar Ajuste Rápido o Introducir Peso del Dron',
|
|
90
|
+
text: 'Ingresa el peso total en orden de vuelo incluyendo batería, cámara HD y accesorios en gramos.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Configurar Motores y Hélices',
|
|
94
|
+
text: 'Selecciona la cantidad de motores, el número de palas y el empuje estático máximo de banco especificado por el fabricante.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Ajustar el Stick de Gas en Vivo',
|
|
98
|
+
text: 'Mueve el stick de acelerador o pulsa los accesos rápidos para observar la variación de vectores de empuje, fuerzas G y respuesta en la curva.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const seoSections: SEOSection[] = [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Aerodinámica de la Relación Empuje a Peso en Drones FPV',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'La relación empuje a peso (TWR) determina la aceleración vertical y la autoridad de control de cualquier multirrotor. En el vuelo acrobático y de carreras FPV, contar con margen de empuje suficiente permite a los pilotos recuperarse de picados a velocidad terminal y maniobrar cerca de obstáculos con precisión. Comprender este perfil es fundamental para elegir motores, ESC y calibrar el firmware de vuelo.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Clasificación de Drones FPV y Métricas de Rendimiento',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Plataforma', 'Peso AUW Típico', 'TWR Objetivo', 'Gas en Sustentación', 'Tiempo 0 a 100 km/h', 'Inclinación FPV'],
|
|
120
|
+
rows: [
|
|
121
|
+
['1S TinyWhoop (65mm)', '32g', '4.5 a 1', '35 por ciento', '1.20 s', '15 deg a 25 deg'],
|
|
122
|
+
['4S Freestyle 3.5"', '250g', '12.0 a 1', '24 por ciento', '0.28 s', '35 deg a 45 deg'],
|
|
123
|
+
['6S Freestyle 5" Pro', '680g', '11.5 a 1', '25 por ciento', '0.30 s', '35 deg a 50 deg'],
|
|
124
|
+
['6S Mountain LR 7"', '1150g', '8.3 a 1', '30 por ciento', '0.45 s', '20 deg a 30 deg'],
|
|
125
|
+
['8S Cinelifter X8', '4200g', '6.1 a 1', '38 por ciento', '0.70 s', '15 deg a 25 deg'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Respuesta No Lineal del Acelerador y Curvas de Empuje',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'paragraph',
|
|
135
|
+
html: 'Los motores eléctricos brushless no entregan empuje de manera lineal con la señal de control. La dinámica de flujo de aire y la carga de las palas generan una curva exponencial donde el 20 por ciento superior del recorrido del acelerador entrega más del 40 por ciento del empuje total. Gestionar esta respuesta mediante curvas expo en Betaflight proporciona resolución fina en vuelo de baja velocidad.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'list',
|
|
139
|
+
items: [
|
|
140
|
+
'Zona de sustentación (20 a 35 por ciento de gas): Rango de alta precisión para control de posición y vuelo estacionario.',
|
|
141
|
+
'Zona de crucero (35 a 65 por ciento de gas): Vuelo de traslación equilibrado con consumo energético sostenible.',
|
|
142
|
+
'Zona de punch máximo (70 a 100 por ciento de gas): Entrega de potencia extrema con altas fuerzas G verticales.',
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: 'Elección de Hélices y Sintonización de Firmware Betaflight',
|
|
148
|
+
level: 2,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'El diámetro, paso y número de palas de la hélice determinan cómo el par motor se transforma en empuje estático y velocidad punta. Para drones con TWR superior a 10 a 1, es aconsejable configurar atenuación TPA en Betaflight para evitar oscilaciones de D-Term a fondo de acelerador.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'tip',
|
|
156
|
+
title: 'Consejo de Ajuste Betaflight TPA',
|
|
157
|
+
html: 'En montajes de alta relación de empuje, activa TPA a partir de 1250 o 1350 con un ratio de 0.65. Esto atenuará las ganancias D a gas máximo manteniendo el dron suave y sin vibraciones en rectas veloces.',
|
|
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 = 'calculateur-rapport-poussee-poids-drone-fpv';
|
|
7
|
+
const title = 'Calculateur de Rapport Poussée Poids et Télémétrie de Vol Drone FPV';
|
|
8
|
+
const description = 'Calculez la poussée statique maximale, la courbe de gaz non linéaire, les forces G verticales, le point de stationnaire et le temps 0 à 100 pour drones FPV.';
|
|
9
|
+
|
|
10
|
+
const ui = {
|
|
11
|
+
title: 'Calculateur de Rapport Poussée Poids pour Drone FPV',
|
|
12
|
+
subtitle: 'Analysez les courbes de poussée, la réponse des gaz en direct, les forces G et la catégorie de vol',
|
|
13
|
+
presetsHeader: 'Configurations Rapides',
|
|
14
|
+
customPreset: 'Personnalisé',
|
|
15
|
+
whoop1sPreset: '1S TinyWhoop (65mm)',
|
|
16
|
+
freestyle35Preset: '4S Freestyle 3.5 Pouces',
|
|
17
|
+
freestyle5Preset: '6S Freestyle 5 Pouces Pro',
|
|
18
|
+
longrange7Preset: '6S Mountain LR 7 Pouces',
|
|
19
|
+
cinelifter8Preset: '8S Cinelifter Lourd X8',
|
|
20
|
+
specsHeader: 'Caractéristiques du Drone et Propulsion',
|
|
21
|
+
auwGramsLabel: 'Masse Totale avec Batterie (g)',
|
|
22
|
+
motorCountLabel: 'Configuration des Moteurs',
|
|
23
|
+
thrustPerMotorLabel: 'Poussée Statique Max par Moteur (g)',
|
|
24
|
+
propellerSizeLabel: 'Diamètre Hélice (pouces)',
|
|
25
|
+
propellerPitchLabel: 'Pas de Hélice (pouces)',
|
|
26
|
+
bladeCountLabel: 'Nombre de Pales',
|
|
27
|
+
blade2Option: '2 Pales (Bipale - Efficacité Maximale)',
|
|
28
|
+
blade3Option: '3 Pales (Tripale - Standard Freestyle)',
|
|
29
|
+
blade4Option: '4 Pales (Quadripale - Adhérence Maximale)',
|
|
30
|
+
throttleStickHeader: 'Simulateur de Manette des Gaz en Direct',
|
|
31
|
+
throttleStickLabel: 'Position des Gaz (%)',
|
|
32
|
+
snapIdleLabel: 'Ralenti (0%)',
|
|
33
|
+
snapHoverLabel: 'Stationnaire',
|
|
34
|
+
snapCruiseLabel: 'Croisière (50%)',
|
|
35
|
+
snapPunchLabel: 'Plein Gaz (100%)',
|
|
36
|
+
telemetryHeader: 'Télémétrie de Vol FPV et Diagnostic',
|
|
37
|
+
twrRatioLabel: 'Rapport Poussée Poids (TWR)',
|
|
38
|
+
hoverThrottleLabel: 'Point de Gaz en Stationnaire',
|
|
39
|
+
currentThrustLabel: 'Poussée Actuelle Générée',
|
|
40
|
+
instantGForceLabel: 'Force G Verticale Instantanée',
|
|
41
|
+
zeroToHundredLabel: 'Temps 0 à 100 km/h en Punch',
|
|
42
|
+
recommendedCamAngleLabel: 'Inclinaison de Caméra FPV Conseillée',
|
|
43
|
+
windResistanceLabel: 'Vitesse de Pénétration Face au Vent',
|
|
44
|
+
totalMaxThrustLabel: 'Poussée Statique Totale Maximale',
|
|
45
|
+
maxPitchAngleLabel: 'Angle Inclinaison Soutenable',
|
|
46
|
+
tuningHeader: 'Recommandations de Réglage Betaflight et PID',
|
|
47
|
+
tpaRecommendationLabel: 'Atténuation PID des Gaz (TPA)',
|
|
48
|
+
dynamicIdleLabel: 'Ralenti Dynamique Recommandé',
|
|
49
|
+
propwashRiskLabel: 'Autorité sur Turbulences Propwash',
|
|
50
|
+
tierUnderpoweredTitle: 'Sous Motorisé ou Risque de Dérive au Vent',
|
|
51
|
+
tierUnderpoweredDesc: 'TWR inférieur à 2 pour 1 insuffisant pour rattraper les chutes rapides. Adapté uniquement au vol intérieur calme.',
|
|
52
|
+
tierCinematicTitle: 'Vol Cinématique Fluide',
|
|
53
|
+
tierCinematicDesc: 'TWR entre 2 pour 1 et 4 pour 1 assurant un contrôle souple des gaz et des prises de vue stables.',
|
|
54
|
+
tierFreestyleTitle: 'Freestyle Sportif et Agile',
|
|
55
|
+
tierFreestyleDesc: 'TWR entre 4 pour 1 et 8 pour 1 offrant des réponses vives et de bonnes reprises acrobatiques.',
|
|
56
|
+
tierAcroProTitle: 'Acrobatie Haute Performance et Freestyle Bando',
|
|
57
|
+
tierAcroProDesc: 'TWR entre 8 pour 1 et 13 pour 1 délivrant des accélérations explosives et une annulation nette du propwash.',
|
|
58
|
+
tierRacingExtremeTitle: 'Course de Drones Extrême',
|
|
59
|
+
tierRacingExtremeDesc: 'TWR supérieur à 13 pour 1 fournissant la puissance nécessaire aux circuits de compétition FPV.',
|
|
60
|
+
hudThrustCurveTitle: 'Courbe de Réponse de Poussée Non Linéaire',
|
|
61
|
+
hudHoverMarker: 'Point de Stationnaire',
|
|
62
|
+
hudCurrentStickMarker: 'Manette Actuelle',
|
|
63
|
+
hudGForceLabel: 'Forces G',
|
|
64
|
+
hudTiltAngleLabel: 'Angle Caméra',
|
|
65
|
+
hudVectorPowerLabel: 'Télémétrie de Puissance en Direct',
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const faqItems = [
|
|
69
|
+
{
|
|
70
|
+
question: 'Quel est un bon rapport poussée poids pour le freestyle FPV ?',
|
|
71
|
+
answer: "Pour le vol freestyle moderne, un TWR de 8:1 à 12:1 fournit l'accélération explosive nécessaire pour stopper les chutes libres et négocier des virages serrés.",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
question: 'Comment la courbe non linéaire des gaz influence-t-elle le stationnaire ?',
|
|
75
|
+
answer: "Les moteurs brushless génèrent une poussée proportionnelle au carré du régime moteur. Le point d'équilibre stationnaire se situe donc généralement entre 20 et 35 % de la course des gaz.",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
question: "Pourquoi l'angle de la caméra FPV dépend-il de la poussée du drone ?",
|
|
79
|
+
answer: "Un drone à fort rapport poussée poids vole à des vitesses de croisière plus élevées avec une assiette plus inclinée vers l'avant. Pour conserver l'horizon centré, les pilotes règlent leur caméra entre 35 et 50 degrés.",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
question: "Comment le nombre de pales de l'hélice modifie-t-il les sensations de vol ?",
|
|
83
|
+
answer: "Les hélices bipales offrent un rendement énergétique maximal et une vitesse de pointe élevée. Les tripales équilibrent réactivité et accroche en virage pour le freestyle. Les quadripales apportent un freinage immédiat à bas régime.",
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
|
|
87
|
+
const howToSteps = [
|
|
88
|
+
{
|
|
89
|
+
name: 'Sélectionner un Profil ou Entrer la Masse du Drone',
|
|
90
|
+
text: 'Indiquez la masse totale en ordre de vol en grammes incluant batterie, caméra HD et accessoires.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Configurer les Moteurs et Hélices',
|
|
94
|
+
text: 'Renseignez le nombre de moteurs, de pales et la poussée statique maximale spécifiée par le fabricant.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Ajuster la Manette des Gaz Virtuelle',
|
|
98
|
+
text: 'Déplacez le curseur des gaz pour observer en temps réel la variation des forces G, des vecteurs et de la courbe de poussée.',
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
const seoSections: SEOSection[] = [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Aérodynamique du Rapport Poussée Poids sur les Drones FPV',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: "Le rapport poussée poids (TWR) détermine l'accélération verticale et l'autorité de contrôle de tout multirotor. En vol acrobatique et en course FPV, disposer d'une réserve de puissance suffisante permet aux pilotes d'interrompre des piqués à haute vitesse et de manœuvrer avec précision près des obstacles. Maîtriser cette dynamique est indispensable pour dimensionner moteurs, contrôleurs ESC et ajuster le firmware.",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Classification des Drones FPV et Métriques de Performance',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Plateforme', 'Masse AUW Typique', 'TWR Cible', 'Gaz en Stationnaire', 'Temps 0 à 100 km/h', 'Angle FPV'],
|
|
120
|
+
rows: [
|
|
121
|
+
['1S TinyWhoop (65mm)', '32g', '4.5 à 1', '35 pour cent', '1.20 s', '15 deg à 25 deg'],
|
|
122
|
+
['4S Freestyle 3.5"', '250g', '12.0 à 1', '24 pour cent', '0.28 s', '35 deg à 45 deg'],
|
|
123
|
+
['6S Freestyle 5" Pro', '680g', '11.5 à 1', '25 pour cent', '0.30 s', '35 deg à 50 deg'],
|
|
124
|
+
['6S Mountain LR 7"', '1150g', '8.3 à 1', '30 pour cent', '0.45 s', '20 deg à 30 deg'],
|
|
125
|
+
['8S Cinelifter X8', '4200g', '6.1 à 1', '38 pour cent', '0.70 s', '15 deg à 25 deg'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Réponse Non Linéaire des Gaz et Courbes de Poussée',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'paragraph',
|
|
135
|
+
html: 'Les moteurs électriques brushless ne délivrent pas une poussée strictement proportionnelle au signal de commande. La dynamique des fluides et la charge des hélices créent une courbe exponentielle où les 20 derniers pour cent de course de manette fournissent plus de 40 pour cent de la poussée globale.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'list',
|
|
139
|
+
items: [
|
|
140
|
+
'Zone de stationnaire (20 à 35 % de gaz): Plage de haute précision pour le maintien de position.',
|
|
141
|
+
'Zone de croisière (35 à 65 % de gaz): Vol de translation équilibré avec consommation modérée.',
|
|
142
|
+
'Zone de plein gaz (70 à 100 % de gaz): Délivrance de puissance maximale générant de fortes accélérations G.',
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: 'Choix des Hélices et Réglage Firmware Betaflight',
|
|
148
|
+
level: 2,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: "Le diamètre, le pas et le nombre de pales déterminent la conversion du couple moteur en poussée statique et vitesse de pointe. Pour les configurations avec TWR supérieur à 10:1, il est vivement recommandé d'activer l'atténuation TPA sous Betaflight pour supprimer les oscillations D-Term à plein régime.",
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'tip',
|
|
156
|
+
title: 'Conseil de Réglage Betaflight TPA',
|
|
157
|
+
html: "Sur les montages à forte puissance, activez le TPA à partir de 1250 ou 1350 avec une valeur de 0.65. Cela atténuera le gain D à plein gaz pour garder un drone stable et sans vibrations en ligne droite.",
|
|
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
|
+
};
|