??? 02/13/05 16:34 Modified: 02/13/05 16:49 Read: times |
#87276 - Additional facts Responding to: ???'s previous message |
In a former reply I recommended the use of sub micros and a RS485 bus joining them. I want to point out why this seems to be necessary to me.
LED intensity Some years ago a build a little toy using diffuse shining ultra high efficiency LEDs, running at only 2mA, because the toy was battery powered and was very small. At normal room brightness the display had sufficient contrast, but when I went with the toy outdoor and the sun was shining bright, then I even couldn't decide whether the display was on or not! This is not surprising of course, as enormeous differencies in the brightness exist, which is overcome by a logarithmic scale of our eyes. Unfortunately this also means, that for an outdoor application a display must be extremely much brighter than for indoor use!!! Some numbers: In a bright room enlightend with normal lamps brightness is about 1000lx, which differs of course. Under the direct sun up to 50000lx is present, depending where you live. So, your outdoor display must be about 50 times brighter to give the same contrast as in a room. And because brightness of a LED is rather proportional to current flowing through it, then about 50 times more current is needed, in our example 100mA! So, for outdoor use extreme LED currents might be necessary. And, because our eyes have a logarithmic scale, a relevant increase of brightness of a display can only be achieved by increasing the LED current by an order of magnitude, means by a factor of ten! Anything less will only slightly increase the by our eyes noticed brightness!! Multiplexing You told us, that you divided the display into 8 modules, each consisting of a matrix of 32 x 32 LEDs and that you did a multiplexing by driving 1 of 32 columns at each module, means that 8 columns are driven at a time. You also told us, that the LED current is sinked by ULN2803/4. If you keep in mind, that maximum current per output is only 200mA of this chip, which is even optimistic at high ambient temperatures, then only 200mA / 32 = 6.25mA is present per LED. Please note, that this current is much too little to give adequate brightness for outdoor use!! So, if you insist on using this ULN2803/4, which seems ok, because costs are very little with this chip, then you must decide to decrease the multiplexing ratio. If you drive 1 of 8 columns for example, then you get 25mA per LED, which is already a relevant increase in intensity. BUT: If you use a multplexing ratio of 1 : 8, then you would need to actualize 4 columns per module, means 4 x 8 = 32 columns in total. And this is a bit difficult, when doing this by the use of only one micro. In such a case having a sub micro on each 32 x 32 matrix modul would be very helpful. Each micro should have a big SRAM, where the whole display pattern is stored. This display pattern is once transmitted by the master micro by the use of a RS485 bus, which consists of maybe three twisted pair lines: 'data', 'clock' and 'strobe', or so. 'Data' and 'clock' is needed to transmit data, while 'strobe' is used to synchronize all the modules in a suited way. The master micro is the one, that recieves the input of keyboard and converts it into the display pattern. This use of a sub micro on each matrix modul would also heavily ease the adapting efforts if you decide to change the display! Each 32 x 32 martrix modul contains 16 74HC595 + ULN2804 to sink the LED currents and one 74HC138 decoder followed by 4 suited column drivers to source the LED currents. Make no mistake, it's not that I want to recommend the use of ULN2803/4 sinks. But if you want to use them, then above approach seems more suited to me. Current driver How difficult it is to design a suited driver to source the LED currents can be seen, if you have a look at datasheet of BD676, which once was used in a similar application. BD676 is a Darlington, which would ease the driving of this transistor. But, unfortunately, collector emitter saturation voltage of such a Darlington driver is up to 2.8V at 4A! As the voltage drop across LEDs is much smaller than 2.8V, you see, that such a Darlington would even waste more power, than needed to let the LEDs shine! Also, if the voltage drop across driver transistor is so unpredictable high, how to manage equal currents through all the columns? Ok, then what about the use of a single bipolar transistor, not a Darlington? As 32 x 200mA = 6.4A needs to be driven per column, and collector emitter saturation voltage shall be adequately low, then a tenth of collector current is needed flowing through the base, which is about 0.64A in our example. This means, that you need a driver for the driver... Then using a PMOSFET? This is also difficult, because many of these FETs need more than -5V gate source voltage to fully turn-on. Anyhow you solve this problem, LED column drivers must be designed very properly! Maybe it's clever to divide the column and use two drivers for every 16 LEDs? Important is, that voltage drop across driver transistor is not only low, but also equal between the individual drivers, otherwise you will notice intensity dfferencies between the columns. Power consumption Assume you have this Darlington driver presenting a voltage drop of 2.8V. Further assume that ULN2803/4 shows a voltage drop of 1.3V. If 1.8V drops across the LED, probably a bit more, and 2V is needed to accomplish adequate current controlling, then 7.9V is needed for the LED circuitry. Assuming a current of 32 x 200mA = 6.4A per column and 4 columns per 32 x 32 matrix modul, then 7.9V x 6.4A x 4 = 202W is dissipated by the LED stuff of only one 32 x 32 matrix modul! This gives a total power dissipation of 1.6kW for a display containing 8 32 x 32 matrix modules. If you would use ST2221 for all the LEDs instead, avoiding any multiplexing, then you could use a LED supply voltage of only about 3V, because ST2221 already contains the LED current controlling components (constant current sources)! Then, power dissipation per 32 x 32 matrix modul would be 25mA x 32 x 32 x 3V = 77W. This gives a total power dissipation of 616W for a display containing 8 32 x 32 matrix moduls. This is only 39% of the power needed with above approach!! A big advantage of using this genius ST2221 is, that you can also feed them serially and that you only need to actualize their data if you want to scroll the pattern! Here I would also recommend the use of an individual sub micro on each matrix module. Kai |