# NTNUJAVA Virtual Physics LaboratoryEnjoy the fun of physics with simulations! Backup site http://enjoy.phy.ntnu.edu.tw/ntnujava/

## JDK1.0.2 simulations (1996-2001) => Electromagnetics => Topic started by: Fu-Kwun Hwang on January 29, 2004, 09:24:49 pm

Title: RC Circuits
Post by: Fu-Kwun Hwang on January 29, 2004, 09:24:49 pm

 R= 100200400500kohm, C= 50100200400uF,V= 1085V

This java applet try to show the transient behavior that occurs when the capacitor is being charged and discharged.
1. You will find a circuit with 10 Volt Voltage source, 100kohms resistor and a 100uF capacitor in series.(k=103 , u=10-6 )
You can select different value of voltage/resistance/capacitance. (select value then Hit Update button!)
Or click within the cyan area(near battery), and drag the mouse up/down to change voltage.
2. Press Start to start the animation, Voltage of capacitor(Vc) and resistor(Vr) are shown near the elements.
3. There is a switch to control the flow path of the circuit.
Click near the (Red) switch to toggle between charging stage and discharging stage.
horizontal position -> charging
vertical position   -> discharging.
Red curve shows voltage as a function of time. V(t)
Blue curve shows current as a function of time.I(t)

4. If you click the mouse button twice,the timing t will be reset to zero.
5. The animation is suspended when you press the mouse button.
If you click with left mosue button,animation continues when you release the mouse button.
If you click with the right mouse button,you will need to press the mouse again to resume.
6. While the animation is suspended, move the mouse in the Vc(t) or T(t) plot area
Value of Vc, I and t. corresponse to mouse position will be displayed.
If you drag the mouse, It will show relative value.

If you really know what you are doing (You can change parameters in the applet)
Please enter reasonable value and Hit SETUP Button
 R= kohm, C= uF, V= V

For example: Keep order of time constant (R*C) about several seconds.
Default value: R=100kohm, C=100uF give time constant = 10 seconds.

For the charging cycle: $V_s=V_R+V_C=I R + \int \frac{I dt}{C}$ where Vs is the voltage from the power supply.
$0=R \frac{dI}{dt}+ \frac{I}{C}$,  $\frac{dI}{dt}=-\frac{I}{RC}$,   so the solution is $I(t)=I_0 e^{-t/(RC)}$
at $t=0, V_c=0$ so $I(t=0)=I_0=V_s/R$
The result is $V_R(t)=I(t) R =V_s e^{-t/(RC)}$, $V_c(t)=V_s-V_R(t)=$ $V_s (1- e^{-t/(RC)})$

Title: RC circuit applet
Post by: on January 30, 2004, 07:52:54 am
Subject: RC circuit applet
Date: Sun, 11 Jan 1998 06:41:16 +0000 (!!!First Boot!!!)
From: "Samara, Thomas Nick" <thomas.n.samara@vanderbilt.edu>
To: hwang@phy.ntnu.edu.tw
Dear Author,
Thanks alot for your program.
I couldn't quite find in the book a description of what the current was doing while the capacitor was charging.
Please make more programs like it.
Thanks.

Title: RC Circuit
Post by: j2grande on February 16, 2006, 11:25:11 am
Utter Perfection!
Best display of an RC circuit, helped me out big time with my physic lab.

Thanks
J

Title: topic31
Post by: richard.summerfield on April 15, 2006, 12:40:48 pm
Many thanks for this wonderful applet.
I am teaching basic electronics to arabic students in English.  This animation really helped.
:D

Title: Re: RC Circuits
Post by: shelton on April 17, 2007, 05:12:04 pm
absolutely brilliant!!!! thankyou very very much Fu-Kwun Hwang!

Regards
Shelton
Australia.

Title: Re: RC Circuits
Post by: jjplaw on July 19, 2007, 09:18:48 am
Hi,

This is a great tool indeed for teaching RC circuit. But it think there is an error in the applet.

When discharging, the blue line (I) plots outside the graph. Anyone else having this problem?

Justin
Malaysia

Title: Re: RC Circuits
Post by: jjplaw on July 19, 2007, 09:36:44 am
Greetings,

I saw a new version of this on the other websites. Is it possible to upload the new version here?

Justin
Malaysia

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on July 20, 2007, 10:29:10 pm
You can show the applet if you know the java applet tags(you can copy it from the web page).
At least , you can provide the URL of the web page.

Hi,

This is a great tool indeed for teaching RC circuit. But it think there is an error in the applet.

When discharging, the blue line (I) plots outside the graph. Anyone else having this problem?

Justin
Malaysia
The voltage show negative value because the selection of sign in voltage.
There is no problem, just the difference in the interpretation of the meaning.

I am currently in Malaysia now. (I was conducting a 3-days workshop at the Univ. of Malaysia. Now, I am conducting another workshop for Chinese school in Malaysia.) I will be back to Taiwan on July 22.

Title: Re: RC Circuits
Post by: clickass on February 15, 2008, 08:22:14 pm
far great than book.thank for simulation.
could you name few books for bistable multivibrator?

