Moduł 10 · analiza

Silnik DC i energia napędów

Od momentu mechanicznego τᵢ przez przekładnię harmoniczną i silnik DC do mocy chwilowej i energii cyklu transportowego.

O czym jest ten moduł

W module 9 wyznaczyliśmy wektor momentów napędowych τ=(τ1,,τ6)\boldsymbol\tau = (\tau_1, \dots, \tau_6) dla zadanej trajektorii. To moment mechaniczny — siła obrotowa, którą silnik musi wytworzyć w przegubie. Tu kontynuujemy łańcuch transformacji: od momentu mechanicznego, przez przekładnię harmoniczną, do silnika DC, do mocy chwilowej, do energii pobranej w cyklu transportowym (eq. 6.23 [Gruszka, dysertacja 2024]).

Łańcuch wygląda tak:

τi  /(ηrn)  τm,i  /kT  ii  Rti+keωm  ui  ui  Pi  dt  E\tau_i \;\xrightarrow{/(η_r\,n)}\; \tau_{m,i} \;\xrightarrow{/k_T}\; i_i \;\xrightarrow{R_t i + k_e \omega_m}\; u_i \;\xrightarrow{u\cdot i}\; P_i \;\xrightarrow{\int dt}\; E

Każdy z tych kroków wprowadza straty energetyczne— w przekładni (η_r < 1), w uzwojeniu (i²·R), w polu magnetycznym (zaniedbywane). Energia pobrana z baterii to suma:

  • Mechaniczna praca przeciw grawitacji i bezwładności (zwykle 30–60% całości).
  • Straty termiczne w uzwojeniu (i²·R) — proporcjonalne do kwadratu prądu.
  • Straty w przekładni — tarcie suche i wiskotyczne, zależne od η_r(ω, τ).

Ten model umożliwia off-line optymalizację trajektorii pod kątem zużycia energii — kluczowa metryka w przemyśle, gdzie robot wykonuje dziesiątki tysięcy cykli dziennie. Optymalizacja jest tematem rozdz. 7–8 dysertacji [Gruszka 2024].

Krok 1

Przekładnia harmoniczna i jej sprawność

Manipulatory używają przekładni harmonicznych (Harmonic Drive) — zwartych, lekkich, o wysokim ratio (50:1 ÷ 200:1). Konstrukcja: trzy elementy mechaniczne — sztywne circular spline (zewnętrze), elastyczne flexspline (wewnętrze), i wave generator deformujący flexspline do owalu — produkują efektywną redukcję prędkości przez „chodzące" zazębienie.

Z punktu widzenia modelu energetycznego ważne są dwie wartości:

ωm,i=niθ˙i(silnik obraca się n× szybciej niz˙ przegub)\omega_{m,i} = n_i \cdot \dot\theta_i \qquad\text{(silnik obraca się } n\times\text{ szybciej niż przegub)}
τm,i=τiηr,ini(eq. 6.19)\tau_{m,i} = \frac{\tau_i}{\eta_{r,i} \cdot n_i} \qquad\text{(eq. 6.19)}

Sprawność ηr\eta_r nie jest stała — zależy od zarówno prędkości obrotowej wału wejściowego silnika, jak i obciążenia momentu. W dysertacji aproksymowano ją wielomianem 5. stopnia z 4 krzywymi referencyjnymi (Tab. 6.4). Krzywe dla wszystkich trzech grup przegubów ES5 przedstawia poniższy rysunek:

Sprawność przekładni harmonicznych w funkcji obciążenia i prędkości na wejściu przekładni — krzywe dla 4 prędkości referencyjnych (500, 1000, 2000, 3500 obr/min) i 3 grup przegubów ES5
Rys. 6.4. Sprawność przekładni harmonicznych w funkcji obciążenia i prędkości na wejściu przekładni. Trzy podpanele odpowiadają trzem grupom przegubów robota ES5: (a) przeguby 4, 5, 6 (nadgarstek); (b) przeguby 1 i 3 (bark+łokieć); (c) przegub 2 (najbardziej obciążony). W każdym panelu cztery krzywe odpowiadają prędkościom wejściowym wału silnika 500, 1000, 2000, 3500 obr/min. Krzyżyki na krzywych — oryginalne dane pomiarowe z karty producenta, linie ciągłe — aproksymacja wielomianowa 5. stopnia.Źródło: [Gruszka, dysertacja 2024], rys. 6.4.

