Skip to content

projects/ janelia/ Mouse Joystick/

brake_current_sink_0_49ma_dac80501

Block orb_weaver_private:brake_current_sink_0_49ma_dac80501 placed in /brake_torque_sensor of mouse-joystick-pcb. DAC-programmed linear constant-current sink delivering 0-48.78 mA into a 24 V magnetic particle brake coil from a 36 V rail: a DAC80501ZDGSR at 3.3 V on I2C feeding a 0.19512 precision divider, an OPA197 integrating error amplifier on a ferrite-filtered 12 V rail driving a BUK7D36-60EX pass device over a 10 ohm Kelvin shunt, a second OPA197 as an independent 56.4 mA current ceiling that clamps the gate through a Schottky, a third as a 0-1.006 V ground-referenced current monitor behind a /2 output divider, an SN74LVC2G17 buffering the ceiling event out as active-low ~{BRAKE_FAULT}, and an S115Q flyback across the in-block 2-position 3.5 mm vertical coil terminal.

Lifecycle routed
Family none (a private block)
Placement anchor (37, 12) mm, rotation 180°, front side
Sheet brake_current_sink_0_49ma_dac80501.kicad_sch; sheet pins: the board's own arrangement
Drawing mouse-joystick-pcb-brake_torque_sensor-brake_current_sink_0_49ma_dac80501.svg

On the Board

brake_current_sink_0_49ma_dac80501 on the board

Block 14 of the board view: 24.4 × 23.7 mm on the top side, its centre 36.8 mm right of and 18.9 mm below the board centre (X right, Y up, as the enclosure tables); 54 footprints. The picture is the top render clipped around the block, the rectangle the extent of its footprints' courtyards.

Description

