Byron A Jeff wrote: > On Fri, Sep 12, 2003 at 07:19:28PM -0500, michael brown wrote: >> Byron A Jeff wrote: >>> On Fri, Sep 12, 2003 at 02:59:00PM -0500, Patrick Richards wrote: >>>> This brings up the questions of how long an individual segment has >>>> to be on, how quickly to refresh the display, and by how much you >>>> can overpower each segment. With 4 displays of 7 segments each, >>>> that is 4 * 7 = 28 LEDs to light in turn. >>> >>> Yes. >> >> Am I missing something here? > > Yup. Ok. >> As I understand it, the OP wishes to >> multiplex 4 7-segment displays. > > That was the original discussion. I then branched off into the concept > of multiplexing each segment, so that only one segment of each display > is on at a time. I guess I missed that part. ;-) >> The duty cycle for each display will be >> 25% as up to 7 segments (number 8) should be illuminated >> simultaneously not in sequence. > > That's traditioal display multiplexing. This particular discussion > walked off that path a while ago. I see. > It was triggered by the fact that Patrick didn't seem to any display > driver hardware for the display. I pointed that out saying he had one > of a few options: transistor driver, IC driver (7445 for example sinks > up to 80ma), or segment multiplexing, which can either drive each > segment very hard (upwards of 50ma), or can not use any additional > driver hardware. At roughly 3% duty cycle he will really have to put the power to the segments, is this really safe? >> Therefore I would deduce that he would wish to pulse >> each display at 4 times the normal power (40mA) to maintain >> brightness. > > It's not a linear relationship. And if he were using only the I/O > ports he cannot drive it more than 20ma or so. However that's better > than the 3ma (20ma/7segments) he can get if he sinks with a PIC port > pin. Why wouldn't it be linear? If I maintain the same average current (40mA at 25% duty vs. 10mA at 100% duty), wouldn't the perceived brightness be the same between the two? >>>> So, at best, each LED is on 1/28 of the time. This is neglecting >>>> the time between turning off one segment and turning on the next. >>>> If you have an LED rated at 10mA displayed 1/28 of the time, do >>>> you need 28 times the power? Surely not. The LED couldn't handle >>>> it and we can rely on persistence of vision to some degree. >>> >>> Correct. LED datasheets usually have a duty cycle to amp rating >>> chart. 1/28 is about 3.5 percent duty cycle. >>> >>>> >>>> As far as looping through the segments, I would prefer to use a >>>> variable with one bit set low and then rotate the byte once per >>>> segment instead of using a jump table. Either way would work, but >>>> I prefer seeing the logic in the code. >>> >>> As you wish! ;-) >> >> I suppose that one could do it this way, but why? > > I've already talked about two issues above: eliminate high power > drivers or drive the segments even harder if you use high power > drivers. Others include maintaining equal segment brightness, > lowering the individual LED duty cycle, and reducing component count. I see how that can be used to overcome the drive power limitations of a PIC I/O pin. What I don't see is how this really gains us anything. To get a certain amount of brightness out of the display it's going to take a certain amount of "average" input power to the display regardless of whether we turn on one segment at a time, or all the lit segments in each display digit (or for that matter all the segments of all displays at once) . Is the idea here to not exceed some total output limitation of the PIC? (i.e. even though each PIN is capable of 25mA, we can't drive seven pins at 25mA simultaneously obtaining 175mA output). What am I not understanding here? -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu