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: where Vs is the voltage from the power supply., , so the solution is at so The result is ,

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?

JustinMalaysia

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.

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.

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.

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.

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.

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?

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

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.

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.

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..?

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 .

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 .

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...

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.

You can download source code by yourself, you have to look up the applet, you gonna found to options: send to my email accountdownload 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.

You can download source code by yourself, you have to look up the applet, you gonna found to options: send to my email accountdownload 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.