techmannih/nema34-mounted-stepper-controller
A 48 V USB‑C PD 3.1 EPR NEMA‑34 stepper controller PCB combining STM32/TMC5160 control, external MOSFET motor bridges, protected power and regenerative braking, USB data, telemetry, diagnostics, status LEDs, and buzzer alarms.
- Version
- 0.3.92
- License
- unset
- Stars
- 1
engineering/power-thermal-eco.json
{
"revision": "0.4.1-ECO",
"base_commit": "16d1347fc9991399f7ff5ea089966af2876fc3ad",
"authorization": "2026-10-13 user requested implementation, commit/push as techmannih and reference-based initial limits.",
"status": "power-thermal-eco-order-held",
"hardware_qualified": false,
"changes": {
"U6": {
"before": "TPS26631RGER / C1850273",
"after": "TPS26630RGER / C1850276",
"mode": "Pin 11 left open: 1x active limiting then latch-off; eliminates 2x overload interval."
},
"R25": {
"before": "4.02 kohm",
"after": "4.22 kohm / C49196690 / 0.1% / 100 ppm/C",
"nominal_limit_a": 4.265402843601896,
"screened_max_limit_a": 4.6378169341428706
},
"R66": {
"before": "1 kohm",
"after": "1.21 kohm / C705737 / 0.1% / 25 ppm/C",
"cutoff_nominal_v": 53.183639792550686
},
"D20": {
"part": "GOODWORK SS10100 SMBF / C49242208",
"rating": "100 V / 10 A",
"cathode_pin_1": "VMOTOR",
"anode_pin_2": "BRAKE_RETURN",
"pcb_trace_width_mm": 2.4,
"purpose": "Local recirculation path for brake cable inductance; actual switching waveforms remain unmeasured."
},
"feedback": {
"R134_R135": "4.7 kohm 1206 250 mW C6675858 each",
"R136": "510 ohm 0603 C7468460",
"C98": "10 nF 0603 C57112",
"adc": "U30 AIN2 pin 6 changed from GND to BRAKE_FB",
"ratio": 19.431372549019606,
"scope": "Startup continuity only; not runtime cable/current or heatsink monitoring."
},
"firmware": {
"current_ceiling_rms_a": 3.8,
"global_scaler": 139,
"initial_irun": 6,
"initial_current_rms_a": 0.8271367553,
"brake_preflight_distinct_samples": 3,
"freshness_ms": 100,
"bus_window_mv": [
44000,
50400
],
"return_to_bus_ratio": [
0.9,
1.1
],
"motionWiringVerified": false,
"pdImageVerified": false,
"brakeHardwareVerified": false
}
},
"added_components": [
"D20",
"R134",
"R135",
"R136",
"C98"
],
"removed_components": [],
"moved_components": [
"TP_VMOTOR",
"TP_PWR_GND"
],
"native_label_changes": [
"VM and GND follow moved power probes",
"J2 MOTOR moved clear of added feedback passives"
],
"mounting_holes": "All four existing holes retained unchanged; no unsupported mounting fixture added.",
"reference_setup": {
"module": {
"url": "https://www.analog.com/en/products/pd-1180.html",
"use": "24/48 V integrated-drive architecture reference only; its 5.5 A/7 Nm rating is not transferred."
},
"source_candidate": {
"model": "Framework Power Adapter 240 W",
"url": "https://frame.work/products/power-adapter-240w",
"required_contract": "48 V / 5 A EPR with rated cable",
"purchased": false,
"qualified": false
},
"motor": "Ordered STEPPERONLINE 34HS31-6004S1, not the 7 Nm ADI module motor",
"initial_test": {
"attached_load": "none",
"max_rpm": 10,
"acceleration_rpm_per_s": 10,
"deceleration_rpm_per_s": 10,
"ambient_c": [
20,
25
],
"brake_required": true
},
"brake_candidate": {
"model": "Vishay LPS0300H10R0GB",
"ohms": 10,
"continuous_nameplate_w": 300,
"case_limit_c_at_300w": 85,
"combined_interface_heatsink_c_per_w_at_281w_50c": 0.1246,
"qualified": false,
"final_heatsink_model": null
}
},
"evidence": {
"calculations": "engineering/power-audit.json",
"behavioral_simulation": "engineering/power-eco-simulation/results.json",
"geometry_scope": "engineering/power-eco-geometry.json",
"brake_sense_branch": "docs/brake-sense-copper-check.json"
},
"stock": {
"checked_at": "2026-10-13T01:37:42.379Z",
"unique_parts": 84,
"fitted_parts": 252,
"status_counts": {
"available": 31,
"insufficient": 24,
"unverified-no-exact-match": 29
},
"ordering_approved": false,
"note": "Missing/null catalog stock remains unverified; the legacy checker labels null stock insufficient. Inventory is not reserved."
},
"remaining_gates": [
"Exact BOM availability and reviewed alternatives",
"TI full-flash image and readback",
"Input transient, source/cable contract, eFuse SOA and actual upstream logic draw",
"Actual motor peak/RMS current, switching loss, capacitor ripple and full thermal soak",
"Brake diode/cable Q16 VDS transients and repeated brake heating",
"Actual load, gravity, maximum speed, fastest stop and duty cycle",
"Runtime brake disconnection remains unmonitored; startup preflight alone is not fault tolerance",
"Secure mechanical mounting and motor encoder qualification"
],
"validation": {
"native_DRC_violations": 0,
"native_unconnected": 0,
"schematic_parity": 0,
"schematic_ERC_violations": 0,
"source_schematic_checks": 173,
"schematic_sheets": 24,
"new_via_pad_overlaps": 0,
"powered_tests": false
},
"follow_up": "Historical base ECO record. Current R25/R61/R66 values, request guard and refined screens are in engineering/protection-refinement.json; its geometry proof preserves this ECO."
}