Show Posts
Pages: 1 2 [3] 4 5 6
31  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: January 06, 2012, 04:11:20 pm
My google-fu brought me to this:
http://www.datasheetarchive.com/dl/Datasheets-35/DSA-699163.pdf

Seems like an SCR aimed at a bit higher voltage, but it might stay under the switching treshold of the 595.

I am looking into the teensy++ as a candidate to drive the matrices. The atmega328 has only 2k of SRAM which is not enough if you want to control 10 8x8RGB matrices. The Arduino Mega is overpriced an unnecessarily big.
32  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: January 03, 2012, 06:42:50 pm
I think you might be right about the capacitor needing to be smaller. The 1u was from when I was still using a transistor. It should only be enough to trigger the thyristor, so I guess 47n would be fine. I think you only need to change C1. The 100k is needed to pull up the OE pin.

If you could test it that would be very helpful. I have just routed the board for the new layout. It is getting really crowded, was a big puzzle to get everything to fit on the 60x60mm board without completely re-aranging things.

I'll wait on your test before sending the board to lean. Best would be a logic level thyristor, because the gate trigger voltage should not exceed 1V.

New layout:
33  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: January 03, 2012, 04:04:22 pm
Yes, that is correct, that is how the code is written at the moment.

I changed the layout, because this made a lot more sense with the my hardware. I will have to update the code to support my new setup.
I don't think it would have been possible to route the board without the colors separated.

What do you think of the new safety circuit? Do you have means to test it?

And btw, how the hell do you route a PCB without the air wires guiding and not make mistakes?
34  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: January 03, 2012, 01:51:19 pm
I didn't see those transistors, sorry. Could you post your schematic? It's hard to see what you are doing from the board layout.

The drivers are the common TLC5916.

I think you are using the Sparkfun display, which is common cathode. I am using the ledsee display, which is common anode.
This asks for a completely different design.

I tested the 'no activity shutoff' on a breadboard with the normal shiftpwm, but it did not work reliably enough.

How about the following solution with a thyristor? The thyristor only needs a short pulse to completely discharge the capacitor.
I cannot test it unfortunately. I will use the MCR08BT1 instead of the one in the schematic now, this was just what was in the eagle library.



35  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: January 03, 2012, 07:57:39 am
The gate of the OE transistor (top) needs DC decoupling probably and I forgot the power rail capacitors. I will add this and post a new version.
36  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: January 03, 2012, 07:50:53 am
I made a PCB for a 8x8 led matrix driver myself, because I wanted to do a couple of things differently.
 - LED matrix plugs directly in the PCB
 - Boards can be linked to form a bigger matrix
 - P channel mosfets that can handle the large current. Your design had transistors only capable of 100 mA current. My LED's are set at 60 mA (max in matrix spec), so all leds of one row on would give 8x3x60 = 1440 mA pulsed current. The mosfets on my board can handle a 10 uS peak of 1000mA, so I might even have to reduce the current to 40.
 - Constant current led drivers with SPI interface instead of the 595's.
 - When the row latch stops, the 595 goes to high impedance outputs to turn the LED's off. This is to prevent damage to the matrix.

What do you think? Anything wrong with the board? Anything missing? Features missing? I want to send the boards to Lean asap, because I have ordered 10 8x8 RGB matrices.



When the prototype tests are succesful I could put it on kickstarter for a bigger batch if people are interested.


37  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 30, 2011, 06:09:45 pm
On the PCB above, I connected the row latch to all 4 output enable pins.

The files haven't been submitted, so I could undo that and add a dedicated signal just to enable the outputs.  But it seems pretty simple to tweak the code so the row latch is a short pulse.  That could also prevent the ghosting problem, without slowing things down.  Or is there something I've missed?

I do have this piece of code:
Code:
// before going to next row, set column outputs off
bitClear(*columnLatchPort, columnLatchBit);
for(unsigned char i =ShiftMatrixPWM.m_amountOfColumnRegisters; i>0;--i){
if(ShiftMatrixPWM_invertColumnOutputs){
SPDR = 0xFF;
}
else{
SPDR = 0x00;
}
while (!(SPSR & _BV(SPIF))); // wait for last send to complete.
}
bitSet(*columnLatchPort, columnLatchBit);

So before switching rows I turn off all LED's. If the switching time would be the problem, only the previous row would ghost. I think the problem is hardware related, probably the transistors leaking some current. As reported by ematson5897, the column would ghost, not just the previous row.

