Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] (PIC)Designing 8x8 matrix display with Darlington transistor arrays.

Status
Not open for further replies.

lloydi12345

Member level 4
Joined
Aug 31, 2010
Messages
77
Helped
5
Reputation
10
Reaction score
5
Trophy points
1,288
Activity points
1,953
I'm interfacing an 8x8 LED Matrix Dot Display for showing characters and made them successfully however I would like to redesign my schematic since it's involved with more components. I believe the simpler is the better. Here's my schematic:


I've seen design that connects their COM pin to Ground and the rows are directly connected to the darlington arrays with no resistors. How can I do this? I tried grounding my uln2323's COM pin but when I produce any logic values the output of ULN2323 still stays ground. Here's what's happening:


I would like to base my design to this design.


Thanks and regards :razz:,

lloyd
 

You need those pullup resistors. That COM pin is simply for clamping the inductive voltage spike that occurs when driving inductive loads (relays, etc). For your application you don't need to connect anything to it. But you DEFINITELY need the pullup resistors. The outputs of the ULN2823 are open-collector: they pull the output to ground when "on"; the float when off (allowing the resistors to pull the output to 5V.) If you don't have the resistors, you'll never drive those pins above ground.
 

Hi barry, I've checked the internal circuit of uln2003 and uln2823 and they seem to be the same. Can you explain to me then why others are connecting their COM pin to ground and they're not using any pull up resistors? Are those just over simplified diagrams and not their final schematics just to show the important ICs involved in the circuit?
 

ULN2003 or ULN2823 have an open collector output, they can either sink current (provide gnd) when on or leave the output floating (high resistance) when off, it can't do what you want and the pulups don't help either.

You can use UDN2981 which can source current as you need for your application, the pullups are not needed

Alex

---------- Post added at 09:49 ---------- Previous post was at 09:34 ----------

I'm not sure if I understood your question correctly, if you are trying to drive the anodes then you need UDN2981 but if you have ULN2823 driving the cathodes then it can work fine, no pullups are needed because the current can't flow when the transistor is off, the COM pin should be connected to the positive supply but it is not needed in your case (no inductive load) so you can leave it floating if you want, if you connect gnd to it then the anodes will always be on because the current will flow through the COM diode even when ULN output is off.

Alex
 

yes in that schematic ULN2003 is connected to the cathodes of the display, it can't work any other way.
The pullups serve no purpose and are not needed so use the second schematic of your first post but with COM connected to Vcc or floating
The PIC outputs will be able to provide about 20mA in the leds, if you need more (depends on the leds) you have to use a driver there too

Alex
 

I think I misunderstood your schematic (It was late :)). If the PIC outputs are driving the 8 rows (which are the ANODES of the LEDs), and the ULN2823 is connected to the cathodes of each column, then, yes, you don't need the pullups.

But I have no idea why anyone would connect the COM pin to ground. That is not going to work. If that was the case, then the diodes on each of the outputs would be forward biased (through the external pull up/LED) when in the off state. In other words, when the output is driven low, current would flow through the LED and resistor and darlington. When the output floats, current would flow through the LED, resistor and diode.

As I said, you don't need to connect COM at all. If you feel compelled to connect it, then connect it to 5V.
 

Hello alexan_e and barry thanks for your generous replies. I believe my resistors are connected to the columns which are anodes and uln2823 is connected to the rows which are cathodes. I connected now the COM port on VCC and even tried hanging. I am now getting so confused. If I supply the input of uln2823 with "1" the output is "0" which is right but when I supply it with "0" the output is still "0" the output never comes high even if the COM port is already connected to the power line. Is the cause of the problem by the simulation program bug or my something else? Have a look on my image please.

COM connected to Vcc


COM left hanging


Thank you.
 

Stupid question, but are you sure the PIC is driving the anodes high while the cathodes are being pulled low?
 

Hi Barry, looking at the 1st image you can see that RC2 drives the anode high and it is scrolling so fast that everything seems to be supplied high and of course cathode is pulled low.

What else do you think is the problem???
 

