Controller supports differential monitor display
William Grill, Riverhead Systems, Littleton, CO -- EDN, 6/24/1999
You can assemble a differential monitoring display using rail-to-rail analog hardware and a 12C671 eight-pin controller (Microchip Technology, www.microchip.com) (Figure 1). The controller, IC1, reads the scaled analog input reference into its internal ADC at an approximately 3-msec rate. The controller's program provides a dynamic display to the four LEDs based on the deviation from an initially set sensor or monitored value. The "rolling" display moves from end to end at a rate based on the direction and magnitude of the deviation. Click here to download the accompanying program. To use the circuit, you apply the reference level and adjust the gain at Pin 7 of IC2B to bring the display to an "all-lite" condition. This adjustment artificially sets the reference to half of the internal ADC's span. The absolute value of the deviation about this reference setting is scaled into eight equal steps above and below this fixed reference to the limits of the converter. For a 5V application, this results in approximately 0.31V indexes ((5/2)/8). The circuit passes the resulting index to a rate table, which sets the display update period. A second index pointer increments each time the display's update period times out. Positive deviations from the reference increment this mask pointer, and negative deviations decrement the pointer. This second pointer then indexes through a mask table, which defines the display's pattern. The controller uses 127 bytes of code with the eight-step rate table, the relatively small display, and the related 7-byte mask sequence. A stable reference, IC3, reduces the display's drift over time and temperature. Although this format is too inflexible to use for all types of monitoring, you could add filtering and span and offset adjustments to provide a more flexible deviation display. You could also implement an expanded display using a 16C710 µC (MicroChip Technology), an external PLD, or one of several 74xx decoders. (DI #2373)