The latch is edge triggered, so a long or a short pulse does not matter.

The Arduino seems to turn on random pins during programming, so I think a jumper from OE to GND and a pull-up resistor might be the best solution to protect the LED's while programming.

It's been a while since I programmed this and I haven't used the code myself, so please correct me if I'm wrong.
38  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 30, 2011, 04:08:47 pm
OK. Thanks for the offer. And Elco, how many LEDs can be on at one time on the ShiftPWM library? And also, a function that would be nice to add to both libraries is the ability to set all of the RGB LEDs to the same color (for RGB LEDs and matrices of course)

There is a lot of functionality to add to the matrix library. I have been too busy with other projects, that's why it's not on my site yet.
Functions like this are on my todo list as well.:

Code:
Set8x8(red, green, blue, \
0b00000000, \
0b01100110, \
0b00000000, \
0b00011000, \
0b11000011, \
0b01100110, \
0b00111100, \
0b00000000) \


Add8x8(red, green, blue, \
0b00000000, \
0b01100110, \
0b00000000, \
0b00011000, \
0b11000011, \
0b01100110, \
0b00111100, \
0b00000000) \

I will make some time and update the page to include shiftpwm. When I get my hands on an RGB matrix I'll program a few of those functions too. It will only take me a couple of hours. Getting the matrix soldered etc is more work.
39  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 30, 2011, 04:01:53 pm
Paul, the 595's have an output enable pin. It can put the outputs in a high impedance off state. Isn't it easier to use that?
40  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 28, 2011, 08:34:31 pm
Paul, I think you are right about everything you just said. If you want a smaller voltage drop, mosfet's are probably the way to go.

ematson5879:
I don't know what's up with the rainbow function. I don't have an RGB matrix, so I cannot even test it. I might order one some day when I have some more money and time to spare. I would like to test a 16x16 setup some day.
Is pin 0 of register 0 red on your setup? You might have to rearrange the arguments to SetGroupOf3 if not.

The ghosting might be gone if you use fast mosfets, but I am just guessing because I cannot test it myself.

The transistors have a 30 ns fall time, so that would not be visible probably. It could also still be a software bug as well. Is the ghosting only on the row next to it?
41  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 28, 2011, 06:41:26 pm
Hi Paul,

You could take a look at the MIC5891, which a shift register with output latches. It can handle a lot more current.

I think you are making a mistake in how you calculate the currents.
Because the columns are multiplexed, only 24 LED's could be on at any time. Thats 24x20mA = 480mA.

In an 8x8 matrix, the LED's are off 7/8 of the time.

No delay in column switching is a deliberate choice to keep the library as fast as possible.
42  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 28, 2011, 04:26:41 pm
10k is way too big as base resistor. Your transistors are not fully open. Red needs the lowest voltage and that's why only red works.

for Ic = 500 mA, the DC current gain is only 20 according to the datasheet. For 150 mA its 100-300.
For your 320 mA, i expect it's about 40, which would mean you need a base current of 320/40=8mA at least.
To be safe I would aim at around 20 mA. This is already drawing a bit much current from the shift registers.

5V/20mA = 250 ohm. Try using 270 base ohm resistors.
43  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 28, 2011, 09:54:25 am
That's a better choice for a transistor.
44  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 28, 2011, 09:34:25 am
The transistors have a pretty bad dc current gain according to the datasheet. Only 30 for 100 mA, so probably even lower at higher currents.
Normally you would use a base current of Ic/hfe * 10, when you are using the transistor as a switch.

They are also rated at a maximum collector current of 200 mA. I would advise to use other transistors or maybe a darlington array.

All leds on a row are turned on together, which means that the row needs to supply a lot of current. Your RGB LED's have one common pin, those should be tied together and have the transistor.
45  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: ShiftMatrixPWM needs testing on: December 28, 2011, 07:02:48 am
I just watched your video. Here are a few things to keep in mind:
The Arduino can only deliver 1A if it is powered by an adapter, less if it is powered by USB. It's best to power your LED's separately.
You also need a big capacitor (at least 100 uF) on the power rails to the LED's and a capacitor on the power of the shift registers. If the shift registers don't get stable power, weird things can happen.
Using darlington transistors is fine, don't forget the base resistor. If you leave it out, the base is almost a short circuit to ground.
Pages: 1 2 [3] 4 5 6