|
- Setup
- -----
-
- Total input current Ic (amps)
-
- LA-55 with ~200 turns, 1k burden.
- Voltage output is Vc = (Ic / 1000 * 1k) = Ic
- LA-55 output goes to trimmable offset opamp,
- trimmed to 0 when DAC command is 32768.
-
- -> NOTE: DC offset changes a ton (200mV!) when the LA-55 is
- saturated one way versus the other, then returned to zero.
-
- Will try implementing a degauss feature, to see if the DC offset
- always settles to the same amount. Result: seems to work.
-
- R36 = 1k (shouldn't matter)
- IC3A:
- R37 = 1k, R38 = 3.3k -> scales up by 4.3
- IC3B:
- R39 = 100k
- R40 = 100k
- R41 = 100k
- R42 = 100k
- Reference:
- R43 and R44 are a pot, trimmed so R43 == R44 -> VREF1.25 = 1.25V.
-
- So
- ADC12V+ = 1.25 - (4.3 * Vc)
- = 1.25 - 4.3 Ic
-
- PIC input value (PICV) is:
- 0 = 0V
- 2048 = 2.5V
-
- PICV = (ADC12V+ * 2048 / 2.5)
- PICV = (1.25 - 4.3 Ic) * 2048 / 2.5
- PICV = 1024 - 3522.6 Ic
- Ic = (1024 - PICV) / 3522.6
-
- Computed by adc12_to_current()
-
- Scaling
- -------
- DAC can do about ±20A. DAC command (DACC) is:
- 0 = -20A
- 65536 = +20A
-
- DACC = 32768 * (1 + Ic / 20)
-
- Computed by current_to_dac()
-
- Code
- ----
|