Jump to content
Blurred Talon

MSP430/TLC5940 Based LED Sequencer

Recommended Posts

Very cool, shouldn't be a problem for you with your intended setup, good luck with it

 

I don't read my own signature!

Share this post


Link to post
Share on other sites

Upon doing so more reading, TI makes the 59116f led driver which is NOT constant current (I don't need constant current with my design anyhow). This one works on I2C communication and will still do everything I want.

Only small down side is it is surface mount.

Share this post


Link to post
Share on other sites

I can understand thinking you need PWM to control, or limit, marker / running light brightness, but you could achieve the same thing by current limiting those elements as well, unless you are planning to incorporate markers into the grand light show.

Share this post


Link to post
Share on other sites

I'm aware of the current limiting option but I do need PWM for some of the planned light shows.

 

I think with the 59116f there would be less connections to the uc.

Share this post


Link to post
Share on other sites

I think with the 59116f there would be less connections to the uc.

Yup, 59116 so far is my favorite TI LED Driver, only 2 pins needed, and all you need just set the intensity for each channel and it will take care of the pwm part all by itself. I'm not using it with my first MSP430 base sequencer two years ago, just because the I2C code is a bit too complicated with CCS, but now with Energia, it's piece of cake. :)

Share this post


Link to post
Share on other sites

WorKing on this some more and have some questions.

What value pull up resistors do I need on the i2c lines? Theses connect to the i2c lines and power correct?

 

Also since there are 3 housings I want to have 3 msp430/tlc59116f boards. I can simply have 1 uc as the main and the other 2 as slaves correct? This would be all done in the programming and nothing extra component wise on the board correct?

I understand using the uart feature to have the msp430 s communicate with each other, however there is also a blue tooth module that connects to the same lines. Will this cause issues?

 

Trying to finish designing the board so I can have a prototype made soon.

Share this post


Link to post
Share on other sites

@@Blurred Talon

Pull ups would go from the signal wires (SDA/SCL) to VCC/VDD or whatever you're calling it. In this case, they would go from the clock and data pins (P1.7/P1.6) to the positive supply of your chip; anything between 2K to 4.7K, maybe even up to 10K is probably fine. The signals work by pulling the line from V+ to ground and that's why you need the pullups: without a 'high' reference, anything can be ground.

 

You might even consider, since you have a few MSP's there, having the light patterns stored on the slave controllers, then simply have the master take a particular pin of each slave high to get it to display a particular pattern. Then, the slaves just set there waiting for the master to say 'blink', and then they do, so you're not worrying much about actual communications and can rely on simple signaling.

 

You could get more exotic with the master MSP generating the pattern itself, and sending that out over several pins with a few pins used to determine which slave operates on the signals. For instance, with a G2553, you could use P2.0 - P2.7 to control the pattern (that's 8 lines there), and P1.0-P1.7 (another 8 control lines) to choose which slave to use.

 

If you go the latter route, no need for other MSP's in the system- just wires and transistors.

 

I'm just saying. ;)

Share this post


Link to post
Share on other sites

The value of the pull-up resistor depends, but such a simple project, a 4.7k one should do.

The pull-ups should be from 3.3V to SDA and from 3.3V to SCLK, so it's 2 pull-ups.

 

Using the UART is normaly only betwen 2 IC i belive. You could design it in a way that you the data-packet has an address to diferenciate the commands to slave 1 and slave 2. About the bluetooth in there, if it has a pin to select if the command it's for it, then you can do this, but if the bluetooth receives a command and your comunicating with the slaves, then you will have problems.

Maybe you should also use I2C to comunicate betwen each MSP430. And yes you can use 2 slave and 1 master with I2C

Share this post


Link to post
Share on other sites

Slowly working on a prototype for my Sequencer. I want to make a simple one before I go a head and design the tail light sequencers.
I've got all the correct pins connected together I believe but I need some advise on power inputs and signals to control the LEDs.

https://flic.kr/p/pZHckN

Let's assume I'm using this board for my front turn signals. First off the LED board itself will have power brought to it by a 12V regulator.
My front lights are marker and turn signal. Should the marker feed the sequencer power? Would the turn signal input be connected to one of the inputs on the MSP? What about if I want a special feature, where would this go (say strobe)? 
What else do I need to make this function correctly? Any suggestions on caps, resistors, etc. I'm going to have an LM1117 V-Reg on the board to power the MSP and TLC.

Share this post


Link to post
Share on other sites

Well finally, I think I'm got it.

I've uploaded a picture of a 'finalized' drawing for a sequencer which could control my LED  front turn signals (either bumper or headlights as they only have 13 and 15 channels respectively).

Would anyone be willing to have a look at the drawing in Eagle CAD before I move on to board layout? I want another pair of eyes to see if I'm missing anything.post-30088-0-30713800-1447493808_thumb.jpg

Share this post


Link to post
Share on other sites

Three things:

1. your 3.3V power rail is not correct, caps are in series, should be parallel to 3.3V and GND.

2. Add bulk cap (10uF-100uF/50V) on the input and bypass caps (0.1uF) next to each IC's Vcc.

3. Add 47k pull-up resistor on RST line.

Share this post


Link to post
Share on other sites

I would make them separate (TLCs require several control signals.)

This way, each MSP could monitor OEM wiring and could take commands from other sources.

For example, you could have one MSP master, either one tail light or dedicated controller, which would communicate with other MSPs using UART (9600.)

You could then connect all lights with just a pair of wires, you could use a simple addressing mechanism to control individual lights, and you could also test your lights using PC and USB->UART dongle.

You could have commands that trigger sequences, turn individual channels on and off, turn all on and off, you could even save your last used sequence to EEPROM, so the next time the light is powered on, it uses the same one and not the default.

Implementing such thing would be very easy, see UART->TLC example.

 

Your software would be something like:

main loop takes care of light sequence

timer ISR refreshes TLCs

port ISR monitors OEM wiring and triggers sequence (in addition it could send commands to other lights via UART)

USCI ISR receives UART commands and triggers sequence

 

Going back to this older post, I'd have 1 MSP as a master (input all my signals here) and then 3 as slaves which communicate with the TLC59116F ICs?

Since this would be done over UART I assume I couldn't have anything else on that line? I'd like to have Bluetooth control and an accelerometer (for a strobe under panic braking). 

Does this mean I need an MSP with multiple UART ports?

 

Three things:

1. your 3.3V power rail is not correct, caps are in series, should be parallel to 3.3V and GND.

2. Add bulk cap (10uF-100uF/50V) on the input and bypass caps (0.1uF) next to each IC's Vcc.

3. Add 47k pull-up resistor on RST line.

 

Only thing I don't get here is number 2 - where is this placed, just before the VCC on both chips? After the existing ones.

 

Thanks for the help.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×