Pages: 1 [2] 3   Go Down
Author Topic: Unlimited I/O pins  (Read 3838 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The video describes why Serial IN/OUT should work.

Between the tlc5940 and 4051 could you place a pnp transistor?  Attaching the tlc5940 output to the base of the pnp transistor.  When tlc5940 is sinking current, pnp transistor would allow current to flow and could generate a '1' for the 4051.  In other cases would need a pull-down resistor when tlc5940 is not sinking current?

Or alternately connect tlc5940 to an inverter like SN54F04, whose output is then passed to 4051
« Last Edit: July 06, 2012, 01:26:06 pm by Paulware » Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34519
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Just maybe the 5490 will provide a stable output on your MUX control pins if you set a pin's grey scale to 0 or 4095
No you always get pulses, that is why there is a problem with inverting the drive sense, you can never turn the LEDs fully off. You don't notice that they are never fully on as one missing pulse in 4096 can't be seen.

Basically it is the wrong chip for the job, use normal shift registers if you want to drive a mux, don't waste the constant current drive on logic output.
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
The video describes why Serial IN/OUT should work.
OK, I didn't watch it because I don't have a lot of spare bandwidth for videos.

So you're using a flying lead, that gets around the problem. You could make it neater and automatic by using SMD headers if you can find some to match the Arduino ones in height.

______
Rob
« Last Edit: July 06, 2012, 04:43:40 pm by Graynomad » Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

  Awesome.  This 74HCT164N shift register looks  cheap and should do the trick (its TTL rather than CMOS)?http://www.mouser.com/ProductDetail/NXP-Semiconductors/74HCT597N652/?qs=me8TqzrmIYXsoVpDH8r27nNtid1WYGOfPlFDvyOkLAs%3d

  Looks like there already is a library for the 74HC595 (http://arduino.cc/playground/Main/ShiftOutX).  Maybe I should go with them.  Or perhaps the library for the 74HC595 would work with the 74HCT597.  Mouser has 74HC595s for cheap alsohttp://www.mouser.com/ProductDetail/Toshiba/TC74HC595APFM/?qs=8GnAp0dDS0K%2fhdSuI3LXvWdzW04m25vQzTPL7BkTbzc%3d

  I see that an smd header is slightly offset: Is this what you are referring to?  In this way the lower serial out could connect to the upper serial in.  I could add another dip switch for the first shield or just not populate the smd header for the first shield.


 Many thanks
« Last Edit: July 06, 2012, 09:02:42 pm by Paulware » Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

If you are happy with standard shift regs have a look at the TPIC6B595, same functionality and pinout as the 74HC595 but a lot more drive capability, 150mA per pin or about 1W+ for the pack at 25C.

Speaking of which you may have trouble with 20 of these all sinking a lot of current as the backplane GND pins may not be rated that highly.

The headers and socket strips I'm talking about are vertical SMDs. Because the header is on one side of the PCB and the socket strip is on the other you can daisy-chain a signal up the stack. You can do that with a single pin although I doubt they make them in 1-pin sizes.

Samtec have them as do many other connector manufacturers.

______
Rob
« Last Edit: July 07, 2012, 01:55:00 am by Graynomad » Logged

Rob Gray aka the GRAYnomad www.robgray.com

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 634
Posts: 34519
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The 164 has no data latches where as the 595 has.
The common clock signal is going to struggle driving 20 shift registers, you need some 04s to buffer the chips in batches.
Logged

0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Updated the schematic and board to use 74THC595.  Not sure if it is missing resistors, or if it is wired up correctly.  I used an example referenced in the tutorial.  Also changed D11 to D2 for first Serial in.
Used D4 and D7 for RCK, SCK (I didn't want to use any PWM outputs). If you could glance at this I appreciate it.  Loads up faster now. http://atmega.site40.net/?bookmark=Unlimited IO
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I don't see any errors in the schematic, it would be nice to have an inverter on D4 instead of using D4 and D5 to select the 4051s, this would allow a straight 4-bit binary number to be used to select an analog channel plus give you back a digital output.

But unless you want to use an SMD gate that means a whole 14-pin DIP and it's not worth it I think.

EDIT: You could use a transistor to invert D4.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the suggestion.  I added a pnp transistor and freed D5OUT.
Should I have a 1k resistor between D4OUT and the transistor?

Much appreciation http://atmega.site40.net/?bookmark=Unlimited IO
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes you need a resistor on the base, 1k is OK.

As for the schematic I'd use an NPN, run...

Emitter to GND.
Collector to the 4051 EN pin and also pulled up with a 10k resistor.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Are 1k also needed between shift register and 3 pins that control mux input selection?
thanks
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok..I added a 1k and a 10k and changed pnp to npn.
I think its ready.
Any other comments before I send this to iteadstudio?

http://atmega.site40.net/default.php?bookmark=Unlimited IO
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 129
Posts: 8589
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The schematic looks OK to me, I didn't have time to look at the PCB though. Might do in the morning.

_______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

0
Offline Offline
Full Member
***
Karma: 3
Posts: 118
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Got back the pcb from www.iteadstudio.com.  
I just wanted to check first that the shift register was wired correctly.
Here is a 30 sec youtube video

« Last Edit: August 05, 2012, 11:43:43 pm by Paulware » Logged

Pages: 1 [2] 3   Go Up
Jump to: