-
Notifications
You must be signed in to change notification settings - Fork 0
Labels
embeddedEmbedded team responsibleEmbedded team responsiblelarge~ a couple days to complete~ a couple days to complete
Description
Description
Develop firmware for the Thruster Control MCU responsible for receiving control commands, generating PWM outputs to drive thrusters, and monitoring system health. The MCU shall interface with the main control system over CAN and respond in real time to command messages.
Requirements
-
CAN communication
- Receive control commands over CAN (e.g., target thrust or PWM duty cycle).
- Parse frames per the thruster CAN message specification.
- Optionally transmit status frames (current draw, temperature, fault status).
- Support configurable message IDs and update rates.
-
PWM control
- Generate PWM signals for one or more thruster channels based on received commands.
- Ensure safe start-up/shutdown (no spurious pulses, defined idle state).
- Support configurable PWM frequency and duty-cycle limits (min/max clamping, slew limits).
-
Safety & fault handling
- Implement command timeout/watchdog—stop thrusters if no valid CAN command within the configured window.
- Detect and report faults (overcurrent, undervoltage, overtemperature, comms loss).
- Provide an emergency-stop path and fault-latching/clear mechanisms.
-
Modular code structure
- Separate CAN, PWM/timers, and control logic into dedicated
.c/.hmodules. - Define clear, reusable interfaces for portability to other actuator MCUs.
- Configuration via compile-time constants and/or non-volatile parameters.
- Separate CAN, PWM/timers, and control logic into dedicated
Acceptance Criteria
- Valid CAN command frames are parsed and applied; out-of-range inputs are safely clamped.
- PWM outputs track commanded values within specified timing/jitter limits and respect frequency/duty constraints.
- On missing/invalid commands for longer than the timeout, thrusters cease output and a fault is flagged.
- Detected faults (overcurrent, undervoltage, overtemp, comms loss) are reported over CAN and reflected in status.
- Optional status frames are emitted at the configured interval with correct IDs and data formatting.
- Module boundaries are respected; unit tests or bench tests verify each module independently.
To-Do Checklist
- Research necessary peripherals (timers/PWM, ADCs or current sensors, temperature sensors, CAN transceiver, gate/ESC interface).
- Select components and confirm availability for PCB integration (MCU pins, timer channels, CAN, sensing).
- Implement drivers: CAN, PWM/timers, ADC/sensors, watchdog.
- Implement command parser, control loop, and safety/fault manager.
- Integrate modules into MCU firmware with configurable parameters (IDs, timeouts, PWM limits).
- Verify functionality on a development board (HIL/bench testing with simulated CAN traffic).
- Validate on final PCB hardware with real thrusters or load emulators.
- Document configuration (message specs, IDs, thresholds, scaling, PWM settings) and provide README.
Contacts
Metadata
Metadata
Assignees
Labels
embeddedEmbedded team responsibleEmbedded team responsiblelarge~ a couple days to complete~ a couple days to complete