Title: Re: RC Circuits
Post by: downcast on February 19, 2008, 09:48:52 am
Hi over there, currently stuck with 1 JAVA assignment for RC transient response. I need help/reference for the source code, im using NetBeans IDE 4.1 for the assignment, i would glad if someone could help me out on this.

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on February 19, 2008, 03:11:10 pm
Do you know how to use the Runge-Kutta 4th order method to solve the differential equation?
You can write your own code or get it from the web. And you should be able to solve the RC transient response.
Since it is your assignment, it is better if you can code it by yourself.  Try to learn Runge-Kutta 4th order method first. ;)

Title: Re: RC Circuits
Post by: downcast on February 19, 2008, 08:42:09 pm
I had juz started to learn JAVA for 3 weeks time... so i would like to search for help.... about Runge-Kutta 4th Order Method, i got no idea on this. Well the basic idea of this assignment is to attach a 3 scroll bar which allow us to adjust the Resistor(R),Capacitor(C) and Voltage(E) value accordingly and a charging / discharging graph would be plotted automatically. I just dunno how to start with the code and equation.

BTW, can use Euler??

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on February 19, 2008, 09:25:39 pm
For simple RC-circuit, the solution can be obtained analytically without numerical calculation.
For example: V(t)=Vc(t=0)* e-t/(RC) for charging a capacitor.
You can get parameters(R,C,E=Vc)  and draw it with java code (and you can find formula from any textbook).

However, if you need to solve it numerically. You need to learn numerical methods.
Runge-Kutta's 4th-order method will give you much better result than Euler's method.

Title: Re: RC Circuits
Post by: downcast on March 04, 2008, 04:39:23 pm
I had done the part for charging capacitor so far, but it oni work for t=0, as u keep pressing, the t will increase.... i would like to request how u program it to count the charge automatically without keep clicking it?

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on March 04, 2008, 09:07:41 pm
For java programming, you can add thread to ask java run some job continuously. It is a standard java programing method, you should be able to find out how it can be done with any java programming books (or online tutorial).
I have created this program almost 10 years ago with JDK1.0.2
May be there are better way to do it. If you need java programing help. please check out other related web site.
If you need help in physics, I will try to help. But I do not have time to read how it can be done with latest java. I use EJS to create new simulations since 2001. EJS is a tool which I do not need to know much about java programming, I just need to concentrate on the physics model. So if you are interested in java programming, you should ask some other expert. If you just want to create scientific java simulation without too much programming skill. I would suggest you use EJS.
You can find latest information about EJS from http://fem.um.es/EjsWiki

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on March 09, 2008, 09:51:39 am
Due to request from users, you can find the original source code as an attachment for this post.
However, it was written almost 10 years ago with JDK1.0.2.
Some modification might be needed to work with current JDK.

Title: Re: RC Circuits
Post by: luke warmbath on March 26, 2009, 03:40:16 am
I was always taught to have units on every axis. Your "Y" axis is obviously Voltage (0 to 10V) and should I think be labelled "Volts". Presumably it also shows current. This should also be labelled with units.

Great simulation. I am using RC circuits to simulate nerve conduction rates in humans.

Luke

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on March 26, 2009, 08:49:33 am
Thank you! I just added label for x-axis (time:s) and y-axis (Voltage:V)

Title: Re: RC Circuits
Post by: lj,h.ki on March 31, 2009, 10:44:13 pm
I'm a teacher
and this Java helps me alot
thaaaaaaaaaaaaank you veeeeeeeery muuuuuuch
;D

Title: Re: RC Circuits
Post by: flyingcloude on April 18, 2009, 09:31:03 pm
thanks very much

Title: Re: RC Circuits
Post by: anacarla on April 18, 2010, 10:40:36 pm
hi! I'm a portuguese physics teacher and this animation helped my classes a lot. THANK YOU!!

Title: Re: RC Circuits
Post by: guru_dsp on June 24, 2010, 01:22:03 am
Hi,

Its a nice tool. I've one doubt and hope you will clarify it. We know that t = RC. Can I select any value of R and C so that the equation is satisfied. For eg: if I want t = 20ns which one is better..?

Option (A): R = 200 Ohm and C = 100 pF

Option (B): R = 1K Ohm and C = 20 nF

Is there any rule to select the value of Capacitor..?

Basically, I'm delaying the continous square wave signal through an RC circuit and also want to know what should be the maximum frequency of the input signal to the RC to have 20ns..?

Many Thanks...!

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on June 24, 2010, 07:07:59 am
It depends on the maximum current you need to flow through the circuit,
For the same RC value,
with smaller R, bigger C: you will have larger maximum current and more energy stored in the capacitor. YOu might need this for C to act as another power device.
with larger R,smaller C: you will have smaller maximum current and less energy stored in the capacitor.you might need this for using RC as timing device.

Quote
m delaying the continous square wave signal through an RC circuit ...

I do not understand why square wave can be delayed with RC circuit? The wave form will be changed. It is not a delayed waveform.

