shibosoftwaredev/f1c100s-linux-nema17-stepper-controller
A four-layer NEMA 17 motor-controller PCB combining an Allwinner F1C100S Linux computer, USB‑PD/buck power system, W5500 Ethernet, STM32 real-time motion control, DRV8825 stepper driver, protection/temperature/current telemetry, USB interfaces, and local LED/buzzer diagnostics.
- Version
- 0.4.56
- License
- unset
- Stars
- 0
configuration-options.tsx
const signal = (name: string, from: string, to: string) =>
<trace name={name} from={from} to={to} thickness={0.15} />
/**
* Assembly-safe configuration options.
*
* Each option resistor is normally DNP. Fitting it places a known resistance
* in parallel with the default programming resistor. An unpopulated option
* cannot float either DRV8825 VREF or HUSB238A VSET, and the current option can
* only reduce the motor current below the 0.40 A/phase default.
*/
export function ConfigurationOptions() {
return <>
<group name="MOTOR_CURRENT_OPTIONS" pcbX={0} pcbY={0} schX={-45} schY={0}
schSheetName="motor_stage">
{/* Default: 0.397 A/phase. Fitting R_ISET_210 adds 1.80 kOhm in parallel
for a fail-safe 0.207 A/phase first-article setting. */}
<resistor name="R_ISET_210" layer="top" doNotPlace resistance="1.8k" footprint="0402"
manufacturerPartNumber="RC0402FR-071K8L" supplierPartNumbers={{jlcpcb:["C163481"]}}
pcbX={5.2} pcbY={11.4} pcbRotation={90} schX={51} schY={-10.5} schRotation={-90} />
{signal("ISET_210_VREF", ".R_ISET_210 > .pin1", ".C_REF > .pin1")}
{signal("ISET_210_GND", ".R_ISET_210 > .pin2", "net.BOARD_GND")}
<silkscreentext text="I: DNP=.40 / FIT=.21A" layer="top"
pcbX={4.5} pcbY={12.8} fontSize={0.48} />
</group>
<group name="PD_VOLTAGE_OPTION" pcbX={0} pcbY={0} schX={7} schY={-22}
schSheetName="pd_power">
{/* HUSB238A GPIO mode: 11.0 kOhm selects 15 V. Adding 13.3 kOhm in
parallel produces 6.02 kOhm, the nominal 12 V VSET code. */}
<resistor name="R_PD_12V" layer="bottom" doNotPlace resistance="13.3k" footprint="0402"
manufacturerPartNumber="0402WGF1332TCE" supplierPartNumbers={{jlcpcb:["C122547"]}}
pcbX={12.5} pcbY={12.5} pcbRotation={90} schX={5} schY={18.5} schRotation={-90} />
{signal("PD_12V_VSET", ".R_PD_12V > .pin1", ".R_PD_VSET > .pin1")}
{signal("PD_12V_GND", ".R_PD_12V > .pin2", "net.BOARD_GND")}
<silkscreentext text="PD: DNP=15V / FIT=12V" layer="bottom"
pcbX={11.5} pcbY={15.7} fontSize={0.48} />
</group>
</>
}