@jjlmoya/utils-drones 1.30.0 → 1.32.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/i18n/en.ts +1 -1
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/index.ts +2 -0
- package/src/components/PreviewNavSidebar.astro +116 -116
- package/src/components/PreviewToolbar.astro +143 -143
- package/src/data.ts +1 -1
- package/src/entries.ts +4 -0
- package/src/env.d.ts +1 -1
- package/src/index.ts +1 -1
- package/src/layouts/PreviewLayout.astro +118 -118
- package/src/pages/[locale].astro +251 -251
- package/src/pages/index.astro +4 -4
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/locale_completeness.test.ts +1 -2
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +17 -17
- package/src/tool/antenna-length-calculator/bibliography.astro +6 -6
- package/src/tool/antenna-length-calculator/component.astro +329 -329
- package/src/tool/antenna-length-calculator/seo.astro +15 -15
- package/src/tool/drone-battery-c-rating-calculator/i18n/de.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/en.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/es.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/id.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/ja.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/ko.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/nl.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/pl.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/ru.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/sv.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/tr.ts +192 -192
- package/src/tool/drone-battery-c-rating-calculator/i18n/zh.ts +192 -192
- package/src/tool/drone-flight-time/component.astro +187 -187
- package/src/tool/drone-flight-time/seo.astro +15 -15
- package/src/tool/drone-motor-propeller-calculator/bibliography.astro +6 -0
- package/src/tool/drone-motor-propeller-calculator/bibliography.ts +12 -0
- package/src/tool/drone-motor-propeller-calculator/component.astro +109 -0
- package/src/tool/drone-motor-propeller-calculator/controller.ts +174 -0
- package/src/tool/drone-motor-propeller-calculator/dom-views.ts +78 -0
- package/src/tool/drone-motor-propeller-calculator/drone-motor-propeller-calculator.css +562 -0
- package/src/tool/drone-motor-propeller-calculator/entry.ts +27 -0
- package/src/tool/drone-motor-propeller-calculator/evaluator.ts +14 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/de.ts +202 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/en.ts +202 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/es.ts +202 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/fr.ts +202 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/id.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/it.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/ja.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/ko.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/nl.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/pl.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/pt.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/ru.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/sv.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/tr.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/i18n/zh.ts +192 -0
- package/src/tool/drone-motor-propeller-calculator/index.ts +11 -0
- package/src/tool/drone-motor-propeller-calculator/logic.test.ts +56 -0
- package/src/tool/drone-motor-propeller-calculator/logic.ts +108 -0
- package/src/tool/drone-motor-propeller-calculator/seo.astro +15 -0
- package/src/tool/drone-motor-propeller-calculator/storage.ts +26 -0
- package/src/tool/drone-motor-propeller-calculator/ui.ts +55 -0
- package/src/tool/gps-coordinates-converter/component.astro +275 -275
- package/src/tool/gps-coordinates-converter/seo.astro +15 -15
- package/src/tools.ts +3 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SEOSection } from '../../../types';
|
|
3
|
+
import type { DroneMotorPropellerLocaleContent } from '../entry';
|
|
4
|
+
import { BIBLIOGRAPHY_ITEMS } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'kalkulator-silnika-i-migla-drona';
|
|
7
|
+
const title = 'Kalkulator Silnika i Śmigła Drona';
|
|
8
|
+
const description = 'Oblicz ciąg silnika drona, obroty pod obciążeniem, prędkość skoku śmigła, moc i pobór prądu na podstawie KV, napięcia baterii, geometrii śmigła i wagi drona.';
|
|
9
|
+
|
|
10
|
+
const ui = {
|
|
11
|
+
"presetsHeader": "Wybierz profil lotu",
|
|
12
|
+
"presetTinyCruiser": "Lekki micro cruiser 3.5 cala",
|
|
13
|
+
"presetFreestyle": "Freestyle 5 cali",
|
|
14
|
+
"presetLongRange": "Long range 7 cali",
|
|
15
|
+
"presetCinelifter": "Cinelifter 8 silników",
|
|
16
|
+
"unitHeader": "Jednostki miary",
|
|
17
|
+
"metricUnit": "Metryczne",
|
|
18
|
+
"imperialUnit": "Calowe",
|
|
19
|
+
"setupHeader": "Napęd i rama",
|
|
20
|
+
"motorKvLabel": "Stała silnika KV (OBR/V)",
|
|
21
|
+
"batteryVoltageLabel": "Napięcie baterii",
|
|
22
|
+
"propDiameterLabel": "Średnica śmigła",
|
|
23
|
+
"propPitchLabel": "Skok śmigła",
|
|
24
|
+
"bladeCountLabel": "Liczba łopat",
|
|
25
|
+
"motorCountLabel": "Liczba silników",
|
|
26
|
+
"droneWeightLabel": "Waga gotowego do lotu (RTF)",
|
|
27
|
+
"benchDataHeader": "Punkt pomiarowy producenta",
|
|
28
|
+
"benchThrustLabel": "Ciąg na jeden silnik",
|
|
29
|
+
"benchVoltageLabel": "Napięcie testowe",
|
|
30
|
+
"optionalLabel": "Opcjonalne",
|
|
31
|
+
"twoBlades": "2 łopaty",
|
|
32
|
+
"threeBlades": "3 łopaty",
|
|
33
|
+
"fourBlades": "4 łopaty",
|
|
34
|
+
"twoMotors": "2 silniki",
|
|
35
|
+
"fourMotors": "4 silniki",
|
|
36
|
+
"sixMotors": "6 silników",
|
|
37
|
+
"eightMotors": "8 silników",
|
|
38
|
+
"resultsHeader": "Ciąg i bilans nośności",
|
|
39
|
+
"estimatedLabel": "Szacunek oparty na fizyce.",
|
|
40
|
+
"benchBasedLabel": "Kalibrowane danymi z hamowni.",
|
|
41
|
+
"loadedRpmLabel": "Prędkość pod obciążeniem",
|
|
42
|
+
"pitchSpeedLabel": "Teoretyczna prędkość skoku",
|
|
43
|
+
"thrustPerMotorLabel": "Ciąg na silnik",
|
|
44
|
+
"totalThrustLabel": "Całkowity ciąg statyczny",
|
|
45
|
+
"totalPowerLabel": "Szacowana moc",
|
|
46
|
+
"totalCurrentLabel": "Szacowany prąd",
|
|
47
|
+
"thrustMarginLabel": "Zapas ciągu",
|
|
48
|
+
"hoverThrottleLabel": "Gaz w zawisie",
|
|
49
|
+
"sceneCaption": "prędkość obrotowa pod obciążeniem",
|
|
50
|
+
"underpoweredStatus": "Niski zapas",
|
|
51
|
+
"workableStatus": "Zapas operacyjny",
|
|
52
|
+
"headroomStatus": "Wysoki zapas ciągu",
|
|
53
|
+
"underpoweredAdvice": "Całkowity ciąg jest mniejszy niż dwukrotność wagi drona. Należy spodziewać się ograniczonej dynamiki i słabej odporności na wiatr.",
|
|
54
|
+
"workableAdvice": "Praktyczny zapas mocy do normalnego lotu. Sprawdź temperaturę silników i regulatorów po dłuższym zawisie.",
|
|
55
|
+
"headroomAdvice": "Duży zapas ciągu statycznego. Poprawia kontrolę w trudnych manewrach, ale wymaga większego prądu z akumulatora.",
|
|
56
|
+
"sourceNote": "Punkt testowy kalibruje tylko ciąg. Moc i prąd pozostają wartościami szacunkowymi.",
|
|
57
|
+
"modelSourceNote": "Brak punktu testowego. Ciąg wykorzystuje teoretyczny model współczynników.",
|
|
58
|
+
"manufacturerNote": "W miarę możliwości używaj punktu pomiarowego z tego samego zestawu silnika i śmigła.",
|
|
59
|
+
"modelNote": "Ciąg statyczny, moc i prąd są szacunkami. Rzeczywiste wyniki zależą od gęstości powietrza i strat.",
|
|
60
|
+
"safetyNote": "Nigdy nie traktuj tego kalkulatora jako zastępstwa dla testu na hamowni. Sprawdź limity przed lotem.",
|
|
61
|
+
"thrustAxisLabel": "Kierunek ciągu",
|
|
62
|
+
"weightAxisLabel": "Waga drona",
|
|
63
|
+
"clearBenchData": "Usuń punkt testowy"
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const faq = [
|
|
67
|
+
{
|
|
68
|
+
"question": "Co oblicza ten kalkulator silnika i śmigła drona?",
|
|
69
|
+
"answer": "Szacuje obroty pod obciążeniem, prędkość skoku, ciąg na silnik i całkowity, moc oraz pobór prądu na podstawie KV, napięcia, geometrii i wagi."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"question": "Jak dopasować silnik drona do śmigła?",
|
|
73
|
+
"answer": "Zacznij od zaleceń producenta dla silnika i napięcia. Porównaj całkowity ciąg z wagą drona i sprawdź prąd oraz temperaturę na hamowni."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"question": "Dlaczego punkt testowy producenta jest dokładniejszy?",
|
|
77
|
+
"answer": "Uwzględnia rzeczywistą geometrię śmigła i opory. Kalkulator przeskalowuje ten pomiar do wybranego napięcia."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"question": "Jak rozmiar śmigła wpływa na ciąg drona?",
|
|
81
|
+
"answer": "Ciąg statyczny zależy silnie od średnicy i prędkości obrotowej. Większe śmigło generuje większy ciąg, ale wymaga większego momentu obrotowego."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"question": "Czy ten kalkulator gwarantuje bezpieczeństwo lotu?",
|
|
85
|
+
"answer": "Nie. To narzędzie projektowe. Zawsze weryfikuj prąd i temperaturę na hamowni przed pierwszym lotem."
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
const howTo = [
|
|
90
|
+
{
|
|
91
|
+
"name": "Wybierz profil lotu",
|
|
92
|
+
"text": "Wybierz gotowy zestaw, aby wczytać wstępne wartości KV, napięcia, śmigła i wagi drona."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "Wprowadź dane ramy i śmigła",
|
|
96
|
+
"text": "Podaj wagę gotowego do lotu drona oraz specyfikację silnika i śmigła."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "Dodaj punkt pomiarowy",
|
|
100
|
+
"text": "Jeśli posiadasz dane z hamowni, wprowadź zmierzony ciąg i napięcie testowe."
|
|
101
|
+
}
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
const seo: SEOSection[] = [
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Zasady doboru silnika i śmigła w dronach',
|
|
108
|
+
level: 2,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'paragraph',
|
|
112
|
+
html: 'Dobór silnika i śmigła to kompromis między prędkością obrotową, średnicą, skokiem, napięciem i momentem obrotowym. Kalkulator szacuje ciąg statyczny i obciążenie prądowe.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Prezentowane wyniki',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'table',
|
|
121
|
+
headers: ["Wynik","Znaczenie techniczne"],
|
|
122
|
+
rows: [["Prędkość pod obciążeniem","Szacowane obroty bez obciążenia pomniejszone o współczynnik pracy"],["Ciąg statyczny","Ciąg jednostkowy i całkowita siła nośna"],["Zapas ciągu","Stosunek całkowitego ciągu statycznego do wagi drona"],["Moc i prąd","Szacowane zapotrzebowanie elektryczne pod danym napięciem"]],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Jak używać kalkulatora',
|
|
127
|
+
level: 2,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'list',
|
|
131
|
+
items: ["Wprowadź KV silnika i napięcie akumulatora.","Wybierz średnicę, skok, liczbę łopat i silników.","Opcjonalnie dodaj dane z hamowni producenta.","Skontroluj temperaturę i prąd na hamowni przed lotem."],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Znaczenie danych pomiarowych',
|
|
136
|
+
level: 2,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Ciąg śmigła zależy od gęstości powietrza i kształtu łopat. Rzeczywisty pomiar z hamowni zapewnia najwyższą dokładność.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Plan testów',
|
|
145
|
+
html: 'Wykonaj test na hamowni mierząc prąd i temperaturę przed pierwszym wylotem.',
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
|
|
149
|
+
const schemas: DroneMotorPropellerLocaleContent['schemas'] = [
|
|
150
|
+
{
|
|
151
|
+
'@context': 'https://schema.org',
|
|
152
|
+
'@type': 'FAQPage',
|
|
153
|
+
mainEntity: faq.map((item) => ({
|
|
154
|
+
'@type': 'Question',
|
|
155
|
+
name: item.question,
|
|
156
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
157
|
+
})),
|
|
158
|
+
} as WithContext<FAQPage>,
|
|
159
|
+
{
|
|
160
|
+
'@context': 'https://schema.org',
|
|
161
|
+
'@type': 'HowTo',
|
|
162
|
+
name: title,
|
|
163
|
+
description,
|
|
164
|
+
step: howTo.map((step, index) => ({
|
|
165
|
+
'@type': 'HowToStep',
|
|
166
|
+
position: index + 1,
|
|
167
|
+
name: step.name,
|
|
168
|
+
text: step.text,
|
|
169
|
+
})),
|
|
170
|
+
} as WithContext<HowTo>,
|
|
171
|
+
{
|
|
172
|
+
'@context': 'https://schema.org',
|
|
173
|
+
'@type': 'SoftwareApplication',
|
|
174
|
+
name: title,
|
|
175
|
+
description,
|
|
176
|
+
applicationCategory: 'UtilityApplication',
|
|
177
|
+
operatingSystem: 'All',
|
|
178
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
179
|
+
} as WithContext<SoftwareApplication>,
|
|
180
|
+
];
|
|
181
|
+
|
|
182
|
+
export const content: DroneMotorPropellerLocaleContent = {
|
|
183
|
+
slug,
|
|
184
|
+
title,
|
|
185
|
+
description,
|
|
186
|
+
ui,
|
|
187
|
+
seo,
|
|
188
|
+
faq,
|
|
189
|
+
bibliography: BIBLIOGRAPHY_ITEMS,
|
|
190
|
+
howTo,
|
|
191
|
+
schemas,
|
|
192
|
+
};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SEOSection } from '../../../types';
|
|
3
|
+
import type { DroneMotorPropellerLocaleContent } from '../entry';
|
|
4
|
+
import { BIBLIOGRAPHY_ITEMS } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'calculadora-motor-helice-drone';
|
|
7
|
+
const title = 'Calculadora de Motor e Hélice para Drones';
|
|
8
|
+
const description = 'Estime o empuxo do motor, RPM sob carga, velocidade de passo da hélice, potência e corrente a partir de KV, tensão da bateria, geometria e peso do drone.';
|
|
9
|
+
|
|
10
|
+
const ui = {
|
|
11
|
+
"presetsHeader": "Escolha um perfil de voo",
|
|
12
|
+
"presetTinyCruiser": "Micro cruiser 3.5 polegadas",
|
|
13
|
+
"presetFreestyle": "Freestyle 5 polegadas",
|
|
14
|
+
"presetLongRange": "Long range 7 polegadas",
|
|
15
|
+
"presetCinelifter": "Cinelifter 8 motores",
|
|
16
|
+
"unitHeader": "Unidades de exibição",
|
|
17
|
+
"metricUnit": "Métrico",
|
|
18
|
+
"imperialUnit": "Imperial",
|
|
19
|
+
"setupHeader": "Propulsão e chassi",
|
|
20
|
+
"motorKvLabel": "Constante do motor KV (RPM/V)",
|
|
21
|
+
"batteryVoltageLabel": "Tensão da bateria",
|
|
22
|
+
"propDiameterLabel": "Diâmetro da hélice",
|
|
23
|
+
"propPitchLabel": "Passo da hélice",
|
|
24
|
+
"bladeCountLabel": "Número de pás",
|
|
25
|
+
"motorCountLabel": "Número de motores",
|
|
26
|
+
"droneWeightLabel": "Peso pronto para voar",
|
|
27
|
+
"benchDataHeader": "Ponto de teste do fabricante",
|
|
28
|
+
"benchThrustLabel": "Empuxo por motor",
|
|
29
|
+
"benchVoltageLabel": "Tensão de teste",
|
|
30
|
+
"optionalLabel": "Opcional",
|
|
31
|
+
"twoBlades": "2 pás",
|
|
32
|
+
"threeBlades": "3 pás",
|
|
33
|
+
"fourBlades": "4 pás",
|
|
34
|
+
"twoMotors": "2 motores",
|
|
35
|
+
"fourMotors": "4 motores",
|
|
36
|
+
"sixMotors": "6 motores",
|
|
37
|
+
"eightMotors": "8 motores",
|
|
38
|
+
"resultsHeader": "Empuxo e sustentação estática",
|
|
39
|
+
"estimatedLabel": "Estimativa física teórica.",
|
|
40
|
+
"benchBasedLabel": "Ajustado com banco de testes.",
|
|
41
|
+
"loadedRpmLabel": "Velocidade sob carga",
|
|
42
|
+
"pitchSpeedLabel": "Velocidade teórica de avanço",
|
|
43
|
+
"thrustPerMotorLabel": "Empuxo por motor",
|
|
44
|
+
"totalThrustLabel": "Empuxo estático total",
|
|
45
|
+
"totalPowerLabel": "Potência estimada",
|
|
46
|
+
"totalCurrentLabel": "Corrente estimada",
|
|
47
|
+
"thrustMarginLabel": "Margem de elevação",
|
|
48
|
+
"hoverThrottleLabel": "Acelerador em pairar",
|
|
49
|
+
"sceneCaption": "velocidade da hélice sob carga",
|
|
50
|
+
"underpoweredStatus": "Margem baixa",
|
|
51
|
+
"workableStatus": "Margem operacional",
|
|
52
|
+
"headroomStatus": "Excelente margem",
|
|
53
|
+
"underpoweredAdvice": "O empuxo total é inferior ao dobro do peso da aeronave. Espere autoridade de recuperação limitada e pouca tolerância ao vento.",
|
|
54
|
+
"workableAdvice": "Reserva prática para voo normal. Verifique a temperatura dos motores e ESCs após pairar antes de confiar no cálculo.",
|
|
55
|
+
"headroomAdvice": "Generosa reserva de empuxo estático. Melhora a autoridade de controle mas exige mais corrente dos ESCs.",
|
|
56
|
+
"sourceNote": "O ponto de teste calibra apenas o empuxo. Potência e corrente continuam estimativas teóricas.",
|
|
57
|
+
"modelSourceNote": "Sem dados de bancada. O empuxo utiliza o modelo físico teórico.",
|
|
58
|
+
"manufacturerNote": "Use preferencialmente dados de bancada medidos com o mesmo motor e hélice.",
|
|
59
|
+
"modelNote": "Empuxo, potência e corrente são estimativas. Resultados reais dependem da densidade do ar e perdas.",
|
|
60
|
+
"safetyNote": "Nunca substitua esta calculadora por um teste real em bancada. Confirme os limites elétricos antes de voar.",
|
|
61
|
+
"thrustAxisLabel": "Direção do empuxo",
|
|
62
|
+
"weightAxisLabel": "Peso do drone",
|
|
63
|
+
"clearBenchData": "Limpar ponto de teste"
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const faq = [
|
|
67
|
+
{
|
|
68
|
+
"question": "O que esta calculadora de motor e hélice de drone estima?",
|
|
69
|
+
"answer": "Estima RPM sob carga, velocidade teórica de avanço, empuxo por motor e total, potência e corrente a partir do KV, tensão, geometria da hélice e peso."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"question": "Como combinar motor e hélice para drone?",
|
|
73
|
+
"answer": "Comece pelas recomendações do fabricante. Compare o empuxo total com o peso pronto para voar e verifique em bancada antes de voar."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"question": "Por que o ponto de teste do fabricante é mais preciso?",
|
|
77
|
+
"answer": "Ele considera a geometria real e perdas da hélice. A ferramenta ajusta esse valor para a tensão selecionada."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"question": "Como o tamanho da hélice afeta o empuxo?",
|
|
81
|
+
"answer": "O empuxo estático depende fortemente do diâmetro e rotação. Uma hélice maior move mais ar mas exige mais torque do motor."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"question": "Esta calculadora garante segurança no voo?",
|
|
85
|
+
"answer": "Não. É uma ferramenta de projeto. Verifique corrente e temperatura reais em bancada de teste antes do voo."
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
const howTo = [
|
|
90
|
+
{
|
|
91
|
+
"name": "Escolher um perfil de voo",
|
|
92
|
+
"text": "Selecione um preset para carregar valores iniciais coerentes para KV, tensão, hélice e peso."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "Inserir dados do chassi e hélice",
|
|
96
|
+
"text": "Digite o peso e as especificações de motor e hélice em unidades métricas ou imperiais."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "Adicionar ponto de medição",
|
|
100
|
+
"text": "Se possuir dados de bancada, insira o empuxo medido e a tensão de teste para calibrar o modelo."
|
|
101
|
+
}
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
const seo: SEOSection[] = [
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Princípios de combinação entre motor e hélice de drone',
|
|
108
|
+
level: 2,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'paragraph',
|
|
112
|
+
html: 'O par motor hélice equilibra velocidade de rotação, diâmetro, passo, tensão e torque disponível. Esta ferramenta calcula o empuxo estático e o consumo elétrico.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Resultados exibidos',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'table',
|
|
121
|
+
headers: ["Resultado","Significado"],
|
|
122
|
+
rows: [["Velocidade sob carga","RPM estimado a vazio reduzido pelo fator de carga"],["Empuxo estático","Empuxo por motor e elevação total acumulada"],["Margem de elevação","Empuxo estático total comparado ao peso pronto para voar"],["Potência e corrente","Demanda elétrica estimada sob a tensão selecionada"]],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Como usar a calculadora',
|
|
127
|
+
level: 2,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'list',
|
|
131
|
+
items: ["Inserir KV do motor e tensão da bateria.","Escolher diâmetro, passo, número de pás e motores.","Adicionar dados de bancada do fabricante se disponíveis.","Verificar temperatura e corrente em bancada antes do voo."],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Importância de dados de bancada',
|
|
136
|
+
level: 2,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'O empuxo da hélice depende da geometria e densidade do ar. Dados de teste medidos oferecem a melhor calibração.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Plano de teste',
|
|
145
|
+
html: 'Realize um teste em bancada medindo corrente e temperatura antes do primeiro voo.',
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
|
|
149
|
+
const schemas: DroneMotorPropellerLocaleContent['schemas'] = [
|
|
150
|
+
{
|
|
151
|
+
'@context': 'https://schema.org',
|
|
152
|
+
'@type': 'FAQPage',
|
|
153
|
+
mainEntity: faq.map((item) => ({
|
|
154
|
+
'@type': 'Question',
|
|
155
|
+
name: item.question,
|
|
156
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
157
|
+
})),
|
|
158
|
+
} as WithContext<FAQPage>,
|
|
159
|
+
{
|
|
160
|
+
'@context': 'https://schema.org',
|
|
161
|
+
'@type': 'HowTo',
|
|
162
|
+
name: title,
|
|
163
|
+
description,
|
|
164
|
+
step: howTo.map((step, index) => ({
|
|
165
|
+
'@type': 'HowToStep',
|
|
166
|
+
position: index + 1,
|
|
167
|
+
name: step.name,
|
|
168
|
+
text: step.text,
|
|
169
|
+
})),
|
|
170
|
+
} as WithContext<HowTo>,
|
|
171
|
+
{
|
|
172
|
+
'@context': 'https://schema.org',
|
|
173
|
+
'@type': 'SoftwareApplication',
|
|
174
|
+
name: title,
|
|
175
|
+
description,
|
|
176
|
+
applicationCategory: 'UtilityApplication',
|
|
177
|
+
operatingSystem: 'All',
|
|
178
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
179
|
+
} as WithContext<SoftwareApplication>,
|
|
180
|
+
];
|
|
181
|
+
|
|
182
|
+
export const content: DroneMotorPropellerLocaleContent = {
|
|
183
|
+
slug,
|
|
184
|
+
title,
|
|
185
|
+
description,
|
|
186
|
+
ui,
|
|
187
|
+
seo,
|
|
188
|
+
faq,
|
|
189
|
+
bibliography: BIBLIOGRAPHY_ITEMS,
|
|
190
|
+
howTo,
|
|
191
|
+
schemas,
|
|
192
|
+
};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { SEOSection } from '../../../types';
|
|
3
|
+
import type { DroneMotorPropellerLocaleContent } from '../entry';
|
|
4
|
+
import { BIBLIOGRAPHY_ITEMS } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'kalkulyator-motora-i-vinta-drona';
|
|
7
|
+
const title = 'Калькулятор Мотора и Воздушного Винта Дрона';
|
|
8
|
+
const description = 'Оценка тяги мотора дрона, оборотов под нагрузкой, скорости потока, мощности и тока по KV, напряжению батареи, геометрии винта и весу квадрокоптера.';
|
|
9
|
+
|
|
10
|
+
const ui = {
|
|
11
|
+
"presetsHeader": "Выберите профиль полета",
|
|
12
|
+
"presetTinyCruiser": "Легкий микро крузер 3.5 дюйма",
|
|
13
|
+
"presetFreestyle": "Фристайл 5 дюймов",
|
|
14
|
+
"presetLongRange": "Дальнолет 7 дюймов",
|
|
15
|
+
"presetCinelifter": "Синелифтер 8 моторов",
|
|
16
|
+
"unitHeader": "Единицы измерения",
|
|
17
|
+
"metricUnit": "Метрические",
|
|
18
|
+
"imperialUnit": "Имперские",
|
|
19
|
+
"setupHeader": "Силовая установка и рама",
|
|
20
|
+
"motorKvLabel": "Константа мотора KV (Об/В)",
|
|
21
|
+
"batteryVoltageLabel": "Напряжение аккумулятора",
|
|
22
|
+
"propDiameterLabel": "Диаметр пропеллера",
|
|
23
|
+
"propPitchLabel": "Шаг пропеллера",
|
|
24
|
+
"bladeCountLabel": "Количество лопастей",
|
|
25
|
+
"motorCountLabel": "Количество моторов",
|
|
26
|
+
"droneWeightLabel": "Полетный вес (RTF)",
|
|
27
|
+
"benchDataHeader": "Тестовая точка производителя",
|
|
28
|
+
"benchThrustLabel": "Тяга на один мотор",
|
|
29
|
+
"benchVoltageLabel": "Тестовое напряжение",
|
|
30
|
+
"optionalLabel": "Опционально",
|
|
31
|
+
"twoBlades": "2 лопасти",
|
|
32
|
+
"threeBlades": "3 лопасти",
|
|
33
|
+
"fourBlades": "4 лопасти",
|
|
34
|
+
"twoMotors": "2 мотора",
|
|
35
|
+
"fourMotors": "4 мотора",
|
|
36
|
+
"sixMotors": "6 моторов",
|
|
37
|
+
"eightMotors": "8 моторов",
|
|
38
|
+
"resultsHeader": "Баланс тяги и подъемной силы",
|
|
39
|
+
"estimatedLabel": "Расчет по физической модели.",
|
|
40
|
+
"benchBasedLabel": "Калибровка по стенду.",
|
|
41
|
+
"loadedRpmLabel": "Обороты под нагрузкой",
|
|
42
|
+
"pitchSpeedLabel": "Расчетная скорость потока",
|
|
43
|
+
"thrustPerMotorLabel": "Тяга на один мотор",
|
|
44
|
+
"totalThrustLabel": "Суммарная статическая тяга",
|
|
45
|
+
"totalPowerLabel": "Расчетная мощность",
|
|
46
|
+
"totalCurrentLabel": "Расчетный ток",
|
|
47
|
+
"thrustMarginLabel": "Запас подъемной силы",
|
|
48
|
+
"hoverThrottleLabel": "Газ висения",
|
|
49
|
+
"sceneCaption": "скорость вращения под нагрузкой",
|
|
50
|
+
"underpoweredStatus": "Низкий запас",
|
|
51
|
+
"workableStatus": "Рабочий запас",
|
|
52
|
+
"headroomStatus": "Отличный запас",
|
|
53
|
+
"underpoweredAdvice": "Суммарная тяга меньше двух полетных весов. Ожидается ограниченная управляемость и малый запас против ветра.",
|
|
54
|
+
"workableAdvice": "Практичный запас для обычного полета. Проверьте температуру моторов и регуляторов после длительного висения.",
|
|
55
|
+
"headroomAdvice": "Значительный запас статической тяги. Улучшает отклик в маневрах, но требует больших токов от аккумулятора.",
|
|
56
|
+
"sourceNote": "Тестовая точка калибрует только тягу. Мощность и ток остаются расчетными.",
|
|
57
|
+
"modelSourceNote": "Нет стендовых данных. Тяга рассчитывается по физической модели.",
|
|
58
|
+
"manufacturerNote": "По возможности используйте стендовые данные производителя для того же мотора и винта.",
|
|
59
|
+
"modelNote": "Тяга, мощность и ток являются расчетными. Реальные результаты зависят от плотности воздуха и потерь.",
|
|
60
|
+
"safetyNote": "Никогда не используйте калькулятор вместо реального стендового теста. Проверьте лимиты перед полетом.",
|
|
61
|
+
"thrustAxisLabel": "Направление тяги",
|
|
62
|
+
"weightAxisLabel": "Вес дрона",
|
|
63
|
+
"clearBenchData": "Сбросить тестовую точку"
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const faq = [
|
|
67
|
+
{
|
|
68
|
+
"question": "Что рассчитывает калькулятор мотора и винта дрона?",
|
|
69
|
+
"answer": "Он оценивает обороты под нагрузкой, скорость потока, тягу на мотор и суммарную тягу, мощность и ток на основе KV, напряжения, винта и веса."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"question": "Как подобрать мотор и пропеллер для квадрокоптера?",
|
|
73
|
+
"answer": "Начните с рекомендаций производителя по KV и размеру винта. Сравните суммарную тягу с весом дрона и проверьте ток на стенде."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"question": "Почему стендовая точка производителя точнее физической модели?",
|
|
77
|
+
"answer": "Она учитывает реальный профиль лопасти и аэродинамические потери. Калькулятор масштабирует эти данные под выбранное напряжение."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"question": "Как размер пропеллера влияет на тягу дрона?",
|
|
81
|
+
"answer": "Статическая тяга сильно зависит от диаметра и оборотов. Пропеллер большего диаметра прокачивает больше воздуха, но требует большего крутящего момента."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"question": "Гарантирует ли калькулятор безопасность полета?",
|
|
85
|
+
"answer": "Нет. Это инструмент проектирования. Проверьте реальный ток и температуру на стенде перед первым полетом."
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
const howTo = [
|
|
90
|
+
{
|
|
91
|
+
"name": "Выберите профиль полета",
|
|
92
|
+
"text": "Выберите пресет, чтобы загрузить подходящие начальные значения KV, напряжения, винта и веса."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "Введите данные рамы и пропеллера",
|
|
96
|
+
"text": "Укажите полетный вес и характеристики моторов и винтов в метрической или имперской системе."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "Добавьте стендовую точку",
|
|
100
|
+
"text": "Если есть данные испытаний, введите измеренную тягу и тестовое напряжение для калибровки."
|
|
101
|
+
}
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
const seo: SEOSection[] = [
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Принципы подбора мотора и пропеллера для дрона',
|
|
108
|
+
level: 2,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'paragraph',
|
|
112
|
+
html: 'Подбор пары мотор - пропеллер - это баланс между оборотами, диаметром, шагом, напряжением и крутящим моментом. Инструмент оценивает статическую тягу и токовую нагрузку.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Отображаемые результаты',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'table',
|
|
121
|
+
headers: ["Результат","Значение"],
|
|
122
|
+
rows: [["Обороты под нагрузкой","Оценка холостых оборотов с учетом коэффициента нагрузки"],["Статическая тяга","Тяга на один мотор и суммарный подъёмный вес"],["Запас подъемной силы","Отношение суммарной тяги к полетным весу дрона"],["Мощность и ток","Расчетное энергопотребление при выбранном напряжении"]],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Как использовать калькулятор',
|
|
127
|
+
level: 2,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'list',
|
|
131
|
+
items: ["Введите KV мотора и напряжение аккумулятора.","Выберите диаметр, шаг, число лопастей и моторов.","Добавьте стендовую точку производителя при наличии.","Проверьте температуру и ток на стенде перед полетом."],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Важность реальных стендовых данных',
|
|
136
|
+
level: 2,
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Тяга винта зависит от профиля лопастей и плотности воздуха. Реальные стендовые данные обеспечивают точную калибровку.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'План стендовых тестов',
|
|
145
|
+
html: 'Проведите проверку на стенде с замером тока и температуры моторов перед первым полетом.',
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
|
|
149
|
+
const schemas: DroneMotorPropellerLocaleContent['schemas'] = [
|
|
150
|
+
{
|
|
151
|
+
'@context': 'https://schema.org',
|
|
152
|
+
'@type': 'FAQPage',
|
|
153
|
+
mainEntity: faq.map((item) => ({
|
|
154
|
+
'@type': 'Question',
|
|
155
|
+
name: item.question,
|
|
156
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
157
|
+
})),
|
|
158
|
+
} as WithContext<FAQPage>,
|
|
159
|
+
{
|
|
160
|
+
'@context': 'https://schema.org',
|
|
161
|
+
'@type': 'HowTo',
|
|
162
|
+
name: title,
|
|
163
|
+
description,
|
|
164
|
+
step: howTo.map((step, index) => ({
|
|
165
|
+
'@type': 'HowToStep',
|
|
166
|
+
position: index + 1,
|
|
167
|
+
name: step.name,
|
|
168
|
+
text: step.text,
|
|
169
|
+
})),
|
|
170
|
+
} as WithContext<HowTo>,
|
|
171
|
+
{
|
|
172
|
+
'@context': 'https://schema.org',
|
|
173
|
+
'@type': 'SoftwareApplication',
|
|
174
|
+
name: title,
|
|
175
|
+
description,
|
|
176
|
+
applicationCategory: 'UtilityApplication',
|
|
177
|
+
operatingSystem: 'All',
|
|
178
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
179
|
+
} as WithContext<SoftwareApplication>,
|
|
180
|
+
];
|
|
181
|
+
|
|
182
|
+
export const content: DroneMotorPropellerLocaleContent = {
|
|
183
|
+
slug,
|
|
184
|
+
title,
|
|
185
|
+
description,
|
|
186
|
+
ui,
|
|
187
|
+
seo,
|
|
188
|
+
faq,
|
|
189
|
+
bibliography: BIBLIOGRAPHY_ITEMS,
|
|
190
|
+
howTo,
|
|
191
|
+
schemas,
|
|
192
|
+
};
|