Skip to content

Commit

Permalink
readme updates, soldering guide, and errata for comp 2023 release
Browse files Browse the repository at this point in the history
  • Loading branch information
guyfleeman committed Jul 27, 2023
1 parent 0111d11 commit 677193a
Show file tree
Hide file tree
Showing 10 changed files with 96 additions and 3 deletions.
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# Getting Started with A-Team Electrical

All current board releases use KiCad 7.X.

See [releases](https://github.com/SSL-A-Team/electrical/releases) for competition production files. Our releases include known bug documentation, and the confirmed gerber, BoM, and CPL files sent to fab so you know you're looking and ordering what we did. Releases are accompanied by a tagged commit, for all editable project files used to generate the fab products.

For complex boards like control and kicker, we include spice models and python files that compute any relevant values from datasheets, and including documented references and links to needed formulations.

## Setting Up KiCAD

### Setting Up the KiCAD Library Path
- Click `Preferences->Configure Paths`
- Under `Environment Variables` click `+`
- Set the name `LIB_DIR_AT`
- Set the path to `<repository_location>/lib` where <repository_location> is the download location.
- Set the path to `<repository_location>/lib` where \<repository_location\> is the download location.

Example entry:
- Name: `LIB_DIR_AT`
Expand All @@ -22,3 +28,6 @@ KiCAD version 6.99 (nightly) or newer should install the [KiCAD JLCPCB Tools](ht
3. Run any python file with `poetry run python <python_file>`
4. (Optional) Add dependencies with `poetry add <dependency>`

## Soldering

Our [soldering process](SOLDERING.md) is documented.
31 changes: 31 additions & 0 deletions SOLDERING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# A-Team Soldering Guide

During fleet board production, the team soldered many components JLC did not have in stock. These also tended to be the more complex components.

The team noticed that minor soldering technique choices had a substantial impact on reliability and yield rate. Specific materials and techniques that made differences in our success are documented below.

## Solder Choice

Leaded solder should be used (60/40 or 63/37) to reduce the hot air reflow temperature. Especially on larger boards (like control), lower and slower temperature bring ups reduce warping from localized heating. This impacts yeild rate of components like the stm32h7 in the large lqfp-144 package that need a highly planer board to adhere all pins.

Keeping the reflow temperature low was also important for our Odin-W262 radio, which is a SoM board made with lead-free solder. Keeping the temperature low means we do not reflow the SoM components when attaching the SoM to our board.

If the team has a bottom heating apparatus, this is much less of a factor.

## Choice in Flux and Cleaning Agent

The high efficiency switching power supplies were highly sensitive to cleaning method and flux choice, as small leakage currents on voltage and current sense area could produce DC error or instability in the rail.

It is absolutely required that 90-99% IPA be used as the cleaning agent. DO NOT USE 70% IPA. It does not dry sufficiently for a reliable product.

We recommend the use of ChipQuik WS991. We also recommend against using other water soluable variants as we noticed it seemed to bubble up when very low currents passed though it over time. The exact mechnism was unclear. This caused yield rate problems in stspins and U2.

## Parts with EPAD

For parts with a ground pad underneath, take care not to overfill the pad. When the part is pushed down this can cause shoting to pins underneath. This is easy to do because a larger pad size (EPAD) compared with the other package pins produces a larger meniscus, which is non-linear.

Espcially on switching power supplies with very low resistance current detection, the potential difference created between CSN and EPAD due to a large solder blob on EPAD may be non-trivial. This was the case with the 12V regulator (U2), and the lt3751 and lt3757 on the kicker versions.

## IMUs

The small LGA IMUs are quite difficult to solder. We found yeild rates increased by fluxing then tinning both the board *AND* the part, then reflowing the part onto the board.
3 changes: 3 additions & 0 deletions robot/breakbeam/v1.1.0/breakbeam-emitter/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Errata for Breakbeam Emitter v1.1

Silkscreen version reads "v1.0" when it should read "v1.1".
3 changes: 3 additions & 0 deletions robot/breakbeam/v1.1.0/breakbeam-receiver/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Errata for Breakbeam Receiver v1.0.0

No known issues.
23 changes: 23 additions & 0 deletions robot/control/v1.1.0/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Errata for Control v1.1.0

- Silkscreen version reads "v1.0.0" when it should read "v1.1.0"
- U1 is damaged on battery connection.
- Root Cause: inductive EOS.
- Solution: bridge JP1, depopulate C3, C6, C7.
- Patch Notes: slow shutdown does not work after mod
- U1 UVLO/OVLO sometimes doesn't work.
- Root Cause: inductive EOS.
- Solution: bridge JP1, depopulate C3, C6, C7, depopulate R33
- Patch Notes: slow shutdown does not work after mod, OVLO/UVLO bypassed
- Robot ID Rotary Encoder doesn't work
- Root Cause: Pull Ups/Downs on the higher half of GPIOG (PG8-PG15) don't seem to work. Root cause unclear.
- Solution: use DIP switches for Robot ID
- Patch Notes:
- Kicker detect doesn't work
- Root Cause: Pull Ups/Downs on the higher half of GPIOG (PG8-PG15) don't seem to work. Root cause unclear.
- Solution:
- Patch Notes: feature unavailable
- Radio UART flow control may not work
- Root Cause: Pull Ups/Downs on the higher half of GPIOG (PG8-PG15) don't seem to work. Root cause unclear.
- Solution:
- Patch Notes: untested, feature unavailable
3 changes: 3 additions & 0 deletions robot/encoderboard/v1.1.0/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Errata for Encoderboard v1.1.0

No known issues.
5 changes: 5 additions & 0 deletions robot/imu-breakout/v1.2.0/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Errata for IMU Breakout v1.2.0

No known issues.

Notes: IMU quite difficult to solder by hand (we did this). Recommend PCBA.
5 changes: 3 additions & 2 deletions robot/kicker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ Subfolders contain various versions of the kicker board. A summary is included b

## Kicker Version Summary

- v1.1.0_fe - **In Progress**
- v1.1.0_ufd - **In Progress**
- v1.1.0_fe - Nonviable, check errata
- v1.1.0_ufd - Nonviable, check errata
- v1.0.0 - Nonviable, check errata

## KiCad Version Summary

- v2.0.0 - KiCad v7.X
- v1.1.0 - KiCad v7.X
- v1.0.0 - KiCad v6.99 (nightly)
10 changes: 10 additions & 0 deletions robot/kicker/v2.0.0/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Errata for Kicker v2.0.0

- High Voltage rail sometimes charges uncommanded on startup when battery power is supplied
- Root Cause: 12v power can leak through the body diode of the internal LDO FET in the lt3757, allowing ~10.5V on to Vbatt. The leakage path also enables charging.
- Solution: Fix power sequencing, patch a diode with Vf <= 1.0V from 12v to Vbatt. This stop the leakage path through the lt3757, resolving the issue.
- Patch Notes:
- Unconfirmed: High Voltage rail charge uncommanded on startup
- Root Cause: unknown and non-reproducible. Possible issue with old deployed firmware revisions. Possible EOS due to long power pigtail
- Solution: unknown, unable to reproduce after initial issue
- Patch Notes:
5 changes: 5 additions & 0 deletions robot/radio/v1.0.1/ERRATA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Errata for Radio v1.1.0

No known issues.

Notes: if you want flow control enabled, bridge OPPOSITE corner jumpers. CTS->RTS, RTS->CTS

0 comments on commit 677193a

Please sign in to comment.