DAC-programmed linear constant-current sink delivering 0-48.78 mA into a 24 V magnetic particle brake coil from a 36 V rail: a DAC80501ZDGSR at 3.3 V on I2C feeding a 0.19512 precision divider, an OPA197 integrating error amplifier on a ferrite-filtered 12 V rail driving a BUK7D36-60EX pass device over a 10 ohm Kelvin shunt, a second OPA197 as an independent 56.4 mA current ceiling that clamps the gate through a Schottky, a third as a 0-1.006 V ground-referenced current monitor behind a /2 output divider, an SN74LVC2G17 buffering the ceiling event out as active-low ~{BRAKE_FAULT}, and an S115Q flyback across the in-block 2-position 3.5 mm vertical coil terminal. The full derivation, connection table, BOM and open items are in kicad-libs docs/brake-current-sink-design.md; this note carries only what breaks silently without it. Designators are not stable (KiCad auto-annotation orders by sheet position), so everything below is named by net. 1. I2C, NOT SPI, AND THE ADDRESS IS ONE RESISTOR. SPI2C is strapped to +3.3V_FILT through 1k for I2C mode; A0 is strapped to +3.3V_FILT through 1k for 0x49, and analog_output_0_3v3_dac80501 takes 0x48. A0 is a FOUR-STATE pin (AGND 0x48, VDD 0x49, SDA 0x4A, SCL 0x4B), so a rail strap reaches only the first two. A0 is re-sampled during the first byte of EVERY frame, so a floating A0 gives an address that changes between frames rather than a clean failure; never lift that resistor without re-wiring it in the same operation. 2. THIS BLOCK OWNS NO BUS TERMINATIONS and must not gain any. SCL and SDA leave as single-pin nets. The board fits ONE 2.2k pull-up pair PER BUS SEGMENT: the DAC-side pair on the SWITCHED 3.3 V rail, because an always-on pull-up reaching a DAC whose VDD is at 0 V exceeds the VDD+0.3 V digital-input absolute maximum and back-feeds +3.3V_FILT through the internal clamps; the MCU-side pair on the ALWAYS-ON rail, because the SN74CB3Q3245 is open by default. Two instances each carrying pull-ups would halve the resistance. 3. THE 110k OUTPUT PULL-DOWN STAYS ON ISENSE_OUT, upstream of the /2 divider. On the midpoint it parallels the bottom leg (110k||3.2k = 3.1095k, ratio 0.49283, -1.43%) and it is a 1% 100ppm/C thick film against the divider's 0.1% 25ppm/C pair, so it would dominate the ratio's whole error budget. General rule: anything whose job is to define a node when the amplifier is dead belongs on the AMP side of a divider; anything in parallel with a divider leg becomes part of the RATIO. 4. BRAKE_ISENSE IS 0-1.006 V FROM A 1.849 kohm SOURCE AND NEEDS A >=1 Mohm LOAD. The /2 divider is what bounds a single fault, including the monitor amp stuck at its own +5V_FILT rail, to 2.48 V on a connector pin; the 249 ohm series resistor's input end is on ISENSE_DIV, downstream of the divider, never on ISENSE_OUT. A ceiling event reads 1.163 V, deliberately ABOVE full scale, so a limit event stays visible. 0 V means unpowered or dead, not zero current. 5. ~{BRAKE_FAULT} IS A SWITCHED-DOMAIN OUTPUT WITH Ioff, so it is high-Z whenever +3.3V_FILT is down and THE PLACING BOARD OWES THE MCU-SIDE TERMINATION, a 10k pull-down to GND, which means the line reads ASSERTED whenever the switched rail is off. Firmware must only interpret it while the rail is known up. It is a continuous limiter indication, not a latch. Do not substitute the 2G14; it is the inverter. 6. FIRMWARE MUST WRITE GAIN (4h) = 0x0101 BEFORE ANY DATA WRITE. At 3.3 V the reset default 0x0001 is out of spec against the 2.5 V internal reference, so the reference alarm holds the output at 0 V until that write lands. That is a safety property, not a bug, and over I2C the alarm is READABLE in STATUS, which is why this block is on I2C at all. 7. THE FOUR 10 nF FILTER AND COMPENSATION CAPACITORS MUST BE C0G, not X7R or X5R, and so must the divider midpoint's 10 nF. Class-2 dielectric is piezoelectric, this board is mechanically coupled to a stepper and a hand-driven joystick, and 1 mV on V_SET is 0.1 mA of coil current. A mechanically generated torque artifact in a torque measurement cannot be filtered out. C0G at 10 nF forces an 0805 body; take the area. 8. V_LIMIT STAYS 5 V-DERIVED AND THE GATE DRIVE STAYS 12 V. Moving V_LIMIT to 12 V rescales the 564 mV ceiling threshold; moving the loop amp back to 5 V leaves 90 mV of worst-corner gate-drive margin with a -7.5 mV/degC tempco. 9. PWR_FLAG on +12V_FILT, +5V_FILT and +3.3V_FILT is required: the ferrites break driver propagation. GND is flagged once at board level, not here. 10. TWO INSTANCES NEED SEPARATE SHEETS or their local nets merge: +12V_FILT, +5V_FILT, +3.3V_FILT, V_SET, V_SENSE, V_LIMIT, ISENSE_DIV, GATE, SPI2C and DAC_A0. The ferrites parallel, the PWR_FLAGs conflict, and DAC_A0 merging would silently put both DACs on one address.

Ports

The brief's shape, edge, class and meaning for each port, then what the board wires it to.

Port Shape Edge Class Wired to Board net Board class GPIO Meaning On this board
+3.3V passive west PWR_3V3_LOCAL +3.3V /+3.3V_SW PWR_3V3 Switched 3.3 V: DAC and fault-buffer supply through FB36003 to +3.3V_FILT; the reference of both mode straps.
+5V passive west PWR_5V_LOCAL +5V /+5V_SW PWR_5V Regulated 5.0 V for the ceiling and monitor amplifiers and the V_LIMIT divider, through FB36002 to +5V_FILT (OPA197 minimum 4.5 V).
+12V passive west PWR_12V_LOCAL +12V /brake_torque_sensor/+12V PWR_12V_LOCAL Gate-drive supply of the loop amplifier U36002, through FB36001 to +12V_FILT.
+36V passive west PWR_HV_LOCAL +36V /+36V_SW PWR_HV_BUS Coil supply, switched domain: J36001 pin 2 and the flyback cathode of D36002, bypassed by C36017 and C36018; the pass device drops what the coil does not.
BRAKE_ISENSE output east Default BRAKE_ISENSE /BRAKE_ISENSE MCU_FINE GP27 Current monitor, 0-1.006 V for 0-48.78 mA from a 1.849 kohm source; needs a >= 1 Mohm load; a ceiling event reads 1.163 V; 0 V means unpowered. Brake sink current readback, ADC1¹¹; in as the MCU sees it
GND passive west PWR_RETURN_LOCAL GND /GND PWR_RETURN_LOCAL Return of the shunt R36016, the amplifiers, the DAC and the bypass; the brake return joins board ground once, at the power-stage return point.
SCL input west Default DAC_SCL /DAC_SCL Default GP17 I2C clock to U36001 pin 6 (SCLK/SCL); single-pin net, the board fits the pull-up. I2C0 SCL — same bus⁷; out as the MCU sees it, via the bus switch
SDA bidirectional west Default DAC_SDA /DAC_SDA Default GP16 I2C data, U36001 pin 8 (SDIN/SDA), address 0x49; single-pin net, the board fits the pull-up. I2C0 SDA — analog 0x48, brake 0x49⁷; bidi as the MCU sees it, via the bus switch
~{BRAKE_FAULT} output east Default ~{BRAKE_FAULT} /~{BRAKE_FAULT} Default GP13 Active-low continuous limiter indication from U36003 1Y; high-Z (Ioff) whenever +3.3V_FILT is down, so the board owes a 10 k pull-down to GND. Brake block fault, active low⁷; in as the MCU sees it, via the bus switch
~{BRAKE_FAULT}_INST output east INSTRUMENT ~{BRAKE_FAULT}_INST /~{BRAKE_FAULT}_INST INSTRUMENT Instrument tap of ~{BRAKE_FAULT} through R36020 (1 k); INSTRUMENT class.

