So, I have been having trouble getting things working with my TPIC6B595. So here is my final circuit for driving my 7 Segment display. Any advice would be appreciated. I think this should work, I just don't want to have to reorder any parts because I screw up.
Personally I can't follow "real world" circuit diagrams with no pin names. For example you have Tx connected to pin 3 of the shift register, that doesn't sound right but off the top of my head I don't know what pin 3 is and I haven't got much incentive to go find a data sheet.
Well, I see the current limiting resistor, it's the 470 so 36/470 = 77mA.
Why is there one resistor? You should have one on each segment. Otherwise you get 77mA for one segment if you have one lit and also 77mA for 7 segments if you have 7 lit (average 11mA each) - and the 77mA of current may not even be distributed between the 7 LEDs evenly. That's not a good design. The 80mA current limit is per segment, right?
Also, the grounds don't appear to be connected between the Arduino and the breadboard. That will stop you cold right there.
He has the ground connected to the ground of the barrel jack because you can't return 36V at .7A to an arduino, that thing would fry faster than an ant being thrown into the sun.
Hes sourcing 5v from the arduino for the components, sourcing the voltage for the 7-segment from the barrel jack, and grounding everything to the barrel jack.
It appears the serial In is being shifted in through the TX, so maybe the data is coming in through the serial port?
So, first off, the reason for the 470 ohm resistor is because my wallwart provides 36V at .7A.
V = IR >> 36 = R*.08(ideal current) >> R = 450 Ohms
I only had a 470 ohm resistor, so I figured I would use that and be on the safe side.
I am working on getting the schematic up to clear things up. Also, JoeN, are you saying I should be supplying 80mA * 8 (for the 8 segments)?
are you saying I should be supplying 80mA * 8 (for the 8 segments)?
More like 80mA for the entire display.
Ok I just read the display datasheet, it is 80mA per segment because these things are huge.
You do need at least one resistor and what you are doing is a common bodge job that does work but the brightness of the segments will vary according to how many are lit as JoeN said. Bear in mind that that little resistor is handling all the current, I doubt it's large enough.
If you are going to multiplex the segments and ONLY turn on one a time, then 1 resistor in series with the anode will do.
You're better off with 1 in series with each cathode to a TPIC6B595 pin.
And yes, each segment can draw 80mA. You light them all up together, that's 560mA, plus 60mA more for decimal point.
Awesome, so the resistors on the drains will only activate when necessary. So should I add a resistor in series with the anode to limit the current to 620mA, and then have resistors on each of the cathodes to drop the current down to 80mA?
Alright, I finally got the schematic done. Fritzing is being difficult and wont allow me to add a wire from the Arduino 5v to the TPIC Vcc, but whatever. Also, how strong should the resistor be? Would it still be a 470 ohm, or should it be weaker on each segment?
Do you need the G connection, that can be used to turn off all outputs but you can also do that by just shifting out 0.
No VCC connection to the 595.
As I said twice before, why are you using Tx as the data output, that is not normal, unnecessary because you have plenty of spare pins, and will cause garbage to be transmitted onto the USB bus.
No GND connection between the Arduino and the 595/DC jack.
No current-limiting resisters as has been discussed above.
G connection, that is the Output Enable pin. Pull low for full on, or connect to a PWM pin.
Pin 8 is Master Clear, pull High. Can use to clear all outputs, or just shift out 0's & save an output pin.
Resistors in the Green lines:
For segments = (36V - 31.5V)/0.08A = 56.25ohm. I'd go with standard value 58 ohm.
Wattage rating: P= I^2 * R = .08*.08*58 = .37W, use 1/2 watt or higher rated part.
funkyguy4000:
He has the ground connected to the ground of the barrel jack because you can't return 36V at .7A to an arduino, that thing would fry faster than an ant being thrown into the sun.
If that is the case then why does this reference circuit (apparently) work:
It is showing an Arduino at +5V and a solenoid at +24V both connected to the same ground. This is the way I have done it before - GND being the ground on the power supply. My understanding is if an Arduino signal pin plus the ground is not in your circuit, it isn't going to work. This addresses the issue in greater detail:
You do have to connect all GNDs, but you also have to look at where the current is flowing. For example if the GNDs of the solenoids all return to the GND header pin on the Arduino all this current has to flow through that pin, through several PCB traces, and through the barrel jack before it gets home.
This may or may not be an issue depending on factors like the amount of current, size of traces, plugs etc.
So in general it's better to run large(ish) currents directly back to the source of the power, ie the plug pack or whatever. This also helps to remove/reduce and noise induced into the Arduino circuit by the devices being controlled.
So schematics don't always tell the whole story :), that one is correct at the electronics level but not necessarily at the physical level where things like heat dissipation, contact resistance etc come into play.