7 segment display are of type common:
- Common Anode
- Common Cathode
Display can be:
- Single Digit
- Multiple multiplexed digits
In these cases, the current to be driven through these segments and digits is more as compared to the current source/ sink capacity of micro-controller GPIO pins. Hence the drivers come in to picture.
Drivers are of types:
- HIGH side driver IC (UDN2981)
- LOW side driver IC (ULN2803)
- It is better to go with LOW side driver, as the cathode of each segment can be connected to separate darlington pair inside driver IC to sink the current.
- At the anode side, single PNP(BC557) transistor can be connected. In case of multiple digits, separate PNP transistors to be connected for each digit.
- Base of each transistor will be controlled by GPIO through a series base resistor
- GPIOs will also be connected to driver input through a series current limiting resistor
- It is better to go with HIGH side driver, as the anode of each segment cab be connected to separate darlington pair inside driver IC to source the current.
- At the cathode side, single NPN (BC547) transistor can be connected. In case of multiple digits, separate NPN transistors to be connected for each digit.
- Base of each transistor will be controlled by GPIO through a series base resistor
- GPIOs will also be connected to driver input through a series current limiting resistor
In both cases care to be taken:
- Care should be taken that only 1 digit is ON at a time.
- All n-digits can be displayed by maintaining high refresh rate of the display (eg. 180Hz)
- Based on Vce voltage and Isource/sink, the Power(Pd) dispation through every pin of driver can be estimated. Pd(W) * (degC/W) rating of the driver should be less than the Maximum junction temperature rating of the driver. Otherwise driver IC is on the "Stairway to heaven" :)
More better option,
- There are also driver IC options like MAX7219, which have both the HIGH side and LOW side driver in the package.
- MCU communicate to driver over SPI, sending digit to be displayed.
- Driver takes care of refresh rate (eg. 500Hz for 8 digits)
- Driver handles the intensity of digiti display (Layman terms 'brightness')
- MCU dont need to update all digits at all time, even if one digit in the number is to be modified.
Diagram where all options are merged into one:
No comments:
Post a Comment