วงจรกรองความถี่แบบพาสซีฟสำหรับสัญญาณทางไฟฟ้า#
บทความนี้กล่าวถึง วงจรกรองความถี่แบบฟาสซีฟด้วยวงจร RC และตัวอย่างการจำลองการทำงานด้วยซอฟต์แวร์
Keywords: Filter Circuits, Circuit Analysis, EasyEDA, MATLAB
▷ วงจรกรองความถี่#
วงจรกรองความถี่ (Filter Circuit) เป็นวงจรที่ยอมให้สัญญาณที่มีความถี่ในย่านความถี่ที่กำหนดผ่านได้ดี แต่ช่วงความถี่อื่นจะถูกตัดออก หรือ ลดทอนแอมพลิจูดลงไป เมื่อพิจารณาย่านความถี่สำหรับการกรอง ก็จำแนกวงจรกรองความถี่ได้หลายประเภท เช่น
- วงจรกรองความถี่ต่่าผ่าน (Low-Pass Filter: LPF) ความถี่ต่ำจะผ่านได้ดี แต่ความถี่สูงจะถูกลดทอนหรือตัดออกไป
- วงจรกรองความถี่สูงผ่าน (High Pass Filter: HPF) ความถี่สูงจะผ่านได้ดี แต่ความถี่ต่ำจะถูกลดทอนหรือตัดออกไป
- วงจรกรองสัญญาณช่วงความถี่ (Band-Pass Filter: BPF) เฉพาะย่านความถี่ที่กำหนดไว้ผ่านได้ดี แต่นอกย่านความถี่จะถูกลดทอนหรือตัดออกไป
- วงจรกรองตัดหรือลดทอนความถี่เฉพาะย่าน (Band-Stop Filter: BSF หรือ Band-Reject Filter) ช่วงความที่กำหนดจะถูกตัดออก แต่ความถี่อื่น ๆ ผ่านไปได้ดี
นอกจากนั้นแล้ว วงจรกรองความถี่ก็จำแนกได้เป็น 2 ประเภท
- วงจรกรองแบบพาสซีฟ (Passive Filter) เป็นวงจรที่ประกอบด้วย R (ตัวต้านทาน) L (ตัวเหนี่ยวนำ) และ C (ตัวเก็บประจุ) นำมาต่อเป็นวงจรในรูปแบบต่าง ๆ
- วงจรกรองแบบแอกทีฟ (Active Filter) เป็นวงจรที่ถูกสร้างขึ้นโดยใช้ทรานซิสเตอร์ หรือ ไอซีประเภทออปแอมป์ (OpAmp) เป็นองค์ประกอบที่สำคัญของวงจร และมีการใช้แหล่งพลังงานไฟเลี้ยง
หากนำสัญญาณรูปคลื่นไซน์ไปใช้เป็นอินพุตของวงจรกรอง แล้ววัดสัญญาณเอาต์พุตของวงจร ขนาดของสัญญาณ (Magnitude) และเฟส (Phase) อาจแตกต่างจากสัญญาณอินพุต เมื่อเปรียบเทียบกันระหว่างสัญญาณเอาต์พุตกับอินพุต เช่น แอมพลิจูดลดลงและความต่างเฟส
ตัวอย่างการวิเคราะห์วงจรไฟฟ้าที่เกี่ยวข้องกับสัญญาณรูปคลื่นไซน์ ได้แก่ การวิเคราะห์ผลตอบสนองเชิงความถี่ของวงจร (Frequency Response Analysis) หรือถ้าใช้ซอฟต์แวร์จำลองการทำงานของวงจร จะเรียกว่า AC Sweep Simulation เพื่อดูว่า แต่ละค่าความถี่จากต่ำไปสูง ส่งผลต่อสัญญาณเอาต์พุตของวงจรอย่างไร
▷ การวิเคราะห์วงจร RC ในโหมด Transient#
รูป: การวาดวงจร RC โดยใช้ซอฟต์แวร์ EasyEDA
จากผังวงจร สามารถเขียนสมการที่เกี่ยวข้องได้ดังนี้
iC(t)=CddtvC(t)vR(t)=RiR(t)i(t)=iR(t)=iC(t)vR(t)+vC(t)−vS(t)=0RiR(t)+vC(t)=vS(t)RCddtvC(t)+vC(t)=vS(t)
ดังนั้นจะได้สมการเชิงอนุพันธ์ (อันดับหนึ่ง) พร้อมเงื่อนไขเริ่มต้น และผลเฉลยดังนี้สำหรับฟังก์ชัน vS(t) แบบขั้นบันได (Step Function)
First-order ODE: v′C(t)+1RCvC(t)=1RCvS(t)Initial Condition: vC(0)=V0 vS(t)={VSt≥00t<0vC(t)=VS−(VS−V0)e−t/RCi(t)=(VS−V0)Re−t/RCvR(t)=Ri(t)=(VS−V0)e−t/RC
ตัวอย่างโค้ด MATLAB (ใช้ Symbolic Math Toolbox) สำหรับการหาผลเฉลยของสมการเชิงอนุพันธ์สำหรับวงจร RC
% clear all symbols, variables, figures and command outputs
clearvars; clc; clf;
% define symbols
syms t R C V_S V_0 v_C(t) i(t)
% write the ODE
eqn = diff(v_C(t),t) + v_C(t)/(R*C) == V_S/(R*C);
% set the initial condition (IC)
ic = v_C(0) == V_0;
% solve the ODE to find v_C(t)
sol = dsolve( eqn, ic )
% determine the current i(t)
i(t) = simplify( C*diff(sol,t) )
หากป้อนสัญญาณ vS(t) เป็นแบบขั้นบันได เช่น เปลี่ยนจาก 0V เป็น 5V ที่เวลา t=0 และ 0V เมื่อเวลา t=5ms ตามลำดับ จะได้รูปคลื่นสัญญาณสำหรับแรงดันไฟฟ้าตกคร่อมดังนี้ (ตั้งค่า R=1000Ω,C=1uF)
รูป: ผลการจำลองการทำงานสำหรับวงจร RC เมื่ออินพุตเป็นสัญญาณแบบขั้นบันได
ในการพิจารณารูปกราฟ ให้แบ่งเป็นสองช่วง
- ช่วงแรก vC(t) จะเพิ่มจาก V0=0V ไปจนถึงประมาณ VS=5V เนื่องจากมีการอัดประจุไฟฟ้า (Charging)
- ช่วงที่สอง vC(t) จะลดลงจาก V0=5V ไปจนถึงประมาณ VS=0V เนื่องจากมีการคายประจุไฟฟ้า (Discharging)
หากลองวาดรูปกราฟสำหรับ vC(t) และใช้ค่าของตัวเก็บประจุที่แตกต่างกัน เช่น 0.1uF,1uF,10uF โดยใช้ MATLAB ก็มีตัวอย่างโค้ดดังนี้
% (continued)
% substitute parameters with specific values for v_C(t)
params = [R, V_S, V_0];
values = [1000, 5, 0];
v_C(t) = subs( sol, params, values )
% plot v_C(t) with different values of C for t=0..0.02 sec
hold on
ts = [0,0.02];
Cs = [0.1e-6, 1e-6, 10e-6];
for value=Cs
fplot( subs(v_C(t),C,value), ts, linewidth=1.5 );
end
xlabel('t'), ylabel('v_C(t)'),
ylim([0,5.5]), grid on,
legend( compose('%.1f uF', (Cs.*10^6)) )
hold off
รูป: แสดงเส้นกราฟสำหรับ vC(t) สำหรับค่าตัวเก็บประจุที่แตกต่างกัน ในช่วงที่มีการชาร์จประจุ
คำถาม: หากป้อนสัญญาณ vS(t) เป็นแบบ PWM (Pulse Width Modulation) ที่มีค่า Duty Cycle=50% หรือ คลื่นสี่เหลี่ยม (Rectangular Wave) ความถี่ของสัญญาณจะส่งผลต่อรูปคลื่นสัญญาณของ vC(t) อย่างไร ? ลองดูตัวอย่างผลการจำลองการทำงานสำหรับความถึ่ 1kHz,2kHz,10kHz ตามลำดับ
รูป: สัญญาณเอาต์พุต (ความถี่ 1kHz)
รูป: สัญญาณเอาต์พุต (ความถี่ 2kHz)
รูป: สัญญาณเอาต์พุต (ความถี่ 10kHz)
จากรูปคลื่นสัญญาณจะพอสรุปได้ดังนี้
- ระดับแรงดันไฟฟ้า vC(t) จะลู่เข้าสู่ 2.5V (ครึ่งหนึ่งของ 5V) เนื่องจากสัญญาณ PWM จะมีค่า Duty Cycle เท่ากับ 50%
- สัญญาณ vC(t) จะไม่เรียบ มีการแกว่งอยู่ระหว่างสองระดับ (Vlower และ Vupper) ผลต่างเรียกว่า Ripple Voltage และช่วงของแรงดันที่แกว่งจะแคบลงถ้าใช้ความถี่สูงขึ้น
การวิเคราะห์แบ่งได้เป็นสองช่วง คือ ช่วงสัญญาณขาขึ้นเมื่อสัญญาณ PWM อยู่ที่ระดับ VS>0V และช่วงขาลงเมื่อสัญญาณ PWM อยู่ที่ระดับ 0V โดยที่ 0<α<1 Rising: vC(αT)=VS−(VS−Vlower)e−αT/RC=VupperFalling: vC((1−α)T)=0−(0−Vupper)e−(1−α)T/RC=Vlower หากหาผลเฉลยของระบบสมการนี้จะได้
Vupper=(1−e−αT/τ1−e−T/τ)VS,τ:=RCVlower=e−(1−α)T/τ(1−e−αT/τ1−e−T/τ)VS=e−(1−α)T/τ⋅Vupper
ถ้าใช้ความถี่ 1kHz ซึ่งมีคาบ T=10−3s, α=0.5 สำหรับค่า Duty Cycle = 50% และ VS=5V, R=103Ω, C=10−1uF, τ=10−3s จะได้ระดับแรงดันอยู่ในช่วงต่อไปนี้ Vupper=3.112VVlower=1.888VVupper+Vlower2=2.500V
ตัวอย่างการใช้งานวงจร RC ในลักษณะนี้กับสัญญาณ PWM ได้แก่ การสร้างสัญญาณเอาต์พุต PWM
ด้วยบอร์ด Arduino โดยใช้คำสั่ง analogWrite()
ดังนั้นการปรับค่าความกว้างของพัลส์
หรือ Duty Cycle จะส่งผลต่อระดับของสัญญาณเอาต์พุตที่ผ่านวงจร RC และใช้แทนสัญญาณเอาต์พุตแบบแอนะล็อก
ในกรณีที่ชิปไมโครคอนโทรลเลอร์ไม่มีวงจร DAC (Digital-Analog Converter) อยู่ภายใน
▷ การวิเคราะห์วงจร RL ในโหมด Transient#
การวิเคราะห์วงจร RL ก็วิธีการคล้ายกับวงจร RC ซึ่งจะนำไปสู่สมการเชิงอนุพันธ์อันดับหนึ่งเช่นกัน
vL(t)=LddtiL(t)vR(t)=RiR(t)i(t)=iR(t)=iL(t)vR(t)+vL(t)−vS(t)=0RiR(t)+LddtiL(t)=vS(t)
รูป: การวาดวงจร RL โดยใช้ซอฟต์แวร์ EasyEDA (มีการต่อแอมมิเตอร์เพื่อวัดกระแสในวงจร)
ดังนั้นจะได้สมการเชิงอนุพันธ์ (อันดับหนึ่ง) และเงื่อนไขเริ่มต้นดังนี้
First-order ODE: i′L(t)+RLiL(t)=1LvS(t)Initial Condition: iL(0)=I0
ในกรณีที่สัญญาณ vS(t) เป็นแบบขั้นบันได จะได้ผลเฉลยดังนี้ iL(t)=VSR−(VSR−I0)e−RLtvL(t)=LddtiL(t)=(VS−I0R)e−RLtvR(t)=RiL(t)=VS−(VS−I0R)e−RLt
หากป้อนสัญญาณ vS(t) เป็นแบบขั้นบันได เช่น เปลี่ยนจาก 0V เป็น 5V ที่เวลา t=0 และ 0V เมื่อเวลา t=5ms ตามลำดับ จะได้รูปคลื่นสัญญาณสำหรับแรงดันไฟฟ้าตกคร่อมดังนี้ (ตั้งค่า R=100Ω,L=100mH)
รูป: ผลการจำลองการทำงานสำหรับวงจร RL เมื่ออินพุตเป็นสัญญาณแบบขั้นบันได
ในการพิจารณารูปกราฟ ให้แบ่งเป็นสองช่วง
- ช่วงแรก เมื่อเวลา t=0 กระแส i(t) เท่ากับ I0=0mA แล้วเพิ่มขึ้นจนถึง 5V/100Ω=50mA ซึ่งมีแนวโน้มเหมือน vR(t) ที่เพิ่มขึ้นจาก 0V ไปสู่ 5V ในขณะที่แรงดันตกคร่อมที่ตัวเหนี่ยวนำ vL(t) จะกระโดดไปเริ่มต้นที่ 5V แล้วลดลงเข้าใกล้ 0V
- ช่วงที่สอง vL(t) จะกระโดดไปที่ -5V แล้วเพิ่มขึ้นจนเข้าใกล้ 0V ในขณะที่ vR(t) ลดลง 5V ไปสู่ 0V เช่นเดียวกับกระแส i(t) ที่มีแนวโน้มลดลงจากI0=50mA ไปสู่ 0mA
ตัวอย่างโค้ด MATLAB สำหรับการคำนวณหากระแสและแรงดันตกคร่อมในวงจร RL
% clear all symbols, variables, figures and command outputs
clearvars; clc; clf;
% create symbols
syms t R L V_S I_0 i_L(t) v_L(t) v_R(t)
% write the ODE
eqn = diff(i_L(t),t) + (R/L)*i_L(t) == V_S/L;
% set the initial condition (IC)
ic = i_L(0) == I_0;
% solve the ODE to find i_L(t)
sol = dsolve( eqn, ic );
i_L(t) = sol
v_L(t) = L*diff(i_L(t),t)
v_R(t) = R*i_L(t)
▷ การวิเคราะห์วงจร RC ในโหมด AC#
สัญญาณอินพุตที่เป็นรูปคลื่นไซน์ ตามรูปแบบต่อไปนี้ vS(t)=VSsin(ωt),ω=2πf=2πT หรือเขียนให้อยู่ในรูปแบบของเฟสเซอร์ Phasor VS=|VS|∠0∘
หากป้อนสัญญาณรูปคลื่นไซน์สำหรับ vS(t) ที่มีความถี่คงที่เท่ากับ ω และเงื่อนไขเริ่มต้นเป็นศูนย์ ซึ่งหมายถึง ตัวเก็บประจุไม่สะสมพลังงานเอาไว้ และสนใจเฉพาะผลตอบสนองบังคับเมื่อเข้าสู่สภาวะคงตัว มีวิธีการวิเคราะห์ดังนี้
I=VSR+XCVR=RR+XCVS=RR+1/(jωC)VS=jωRC1+jωRCVSVC=XCR+XCVS=1/(jωC)R+1/(jωC)VS=11+jωRCVS
ข้อสังเกต:
- รีแอคแตนซ์ของตัวเก็บประจุ (Capacitive Reactance): XC=1jωC=1j2πfC
- รีแอคแตนซ์ของตัวเหนี่ยวนำ (Inductive Reactance): XL=jωL=j2πfL
- สัญลักษณ์ j หมายถึง √−1 ในระบบเลขจำนวนเชิงซ้อน
หากพิจารณา แรงดันตกคร่อมที่ตัวเก็บประจุ ให้เป็นสัญญาณเอาต์พุตของวงจร ความสัมพันธ์ระหว่างเอาต์พุตต่ออินพุต เขียนได้ดังนี้
H(jω):=VCVS=11+jωRC|H(jω)|=1√1+(ωRC)2∠H(jω)=−tan−1(ωRC)(radian)
ดังนั้น H(jω) ใช้ในการวิเคราะห์ผลต่อสนองเชิงความถี่ของวงจรได้ และสามารถกล่าวได้ว่า ความถี่ ω และค่า RC จะส่งผลต่อแอมพลิจูดและความต่างเฟสของสัญญาณเอาต์พุต เมื่อเปรียบเทียบกับสัญญาณอินพุต
ศึกษาเพิ่มเติมได้จากบทความที่เกี่ยวข้อง: "การวิเคราะห์และจำลองการทำงานของวงจรไฟฟ้ากระแสสลับ (AC Circuit Analysis)"
▷ กล่าวสรุป#
บทความนี้ได้นำเสนอการวิเคราะห์วงจรกรองความถี่แบบพาสซีฟ เช่น วงจร Low-Pass RC Filter และมีตัวอย่างการจำลองการทำงานด้วยซอฟต์แวร์ EasyEDA
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Created: 2022-04-10 | Last Updated: 2023-09-20