#embedded-hal #no-std #stepper-motor #trinamics

no-std tmc5072

A TCM5072 driver compatible with embedded-hal

2 releases

0.1.1 May 19, 2022
0.1.0 May 19, 2022

#807 in Embedded development

MIT/Apache

155KB
4K SLoC

crates.io crates.io Documentation

tmc5072

A TCM5072 driver compatible with embedded-hal

API reference

Documents

License

Licensed under either of

at your option.


lib.rs:

TMC5072 driver

Dual controller/driver for up to two 2-phase bipolar stepper motors. No-noise stepper operation. Integrated motion controller and encoder counter. SPI, UART (single wire) and Step/Dir

Description:

The TMC5072 is a dual high performance stepper motor controller and driver IC with serial communication interfaces. It combines flexible ramp generators for automatic target positioning with industries' most advanced stepper motor drivers. Based on TRINAMICs sophisticated stealthChop chopper, the driver ensures absolutely noiseless operation combined with maximum efficiency and best motor torque. High integration, high energy efficiency and a small form factor enable miniaturized and scalable systems for cost effective solutions. The complete solution reduces learning curve to a minimum while giving best performance in class.

Key Concepts:

The TMC5072 implements several advanced features which are exclusive to TRINAMIC products. These features contribute toward greater precision, greater energy efficiency, higher reliability, smoother motion, and cooler operation in many stepper motor applications.

stealthChop™: No-noise, high-precision chopper algorithm for inaudible motion and inaudible standstill of the motor.

dcStep™: Load dependent speed control. The motor moves as fast as possible and never loses a step.

stallGuard2™: High-precision load measurement using the back EMF on the motor coils.

coolStep™: Load-adaptive current control which reduces energy consumption by as much as 75%.

spreadCycle™: High-precision chopper algorithm available as an alternative to the traditional constant off-time algorithm.

sixPoint™: Fast and precise positioning using a hardware ramp generator with a set of four acceleration / deceleration settings. Quickest response due to dedicated hardware.

In addition to these performance enhancements, TRINAMIC motor drivers offer safeguards to detect and protect against shorted outputs, output open-circuit, overtemperature, and undervoltage conditions for enhancing safety and recovery from equipment malfunctions.

Documents

Example

#
#
#
#
#
#
let mut tmc5072 = Tmc5072::new(spi, cs)?;
let spi_ok: SpiOk<XActual<0>> = tmc5072.read_register::<XActual<0>>()?;
let x_actual: i32 = spi_ok.data.x_actual;

Warnings

Not production ready yet, API could change in the future

This crate only implements raw register access

Dependencies

~230KB