Apollo-Simulation-Peripheral-Lab / DSKY

An affordable and easy to manufacture DSKY replica
https://shop.ortizma.com
8 stars 4 forks source link

Prototyping Results: Alarm PCB #10

Closed Aeasala closed 8 months ago

Aeasala commented 9 months ago

Needed:

Aeasala commented 9 months ago

GS resistors of lamp FETs "bleed" into each other. If one lamp is on, its gate-source resistance is 1000ohms, and source-to-ground resistance is (1000/13) 77 ohms. This gives a Vgs of 4.643V, even when the PWM FET is off. This is an unfortunate case of pin outputs not being HI-Z when low. The issue goes away as more lamps are active.

Remedy options:

  1. PMOS high-side switching
  2. If configurable, go to HI-Z output when LOW
  3. Pull-up to 5V, instead.
  4. Reference pulldowns to GND, rather than PWMCom (this may cause turn-off issues)
  5. Omit pulldowns if found unnecessary with IO expander. (i.e. already includes weak pulldowns to GND)
Aeasala commented 9 months ago

Given the PCF IC claims "strong pull-downs" with "weak pull-ups", the best option moving forward is to go for a pull-up option. This will prevent the "bleeding" issue altogether, and allow proper driving provided the stated weakness.

It will also result in the fewest complications in terms of re-routing and net changes on component pins.

Aeasala commented 8 months ago

Pulldowns to be omitted completely on IO FETs

470o/2.2nF gate filter to be implemented on PWM FET due to observed capacitive coupling. Causes white LEDs to slightly turn on when only orange LEDs are active, presumably due to their different characteristics (voltage drop). Theory is that Cds is at play as PWMCom switches, permitting a quick pulse of current from the White LEDs. Could also be Cgs.

Recommended standard P/N: KEMET C1206C222K5RAC

1us Trf is sufficient for minimum duty cycle, even at 980Hz. Typ. is ~60nsTrf.

Aeasala commented 8 months ago

Early prototyping findings have been completed, and the board is at an acceptable design state. Any remaining findings, suggestions, modifications, or improvements shall be addressed in https://github.com/Apollo-Simulation-Peripheral-Lab/DSKY/issues/30