steenerson / Plex64

Arduino Library for 64-pin Analog Input Multiplexer Shield
MIT License
1 stars 0 forks source link

Plex64 schematic? #1

Open Bwanna opened 3 years ago

Bwanna commented 3 years ago

Hi, I've searched for this shield, but am unable to find it. Do you have a link for purchasing or is the schematic available for review?

thanks, Steve

steenerson commented 3 years ago

Hello,

I want to sell these within the next year and have built and benchtop tested this design but I wanted to get some more robust real-life testing/experience done before I start selling them, but of course the project I designed it for has stalled for many months now.

I have some assembled boards and I'll send you one to play with and the schematic if you email me at chris@csteenerson.com and let me know where to send it.

Cheers, Chris

Bwanna commented 3 years ago

Email sent. Thanks

Bwanna commented 3 years ago

Chris,

I'm about to create a testing design that utilizes your Plex64, however, I realized that I actually have more circuits to test. Could I get another Plex64 from you? Can pay for it if necessary.

About my design. I make cable harnesses for a motorcycle product and need to test the integrity of each finished harness. This requires testing for continuity for the wiring harness, as well as, for unwanted crosstalk. In total I have about 75 connections... so have a need for a second Plex64.

Please let me know your thoughts.

Thanks, Steve Glowacki

On Tue, Jan 5, 2021 at 6:29 PM Steve steve.a.glow@gmail.com wrote:

Chris,

That sounds great. Thank you! My project is to build something you test my wire harness continuity. Have a need to test 30 wires, so 60 I/O s to program the testing patterns. This will be a good test bed.

Steve Glowacki 3440 Old Jones Rd, Dunkirk, MD 20754

Again, thanks for letting me try this!

On Tue, Jan 5, 2021, 5:44 PM steenerson notifications@github.com wrote:

Hello,

I want to sell these within the next year and have built and benchtop tested this design but I wanted to get some more robust real-life testing/experience done before I start selling them, but of course the project I designed it for has stalled for many months now.

I have some assembled boards and I'll send you one to play with if you email me at chris@csteenerson.com and let me know where to send it.

Cheers, Chris

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-754946970, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH3VVX7KIMH7QVPPBTDSYOI27ANCNFSM4VWAIREA .

Bwanna commented 3 years ago

Chris,

Thought I'd show you what I'm working on. This is a cable tester using your Plex64's as a foundation. While it is designed to specifically support the type of Harnesses I make, it can be used generically for any harnesses up to 96 connections. I can adjust this to fully support 128 connections and fully use two of the Plex64s.

I'm writing the code now while the boards are being made. I'm thinking of using an approach where EVERY possible combination of connections will be tested for continuity and the outcome recorded in a matrix(es). Then this test matrix can be compared to the stored matrix for each harness type (representing the CORRECT outcomes). This might work nicely as it would be easy to simply STORE the outcome of a new harness design into memory. Then testing could simply be the process of selecting from memory which harness profile is being tested.

I do need a second Plex64 to complete this project. If need be I can pay for that one?

And of course any recommendations would be very welcome!!

Thanks, Steve

On Thu, Feb 18, 2021 at 6:04 PM Steve steve.a.glow@gmail.com wrote:

Chris,

I'm about to create a testing design that utilizes your Plex64, however, I realized that I actually have more circuits to test. Could I get another Plex64 from you? Can pay for it if necessary.

About my design. I make cable harnesses for a motorcycle product and need to test the integrity of each finished harness. This requires testing for continuity for the wiring harness, as well as, for unwanted crosstalk. In total I have about 75 connections... so have a need for a second Plex64.

Please let me know your thoughts.

Thanks, Steve Glowacki

On Tue, Jan 5, 2021 at 6:29 PM Steve steve.a.glow@gmail.com wrote:

Chris,

That sounds great. Thank you! My project is to build something you test my wire harness continuity. Have a need to test 30 wires, so 60 I/O s to program the testing patterns. This will be a good test bed.

Steve Glowacki 3440 Old Jones Rd, Dunkirk, MD 20754

Again, thanks for letting me try this!

On Tue, Jan 5, 2021, 5:44 PM steenerson notifications@github.com wrote:

Hello,

I want to sell these within the next year and have built and benchtop tested this design but I wanted to get some more robust real-life testing/experience done before I start selling them, but of course the project I designed it for has stalled for many months now.