Co warto zauważyć: przy małych obciążeniach (10–20% nominalnego) sprawność spada do 25–40% — bo straty stałe (tarcie wirnika, prąd magnesujący) dominują nad pożyteczną mocą. Dla optymalnej energetycznie pracy chcemy obciążenia ~60–80% nominalnego — tu η najwyższe (60–80%). Wyższa prędkość obrotowa = niższa sprawność (różnica ~10 punktów procentowych między 500 a 3500 obr/min) — straty cieplne i wibracyjne rosną z prędkością.

Krok 2

Model elektromechaniczny silnika DC (eq. 6.21–6.22)

Silnik prądu stałego z magnesami trwałymi jest w pełni opisany dwoma równaniami: moment proporcjonalny do prądu oraz napięcie według prawa Kirchhoffa:

τm,i=kT,iii\tau_{m,i} = k_{T,i} \cdot i_i
ui=Rt,iii+Lidiidt+ke,iωm,iu_i = R_{t,i} \cdot i_i + L_i\,\frac{di_i}{dt} + k_{e,i} \cdot \omega_{m,i}

Pierwsze równanie pochodzi z prawa Ampera (siła Lorentza działająca na uzwojenie tworznika w polu magnetycznym). Drugie to bilans napięć w obwodzie wirnika: spadek napięcia na rezystancji uzwojenia + indukcyjny + siła elektromotoryczna (EMF) wirnika obracającego się w polu magnesów.

W modelu uproszczonym (quasi-statyczny) pomijamy Ldi/dtL\,di/dt— dla manipulatorów składowa indukcyjna stanowi zwykle <5% napięcia, bo stała czasowa elektryczna L/R ~ 1 ms vs mechaniczna 10–100 ms. Pełen model dynamiczny silnika dodawałby jeden stan (prąd) w równaniach ruchu.

Pobaw się sliderami — manipuluj parametrami i obserwuj jak zmienia się prąd, moment na wale i moc chwilowa:

u24.0 VR_t = 0.70 ΩL+EMF = k_e·ω_m6.00 Vi = 25.71 Asilnikτ_m = k_T·i3.646 Nm
Równanie elektryczne:u = R_t·i + L·di/dt + k_e·ω_m (quasi-statyka: pomijamy L·di/dt)Aktualnie:i = (u − k_e·ω_m) / R_t = (24.06.00) / 0.70 = 25.714 AMoment na wale:τ_m = k_T·i = 3.6463 NmMoc chwilowa:P = u·i = 617.14 W
Krok 3

Moc chwilowa i jej składowe

Moc pobierana przez silnik z baterii to po prostu Pi=uiiiP_i = u_i \cdot i_i. Ten iloczyn można rozłożyć na trzy fizyczne składowe (podstawiając uiu_i z eq. 6.22 i pomijając L·di/dt):

Pi=uiii=(Rtii+keωm)ii=Rtii2straty termiczne+keωmiimoc mechanicznaP_i = u_i\,i_i = (R_t i_i + k_e \omega_m)\,i_i = \underbrace{R_t i_i^2}_{\text{straty termiczne}} + \underbrace{k_e \omega_m i_i}_{\text{moc mechaniczna}}

Stosując τm=kTi\tau_m = k_T i i kekTk_e \approx k_T (równość w SI), drugi człon keωmi=τmωmk_e \omega_m i = \tau_m \omega_m to moc mechaniczna na wale silnika. Pierwszy człon — kwadratowo zależny od prądu — to straty cieplne w uzwojeniu.

Wniosek pedagogiczny: dla danej wymaganej mocy mechanicznej (τθ˙\tau \cdot \dot\theta), straty termiczne rosną kwadratowo z prądem. Dlatego silniki dimensiowane „na zapas" często mają większe kTk_T i niższy potrzebny prąd — zamiast tej samej mocy mechanicznej, ale ciepło spada o czynnik k_T².

Krok 4

Energia cyklu transportowego (eq. 6.23)

Energia całkowita pobrana w okresie [0,tr][0, t_r] przez wszystkie 6 napędów to suma całek mocy chwilowej:

  E=i=160trui(t)ii(t)dt  \boxed{\;E = \sum_{i=1}^{6} \int_0^{t_r} u_i(t) \cdot i_i(t) \, dt\;}

W implementacji numerycznej: zbieramy (ui,ii)(u_i, i_i) w dyskretnych punktach czasu (dt = 10–20 ms), liczymy moc Pi=uiiiP_i = u_i \cdot i_i, i sumujemy trapezoidalną całkę. To bardzo proste — koszt obliczeniowy zdominowany jest przez forward+backward sweep Newton-Eulera (M9), nie przez sam model silnika.

