Explain RC circuit?s charging and discharging?
Answers were Sorted based on User's Feedback
Answer / kamakshi vairagi
Charging a Capacitor:
The voltage across the capacitor is not instantaneously
equal to that of the voltage across the battery when the
switch is closed. The voltage on the capacitor builds up as
more and more charges flows onto the capacitor until the
battery is no longer able to "push" any more charge onto
the capacitor, at which point the capacitor becomes fully
charged.
The initial flow of charges from the battery to the
capacitor means that there is a current flowing through the
system until the capacitor is charged. This current flow
decays exponentially from some initial value to zero.
DisCharging a Capacitor:
Switch remains open and voltage across capaciotr decreses
untill it reaches zero.
| Is This Answer Correct ? | 51 Yes | 4 No |
Answer / revansiddapp p.h.
Capacitor is made of say two plates seperated by dielctic
material. When volage is apllied the ions on the plate are
zero so initially more current will flow like in short
circuit.
As time passes the charges(+ve and -ve) accumalate on
plates over a time and it opposes current flow. Now we say
capacitor charged fully. Now the time taken to charge fully
is called time constant of a capacitor. This time can be
varied by connecting a resistor in series with capacitor.
When high resisor is connected voltage drop across
capacitor is reduced so it take long time to charge fully.
Vica-versa for low resitor. The relation is exponetial
charging and discharging. Discharging process is also
similar way.
| Is This Answer Correct ? | 21 Yes | 7 No |
Answer / sayeed m a
The words charging and dicharging is very important in the
case of a capacitor,we can charge or discharge a capacitor
by connecting directly to Dc source or by short
circuiting.but these to process are instataneous(very
fast),in this case we are not able to measure the charging
or discharging process(time and drop of voltage),to study
or obseve this process we can connect this capcitor in
series with a high resistnce(100 k or above ),then the time
taken to charge can be clculated with certain physics
formula and we can obseve that is an exponential function
of time,the time taken to rise its voltage by 63% of the
source voltage is called time constant,and is clculated by
the relation Toe=RC.If the capacitor is 1000 Micro F and
resistance is 180K,then the time constant will be 180 s,It
is means the circuit takes 180 s to charge up to 6.7 v if
the charging source used is 10V,similary during dicharging
it takes 180 s to decay in to 3.7 V.
| Is This Answer Correct ? | 10 Yes | 2 No |
Answer / khyati
the capacitor is charge when the current flow through the
ckt and its discharge whenever appllied voltage is stopped.
| Is This Answer Correct ? | 16 Yes | 20 No |
Answer / boparai
the above answer is correct sorry for no, because 37% is
important for capacitors. capacitors never decay
completely, it decays upto 37% of its original value. When
it begins to charge, it starts from 37% to the peak value
| Is This Answer Correct ? | 1 Yes | 6 No |
What is a coprocessor trap?
What is the purpose of a buffer register in reference to 8085?
What are software interrupts?
How can interrupts be classified in the 8086?
Explain in steps what happens when an interrupt occurs?
What the sp register does in a program?
What is the purpose of data moving instructions? Name any two such instructions?
What is the significance of the control unit in the 8085?
What is a locator?
Mention what is the difference between microprocessor and microcontroller?
What does eu do?
I have code and test bench however it is not working porperly. Need help to get it working. module fsm(clock,reset,coin,vend,state,change); \\these are the inputs and the outputs. input clock; input reset; input [2:0]coin; output vend; output [2:0]state; output [2:0]change; \\i need to define the registers as change,coin and vend reg vend; reg [2:0]change; wire [2:0]coin; \\my coins are declared as parameters to make reading better. parameter [2:0]NICKEL=3’b001; parameter [2:0]DIME=3’b010; parameter [2:0]NICKEL_DIME=3’b011; parameter [2:0]DIME_DIME=3’b100; parameter [2:0]QUARTER=3’b101; \\MY STATES ARE ALSO PARAMETERS . I DONT WANT TO MAKE YOU READ \\IN MACHINE LANGUAGE parameter [2:0]IDLE=3’b000; parameter [2:0]FIVE=3’b001; parameter [2:0]TEN=3’b010; parameter [2:0]FIFTEEN=3’b011; parameter [2:0]TWENTY=3’b100; parameter [2:0]TWENTYFIVE=3’b101; \\AS ALWAYS THE STATES ARE DEFINED AS REG reg [2:0]state,next_state; \\MY MACHINE WORKS ON STATE AND COIN always @(state or coin) begin next_state=0; \\VERYFIRST NEXT STATE IS GIVEN ZERO case(state) IDLE: case(coin) \\THIS IS THE IDLE STATE NICKEL: next_state=FIVE; DIME: next_state=TEN; QUARTER: next_state=TWENTYFIVE; default: next_state=IDLE; endcase FIVE: case(coin) \\THIS IS THE SECOND STATE NICKEL: next_state=TEN; DIME: next_state=FIFTEEN; QUARTER: next_state=TWENTYFIVE; //change=NICKEL default: next_state=FIVE; endcase TEN: case(coin) \\THIS IS THE THIRD STATE NICKEL: next_state=FIFTEEN; DIME: next_state=TWENTY; QUARTER: next_state=TWENTYFIVE; //change=DIME default: next_state=TEN; endcase FIFTEEN: case(coin) \\THIS IS THE FOURTH STATE NICKEL: next_state=TWENTY; DIME: next_state=TWENTYFIVE; QUARTER: next_state=TWENTYFIVE; //change==NICKEL_DIME default: next_state=FIFTEEN; endcase TWENTY: case(coin) \\THIS IS THE FIFTH STATE NICKEL: next_state=TWENTYFIVE; DIME: next_state=TWENTYFIVE; //change=NICKEL QUARTER: next_state=TWENTYFIVE; //change==DIME_DIME default: next_state=TWENTY; endcase TWENTYFIVE: next_state=IDLE; \\THE NEXT STATE HERE IS THE RESET default : next_state=IDLE; endcase end always @(clock) begin \\WHENEVER I GIVE A RESET I HAVE TO MAKE THE STATE TO IDLE AND VEND TO 1 if(reset) begin state <= IDLE; vend <= 1’b0; // change <= 3’b000; end \\THE CHANGE ALSO HAS TO BECOME NONE else state <= next_state; case (state) \\HERE WE DECIDE THE NEXT STATE \\ALL THE STATES ARE DEFINED HERE AND THE OUTPUT IS ALSO GIVEN IDLE: begin vend <= 1’b0; change <=3’d0; end FIVE: begin vend <= 1’b0; if (coin==QUARTER) change <=NICKEL; else change <=3’d0; TEN: begin vend <= 1’b0; if (coin==QUARTER) change <=DIME; else change <= 3’d0; FIFTEEN : begin vend <= 1’b0; if (coin==QUARTER) change <=NICKEL_DIME; else change TWENTY : begin vend <= 1’b0; if (coin==DIME) change <=NICKEL; else if (coin==QUARTER) TWENTYFIVE : begin vend <= 1’b1; change <=3’d0; end default: state <= IDLE; endcase end endmodule module test; \\THE INPUT IN THE FSM MODULE ARE REG HERE reg clock,reset; reg [2:0]coin; \\THE OUTPUT IN THE FSM MODULE ARE WIRES HERE wire vend; wire [2:0]state; wire [2:0]change; \\THE PARAMETERS AGAIN FOR THE COIN AND STATE parameter [2:0]IDLE=3’b000; parameter [2:0]FIVE=3’b001; parameter [2:0]TEN=3’b010; parameter [2:0]FIFTEEN=3’b011; parameter [2:0]TWENTY=3’b100; parameter [2:0]TWENTYFIVE=3’b101; parameter [2:0]NICKEL=3’b001; parameter [2:0]DIME=3’b010; parameter [2:0]NICKEL_DIME=3’b011; parameter [2:0]DIME_DIME=3’b100; parameter [2:0]QUARTER=3’b101; \\I MONITOR THE TIME,DRINK,RESET,CLOCK,STATE AND CHANGE FOR CHANGES. initial begin $display("Time\tcoin\tdrink\treset\tclock\tstate\tchange"); $monitor("%g\t%b\t%b\t%b\t%b\t%d\t% d",$time,coin,vend,reset,clock,state,change); \\NEW FEATURE: MY MACHINE HAS THE FACILITY TO DUMP VARIABLES SO THAT \\ I CAN VIEW THEM USING A VCD VIEWER. $dumpvars; $dumpfile("file.vcd"); // Dump output file. \\THIS IS WHERE THE COINS ARE ADDED. clock=0; reset=1; \\FIRST LETS RESET THE MACHINE #2 reset=0; coin=NICKEL; \\CHECK FOR STATE 1 #2 reset=1; coin=2’b00; #2 reset=0; coin=DIME; \\RESET AGAIN AND CHECK FOR STATE 2 #2 reset=1; coin=2’b00; #2 reset=0; \\RESET AGAIN AND CHECK FOR STATE 5 coin=QUARTER; #2 reset=1; coin=2’b00; #2 reset=0; \\RESET AGAIN AND CHECK FOR STATE 5 coin=NICKEL; #2 coin=NICKEL; #2 coin=NICKEL; #2 coin=NICKEL; #2 coin=NICKEL; #2 reset=1; coin=2’b00; #2 reset=0; \\RESET AGAIN AND CHECK FOR STATE 5 AND SO ON coin=NICKEL; #2 coin=DIME; #2 coin=DIME; #2 reset=1; coin=2’b00; #2 reset=0; coin=NICKEL; #2 coin=DIME; #2 coin=QUARTER; #2 reset=1; coin=2’b00; #2 reset=0; coin=NICKEL; #2 coin=NICKEL; #2 coin=NICKEL; #2 coin=DIME; #2 reset=1; coin=2’b00; #2 reset=0; coin=NICKEL; #2 coin=NICKEL; #2 coin=NICKEL; #2 coin=NICKEL; #2 coin=DIME; #2 reset=1; coin=2’b00; #2 reset=0; coin=NICKEL; #2 coin=NICKEL; #2 coin=QUARTER; #2 reset=1; coin=2’b00; #2 reset=0; coin=NICKEL; #2 coin=QUARTER; #2 reset=1; coin=2’b00; #2 $finish; end \\THE CLOCK NEEDS TO TICK EVERY 2 TIME UNIT always #1 clock=~clock; //always @(state) // coin=!coin; initial begin if (reset) coin=2’b00; end \\THIS IS WHERE I INSTANTIATE THE MACHINE fsm inst1(clock,reset,coin,vend,state,change); endmodule