Parts

As placed on the board's sheet; 54 of 54 paired with the brief's references by symbol identity, the rest given the brief's role where the internal part has one, else the catalog's role slug; the placement is the Placement field of the board's symbol, else of the library's (D38); the manufacturer part and the LCSC number are the board's BOM's.

Reference Brief Part Value Role Placement Manufacturer part LCSC DNP
C1801 C36001 OW-CAP-10N-0805-C0G-50V 10nF Monitor input filter, ISENSE_IN (C0G) beside U1804.3 (+), on ISENSE_IN GRM2195C1H103JA01D C97905
C1802 C36002 OW-PASS-CL21A106KOQNNNE 10uF Rail bulk bypass beside U1802.5 (V+), on +12V_FILT CL21A106KOQNNNE C1713
C1803 C36003 OW-PASS-CL21A106KOQNNNE 10uF Rail bulk bypass CL21A106KOQNNNE C1713
C1804 C36004 OW-PASS-CL21A106KOQNNNE 10uF Rail bulk bypass CL21A106KOQNNNE C1713
C1805 C36005 OW-CAP-100N-0402-X5R-16V 100nF U36002 V+ pin 5 bypass beside U1802.5 (V+), on +12V_FILT GRM155R62A104KE14D C162178
C1806 C36006 OW-CAP-100N-0402-X5R-16V 100nF U36006 V+ pin 5 bypass beside U1806.5 (V+), on +5V_FILT GRM155R62A104KE14D C162178
C1807 C36007 OW-CAP-100N-0402-X5R-16V 100nF U36001 VDD pin 1 bypass beside U1801.1 (VDD), on +3.3V_FILT GRM155R62A104KE14D C162178
C1808 C36008 OW-CAP-10N-0805-C0G-50V 10nF Command filter, V_SET (C0G) beside U1802.3 (+), on V_SET GRM2195C1H103JA01D C97905
C1809 C36009 OW-CAP-100N-0402-X5R-16V 100nF +5V_FILT bypass at R36011, V_LIMIT top GRM155R62A104KE14D C162178
C1810 C36010 OW-CAP-100N-0402-X5R-16V 100nF U36001 VDD pin 1 bypass beside U1801.1 (VDD), on +3.3V_FILT GRM155R62A104KE14D C162178
C1811 C36011 OW-PASS-GRT155R6YA474KE01D 0.47uF VREFIO reference bypass beside U1801.10 (VREFIO), on VREFIO GRT155R6YA474KE01D C711580
C1812 C36012 OW-CAP-10N-0805-C0G-50V 10nF Loop integrator, U36002 (C0G) GRM2195C1H103JA01D C97905
C1813 C36013 OW-CAP-100N-0402-X5R-16V 100nF U36004 V+ pin 5 bypass beside U1804.5 (V+), on +5V_FILT GRM155R62A104KE14D C162178
C1814 C36014 OW-CAP-100N-0402-X5R-16V 100nF U36003 VCC pin 5 bypass beside U1803C.5 (VCC), on +3.3V_FILT GRM155R62A104KE14D C162178
C1815 C36015 OW-CAP-10N-0805-C0G-50V 10nF ISENSE_DIV midpoint shunt (C0G) GRM2195C1H103JA01D C97905
C1816 C36016 OW-CAP-100N-0402-X5R-16V 100nF V_LIMIT reference bypass beside U1806.3 (+), on V_LIMIT GRM155R62A104KE14D C162178
C1817 C36017 OW-CAP-470N-1206-X7R-100V 470nF +36V coil rail bypass CGA1206X7R474K101NT C6119998
C1818 C36018 OW-PASS-GRM188R72A104KA35D 100nF +36V coil rail HF bypass GRM188R72A104KA35D C77058
C1819 C36019 OW-PASS-GRM1555C1E100JA01D 10pF Monitor amplifier compensation GRM1555C1E100JA01D C161512
C1820 C36020 OW-CAP-10N-0805-C0G-50V 10nF Ceiling integrator, U36006 (C0G) GRM2195C1H103JA01D C97905
D1801 D36001 OW-MISC-MBR120VLSFT1G MBR120VLSFT1G Gate clamp steering diode MBR120VLSFT1G C223608
D1802 D36002 OW-MISC-S115Q S115Q Coil flyback Schottky beside U1805 D pins 1, 2, 5, 6, 7 (one per pin), on COIL_LO S115Q C5362393
D1803 D36003 OW-MISC-TPD1E05U06DPYR TPD1E05U06DPYR ESD clamp on BRAKE_ISENSE TPD1E05U06DPYR C436349
FB1801 FB36001 OW-PASS-FCM1608KF-601T03 600R@100MHz Rail ferrites beside U1802.5 (V+), on +12V_FILT FCM1608KF-601T03 C141723
FB1802 FB36002 OW-PASS-FCM1608KF-601T03 600R@100MHz Rail ferrites FCM1608KF-601T03 C141723
FB1803 FB36003 OW-PASS-FCM1608KF-601T03 600R@100MHz Rail ferrites FCM1608KF-601T03 C141723
J1801 J36001 OW-CONN-TBH-1X02-3P5-VERT TBH-1x02-3.5mm Brake coil terminal, +36V and COIL_LO 1843606 C3019639
R1801 R36001 OW-PASS-ERA2AEB103X 10k Set-point divider top, DAC_VOUT ERA2AEB103X C191915
R1802 R36002 OW-PASS-RC0402FR-0749K9L 49.9k Monitor input series, V_SENSE RC0402FR-0749K9L C137969
R1803 R36003 OW-PASS-RT0402BRD073K2L 3.2k Set-point divider middle leg (0.1 %) RT0402BRD073K2L C705066
R1804 R36004 OW-PASS-RT0402BRD073K2L 3.2k Set-point divider bottom leg (0.1 %) RT0402BRD073K2L C705066
R1805 R36005 OW-PASS-RC0402FR-0749K9L 49.9k Command filter series, V_SET RC0402FR-0749K9L C137969
R1806 R36006 OW-PASS-RC0402FR-0749K9L 49.9k Loop integrator input, V_SENSE RC0402FR-0749K9L C137969
R1807 R36007 OW-PASS-RC0402FR-071KL 1k A0 strap to VDD, address 0x49 beside U1801.7 (SYNC/A0), on DAC_A0 RC0402FR-071KL C106235
R1808 R36008 OW-PASS-RT0402BRD073K2L 3.2k Monitor /2 divider top (0.1 %) RT0402BRD073K2L C705066
R1809 R36009 OW-PASS-RC0402FR-071KL 1k SPI2C strap to VDD, I2C mode beside U1801.5 (SPI2C), on SPI2C RC0402FR-071KL C106235
R1810 R36010 OW-PASS-RT0402BRD073K2L 3.2k Monitor /2 divider bottom (0.1 %) RT0402BRD073K2L C705066
R1811 R36011 OW-PASS-RC0402FR-0749K9L 49.9k V_LIMIT divider top beside U1806.3 (+), on V_LIMIT RC0402FR-0749K9L C137969
R1812 R36012 OW-RES-6K34-0402-1PCT 6.34k V_LIMIT divider bottom beside U1806.3 (+), on V_LIMIT CR0402FF6341G C100502
R1813 R36013 OW-PASS-RC0402FR-071KL 1k Gate series, LOOP_OUT to GATE RC0402FR-071KL C106235
R1814 R36014 OW-PASS-RC0402FR-0749K9L 49.9k GATE pull-down beside U1805.3 (G), on GATE RC0402FR-0749K9L C137969
R1815 R36015 OW-PASS-RC0402FR-0749K9L 49.9k Ceiling integrator input, V_SENSE RC0402FR-0749K9L C137969
R1816 R36016 OW-PASS-KTR03EZPF10R0 10 Kelvin current shunt, 10 ohm beside U1805 S pins 4, 8 (one per pin), on V_SENSE KTR03EZPF10R0 C2090788
R1817 R36017 OW-PASS-ERA2AEB103X 10k Monitor gain feedback, U36004 ERA2AEB103X C191915
R1818 R36018 OW-PASS-FRC0402F1103TS 110k ISENSE_OUT pull-down, unpowered 0 V beside U1804.1 (OUT), on ISENSE_OUT FRC0402F1103TS C2909311
R1819 R36019 OW-PASS-CRCW0402249RFKED 249 Series output resistor CRCW0402249RFKED C482112
R1820 R36020 OW-PASS-RC0402FR-071KL 1k Instrument tap, ~{BRAKE_FAULT} RC0402FR-071KL C106235
R1821 R36021 OW-PASS-RT0402BRD073K2L 3.2k Monitor gain-set, ISENSE_FB to GND (0.1 %) beside U1804.4 (-), on ISENSE_FB RT0402BRD073K2L C705066
U1801 U36001 OW-SENS-DAC80501ZDGSR DAC80501ZDGSR 16-bit I2C DAC, internal 2.5 V reference DAC80501ZDGSR C1852033
U1802 U36002 OW-MISC-OPA197IDBVR OPA197IDBVR Loop error integrator, gate drive OPA197IDBVR C221351
U1803 U36003 OW-MISC-SN74LVC2G17DRYR SN74LVC2G17DRYR Schmitt buffer, LIMIT_OUT to ~{BRAKE_FAULT} SN74LVC2G17DRYR C2675856
U1804 U36004 OW-MISC-OPA197IDBVR OPA197IDBVR Current monitor amplifier, gain 4.125 OPA197IDBVR C221351
U1805 U36005 OW-PWR-BUK7D36-60EX BUK7D36-60EX Linear pass MOSFET, coil current sink BUK7D36-60EX C3288253
U1806 U36006 OW-MISC-OPA197IDBVR OPA197IDBVR Current ceiling amplifier, 56.4 mA OPA197IDBVR C221351

