필터 지우기
필터 지우기

How to create a custom capacitor with changing distance between capacitor plates?

조회 수: 1 (최근 30일)
Hello.
How to create a custom capacitor with changing distance between capacitor plates?
Excuse for troubling.
component capacitor
nodes
p = foundation.electrical.electrical; % +:top
n = foundation.electrical.electrical; % -:bottom
end
inputs
d2 = { 0.01, 'mm' }; % :bottom
end
parameters
d1 = { 0.01, 'mm' };
C0 = { 1, 'F' }; % Nominal capacitance C0 at V=0
Cv = { 0.2, 'F/V'}; % Rate of change of C with voltage V
R = {2, 'Ohm' }; % Effective series resistance
Rd = {500, 'Ohm' }; % Self-discharge resistance
end
variables
i = { 0, 'A' }; % Current
vc = {value = { 0, 'V' }, priority = priority.high}; % Capacitor voltage
end
branches
i : p.i -> n.i; % Through variable i from node p to node n
end
equations
assert(C0 > 0)
assert(R > 0)
assert(Rd > 0)
let
v = p.v-n.v; % Across variable v from p to n
in
v == vc;
i == (C0*k)*der(vc*(d2/d1));
% k = e*e0*S/d2
end
end
end
  댓글 수: 1
Alexander Vasilev
Alexander Vasilev 2021년 5월 7일
v == vc*(d2/d1);
i == C0*der(v);
% k = e*e0*S/d2
Don't work too.
Voltage does not increase.
For simplicity, I have not changed the capacity yet.

댓글을 달려면 로그인하십시오.

채택된 답변

David John
David John 2021년 8월 3일
If you want to change the capacitance based on an input, you can have something like
i == C0*d1/d2*vc.der;
I'm not sure what you mean when you say that "the voltage does not increase". If you can share your test model, I can probably comment on that as well.
  댓글 수: 1
David John
David John 2021년 8월 3일
By the way, if you have Simscape Electrical, then there is a "Variable Capacitor" block that does something similar to what you want.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Electrical Sensors에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by