microcontroller for a 14 segment display ? - Page 1
Forum section: electronics / general

author: harrysmith
author_rank: Contributor
timestamp: May 12, 2021, 02:01:01 am
content: Hi everyone.what are the microcontrollers to control the 14 segment display without going through a decoder or the MAX6954 for example ?

author: brucehoult
author_rank: Super Contributor
timestamp: May 12, 2021, 05:43:37 am
content: What is your reason for not wanting to use MAX6954 etc?It's convenient it uses only 4 GPIO and has a lot of decoding and fonts inside it. But I see they are $13.It seems it has 24 output pins. Do you want to dedicate 24 pins on a microcontroller to this? (and some programming for decoding, stepping through the digits regularly etc)If you don't mind doing that programming then you can use basically exactly the same programming with three $0.50 '595 (or similar) shift registers daisy-chained, plus a tiny bit more to stream new settings for the 24 pins out to them.The '595s won't have the current source or sink capability of the MAX6954 (935 mA sink per digit, 55 mA source per segment), but then neither will a microcontroller. I think you'd probably be ok with the segment drive and need one external transistor per digit.

author: josip
author_rank: Regular Contributor
timestamp: May 12, 2021, 06:56:56 am
content: Quote from: harrysmith on May 12, 2021, 02:01:01 amI will not go with any extra IC, except extra transistor per digit (as already noted by Bruce).With 30 years old, low efficiency green 7 segment, I done it with msp430g2xx because I know that device very good and I have it on hand (attached picture). I used one lvc logic gate per digit (instead of transistor) to allow device to work with common cathode / anode or mixed digits with changing just one #ifdef inside source code.If I have task to do it again from zero today, I will chose higher efficiency segments (brighter), and microcontroler with some high drive pins to eliminate external transistors per digit.EDIT: I used direct connection from micro pins to LED's without resistors with PWM brightness

author: Kleinstein
author_rank: Super Contributor
timestamp: May 12, 2021, 07:46:05 am
content: I see 4 options:1) use a µC version with more pins an direcly drive 14 segements with a resistor each2) use 2 x 74HC595 (e.g one per digit) and drive the sement from there. One can get some 6-7 mA max, as the total current of the chip is limited.3) use 2 transistors for the common pin per digit and multiplexing from the µC (7 ouputs + 2 for the transistors). Here the current is limited by the µC - usually similar.4) if only numbers are needed 2x 74HC4511 may be an option, controlled via BCD and CS, so 6 pins from the µC.All 4 options may work up to a similar current limit, so it can help to look for displays that can get away with 5 mA or less. Otherwise it needs extra drivers,like TPIC6C595 and similar - than the max6954 chip will be a real optio.

author: cv007
author_rank: Frequent Contributor
timestamp: May 12, 2021, 07:54:09 am
content: You can do mcu only, but check the current capabilities of the mcu.I have done dual 14segment and 4x7segment with various pics and avr0/1 (the pics have more current capabilities, the avr0/1 is not a great idea). 1 mcu, 1 transistor per digit if more than 1 digit, 1 mcu bypass cap, 1 larger cap.Since I want to limit my part count simply because I hand assemble what I create, I do not use segment resistors and use an npn for ca and pnp for cc- the base current is limited by the amount of current that can be provided by the segment drivers (mcu), which is not an unlimited source. The pins start to drop voltage when current goes up so led voltage also drops, along with some inefficiencies of using transistors, the use of brightness control via some means, and the use of multiplexing (if more than 1 digit) means its harder to get into trouble,Some examples-https://goo.gl/photos/rTCwusquFnb8AfQE6https://photos.app.goo.gl/3hO0dZBFzGkW1IZG3The 2 digit 14seg version has a jumper (solder pads) on the board which select if cc/pnp or ca/npn is used (version 2 with qfn package). The software can figure out which is in use. The brightness is controlled by a timer instead of pwm (usually limited to 10bit) as you really need to go beyond 10 bit to do low brightness well (its still pwm, but now using as many bits of timer you can use for the refresh rate wanted).Probably the cheapest shift register drivers are around $1 in normal 1ea qty (8bit versions), and mcu probably $0.50-$1.00, so if the board space is available and are not doing large quantity, then the shift register approach is probably a better idea (less pins needed, any mcu can be used, so have more choices). Something like a TLC6C598PWR, or one of many other variations is the kind of shift register I'm referring to.edit- what I have forgotten over time -probably the main reason I use just an mcu alone is all the various shift registers and other more complex drivers seem to be subject to the wind direction- one day they are in stock, a month/year from now, probably not. At least with an mcu only solution, the odds of finding some mcu in stock you are already using is higher, or you can move around the same series if needed (more flash/ram version for example). Its also quite easy to move to an entirely different mcu as the code is quite simple. It also means you have the same solution for any combo of display type in use.