I have some assembled boards and I'll send you one to play with if you email me at chris@csteenerson.com and let me know where to send it.

Cheers, Chris

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-754946970, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH3VVX7KIMH7QVPPBTDSYOI27ANCNFSM4VWAIREA .

Bwanna commented 3 years ago

Chris,

May I verify the MUX setup with Plex64? Is it correct that the outputs are limits to the following:

How can I identify two channels within each group of 16 at the same time for testing? Such as, Channel 0 and 1 able to be MUXd simultaneously to two different outputs for testing? Idea is to set one of these channels as an OUTPUT with a HIGH setting and then measure the INPUT on the other channel. If they are connected, would read a HIGH voltage; otherwise, it would be LOW.

Thanks, Steve

On Mon, Mar 1, 2021 at 10:12 AM Steve steve.a.glow@gmail.com wrote:

Chris,

Thought I'd show you what I'm working on. This is a cable tester using your Plex64's as a foundation. While it is designed to specifically support the type of Harnesses I make, it can be used generically for any harnesses up to 96 connections. I can adjust this to fully support 128 connections and fully use two of the Plex64s.

I'm writing the code now while the boards are being made. I'm thinking of using an approach where EVERY possible combination of connections will be tested for continuity and the outcome recorded in a matrix(es). Then this test matrix can be compared to the stored matrix for each harness type (representing the CORRECT outcomes). This might work nicely as it would be easy to simply STORE the outcome of a new harness design into memory. Then testing could simply be the process of selecting from memory which harness profile is being tested.

I do need a second Plex64 to complete this project. If need be I can pay for that one?

And of course any recommendations would be very welcome!!

Thanks, Steve

On Thu, Feb 18, 2021 at 6:04 PM Steve steve.a.glow@gmail.com wrote:

Chris,

I'm about to create a testing design that utilizes your Plex64, however, I realized that I actually have more circuits to test. Could I get another Plex64 from you? Can pay for it if necessary.

About my design. I make cable harnesses for a motorcycle product and need to test the integrity of each finished harness. This requires testing for continuity for the wiring harness, as well as, for unwanted crosstalk. In total I have about 75 connections... so have a need for a second Plex64.

Please let me know your thoughts.

Thanks, Steve Glowacki

On Tue, Jan 5, 2021 at 6:29 PM Steve steve.a.glow@gmail.com wrote:

Chris,

That sounds great. Thank you! My project is to build something you test my wire harness continuity. Have a need to test 30 wires, so 60 I/O s to program the testing patterns. This will be a good test bed.

Steve Glowacki 3440 Old Jones Rd, Dunkirk, MD 20754

Again, thanks for letting me try this!

On Tue, Jan 5, 2021, 5:44 PM steenerson notifications@github.com wrote:

Hello,

I want to sell these within the next year and have built and benchtop tested this design but I wanted to get some more robust real-life testing/experience done before I start selling them, but of course the project I designed it for has stalled for many months now.

I have some assembled boards and I'll send you one to play with if you email me at chris@csteenerson.com and let me know where to send it.

Cheers, Chris

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-754946970, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH3VVX7KIMH7QVPPBTDSYOI27ANCNFSM4VWAIREA .

Bwanna commented 3 years ago

Chris,

I reviewed everything closely and THINK I figured it out. It appears the Plex64 is a 4x16:1 MUX. I missed that in the beginning, as I thought it was a 64:1 MUX capability.

Looking over the schematics was able to add a single 4:1MUX of the 4 I/Os using a TMUX1104DQAR. This is small enough that it fits nicely in a space with very minor adjustments. It provides an additional single output controlled by two address bits to the other outputs. With this the PLEX64 provides BOTH 4x16:4 & 64:1 MUX capability. I thought about adding some code to the .h * .cpp files to support easy implementation, but wanted to see what if you thought it worth it?

My only engineering concern is that this discreet doesn't change the PlexE-H output signals to the UNO. I don't think it will, but maybe something to verify?

Hope you don't mind me suggesting this.

Cheers, Steve

On Mon, Mar 1, 2021 at 11:24 AM Steve steve.a.glow@gmail.com wrote:

Chris,

May I verify the MUX setup with Plex64? Is it correct that the outputs are limits to the following:

  • Channel 0-15 Only output is E
  • Channel 16-31 Only output is F
  • Channel 32-47 Only output is G
  • Channel 48-63 Only output is H

