Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ABSIS Bus Master #267

Merged
merged 10 commits into from
Nov 6, 2020
Merged

ABSIS Bus Master #267

merged 10 commits into from
Nov 6, 2020

Conversation

jrsteensen
Copy link
Owner

@jrsteensen jrsteensen commented Nov 2, 2020

Description

This is the ABSIS Bus Master, which is an Arduino Mega 2560 R3 shield which utilizes 3x MAX487 ICs to drive 3x independent RS485 buses.

image
image

image
image

Type of change

Please delete options that are not relevant.

  • New ECAD (new PCB)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Passes all DRC checks; no physical testing yet accomplished. (Schematic DRC states the the PWR pins of the ICs are not driven, which is the intent of the jumpers. They shouldn't be driven until a jumper is installed.)

Checklist: (Delete non-relevant sections)

PCB/ECAD:

  • Requirements definition
  • Schematic completed
  • PCB routed
  • PCB constrained by physical footprint limitations
  • PCB critical component location requirements met
  • Schematic/PCB reviewed
  • BOM generated
  • Gerbers generated
  • MCAD generated

petersawka and others added 5 commits October 31, 2020 13:26
-Updated Schematic with 10k Pullup Resistors for all Switches
-Updated Schematic, changed to 10K Pullup resistor on SCL, SDA, and INT
-Updated PCB with Pull-up Resistors for Switches
Added Pullup Resistros to AMPCD
Fixed missing connections
This is an ABSIS Bus Master which utilizes a 4-pin power in from the pit PSU, and 3x MAX487 chips to drive three RS485 buses. The data and power buses have been combined into a six pin bus. This PCB is a shield for an Arduino Mega 2560 R3.
@jrsteensen jrsteensen added Type: Bug/Obsolesce Something isn't working/Part no longer available for sale Type: Enhancement New feature or request Category: ECAD Electrical CAD/PCB HW Design Priority: Critical labels Nov 2, 2020
@jrsteensen jrsteensen added this to the Beta Release milestone Nov 2, 2020
@jrsteensen jrsteensen self-assigned this Nov 2, 2020
@jrsteensen jrsteensen marked this pull request as ready for review November 2, 2020 23:21
@jrsteensen
Copy link
Owner Author

jrsteensen commented Nov 3, 2020

  1. Add test points to power supply pins, and A/B Channels of each bus.
  2. Look at grounding options for utilizing shielded cable with ABSIS bus connectors.
    • Decided that any shield grounding can take place via connection to each connectors ground pin. No PCB modification required.

John Steensen added 3 commits November 3, 2020 18:27
Added Testpoints to PWR SUPPLY (12V, 5V, 3.3V, GND) + RS485 Channel A & B of BUS #1 - BUS #3.
Had old template. Updated Mega template to R3 arduino mega. Redid Bus Master.
@MrMagicMan
Copy link
Collaborator

MrMagicMan commented Nov 5, 2020

Starting review,

I'm not quite clear on having the ability to disable the RS485 busses, is there a specific reason to do this vs just ingnoring anything comming in via software?

If we want to keep them, any thoughts on changing the jumpers to something like a p channel mosfet controlled by dip switches, this would reduce the number of separate parts you would need to have on hand (no jumpers)

You would need to add something like,

1 x DSHP03TS-S
SPST 3 1.27MM, HALF SLIDE (STANDARD) BLACK SMD DIP SWITCHES ROHS Extended Part | XKB CONNECTIVITY | 0 | 1+ $0.4174
-- | -- | -- | -- | --
3 x PJM2301PSA-S
MOSFET P TRENCH 20V 2A(TC) 1V @ 250UA 120 MΩ @ 2A,4.5V SOT-23 ROHS Extended Part

3 x 0603WAF1002T5E

CHIP RESISTOR - SURFACE MOUNT 10KOHMS ±1% 1/10W 0603 ROHS Basic Part  

In this kind of configuration.
image

@MrMagicMan
Copy link
Collaborator

XIO Connector and P4 pin numbers are reversed in schematic board looks fine. 5V line is disconnected from shield board.
image
vs
image

@MrMagicMan
Copy link
Collaborator

6 Pin standard Pinout and label on PCB do not match because footprint and schematic symbol pinout do not match.

image
image
image

@MrMagicMan
Copy link
Collaborator

MrMagicMan commented Nov 5, 2020

image
image

Ground connection from plane does not have enough clearance island plane is disconnected. Add more via stitching to fix.

@MrMagicMan
Copy link
Collaborator

MrMagicMan commented Nov 5, 2020

How do we connect to the 6 pin headers if there is a board on top of the shield, can we use a right angle on the left side? Similarly is their enough room between the connectors each other and other parts on the board to release, or mate the connector on the board?
image

@MrMagicMan
Copy link
Collaborator

Do we want to add protection for the RS485 bus from 12V faults caused by incorrect wiring? e.g. pin 1 and 5 get fliped.
image

@MrMagicMan
Copy link
Collaborator

Do we want to add fusing on the board?

@MrMagicMan
Copy link
Collaborator

It would be worthwhile changing the the traces for power to planes, currently with ~1mm traces it would be good for ~2.2A.

@MrMagicMan
Copy link
Collaborator

MrMagicMan commented Nov 5, 2020

Its recommended never to connect pins like this(directly between pads) as the AOI can flag it as an issue(short circuit) (if they are using any kind of inspection) Use a U shape, pop out over and then back in image

@MrMagicMan
Copy link
Collaborator

Whenever possible use the largest trace size you can. This will allow for really crappy manufactures to not mess up the pcb.
image

@MrMagicMan
Copy link
Collaborator

Recommend you add a spot for a number to be written on the board, (a large white silkscreen area) this is probably more relevant for the Nanos, just so you can keep track of them.

@jrsteensen
Copy link
Owner Author

Starting review,

I'm not quite clear on having the ability to disable the RS485 busses, is there a specific reason to do this vs just ingnoring anything comming in via software?

If we want to keep them, any thoughts on changing the jumpers to something like a p channel mosfet controlled by dip switches, this would reduce the number of separate parts you would need to have on hand (no jumpers)

You would need to add something like,

1 x DSHP03TS-S
SPST 3 1.27MM, HALF SLIDE (STANDARD) BLACK SMD DIP SWITCHES ROHS Extended Part | XKB CONNECTIVITY | 0 | 1+ $0.4174
-- | -- | -- | -- | --
3 x PJM2301PSA-S
MOSFET P TRENCH 20V 2A(TC) 1V @ 250UA 120 MΩ @ 2A,4.5V SOT-23 ROHS Extended Part

3 x 0603WAF1002T5E

CHIP RESISTOR - SURFACE MOUNT 10KOHMS ±1% 1/10W 0603 ROHS Basic Part  
In this kind of configuration.
image

If there is no problem with floating connections, I'll remove the jumpers from the master shield.
Its needed on the nano, since we don't want to waste I/O pins.

XIO Connector and P4 pin numbers are reversed in schematic board looks fine. 5V line is disconnected from shield board.
image
vs
image

Should already be fixed in latest Master shield.

6 Pin standard Pinout and label on PCB do not match because footprint and schematic symbol pinout do not match.

image
image
image

What do you mean? Pin 1 = Pin 1, etc,

image
image

Ground connection from plane does not have enough clearance island plane is disconnected. Add more via stitching to fix.

Already fixed in latest Master shield update.

How do we connect to the 6 pin headers if there is a board on top of the shield, can we use a right angle on the left side? Similarly is their enough room between the connectors each other and other parts on the board to release, or mate the connector on the board?
image

In latest master shield, went to pin headers underneath for board to board connection. A PCB should never be stacked on the master.

Do we want to add protection for the RS485 bus from 12V faults caused by incorrect wiring? e.g. pin 1 and 5 get fliped.
image

Is this a case of we should rely on user to wire correctly, or what would that circuit look like? (Example would be helpful.)

Do we want to add fusing on the board?

Might be a good idea. Do you have a recommended circuit/solid state parts? (Never done on PCB fusing before,)

It would be worthwhile changing the the traces for power to planes, currently with ~1mm traces it would be good for ~2.2A.

Another case of not having experience with it. What would that look like on a 2 layer PCB?

Its recommended never to connect pins like this(directly between pads) as the AOI can flag it as an issue(short circuit) (if they are using any kind of inspection) Use a U shape, pop out over and then back in image

Will fix.

Whenever possible use the largest trace size you can. This will allow for really crappy manufactures to not mess up the pcb.
image

Already fixed in latest master shield.

Recommend you add a spot for a number to be written on the board, (a large white silkscreen area) this is probably more relevant for the Nanos, just so you can keep track of them.

Very very good idea!

@MrMagicMan
Copy link
Collaborator

Starting review,
I'm not quite clear on having the ability to disable the RS485 busses, is there a specific reason to do this vs just ingnoring anything comming in via software?
If we want to keep them, any thoughts on changing the jumpers to something like a p channel mosfet controlled by dip switches, this would reduce the number of separate parts you would need to have on hand (no jumpers)
You would need to add something like,
1 x DSHP03TS-S
SPST 3 1.27MM, HALF SLIDE (STANDARD) BLACK SMD DIP SWITCHES ROHS Extended Part | XKB CONNECTIVITY | 0 | 1+ $0.4174
-- | -- | -- | -- | --
3 x PJM2301PSA-S
MOSFET P TRENCH 20V 2A(TC) 1V @ 250UA 120 MΩ @ 2A,4.5V SOT-23 ROHS Extended Part
3 x 0603WAF1002T5E
CHIP RESISTOR - SURFACE MOUNT 10KOHMS ±1% 1/10W 0603 ROHS Basic Part  
In this kind of configuration.
image

If there is no problem with floating connections, I'll remove the jumpers from the master shield.
Its needed on the nano, since we don't want to waste I/O pins.

XIO Connector and P4 pin numbers are reversed in schematic board looks fine. 5V line is disconnected from shield board.
image
vs
image

Should already be fixed in latest Master shield.
Ill try and pull the latest from github but I though I had it :(

6 Pin standard Pinout and label on PCB do not match because footprint and schematic symbol pinout do not match.
image
image
image

What do you mean? Pin 1 = Pin 1, etc,
If you look at the schematic you can see pin 1 is top left, and then goes down the left side, and then back up the right side. In the footprint and your board the layout is different. To better illistrate this i have attached 3 different styles of pinouts for a 6 pin connector
image
image
image

Does that make sense?

image
image
Ground connection from plane does not have enough clearance island plane is disconnected. Add more via stitching to fix.

Already fixed in latest Master shield update.
Cool

How do we connect to the 6 pin headers if there is a board on top of the shield, can we use a right angle on the left side? Similarly is their enough room between the connectors each other and other parts on the board to release, or mate the connector on the board?
image

In latest master shield, went to pin headers underneath for board to board connection. A PCB should never be stacked on the master.
OK

Do we want to add protection for the RS485 bus from 12V faults caused by incorrect wiring? e.g. pin 1 and 5 get fliped.
image

Is this a case of we should rely on user to wire correctly, or what would that circuit look like? (Example would be helpful.)
Ill add an example when I can but a subset of something like this (we wont need the lightning protection, hopefully :P).
image

Do we want to add fusing on the board?

Might be a good idea. Do you have a recommended circuit/solid state parts? (Never done on PCB fusing before,)
We can look at adding space for a replaceable fuse holder (likely TH) as SMT fuses exist but may be difficult for people to replace, we can look at PTC (thermal resettable fuse) but we need to figure out the expected output current and see if one exists for that voltage range.

It would be worthwhile changing the the traces for power to planes, currently with ~1mm traces it would be good for ~2.2A.

Another case of not having experience with it. What would that look like on a 2 layer PCB?
Should be something like this.
https://www.youtube.com/watch?v=WcdJ7FAmD7k

Its recommended never to connect pins like this(directly between pads) as the AOI can flag it as an issue(short circuit) (if they are using any kind of inspection) Use a U shape, pop out over and then back in image

Will fix.
Cool

Whenever possible use the largest trace size you can. This will allow for really crappy manufactures to not mess up the pcb.
image

Already fixed in latest master shield.
Cool

Recommend you add a spot for a number to be written on the board, (a large white silkscreen area) this is probably more relevant for the Nanos, just so you can keep track of them.

Very very good idea!

Let me know when your good to go again, in the mean time I can look to see what we can do for the open issues.

@jrsteensen
Copy link
Owner Author

jrsteensen commented Nov 5, 2020

TODO

ABSIS Master

  • Remove Bus Enable jumpers.
  • Change schematic BUS Connectors to match PCB order. (Cosmetic change.)
  • Consider if fusing is required.
  • Add power planes.
    - Changed front plane to 12V_Supply, since other voltages should have fairly low downstream amperage draws comparatively.
  • Fix adjacent pin bridges. (Move out from direct bridge to "U" bridge.)
  • Add silkscreen box to write reference designator on the PCB.

@jrsteensen jrsteensen mentioned this pull request Nov 6, 2020
12 tasks
 Remove Bus Enable jumpers.
 Change schematic BUS Connectors to match PCB order. (Cosmetic change.)
 Consider if fusing is required.
 Add power planes.
- Changed front plane to 12V_Supply, since other voltages should have fairly low downstream amperage draws comparatively.
 Fix adjacent pin bridges. (Move out from direct bridge to "U" bridge.)
 Add silkscreen box to write reference designator on the PCB.
@jrsteensen jrsteensen merged commit 359a194 into ABSIS_2.0 Nov 6, 2020
@jrsteensen jrsteensen deleted the ABSIS_Bus_Master branch November 6, 2020 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: ECAD Electrical CAD/PCB HW Design Priority: Critical Type: Bug/Obsolesce Something isn't working/Part no longer available for sale Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants