Crate tmc5072

Source
Expand description

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

Modules§

registers
TMC5072 registers
spi
SPI Error handling
status
TMC5072 status

Structs§

Tmc5072
TMC5072 driver

Enums§

InitError
TMC5072 initialisation error