How can I identify two channels within each group of 16 at the same time for testing? Such as, Channel 0 and 1 able to be MUXd simultaneously to two different outputs for testing? Idea is to set one of these channels as an OUTPUT with a HIGH setting and then measure the INPUT on the other channel. If they are connected, would read a HIGH voltage; otherwise, it would be LOW.

Thanks, Steve

On Mon, Mar 1, 2021 at 10:12 AM Steve steve.a.glow@gmail.com wrote:

Chris,

Thought I'd show you what I'm working on. This is a cable tester using your Plex64's as a foundation. While it is designed to specifically support the type of Harnesses I make, it can be used generically for any harnesses up to 96 connections. I can adjust this to fully support 128 connections and fully use two of the Plex64s.

I'm writing the code now while the boards are being made. I'm thinking of using an approach where EVERY possible combination of connections will be tested for continuity and the outcome recorded in a matrix(es). Then this test matrix can be compared to the stored matrix for each harness type (representing the CORRECT outcomes). This might work nicely as it would be easy to simply STORE the outcome of a new harness design into memory. Then testing could simply be the process of selecting from memory which harness profile is being tested.

I do need a second Plex64 to complete this project. If need be I can pay for that one?

And of course any recommendations would be very welcome!!

Thanks, Steve

On Thu, Feb 18, 2021 at 6:04 PM Steve steve.a.glow@gmail.com wrote:

Chris,

I'm about to create a testing design that utilizes your Plex64, however, I realized that I actually have more circuits to test. Could I get another Plex64 from you? Can pay for it if necessary.

About my design. I make cable harnesses for a motorcycle product and need to test the integrity of each finished harness. This requires testing for continuity for the wiring harness, as well as, for unwanted crosstalk. In total I have about 75 connections... so have a need for a second Plex64.

Please let me know your thoughts.

Thanks, Steve Glowacki

On Tue, Jan 5, 2021 at 6:29 PM Steve steve.a.glow@gmail.com wrote:

Chris,

That sounds great. Thank you! My project is to build something you test my wire harness continuity. Have a need to test 30 wires, so 60 I/O s to program the testing patterns. This will be a good test bed.

Steve Glowacki 3440 Old Jones Rd, Dunkirk, MD 20754

Again, thanks for letting me try this!

On Tue, Jan 5, 2021, 5:44 PM steenerson notifications@github.com wrote:

Hello,

I want to sell these within the next year and have built and benchtop tested this design but I wanted to get some more robust real-life testing/experience done before I start selling them, but of course the project I designed it for has stalled for many months now.

I have some assembled boards and I'll send you one to play with if you email me at chris@csteenerson.com and let me know where to send it.

Cheers, Chris

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-754946970, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH3VVX7KIMH7QVPPBTDSYOI27ANCNFSM4VWAIREA .

steenerson commented 3 years ago

Hi,

That is correct, it is a quad 16-port expander. I will update the documentation to make this more clear.

If you want it all to come from a single pin, you can also chain them together. For example run your analog input to the E channel, then connect the F channel input to E0, G to E1 and H to E2. You'll end up with 61 inputs this way and have to consider that some of the signals run through 2 voltage dividers too.

Bwanna commented 3 years ago

Hi, Very interesting. I hadn't thought of that.

On Mon, Mar 1, 2021, 4:49 PM steenerson notifications@github.com wrote:

Hi,

That is correct, it is a quad 16-port expander. I will update the documentation to make this more clear.

If you want it all to come from a single pin, you can also chain them together. For example run your analog input to the E channel, then connect the F channel input to E0, G to E1 and H to E2. You'll end up with 61 inputs this way and have to consider that some of the signals run through 2 voltage dividers too.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-788322298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH5FKK4HQIPQ2XF3IELTBQDXPANCNFSM4VWAIREA .

Bwanna commented 3 years ago

Chris,

It appears the voltage divider circuits prevent this from being bidirectional, correct? If so, may I offer a suggestion that might create appeal with a wider audience. Two were implementations:

Finding a simple 64:1 MUX for Arduino use is a challenge. There are lots of 'close-no-cigar' options. These changes might make your board very popular... not to mention the $$$!