Eksperyment optymalizacyjny — ten sam ruch (q₂ od 0 do π/3 i z powrotem) dla 4 różnych czasów trwania trajektorii:

Profil prędkości:
0255075100P [W]0255075100E [J]0.000.250.500.751.00t [s]Moc chwilowa P(t)Energia E(t)

Niemonotoniczność energii w funkcji czasu — bardzo ważna obserwacja. Zbyt szybko: rosnące τdyn\tau_{\text{dyn}} ~ kwadratowo z prędkością → wysokie i2Ri^2 R → ogromne straty cieplne. Zbyt wolno: dłuższe trzymanie pod grawitacją → liniowy wzrost energii statycznej. Optimum jest gdzieś pośrodku — wyznaczanie tego optimum to klasyczny problem optymalizacji jednokryterialnej.

Krok 5

Ograniczenia modelu i co jeszcze warto wiedzieć

Model z eq. 6.21–6.23 jest najprostszą sensowną reprezentacją energii manipulatora — wystarczająco dokładny dla optymalizacji off-line, ale ma pewne ograniczenia, które warto znać:

  • Brak rekuperacji — bierzemy P|P| bo zakładamy, że bateria/zasilacz nie odbierają mocy zwrotnej. W praktyce wiele kontrolerów robotów ma rezystory hamujące, które zamieniają ujemną moc na ciepło — z punktu widzenia poboru z sieci wynik ten sam (energia "zniknęła" w cieple).
  • Stałe parametry silnikakT,kek_T, k_e traktujemy jako niezmienne. W rzeczywistości zależą od temperatury (uzwojenie się rozszerza, opór rośnie ~0.4%/°C dla miedzi), pola magnetycznego (saturacja przy wysokich prądach), i geometrii (wibracje, luzy).
  • Brak modelu inercji wirnika silnika — pomijamy inercję samego wirnika dodaną do dynamiki przegubu. Dla dużych ratio przekładni (101:1) odbiera się jako Jrotorn210000JJ_{\text{rotor}} \cdot n^2 \approx 10000 \cdot J, co dla typowego silnika BLDC daje 10–50 g·cm² = 10⁻⁴ kg·m² — dla nadgarstka 5–10% rzeczywistej inercji ogniwa (odsuwa próg q̈ przy którym moment dynamiczny dominuje). Można to dodać do ICiI_{Ci} w module 9.
  • Brak strat w sterowniku — falownik PWM ma sprawność ~95%, którą tu przyjmujemy 100%. Dla precyzyjnych pomiarów dorzucić współczynnik η_inv globalnie.

Mimo tych uproszczeń model dał w dysertacji weryfikację eksperymentalną z błędem ~5–10% względem rzeczywistego poboru energii (rozdz. 9 dysertacji), co jest świetnym wynikiem dla modelu analitycznego bez pomiarów temperaturowych ani identyfikacji online.

Ściąga formuł

Wszystkie kluczowe równania łańcucha τ → P → E zebrane razem.

Stałe ES5 (Tab. 6.3 dysertacji)
kTk_T = 0.1418 (1-3) / 0.1636 (4-6) Nm/Akek_e = 0.12 (1-3) / 0.08 (4-6) V/(rad/s)RtR_t = 0.7 (1-3) / 3.5 (4-6) ΩLL = 0.9 (1-3) / 3.4 (4-6) mHnn = 101:1 (1,3,4-6) / 121:1 (2)
Krok 1 · Prędkość obrotowa silnika
ωm,i=niθ˙i\omega_{m,i} = n_i \cdot \dot\theta_i

Przekładnia harmoniczna mnoży prędkość kątową: silnik obraca się 101× szybciej niż przegub, ale wytwarza 101× mniejszy moment przy danej mocy.

Krok 2 · Moment na wale silnika (eq. 6.19)
τm,i=τiηr,ini\tau_{m,i} = \frac{\tau_i}{\eta_{r,i} \cdot n_i}

Sprawność ηr(0,1)\eta_r \in (0,1) dzieli się — bo część energii idzie w straty (tarcie, odkształcenia flexspline). Stąd silnik musi wytworzyć więcej momentu niż wynika z czystego ratio.

