電路知識:平均功率 (實功率)
簡介:推導平均功率
若負載為 R ,那麼可直接求出 \(V_{rms}\) 或 \(I_{rms}\) 再代入功率公式,或是 \(v_{ac_rms}\) 或 \(i_{ac,rms}\) 求解即可
簡介:推導平均功率
- 實功功率(real power,也稱為有功功率,active power)
- 以 P 來表示,其單位是瓦特(W)。
- 視在功率(apparent power)
- 以 S 來表示,其單位是伏安(VA),是電壓和電流有效值(rms) 的乘積。
- 有效值(rms) 定義
- 當一個交流電和另一個直流電分別在相同的條件下作等量的電功
這個直流電的數值就稱為該交流電的有效值。
像是通過同樣的電阻,所產生的能量 - 虛功功率(reactive power)
- 以 Q 來表示,其單位是無功伏安/瓦爾/乏(var)。
- 另外三個不正確的寫法也被廣泛使用 VAr, VAR, Var
AC 需轉換為 Fourier Series
$$
\begin{align*}
\varphi _n &= \theta_{Vn}-\theta_{In}\\
\overline{P} &= \overline{P_{dc}}+\overline{P_{ac}}\\
\overline{P_{ac}} &= \sum_{n=1}^{N}V_{n,rms}I_{n,rms}cos\varphi _n \\
&=\frac{1}{2}\sum_{n=1}^{N}V_{n}I_{n}cos\varphi _n\\
&=\frac{1}{2}\sum_{n=1}^{N}\mathrm{RE}[\mathbf{V_{n}I_{n}^*}]\\
\end{align*}
$$
若負載為 R ,那麼可直接求出 \(V_{rms}\) 或 \(I_{rms}\) 再代入功率公式,或是 \(v_{ac_rms}\) 或 \(i_{ac,rms}\) 求解即可
$$
\begin{align*}
\overline{P} &= \overline{P_{dc}}+\overline{P_{ac}}= \frac{V_{rms}^2}{R} = I_{rms}^2R \\
\overline{P_{ac}} &= \frac{v_{ac,rms}^2}{R} = i_{ac,rms}^2R \\
\end{align*}
$$
R 程式碼模擬
rms <- function(data) {
square = data*data
mean = sum(square)/length(data)
return (mean^(1/2))
}
n = 1000
theta = seq(0,2*pi,length=n)
#可依需求更改 I V R 的關係
t = 1:n
#v = array(10,n)
v = 7*sin(10*theta+pi/3)+30
i_1 = 10*sin(10*theta)
i_2 = 10*sin(5*theta)
i_3 = 10*sin(15*theta)
i = i_1 + i_2 + i_3 +15
r = v/i
par(mfrow=c(3,1))
plot(t, v, 'l')
plot(t, i, 'l')
plot(t, r, 'l')
v_rms = rms(v)
i_rms = rms(i)
r_rms = rms(r)
v_m = mean(v)
i_m = mean(i)
r_m = mean(r)
p_dc = i_m*v_m
cat(paste("p_dc = i_dc * v_dc = ", p_dc), "\n")
p_ac_avg = mean((i-i_m) * (v-v_m))
cat(paste("p_ac_avg = i_ac * v_ac = ", p_ac_avg), "\n")
p_ac_rms = rms(i-i_m) * rms(v-v_m)
cat(paste("p_ac_rms = i_ac_rms * v_ac_rms = ", p_ac_rms), "\n")
cat('\n')
cat(paste("p_ac_avg+p_dc = ", p_ac_avg+p_dc), "\n")
cat(paste("p_ac_rms+p_dc = ", p_ac_rms+p_dc), "\n")
p_rms = i_rms*v_rms
cat(paste("p_rms = i_rms * v_rms = ", p_rms), "\n")
cat('\n')
p_a = mean(i*v)
cat(paste("p_avg = ", p_a), "\n")
cat('\n')
phase = acos(p_ac_avg/p_ac_rms)*180/pi
cat(paste("phase = ", phase), "\n")
p_ac_r = p_ac_rms * cos(phase/180*pi)
cat(paste("p_ac Real = ", p_ac_r), "\n")
p_ac_q = p_ac_rms * sin(phase/180*pi)
cat(paste("p_ac Reactive = ", p_ac_q), "\n")
留言
張貼留言