Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to interface a DMM using a PIC

Status
Not open for further replies.

arbj2

Full Member level 3
Full Member level 3
Joined
Apr 10, 2012
Messages
166
Helped
10
Reputation
20
Reaction score
10
Trophy points
1,298
Visit site
Activity points
2,697
Hi,

I am trying to make use of the cheap digital multimeters available in the market (in India for about 400 Rs). I have examined these meters and have found they use the ICL 7107 chip.

I am planning to interface the LCD digit signals to a 16F877 mcu (with suitable protection).

Can anyone point out what is correct voltage output on the LCD pins of the ICL 7107, I seem to be getting about 6 V DC...also most of the pins are showing as high while only one digit is being displayed.

thanks
a
 

the correct output is 5v approx! but the tolerance cud effect the output ! but what so ever in order to save the PIC register's u need to provide 5 volts (approx) to work out! excessive voltage could damage the pin of 16f877 permanently! but bro i still don get the idea of ur project :p

- - - Updated - - -

2ndly regarding that pin issue! probably the common ground of the segment would be low thats why it doesnt display even after being high! and i think u r using some old DMM's IC as far as i know,the ICL 7107 acts weirdly once its gets short(the same thing what happens to a PIC once u program it putting it in a burner with its nodge in opp direction)
 

The drive signal to an LCD is across the segment and backplane connections and is either in-phase when the segment is off or inverted when it is on. They can be interfaced to a PIC but it isn't easy. You need to monitor ALL the LCD connections and either using extenal gates or software, recover the states of the segments, you can then decode these back to digits. I warn you it is complicated and you will probably need quite a fast clock speed in the PIC to be able to do all the calculations in real time due to the speed the 7107 triplexes the LCD signals. Most LCD DVMs use a 7106 rather than a 7107, if you can find an LED DVM with a 7017 it's much easier to do.

Brian.
 

The drive signal to an LCD is across the segment and backplane connections and is either in-phase when the segment is off or inverted when it is on. They can be interfaced to a PIC but it isn't easy. You need to monitor ALL the LCD connections and either using extenal gates or software, recover the states of the segments, you can then decode these back to digits. I warn you it is complicated and you will probably need quite a fast clock speed in the PIC to be able to do all the calculations in real time due to the speed the 7107 triplexes the LCD signals. Most LCD DVMs use a 7106 rather than a 7107, if you can find an LED DVM with a 7017 it's much easier to do.

Brian.

Yes I see the problem. But I think LCD DVMs are more common than LED ones. I know its easy to interface 7107 pins as they are either +5V high or low.
 

To do it with a 7106, which I assume is what your cheap LCD DVM uses rather than a 7107, you need an array of XOR gates to detect the phase of the segment drives relative to their backplane drive. As I stated, it is possible to do this in software but you will need around 30 input pins and some very fast alogorithms so the 16F877 isn't a good choice. You would need one of the larger 18F series devices with at least 44 pins to do it.

If you really want to do it with a 16F877 you will need to connect the backplane signal to one input of each XOR gate and the other input to each of the segment drive signals. You might need some filtering to remove glitches on the resulting signal edges. From there you can latch the individual digit signals and sequentially read them into an 8-bit port on the PIC. Note that the 7106 drives all the segments simultaneously so there is nothing to indicate which digit is which, you have to implement some kind of software filter to ensure you are not reading a digit while it is changing.

Brian.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top