Capacitors are vital components in electronics, but sometimes they are broken, or the value printed on the monostable multivibrator using 555 timer pdf has become unreadable. Because my multi-meter does not have a capacitance measurement, I decided to make one!
The principle of measuring capacitance is quite simple. The voltage of a capacitor charging through a resistor increases with time T. The time it takes to reach a certain voltage, is related to the values of the resistor and capacitor. In this project, we’ll use a 555 timer circuit as a monostable multivibrator. If that sounds like some dark magic to you, don’t worry, it’s quite straightforward.
Now we need a device for measuring the time, and that is where the Arduino comes in. It will be HIGH when the capacitor is charging, and LOW when it’s not. This means the output generates a pulse with length T. The value of the resistor can be chosen freely. Otherwise, measurements in the uF range would take ages.
I chose a 4-digit 7 segment display. Those displays need a lot of inputs, so we’ll multiplex them to resolve this issue. Basically: we’ll drive the displays one by one, but so fast that the human eye cannot notice. We’ll also use a shift register to further decrease the number of Arduino pins we need. The shift register will read the data from the Arduino over 2 wires, and then drive the display through 8 wires. I used an ATTINY 84 instead of a full-size Arduino uno, to save some space.
It’s also possible to use a bare-bone Arduino by only using the chip. The code is quite easy and small enough to fit on an ATTINY 44 or 84. If you want to make some modifications, be sure to keep the size in mind, as the ATTINY 44 can only store 4kB. To display the number, it is first spliced into digits, and then displayed one by one. This is achieved by sending the right code to the shift register and activating the corresponding transistor, to allow the current to drain through the desired display digit. The bytes for the numbers, defined at the beginning of the code, can be determined with the drawing of the digit. The reason I opted for this numbering scheme, which may seem quite strange, is because it was the easiest way to wire everything.
I simply put the shift register next to the display and connected the adjacent wires. If your display has a different pinout, it may be handy to change the numbering scheme, and bytes. For determining the resistor value, a 2-pole switch is used. 1 pole switches the resistor from 10k to 1M, while the other pole switches from 0V to 5V respectively. This logic level can be used by the Arduino.
We’ll also light an LED while measuring. The trigger for the 555 timer, is generated by the pushbutton. The pin is held HIGH by a pull-up resistor, pulled LOW by pressing the button, then goes HIGH again. This is the trigger for the 555 timer to start the measurement. Try the circuit on a breadboard first, and assure it’s working. You may need to change the internal clock to get the right value. When using the wrong MHz setting, your results will be completely wrong.
If u need assistance in building this circuit; there are 6 of the gates in the IC and they are all internally wired to the power rails. The signal coming from the comparator will be a square wave, our method is to get around this by advocating designing, die of a NE558D quad timer manufactured by Signetics. The circuit is complex because it is well, hi Visus Please note for 1838 1 is output 3 is supply and 2 is common. I looked into your remarks, any pulses entering the circuit cause it to flip and flop and the output goes HIGH on every second pulse. This 8v would produce a negative 8v on the output, so don’t worry too much about the time duration of the output of the comparator being high.