Krok 3 · Sprawność przekładni (eq. 6.20, 6.37)
ηr,i=f(ωm,i,τi)\eta_{r,i} = f(\omega_{m,i}, \tau_i)
f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0f(x) = a_5 x^5 + a_4 x^4 + a_3 x^3 + a_2 x^2 + a_1 x + a_0

Wielomian 5. stopnia w obciążeniu (% nominalnego), współczynniki z Tab. 6.4 dla 3 grup przegubów × 4 prędkości referencyjnych. Interpolacja liniowa po prędkości pomiędzy zadanymi krzywymi.

Krok 4 · Stała momentowa silnika (eq. 6.21)
τm,i=kT,iii    ii=τm,ikT,i\tau_{m,i} = k_{T,i} \cdot i_i \;\Longleftrightarrow\; i_i = \frac{\tau_{m,i}}{k_{T,i}}

Klasyczna proporcjonalność dla silnika DC z magnesami trwałymi: siła Lorentza na uzwojenie tworznika daje moment liniowo zależny od prądu.

Krok 5 · Równanie napięciowe silnika (eq. 6.22)
ui=Rt,iii+Lidiidt+ke,iωm,iu_i = R_{t,i}\,i_i + L_i\,\frac{di_i}{dt} + k_{e,i}\,\omega_{m,i}

Prawo Kirchhoffa dla obwodu wirnika: spadek napięcia na rezystancji + człon indukcyjny + EMF wirnika. W modelu quasi-statycznym pomijamy Ldi/dtL\,di/dt(zwykle <5% napięcia dla manipulatorów).

Krok 6 · Moc chwilowa
Pi(t)=ui(t)ii(t)P_i(t) = u_i(t) \cdot i_i(t)

Moc pobierana z baterii / zasilacza. Dla przeguba poruszającego się w kierunku siły wewnętrznej (np. opadanie ramienia) silnik mógłby teoretycznie regenerować — w naszym modelu uproszczonym bierzemy P|P| (brak rekuperacji).

Krok 7 · Energia cyklu transportowego (eq. 6.23)
E=i=1n0trui(t)ii(t)dtE = \sum_{i=1}^n \int_0^{t_r} u_i(t) \cdot i_i(t) \, dt

Suma po wszystkich napędach × całka mocy. W praktyce numerycznie: trapezoidalna integracja z dt = 0.01–0.02 s. To jest funkcja celu w optymalizacji cyklu transportowego (rozdz. 8 dysertacji).

Pułapki implementacyjne
  • Znaki τ vs ruch silnika — gdy silnik hamujeobciążenie (np. przegub opada pod grawitacją, a silnik trzyma), prąd i moment mają przeciwne znaki. P=uiP = u\cdot i może wyjść ujemne; interpretujemy to jako "energia oddawana do systemu" (rekuperacja). W naszym modelu uproszczonym bierzemy P|P|.
  • Sprawność przekładni dla małych obciążeń — przy τ0\tau \to 0 wielomian może wyjść poza [0,1]; klamrujemy do sensownego zakresu (5–95%).
  • Stałe k_T i k_e — w SI mają tę samą wartość liczbową (dla silnika magnetycznego), ale podawane są w różnych jednostkach. Tab. 6.3 podaje k_T = 0.1418 Nm/A vs k_e = 0.12 V/(rad/s) — różnica wynika z arbitralnego rozdziału strat między tymi stałymi w karcie producenta.
  • Pomijanie L·di/dt— dla manipulatorów stała czasowa elektryczna L/R ~ 1 ms vs mechaniczna 10–100 ms, więc składowa indukcyjna zwykle <5% napięcia. Dla wysokoprędkościowych silników BLDC niemiernych w robocie może być znacząca; w pełnym modelu integrujemy di/dt jako kolejny stan.

Co dalej

Mając model energii jako funkcję trajektorii q(t)\boldsymbol q(t), naturalnie rodzi się pytanie: jak zaplanować trajektorię tak, żeby E było minimalne? To problem optymalizacji — ze zmiennymi decyzyjnymi w przestrzeni krzywych q(t), z ograniczeniami (limity przegubów, kolizje, czas wykonania, ograniczenia τ_max silnika), i funkcją celu minuidt\min \int u\cdot i \, dt.

Rozdz. 7–8 dysertacji [Gruszka 2024] pokazują takie sformułowanie z blendingiem wielomianowym n-tego rzędu jako parametryzacją trajektorii i optymalizacją wielokryterialną (czas + energia + koszt ekonomiczny). Wykraczamy tu poza zakres aplikacji edukacyjnej — zainteresowani odsyłani do pracy źródłowej.