author: woofy
author_rank: Frequent Contributor
timestamp: May 12, 2021, 08:34:08 am
content: There are no uC that I'm aware of with 14 segment drivers, but its very easy to do. Choose a uC with enough extra I/O pins - 14 + digit count. If that's not possible then a cheap uC such as the PIC16F15256 ($0.49) connected via I2C will do the job for 8 digits. You'll need a transistor per digit. That will probably be bright enough with modern LEDs, but another 14 segment transistors will give you super brightness.You'll help yourself by giving more information. Which displays? How many digits? etc.

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: May 12, 2021, 02:37:47 pm
content: MBI5043 is the solution, it can control each led with 16bit resolution, and it's super cheap, don't waste any money on useless pricey chips!https://lcsc.com/product-detail/LED-Drivers_MBI-MBI5043GP-A_C110098.html

author: voltsandjolts
author_rank: Unknown
timestamp: May 12, 2021, 02:57:54 pm
content: Nice...and its cheap.https://www.mblock.com.twEnglish datasheet:

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 12, 2021, 04:44:23 pm
content: Or just display multiplexing.8 pins for the data, then 1 pin+BC547 per display.

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 12, 2021, 05:20:58 pm
content: As said above: thing to check is how much current you can source or sink from your MCU. As long as the max sink current is high enough, I suggest driving the display this way (common anode), as it will avoid the MCU having to source pretty significant current from its IOs when all segments are lit, especially if you're implementing a multiplexed display (because you'll need higher current to make up for the multiplexing to get a given brightness).One thing going for a dedicated controller, apart from saving a few IOs and not having to care about max current, is that most have current sources, so you'll get much better brightness consistency from one segment to the next, and from one display to another.

author: TomS_
author_rank: Frequent Contributor
timestamp: May 15, 2021, 11:47:10 am
content: TLC5916 is an 8 bit shift register with current sink for driving LEDs and works in much the same way as a 74x595.

author: DIYGUY Chris
author_rank: Contributor
timestamp: May 15, 2021, 04:42:07 pm
content: Just another user who throw a request then disappeared!Any way I think that if you don't have coding issues then you can use any MCU depending on the needed I/O pins or pick up the cheapest MCU that you can deal with and drop some shift registers (not as expensive as MAX6954

author: PCB.Wiz
author_rank: Super Contributor
timestamp: May 16, 2021, 10:16:49 pm
content: Quote from: harrysmith on May 12, 2021, 02:01:01 amThis family is interesting - an 8bit MCU, with added grunt (80mA both ways) to ports for LED COM drive - at 40c~50c region, that's a bit lower than the MAX6954 at ~ $12/100+ !https://lcsc.com/products/Other-Processors-And-Microcontrollers-MCUs_11116.html?q=OB38R08TData saysLED driver 7 COM*16 Segment, COM port sink/source current 80mABeing able to drive both ways is a nifty way to save pins and double the segments, at a small silicon cost.I wonder if anyone makes a compatible display, where they combine common-Anode and common-cathode in a multi-digit package ?

author: peter-h
author_rank: Super Contributor
timestamp: May 18, 2021, 02:02:12 pm
content: How cost sensitive is this application?I would never use a Maxim chip. They will shaft you some time down the road, with pricing.Also it is dead easy to decode the fonts etc in software.You can achieve a pretty good current source or sink with BSS84/BSS138s and resistors - unless you are powering from 3.3V in which case the LED and FET drop is significant enough to make the current uneven.

author: DavidAlfa
author_rank: Super Contributor
timestamp: May 23, 2021, 07:44:19 pm
content: Quote from: DIYGUY Chris on May 15, 2021, 04:42:07 pmThat was I going to say.Ask, get 200 replies with all options since 1975, and go away without giving a f***.