Operating Notes

  • Signal path: U36001 VOUT (pin 2, 0-2.5 V) -> R36001 (10 k), R36003 and R36004 (3.2 k each): ratio 3.2/16.4 = 0.19512, so VSET_RAW is 0-0.4878 V -> R36005 (49.9 k) and C36008 (10 nF), the 303 Hz command filter (tau about 525 us with the divider's 2.58 kohm) -> V_SET -> U36002 + (pin 3). U36002 integrates the error against V_SENSE (R36006 49.9 k, C36012 10 nF) and drives GATE through R36013 (1 k); U36005 sources through R36016 (10 ohm), so V_SENSE follows V_SET and the coil current is 0-48.78 mA at 10 mV per mA, loop crossover about 295 Hz. R36014 (49.9 k) holds the gate off when nothing drives it.
  • Coil and pass device: the coil hangs from +36V at J36001 pin 2 to COIL_LO (pin 1), the drain of U36005; D36002 (S115Q, 150 V 1 A Schottky) is the flyback across the terminal. At 48.8 mA with a hot 605 ohm coil and the rail 5 % low the pass device keeps 4.2 V; with a cold 467 ohm coil and the rail 5 % high it drops 14.5 V and dissipates about 0.71 W. The 36 V rail is required: a 24 V rail cannot reach rated current.
  • Independent ceiling: U36006 integrates V_SENSE (R36015 49.9 k, C36020 10 nF) against V_LIMIT = 5 V x 6.34/(49.9 + 6.34) = 564 mV from +5V_FILT (R36011, R36012, C36016): 56.4 mA, 115 % of rated. Above it LIMIT_OUT falls and pulls GATE down through D36001; U36003 (Schmitt, 5.5 V-tolerant input) buffers LIMIT_OUT, near 4.96 V idle and about 0.4 V while limiting, to ~{BRAKE_FAULT}, a continuous indication, not a latch. V_LIMIT comes from +5V_FILT, not VREFIO, so the ceiling is independent of the DAC and the loop and a sagging rail lowers it.
  • Monitor: U36004 at gain 1 + 10/3.2 = 4.125 (R36017, R36021, C36019 10 pF) reads V_SENSE through R36002 (49.9 k) and C36001 (10 nF) -> ISENSE_OUT 0-2.012 V; R36008 and R36010 (3.2 k each) halve it to ISENSE_DIV, 0-1.006 V; R36019 (249 ohm) delivers BRAKE_ISENSE and D36003 clamps ESD. The load must be >= 1 Mohm; the divider bounds any single fault, including U36004 stuck at its 5 V rail, to 2.48 V at the pin; a ceiling event reads 1.163 V, above full scale. R36018 (110 k) stays on ISENSE_OUT, not the midpoint, where it would shift the ratio by -1.43 %.
  • I2C, address 0x49: R36009 (1 k to +3.3V_FILT) selects I2C and R36007 (1 k to +3.3V_FILT) sets A0 to 0x49 (the analog output block takes 0x48). A0 is re-sampled during the first byte of every frame: never lift R36007 without re-wiring it in the same operation. No bus termination inside; SCL and SDA leave as single-pin nets and the board fits one 2.2 k pull-up pair per segment. Firmware writes GAIN (4h) = 0x0101 before any DATA write; until then the reference alarm holds VOUT at 0 V, readable in STATUS.
  • Supplies and rules: +12V, +5V and +3.3V are filtered by FB36001, FB36002 and FB36003 to +12V_FILT, +5V_FILT and +3.3V_FILT, each carrying a PWR_FLAG; +36V binds to the same switched domain. The five 10 nF capacitors C36001, C36008, C36012, C36015 and C36020 are C0G: 1 mV of piezoelectric charge on V_SET is 0.1 mA of coil current. V_LIMIT stays 5 V-derived and the gate drive stays 12 V. ~{BRAKE_FAULT} reads asserted whenever the switched rail is off. Two instances need separate sheets.

Placement and Routing

DAC and address straps

U36001, R36007, R36009, C36011, C36007, C36010

U36001 generates 0-2.5 V on its internal reference; R36009 selects I2C, R36007 sets the address 0x49, C36011 bypasses VREFIO.

  • Place: C36011 (0.47 uF; 150 nF or more is required) hard against pin 10 with the shortest return to pin 4 (AGND).
  • Place: Both straps reference +3.3V_FILT, the potential the DAC calls VDD; silkscreen the address next to R36007.
  • Route: SCL and SDA run straight from the ports to pins 6 and 8; no termination or tap inside the block (conventions 10 and 14).

Set-point divider and command filter

R36001, R36003, R36004, R36005

R36001, R36003 and R36004 scale DAC_VOUT by 0.19512 to VSET_RAW; R36005 and C36008 filter it at 303 Hz to V_SET.

  • Place: The three divider resistors are the 0.1 %, 25 ppm set; keep them together.
  • Place: C36008 sits after R36005, never on the DAC output (DAC80501 C_LOAD maximum 2 nF); the 16.4 kohm divider is far above its 0.5 kohm minimum load.
  • Route: V_SET is the loop's reference: short, guarded by analog ground, its own netclass.

Loop amplifier and gate drive

U36002, R36006, C36012, R36013, D36001, FB36001, C36002, C36005, C36008

U36002 integrates V_SET minus V_SENSE (R36006, C36012) into LOOP_OUT and drives GATE through R36013; R36014 pulls the gate down; D36001 lets the ceiling amplifier clamp it.

  • Place: R36013 (1 k) is required: U36002 drives 1 nF maximum and must see the resistor, not U36005's input capacitance; put R36013 and R36014 at the gate.
  • Route: LOOP_FB and GATE are the loop's nodes: keep digital return currents and the BRAKE_ISENSE trace away from LOOP_FB.

Pass device, Kelvin shunt, coil terminal and flyback

U36005, R36016, J36001, D36002, C36017, C36018, R36014

U36005 sinks the coil current from COIL_LO through R36016 to GND; J36001 carries the coil between +36V and COIL_LO with D36002 as its flyback; C36017 and C36018 bypass the coil rail.

  • Place: Give U36005's drain pad as close to 6 cm2 of copper as the brake zone allows, on the far side from the torque front end, never spreading toward it.
  • Place: D36002 directly across J36001's pins; C36017 and C36018 at pin 2.
  • Place: Kelvin-tap V_SENSE once at R36016 and fan out to the loop, ceiling and monitor inputs.
  • Route: The coil current path (J36001 pin 1, U36005 drain to source, R36016, GND) is sized for 50 mA at 36 V and stays out of the torque analog zone; the brake return joins board ground once at the power-stage return point.
  • Route: Place the block at the 36 V entry and the brake connector, opposite the bridge, PGA/ADC and reference.

Current ceiling

U36006, R36011, R36012, C36016, R36015, C36020, C36006

R36011 and R36012 derive V_LIMIT (564 mV) from +5V_FILT, bypassed by C36016; U36006 integrates V_SENSE against it (R36015, C36020) and clamps the gate through D36001 when 56.4 mA is reached.

  • Place: R36011, R36012 and C36016 at U36006 pin 3; C36020 tight between pins 4 and 1.
  • Route: V_LIMIT is a reference node: short and guarded; LIMIT_OUT runs to D36001 and to U36003 pin 1.

Current monitor and output divider

U36004, R36002, C36001, R36017, R36021, C36019, R36018, R36008, R36010, C36015, R36019, D36003, C36013

U36004 amplifies the filtered V_SENSE (R36002, C36001) by 4.125 (R36017, R36021, C36019) to ISENSE_OUT; R36018 defines it unpowered; R36008 and R36010 halve it to ISENSE_DIV with C36015 shunting pickup; R36019 delivers BRAKE_ISENSE and D36003 clamps it.

  • Place: R36017, R36021 and C36019 tight to U36004 pins 1 and 4; pull the ground pour back from under ISENSE_FB (plane capacitance changes the 10 pF compensation).
  • Place: C36015 at ISENSE_DIV with a short return; R36008 and R36010 side by side (0.1 %, 25 ppm pair).
  • Place: D36003's ground via on the connector ground that BRAKE_ISENSE leaves through.
  • Route: BRAKE_ISENSE toward the MCU must not touch LOOP_FB or V_SENSE; the buffer exists to keep digital return currents off them.

Fault buffer

U36003, R36020, C36014

U36003 buffers LIMIT_OUT to the active-low ~{BRAKE_FAULT}; R36020 taps it for the instrument port. 2A is grounded and 2Y is open.

  • Place: U36003 near U36006 with its bypass C36014 at pin 5.
  • Route: ~{BRAKE_FAULT} is a switched-domain output with Ioff: the placing board terminates it with 10 k to GND on the MCU side.

Supply ferrites and bypass

FB36002, C36003, C36009, FB36003, C36004

FB36001 filters +12V to +12V_FILT for U36002 (C36002, C36005); FB36002 filters +5V to +5V_FILT for U36004, U36006 and V_LIMIT (C36003, C36006, C36009, C36013); FB36003 filters +3.3V to +3.3V_FILT for U36001 and U36003 (C36004, C36007, C36010, C36014).

  • Place: One 100 nF at each supply pin it serves: C36005 at U36002 pin 5, C36013 at U36004 pin 5, C36006 at U36006 pin 5, C36009 at R36011 (the V_LIMIT divider top), C36007 and C36010 at U36001 pin 1, C36014 at U36003 pin 5; the 10 uF parts beside their ferrites.
  • Route: +12V, +5V and +3.3V arrive at the ferrites' pad 1 (PWR_12V_LOCAL, PWR_5V_LOCAL and PWR_3V3_LOCAL vias, convention 1); the filtered rails stay inside the block.

Library Identity

Block orb_weaver_private:brake_current_sink_0_49ma_dac80501
Resolution the placed id is in the library
Brief design_blocks/orb_weaver_private.kicad_blocks/brake_current_sink_0_49ma_dac80501.kicad_block/brake_current_sink_0_49ma_dac80501.brief.yaml, the block's brief
Published sheet d1e08b566b4fa8ed
Published PCB e6a791b29f1311e9
Source lock symbol snapshot 7717d1d6cc34726c, published 2026-10-14
Placed sheet 3ff9eaccad243649: matches the brief: its 54 parts by internal part, every port by name and shape; the file is the board's copy under its own designators
Netlist check ok on 2026-10-15: every pin on the brief's net; 63 identity records differ, the board's own instances