BTW, I own a small business designing, manuf, and selling custom motorcycle parts - both mechanical and electrical. The design I'm working on is for a Harness Tester for the shop for one of my main products. The larger board I sent you earlier was a prototype, which has morphed into a grander version #2. While It's designed for my harnesses, with very minor mods it can be made useful as a Generic Tester. Let me know if you think that could be something you'd like to offer with your Plex64. Maybe there's something we can work out?

Cheers, Steve

On Mon, Mar 1, 2021 at 7:32 PM Steve steve.a.glow@gmail.com wrote:

Hi, Very interesting. I hadn't thought of that.

On Mon, Mar 1, 2021, 4:49 PM steenerson notifications@github.com wrote:

Hi,

That is correct, it is a quad 16-port expander. I will update the documentation to make this more clear.

If you want it all to come from a single pin, you can also chain them together. For example run your analog input to the E channel, then connect the F channel input to E0, G to E1 and H to E2. You'll end up with 61 inputs this way and have to consider that some of the signals run through 2 voltage dividers too.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-788322298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH5FKK4HQIPQ2XF3IELTBQDXPANCNFSM4VWAIREA .

Bwanna commented 3 years ago

Chris, I'm going with your suggestion to make a 61:1 setup by feeding outputs from three of the 4067 outputs into one, then having that output feed through the attenuation circuit to the UNO. This should eliminate the voltage reduction you mentioned. Please see the attached schematic that shows this.

My question is whether your current library files will support this? Will the "setChannel(uint8_t pin, bool force = 0)" correctly set up the MUX to connect the desired input (0-61) to the G output?

The schematic does the following:

I know you're very busy and hope you don't mind these questions. If your current library doesn't support this, I can write my own. Just didn't want to go down that road if it already works.

Thanks, Steve

On Mon, Mar 1, 2021 at 4:49 PM steenerson @.***> wrote:

Hi,

That is correct, it is a quad 16-port expander. I will update the documentation to make this more clear.

If you want it all to come from a single pin, you can also chain them together. For example run your analog input to the E channel, then connect the F channel input to E0, G to E1 and H to E2. You'll end up with 61 inputs this way and have to consider that some of the signals run through 2 voltage dividers too.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-788322298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH5FKK4HQIPQ2XF3IELTBQDXPANCNFSM4VWAIREA .

Bwanna commented 3 years ago

Chris,

Wanted to share something that you might find useful. I really like your design, but wanted to convert the jumper settings to software controls. The attached variation on your original design does this. I haven't written the associated files (Largely because I'm not experienced in that yet!). You said you wanted to sell these and thought this might be a viable consideration for your future customers. I tried to choose discreet components that would maintain your higher voltage capability. If you do have time to look this over, I would greatly appreciate it if you can let me know of any issues you see with this.

BTW, this maintains te 64:4 MUX and doesn't not have a 61:1 option. For me, the issue was more about having the MUX be bi-directional, which the attenuation circuitry prevents. The s/w control capability provides that flexibility to go back and forth depending on what test the code is running.

Thanks, Steve

On Thu, Mar 25, 2021 at 11:32 AM Steve @.***> wrote:

Chris, I'm going with your suggestion to make a 61:1 setup by feeding outputs from three of the 4067 outputs into one, then having that output feed through the attenuation circuit to the UNO. This should eliminate the voltage reduction you mentioned. Please see the attached schematic that shows this.

My question is whether your current library files will support this? Will the "setChannel(uint8_t pin, bool force = 0)" correctly set up the MUX to connect the desired input (0-61) to the G output?

The schematic does the following:

  • feeds H output -> G15
  • feeds E output -> G14
  • feeds F output -> H0
  • G Output goes into the attenuation circuit that goes to A2Shield as the single output to measure

I know you're very busy and hope you don't mind these questions. If your current library doesn't support this, I can write my own. Just didn't want to go down that road if it already works.

Thanks, Steve

On Mon, Mar 1, 2021 at 4:49 PM steenerson @.***> wrote:

Hi,

That is correct, it is a quad 16-port expander. I will update the documentation to make this more clear.

If you want it all to come from a single pin, you can also chain them together. For example run your analog input to the E channel, then connect the F channel input to E0, G to E1 and H to E2. You'll end up with 61 inputs this way and have to consider that some of the signals run through 2 voltage dividers too.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steenerson/Plex64/issues/1#issuecomment-788322298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGA5YH5FKK4HQIPQ2XF3IELTBQDXPANCNFSM4VWAIREA .