Please describe in detail what is your application (and specification). 20 ns is a very short time. If you just need to delay signal, you should use a coaxial cable with length $L=3\cdot10^8 \times 2\cdot10^{-9}=0.6 \,\rm{m}$.

Title: Re: RC Circuits
Post by: guru_dsp on June 24, 2010, 12:45:18 pm
It depends on the maximum current you need to flow through the circuit,
For the same RC value,
with smaller R, bigger C: you will have larger maximum current and more energy stored in the capacitor. YOu might need this for C to act as another power device.
with larger R,smaller C: you will have smaller maximum current and less energy stored in the capacitor.you might need this for using RC as timing device.

Quote
m delaying the continous square wave signal through an RC circuit ...

I do not understand why square wave can be delayed with RC circuit? The wave form will be changed. It is not a delayed waveform.

Please describe in detail what is your application (and specification). 20 ns is a very short time. If you just need to delay signal, you should use a coaxial cable with length $L=3\cdot10^8 \times 2\cdot10^{-9}=0.6 \,\rm{m}$.

Thanks for your answer and I'm sorry for not describing the next question clearly. Basically I've a clock signal which can be programmed to any value from (few KHz to 50MHz). This is the serial clock which I'm deriving from a programmable processor. I gave this clock as an input to the RC circuit and the output I'm connecting to the serial port as its clock. Now, I want to check if i give this way and have t=RC = 20ns will still be able to work properly. Hence, I need to make sure the values of R and C I use for the given clock input of few KHz or MHz. In summary, rather than giving the clock directly, i pass it through RC and then check for the data transfer with the peripheral. The peripheral expects good rise time and fall time  but does not  mention the exact values required for it. so i'm checking with the different RC combination, 10ns, 20ns and check if it really works...

Thanks again for your valuable guidance...

Best Regards,
Guru

Title: Re: RC Circuits
Post by: tam85 on June 24, 2010, 12:49:27 pm
yeah i agree, this is a great tool! thank you very much Fu-Kwun Hwang. hope u will post more great applets!
________________________-*-

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on June 24, 2010, 01:29:28 pm
Quote
The peripheral expects good rise time and fall time
Do you mean you need a very short rise/fall time? Or you need a longer rise/fall time?
The RC value will determine the rise/fall time.

Since it is used as a trigger signal, especially, if you only need trigger voltage, you can use larger resistor/smaller capacitor combination. Anyway, it is determined by the specification/requirement for the trigger input signal.

Title: Re: RC Circuits
Post by: tam85 on June 29, 2010, 09:41:00 am
yeah i agree, this is a great tool! thank you very much Fu-Kwun Hwang. hope u will post more great applets!-*-

Title: Re: RC Circuits
Post by: filipovic on November 15, 2011, 10:48:35 pm
Hi, can you send me the source code of this applet please?

my email addres is filipe1990@hotmail.com

Best regards!

Title: Re: RC Circuits
Post by: ahmedelshfie on November 16, 2011, 04:26:36 pm
You can download source code by yourself, you have to look up the applet, you gonna found to options: send to my email account download file(1364/1028)
Choose download file(1364/1028) and click at Get Files For Offline Use Button and you will be already to download the source at your PC as winzip, unzip and enjoy  the physic applet.

Title: Re: RC Circuits
Post by: filipovic on November 16, 2011, 05:34:58 pm
You can download source code by yourself, you have to look up the applet, you gonna found to options: send to my email account download file(1364/1028)
Choose download file(1364/1028) and click at Get Files For Offline Use Button and you will be already to download the source at your PC as winzip, unzip and enjoy  the physic applet.

Sorry, I didn't express myself properly. I'm trying to get the java project to know what I need to do.

It's possible to get that?

Best Regards

Title: Re: RC Circuits
Post by: ahmedelshfie on November 16, 2011, 09:45:55 pm
Well, you gonna find all what you want inside the zip file. all classes of java, you just need to download as i explain in my last post.

Title: Re: RC Circuits
Post by: Areej on March 28, 2014, 07:29:34 pm
dear Author,
I am a student and I want to ask about the method by which we can conclude a formula for calculating the current I as a function of time while discharging a capacitor ( in RC circuits of course ) because the method shown in my book gives a negative sign of a decreasing current and by using the opposite direction on the drawn circuit I get a positive "increasing" current.

regards,

Title: Re: RC Circuits
Post by: Fu-Kwun Hwang on March 30, 2014, 03:14:03 pm
Assume the charge in capacitor is q,  the current is defined as I=dq/dt
, then I=dq/dt> 0 while charging (I>0 means current flow into the capacitor),
and I=dq/dt<0 while discharging (I<0 means current flow out of capacitor).

If you defined I' mean current flow into the capacitor, then dq/dt=-I' while discharging (in this case: you got a negative sign of current I').

Title: Re: RC Circuits
Post by: diinxcom on December 14, 2014, 05:18:19 pm
-*-
Oh, GOD it hards... I not understand...
Sorry i am newbe  :D

Title: Re: RC Circuits
Post by: diinxcom on January 30, 2015, 07:45:31 pm
Thanks for this program, I like it :)