TunePulse is an upcoming open-source firmware designed to
- control a wide range of motors (
DC
,STEPPERS
,BLDC
,PMSM
,LINEAR
) - across various control modes (
CLOSED-LOOP
,FOC
,POSITION
,SPEED
,TORQUE
, etc.) - featuring compatibility with multiple interfaces (
STEP-DIR
,UART
,I2C
,CAN/CAN-FD
,USB
) - and support for various protocols (
GCODE
,KLIPPER
, etc.).
Its primary goal is to advance the development of closed-loop systems and simplify their integration into existing systems.
Note: This firmware is under heavy development and currently has no documentation. For more information, join the creapunk community Discord.
- ☑️ PID controller with a FeedForward component (integer and float implementations)
- ☑️ Integer math LPF filter + variation for handling transitions through zero
- ☑️ Encoder coordinate system with zero-crossing handling and full rotation counting
- ☑️ Calculation of motor instantaneous speed using a circular buffer
- ☑️ Normalization of ADC input channels relative to vref
- ☑️ Calculation of supply voltage with filtering
- ☑️ Motor type selection algorithm via selector
- ☑️ DC motor
- ☑️ Stepper motor
- ☑️ BLDC motor (SVPWM, limiting when supply voltage is insufficient)
- ☑️ Phase commutation algorithm according to pattern
- ☑️ Fast sine/cosine via lookup table