I have explained in a previous post that ULN2003/ULN2823 have an open collector output, it can only sink current (provide GND) when it is on (in which state the current can flow and the led turn on) or leave the output floating when off (in which case the current can't flow and the led turns off).
ULN2003/ULN2823 is not a push-pull output that can force a high or low state, when it is off then the state of the output can only be set by the voltage in the other end of the led but it doesn't matter, all that matters is that the led can't turn on while the ULN output is off.

Alex
 
What else do you think is the problem???

If the Anodes are driven high, and the cathodes are low, then your LEDS SHOULD light. What is the duty cycle? If it's too low, the LEDs won't be visible.

Now that I look at it, you've got 100 ohm resistors in series with the Anodes. Since you have 8 columns, best case would be 1:8 duty cycle, which means that you would get about 3mA average- is that enough? Can you post some info on the display you're using? That might help.
 

Yes, the output is low if the input is high but what I can't understand is that when I place an input of low the output sees it still as low making my matrix leds light. Then there should be really hanging resistors that will drive my low output to high? I would like to confirm if the simulation is the same with the actual?

 

Since the outputs are open collector they can only pull their outputs low. You have to have the anode drive high in order to drive current through your led. As shown in your last schematic you need that pullup resistor in order to see +5 when the driver is off. To say it again, your open collector output can NOT drive a positive voltage out, it can ONLY pull the output to ground. It is identical to a switch!
 
I'm already thinking that my circuit is accurate but I need more info to confirm it. Diagrams scattered on the web are really confusing. At least now someone pointed me out clearly. I wonder why there are many misleading materials on the web.

Sorry I missed your last reply alexan_e.

Thanks barry and alexan_e
 

Your schematic in post 13 may shown 0v in the meters both when the ULN is on and off (without pullup) but you can clearly see the grey square which shows the state of the pin and means floating, if you use resistors in place of the voltmeters and ammeter you will see that when you have floating at the output of ULN there is no current at all through the resistor.
You don't need any pullup in the display circuit, I don't know why you want to see a high level in the cathodes to feel reassured that everything is ok, suppose that ULM is replaced with a switch connected to the cathode , when you open that switch then the led can't turn on , the state of the cathode is irrelevant because there is no electrical path to ground and current can't flow and make it light.

Alex
 

Your schematic in post 13 may shown 0v in the meters both when the ULN is on and off (without pullup) but you can clearly see the grey square which shows the state of the pin and means floating, if you use resistors in place of the voltmeters and ammeter you will see that when you have floating at the output of ULN there is no current at all through the resistor.
You don't need any pullup in the display circuit, I don't know why you want to see a high level in the cathodes to feel reassured that everything is ok, suppose that ULM is replaced with a switch connected to the cathode , when you open that switch then the led can't turn on , the state of the cathode is irrelevant because there is no electrical path to ground and current can't flow and make it light.

Alex

Alex, if I leave it floating the simulation simulates it as low making the led matrix display light. That's what I want to confirm actually. If floating on the simulation (shows it as low) will be the same with floating in actual circuit.
 

Alex, if I leave it floating the simulation simulates it as low making the led matrix display light. That's what I want to confirm actually. If floating on the simulation (shows it as low) will be the same with floating in actual circuit.

I disagree, the floating state (gray square) is not the same as the low state (blue square) and a led can't turn on while connected to Vcc and floating pins, see my schematic below

ULN2823.GIF

I have simplified the circuit and there are no resistors so the currents are higher that normal, output 1 is on so the led cathode is grounded and you can see the current shown as 0.2A.
Output 2 is off so the output state is floating, the led is off and the current shown is 55uA

Alex
 
Thanks alex for the diagram, I tried that and you're right! I'm wondering if the problem is on the LED matrix. I attached my circuit and code if you're interested to check.

DOWNLOAD HERE



*I must mark this thread again unsolved.
 

there is something wrong with the dot matrix display and the cathodes are shown low instead of floating, this will not happen in the real circuit, when cathodes are floating the display leds can't turn on, no pullups are needed
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top