Thursday, December 5, 2019

Replacement PCB test-fit, Part 2

My 2-layer fit-test boards arrived today from JLCPCB in China. They were shipped in a sturdy box which fit the boards quite nicely, with sufficient bubble-wrap padding to keep them from rattling around inside the box. The boards themselves were vacuum-packed in yet more bubble-wrap so they didn't rub against the box, the outer bubble-wrap, or each other.


A cursory visual inspection didn't show any serious flaws. The worst I noted was some fine-line silkscreening had some small gaps. I'll probably fatten up the line widths to avoid this. I made no effort to move the part reference designations from where they landed when I originally placed the parts, so a lot of it is a jumbled mess or would overlap component pads, but all of it is sharp and easily readable with no apparent blobs or gaps. I'll put the boards under a microscope another time to check the pad shapes and such, but it looks pretty good under a simple magnifying lens.

Now to the three big questions:
  • How well does the board fit in the P170-DH calculator shell?
  • How well do the keypad contacts work?
  • How well do the slide switch contacts work?
Here's the fit-test board installed in the calculator shell. It's held in place by 20 (yes, 20) small screws. Every one of the 20 went in, though some fit only because I made these holes a bit larger than they strictly needed to be.  Intentionally so, for just this reason.

All of the alignment holes match up with the plastic alignment pins molded in the calculator's top shell half. I made these so they'd fit quite tightly, and they do. The board pretty much has to be pressed onto these pins, though it doesn't take any real force. I'm quite pleased by this.

How about the keypad? I'd previously estimated the resistance of a conductive pill pressed against the original PCB contact pattern at 500 to 1,000 ohms. That was using carbon contact patterns, while mine has ENIG (Electroless Nickel / Immersion Gold) coated copper tracks. Measuring the resistance across my contact pattern gives about 60 ohms for a firmly-pressed key, and about 200 ohms for a lightly-pressed key. My component selections assume 1K to 2K ohms, so this should work just fine.

And the slide switches? These work by moving a slider across the back of a conductive strip that presses it against a PCB contact; the ends of the strip are held against two other PCB contacts. These also appear to present a resistance of about 60 to 110 ohms. I had not considered that these would have significant resistance and hadn't made an attempt at measuring it with the original PCB. Let's look at this...

My plan is to use the internal weak pull-up configuration of the Spartan 6 FPGA input pins that connect to the slide switches. With a Vcco and Vccaux of 3.3V and the pin pulled hard to ground externally, an input pin configured this way sources a maximum of 500µA. To be read as a zero, an input pin must be held at or below 0.8V. Ohm's Law says the maximum resistance to meet these levels is 6.6K ohms. I have a 470 ohm resistor in series with these switches to avoid damage should the pin be misconfigured as an output, so the switch could have a resistance of up to about 6.1K and still work. So no problems there.

One of the five slide switches doesn't connect to the FPGA, though: the On/Off switch. In my design, this switch controls the +3V3 voltage regulator's RUN input. The +3V3 regulator's Power Good output drives the +1V2 regulator's RUN input, and the +1V2 regulator's Power Good output releases the FPGA from reset.

I configured the On/Off switch so it controls the +3V3 regulator by pulling its RUN input to ground when it's in the Off position, rather than by pulling it high in the On position. This causes the board to power up when isn't attached to the calculator's upper shell, which may make it easier to experiment with. A RUN input on the LTC3607 needs to be held at or below 0.55V to turn off the regulator, and the RUN pins can leak a maximum of 1µA on their own. My design pulls the +3V3 regulator's RUN input high using a 100K resistor to the unregulated input supply. I expect the unregulated supply to be about +7.5VDC. To sink 76µA with at most a 0.55V drop, the switch circuit needs to have a resistance of less than about 7.3K ohms. Even with a worst-case 15V supply, the LTC3607's maximum supply voltage, 151µA with a 0.55V drop is about 3.6K ohms. Again, no problems there.


I have four minor corrections I want to make to this board before I send it out. But it looks like I could have saved myself $41.41 — $32.60 for the board and $8.81 for DHL shipping — if I'd trusted my measurements and estimates. But even now I think the money was well spent. If I can finish the board layout by Sunday evening, or even Monday morning, I'm pretty confident that I'll have usable 4-layer boards to assemble as my Christmas present.

No comments:

Post a Comment