Simple AC voltmeter

I had long been thinking of designing a simple AC voltmeter but had somehow never gotten to it. However, with school just ending, and me going back to electronics, this was a neat simple yet useful circuit that I felt I could just get done with in a day or two.

The concept is fairly straight forward. Since I needed this only to measure the mains AC voltage and the output voltage of the sine wave inverter I was working on (based on the PIC32MX250F128B - more on this later), I didn't need to do any "true RMS" measurement. All I had to do was to convert the mains AC to DC, filter it and measure the peak voltage. Of course this had to be scaled down to a safe range for the microcontroller. The RMS voltage for a sine wave is equal to 0.707 (to 3 decimal places) the peak voltage.

The design was based on the Microchip PIC16F676. However I realized that I didn't have any in stock with me. So, I just used the pin-compatible PIC16F684. On the software side of things, the difference between the code for PIC16F676 and PIC16F684 is just one line. (See source file attached below.)

The variable resistor is adjusted so that the reading of my AC voltmeter matches that of a commercial voltmeter (Extech MA640 DMM). This is a sort of calibration.

CAUTION: THIS CIRCUIT IS NOT ISOLATED FROM THE MAINS AC AND HAS THE POTENTIAL TO BE LETHAL. YOU MUST BE VERY CAREFUL IF YOU ARE GOING TO USE THIS DESIGN. DO NOT ATTEMPT IF INEXPERIENCED. I CANNOT AND WILL NOT BE HELD RESPONSIBLE FOR ANY DAMAGE DONE WHILE USING THIS CIRCUIT.

Here's the schematic:

 Fig. 1 - Voltmeter

Here are some pictures:

 Fig. 2 - The PCB without (above) and with (below) the transformer


Fig. 3 - The test setup


Fig. 4 - Measuring voltage set with the variac


 Fig. 5 - Measuring voltage set with the variac


 Fig. 6 - Measuring voltage set with the variac

Fig. 7 - Measuring voltage set with the variac


C source file:
https://drive.google.com/file/d/0B4SoPFPRNziHdDB6cDdzNGZPdXc/edit?usp=sharing

http://www.4shared.com/file/Cz56s9Zlba/ACvoltmeter.html

mikroC project file:
https://drive.google.com/file/d/0B4SoPFPRNziHN2MydDRDalRWS1k/edit?usp=sharing
http://www.4shared.com/file/JwW3bpJNce/ACvoltmeter.html

Parts list (Excel XLSX file):
https://drive.google.com/file/d/0B4SoPFPRNziHb2ZCcnFNVnNpc2s/edit?usp=sharing
http://www.4shared.com/file/b_NcW4vdce/parts_list.html

Schematic (ARES DSN file):
https://drive.google.com/file/d/0B4SoPFPRNziHb1NFWDdwcWpJV2M/edit?usp=sharing
http://www.4shared.com/file/U6kPQH_rce/schematic.html

PCB (ARES LYT file):
https://drive.google.com/file/d/0B4SoPFPRNziHNDhhMDBkNFlnWW8/edit?usp=sharing
http://www.4shared.com/file/ZVczMJ7Wba/schematic.html

PCB (PDF files):
https://drive.google.com/file/d/0B4SoPFPRNziHMV9LdTBab1BXeDg/edit?usp=sharing
Mirrored:  https://drive.google.com/file/d/0B4SoPFPRNziHSmxvT1pSbXBWOTA/edit?usp=sharing

It's a fun simple yet useful project that you can build pretty easily if you want. Let me know what you think in the comments section below!

Comments

  1. i have try too many times to generate a hex file.But it always show error that "MAIN FUNCTION IS NOT DEFINED". can u send me the hex file

    ReplyDelete

Post a Comment

Popular posts from this blog

Using the TLP250 Isolated MOSFET Driver - Explanation and Example Circuits

N-Channel MOSFET High-Side Drive: When, Why and How?

[Sharing] Assembly Code for Led Cube 8x8x8 using 8051 Micro-controller