TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 1 TMC223 – DATASHEET Micro Stepping Stepper Motor Controller / Driver with Two Wire Serial Interface and Sensorless Stall Detection 24 SDA 23 NC 22 OB1 GND GND QFN32 OB2 VBAT 21 OB1 TMC 223 OB2 VBAT 20 OA2 25 VBAT 19 SWI 26 VCP 18 VBAT 27 CPP 17 VBAT OA2 GND GND VBAT 28 CPN P +49 - (0) 40 - 51 48 06 - 0 F +49 - (0) 40 - 51 48 06 - 60 www.trinamic.com info@trinamic.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Life support policy TRINAMIC Motion Control GmbH & Co. KG does not authorize or warrant any of its products for use in life support systems, without the specific written consent of TRINAMIC Motion Control GmbH & Co. KG. Life support systems are equipment intended to support or sustain life, and whose failure to perform, when properly used in accordance with instructions provided, can be reasonably expected to result in personal injury or death.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 3 Table of Contents 1 FEATURES .....................................................................................................................................1 2 GENERAL DESCRIPTION .............................................................................................................5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Block Diagramm.......................................................................................................................
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.8.6 ResetPosition ................................................................................................................. 33 6.8.7 ResetToDefault .............................................................................................................. 34 6.8.8 RunInit............................................................................................................................ 34 6.8.9 SetMotorParam .................................
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5 2 General Description 2.1 Block Diagramm SWI SDA SCL HW TST Two Wire Serial Interface Decoder Position Controller DACs Main control & Registers OTP + ROM PWM regulator Y VBAT Voltage Regulator Oscillator Charge Pump VDD VCP 2.2 Reference Voltage & Thermal Monitoring CP2 CP1 Position Controller / Main Control Motor parameters, e.g. acceleration, velocity and position parameters are passed to the main control block via the serial interface.
2.5 TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Sensorless Stall Detection The TMC223 is equipped with a sensorless stall detection, to be used for noiseless reference search without reference switch and motion monitoring purposes as detection of motor blocking. 2.6 Miscellaneous Besides the main blocks the TMC223 contains the following: • an internal charge pump used to drive the high side transistors.
TMC223 DATASHEET (V. 1.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 3 Typical Application External Switch Two wire serial Interface 1 SDA SWI 20 2 SCL VBAT 19 3 VDD OA1 18 4 GND GND 17 5 TST OA2 16 6 open OB1 15 GND GND 14 Connect to GND or VBAT SWI 1kΩ /1/4W 2.7 nF 100 nF 100 nF 1 µF Tantalum 7 Connect to GND or VBAT M VBAT 8...
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 9 5 Functional Description 5.1 Position Controller and Main Controller 5.1.1 Stepping Modes The TMC223 supports up to 16 micro steps per full step, which leads to smooth and low torque ripple motion of the stepping motor. Four stepping modes (micro step resolutions) are selectable by the user (see also Table 11): • • • • 5.1.
5.1.3 TMC223 DATASHEET (V. 1.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.1.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.1.5 Vmin Parameter The minimum velocity parameter is a programmable ratio between 1/32 and 15/32 of Vmax. It is also possible to set Vmin to the same velocity as Vmax by setting Vmin index to zero. The table below shows the possible rounded values of Vmin given within unit [FS/s]. Vmax group [A...
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 13 The amount of equivalent full steps during acceleration phase can be computed by the next equation: 2− 2 Nstep = V max V min 2 ⋅ Acc 5.1.7 Position Ranges Position information is coded by using two’s complement format. Depending on the stepping mode (See 5.1.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.1.10 Motor Shutdown Management The TMC223 is set into motor shutdown mode as soon as one of the following condition occurs: • • • • The chip temperature rises above the thermal shutdown threshold Ttsd. See 5.1.12 Temperature Management on Page 16 The battery voltage drops below UV2 See 5.1.13 Battery Voltage Management on Page 17. An electrical problem occurred, e.g. short circuit, open circuit, etc. In case of such an problem flag is set to one.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 15 5.1.11 Reference Search / Position initialization A stepper motor does not provide information about the actual position of the motor. Therefore it is recommended to perform a reference drive after power-up or if a motor shutdown happened in case of a problem. The RunInit command initiates the reference search. The RunInit command consists of a Vmin and Vmax parameter and also position information about the end of first and second motion (6.8.8 RunInit).
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.1.12 Temperature Management The TMC223 provides an internal temperature monitoring. The circuit goes into shutdown mode if the temperature exceeds threshold Ttsd, furthermore two thresholds are implemented to generate a temperature pre-warning. Low Temperatur = "01" = '0' = '0' T° < Tlow T° > Tlow Normal Temp.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 17 5.1.13 Battery Voltage Management The TMC223 provides an internal battery voltage monitoring. The circuit goes into shutdown mode if the battery voltage falls below threshold UV2, furthermore one threshold UV1 is implemented to generate a low voltage warning.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.1.14 Internal handling of commands and flags The internal handling of commands and flags differs. Commands are handled with different priorities depending on the current state and the current status of internal flags, see figure below. SetPosition or GotoSecurePosition commands are ignored as long as the flag is set. Details can be found in Table 8: Priority Encoder.
TMC223 DATASHEET (V. 1.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 7 flag allows to distinguish whether state Stopped was entered after HardStop/SoftStop or not. is set to ‘1’ when leaving state HardStop or SoftStop and is reset during first clock edge occurring in state Stopped. While in state Stopped, if ActPos ≠ TagPos there is a transition to state GotoPos. This transition has the lowest priority, meaning that , , etc. are first evaluated for possible transitions.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.2.2 21 Status Flags The table below shows the flags which are accessable by the serial interface in order to receive information about the internal status of the TMC223.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.2.3 OTP Memory Structure The table below shows where the OTP parameters are stored in the OTP memory. Note: If the OTP memory has not been programmed, or if the RAM has not be programmed by a SetMotorParam command, or if anyhow = ‘1’, any positioning command will be ignored, in order to avoid any consequence due to unwanted RAM content.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.3.1 23 Coil current shapes The next four figures show the current shapes fed to each coil of the motor in different stepping modes. i t Figure 8: Coil Current for Half Stepping Mode i t Figure 9: Coil Current for 1/4 Micro Stepping Mode i t Figure 10: Coil Current for 1/8 Micro Stepping Mode i t Figure 11: Coil Current for 1/16 Micro Stepping Mode Copyright © 2007 TRINAMIC Motion Control GmbH & Co.
5.3.2 TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Transition Irun to Ihold At the end of a motor motion the actual coil currents Irun are maintained in the coils at their actual DC level for a quarter of an electrical period (two half steps) at minimum velocity. Afterwards the currents are then set to their hold values Ihold.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 5.3.3 25 Chopper Mechanism The chopper frequency is fixed as specified in chapter 11.4 AC Parameters on page 51. The TMC223 uses an intelligent chopper algorithm to provide a smooth operation with low resonance. The TMC223 uses internal measurements to derive current flowing through coils. If the current is less than the desired current, the TMC223 switches a H-bridge in a way that the current will increase.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6 Two-Wire Serial Interface 6.1 Physical Layer Both SDA and SCL lines are connected to positive supply voltage via a current source or pull-up resistor (see figure below). When there is no traffic on the bus both lines are high. Analog glitch filters are implemented to suppress spikes with a length of up to 50 ns.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 27 Every byte put on the SDA line must have a length of 8 bits, where the most significant bit (MSB) is transferred first. The number of bytes that can be transmitted to the TCM222 is restricted to 8 bytes. Each byte is followed by an acknowledge bit, which is issued by the receiving node (see figure below). SDA MSB SCL 1 ACK 2 7 8 9 ACK 1 9 STOP condition START condition Figure 17: Two Wire Serial Interface - Data Transfer 6.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) S R/W A Slave addr '0' (Write) master to slave DATA DATA A A P (n Bytes + acknowledge) S: Start Condition P: Stop Condition A: Acknowledge (SDA low) A: not Acknowledge (SDA high) slave to master Figure 19: Two Wire Serial Interface - Writing Data to Slave 6.5 Read data from TMC223 When reading data from a slave two datagrams are needed. The first datagram consists of two bytes of data.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.6 29 Timing characteristics of the serial interface START START STOP START SDA tf tLOW tr tSU;DAT tf tHD;STA tr tBUF SCL tHD;STA tHD;DAT tHIGH tSU;STA tSU;STO Figure 21: Definition of Timing Parameter Symbol Low level input voltage: Fixed input levels High level input voltage: Fixed input levels Pulse width of spikes which must be suppressed by the input filter Capacitance for each I/O pin SCL Clk frequency <= 100KHz Min. Max.
6.7 TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Application Commands Overview Communications between the TMC223 and a Two Wire Serial Bus Master takes place via a set of commands. Reading commands are used to: • Get actual status information, e.g. error flags • Get actual position of the Stepper Motor • Verify the right programming and configuration of the TMC223 Writing commands are used to: • Program the OTP Memory • Configure the TMC223 with motion parameters (e.g.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.8 31 Command Description There are data fields labeled as "N/A = not applicable". Within the command description tables, the contend is normally given as '1'. Data fields labeled by N/A might be reserved for later variants of the TMC223 and the content should be ignored for the TMC223.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.8.2 GetFullStatus2 This command is provided to the circuit by the Master to get the actual position of the stepper-motor. The position is provided by the circuit in 16-bit format, with the 3 LSBs at ‘0’ when in half stepping mode (StepMode = “00”). Furthermore programmed target position and secure position are also provided.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.8.4 33 GotoSecurePosition This command is provided by the Master to one or all the stepper-motors to move to the secure position SecPos[10:0]. It can also be triggered at the end of a RunInit initialization phase. If SecPos[10:0] equals 0x400 (the most negative decimal value of -1024) the secure position is disabled and the GotoSecurePosition command is ignored.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.8.7 ResetToDefault This command is provided to the circuit by the Master in order to reset the whole slave node into the initial state. ResetToDefault will for instance overload the RAM with the reset state of the register parameters. This is another way for the Master to initialize a slave node in case of emergency, or simply to refresh the RAM content.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 6.8.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) A valid parameter set of stall detection parameters depends on the given type of motor and the motion settings for the motor (Irun, Ihold, Vmax, Vmin, Acc, …).
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 37 6.8.12 SetPosition This command is provided to the circuit by the Master to drive the motor to a given position relative to the zero position, defined in number of half or micro steps, according to StepMode[1:0] value.
6.9 TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Positioning Task Example The TMC223 has to perform a positioning task, where the actual position of the stepper motor is unknown. The desired target position is 3000 µsteps away from position 0. See figure below.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 39 SetPosition This command will cause the stepper motor to move to the desired target position. See 6.8.12 SetPosition on page 37. After the motion has been finished, the situation is as depicted in the figure below. Stop Actual Position = Target Position = 3000 X [µsteps] Figure 24: Positioning Example: Motion finished Afterwards the actual status and position can be verified by GetFullStatus1 and GetFullStatus2 commands.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 7.2 Stall Detection Parameters The timing parameter MinSamples has to be set depending on the PWM frequency and the chosen velocity to the largest value below duration of on full step. The stall detection blanking parameter FS2StallEN blanks variations of the BEMF due to oscillations that follows an acceleration phase that can cause faulty detection of a stall. The parameter AbsThr represents an absolute voltage level of the BEMF.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) AbsThr 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF 41 AbsThrLevel[V] Disable 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 Table 19: Stall Detection Threshold Parameter AbsThr DelThr 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF DelThrLevel[V] Disable 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.
7.3 TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Example of Stall Detection Parameter Setting The following set of parameters is given for an exemplary application. One should keep in mind that the parameterizing of sensorless stall detection might need some measurements and its successful parameterization also depends on the used type of motor and the given application environment.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 43 8 Frequently Asked Questions 8.1 Using the bus interface Q: How many devices can be operated on the same bus? A: 32 devices can be discriminated by means of the physical address. However, it depends on some factors if this high number really makes sense.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 8.3 Using the device Q: What is the meaning of the ‘Shaft’ bit? A: The Shaft bit determines the rotating direction of the motor, i.e. clockwise or counter-clockwise rotation. Q: How to generate an interrupt when the target position is reached? A: This is not possible. The device hasn’t any interrupt output at all. Just poll ActPos or Motion[2:0] using an appropriate command.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 8.4 45 Finding the reference position Q: How do I find a reference position? A: The recommended way is to use the RunInit command. Two motions are specified through RunInit. The first motion is to reach the mechanical stop. Its target position should be specified far away enough so that the mechanical stop will be reached from any possible starting position.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 9 Package Outline 9.1 SOIC-20 Figure 25: Package Outline SOIC-20 UNIT mm inches A max A1 . 2.65 0.30 0.10 0.10 0.012 0.004 A2 A3 bp 2.45 0.25 0.49 2.25 0.36 0.096 0.01 0.019 0.089 0.014 c D(1) E(1) 0.32 0.23 0.013 0.009 13.0 12.6 0.51 0.49 7.6 1.27 7.4 0.30 0.050 0.29 e HE L 10.65 1.4 10.00 0.419 0.055 0.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 9.2 47 QFN32 E1 E D D1 32 1 Top view J C Side view 24 C 17 16 25 EXPOSED DIE ATTACH PAD 9 32 1 (0 .2 ) b 6) 01 .1 (1 8 L (A3) R 0.2 PIN1 I.D. A1 R A P A2 e K e/2 0°~12° Bottom view Figure 26: Package Outline QFN32 REF MIN NOM MAX Unit A 0.80 0.90 mm A1 0.00 0.02 0.05 mm A2 0.576 0.615 0.654 mm A3 0.203 mm b 0.25 0.3 0.35 mm C 0.24 0.42 0.6 mm D D1 E E1 e 7 6.75 7 6.75 0.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 10 Package Thermal Resistance 10.1 SOIC-20 Package The junction case thermal resistance is 28°C/W, leading to a junction ambient thermal resistance of 63°C/W, with the PCB ground plane layout condition given in the figure below and with • • • PCB thickness = 1.6mm 1 layer Copper thickness = 35µm 2 × (10mm × 23mm) Figure 27: Layout consideration Copyright © 2007 TRINAMIC Motion Control GmbH & Co.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 49 11 Electrical Characteristics 11.1 Absolute Maximum Ratings Parameter Vbat Tamb Tst Vesd (**) Supply Voltage Ambient temperature under bias (*) Storage temperature Electrostatic discharge voltage on pins Min -0.3 -50 -55 -2 Max +35 +150 +160 +2 Unit V °C °C kV Min +8 -40 -40 Max +29 +125 +85 Unit V °C °C Typ 800 Max Unit mA Table 22: Absolute Maximum Ratings (*) The circuit functionality is not guaranteed (**) Human body model (100pF via 1.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Supply and Voltage regulator Symbol Pin(s) Parameter Vbb Nominal operating supply range (*) VbbOTP Supply Voltage for OTP zapping VBB UV1 Low voltage high threshold UV2 Stop voltage low threshold Ibat Total current consumption Vdd IddStop VddReset IddLim Internal regulated output VDD (**) Digital current consumption Digital supply reset level (***) Current limitation Test condition Unloaded Outputs 8V < Vbb < 18V Cload = 1µF (+100nF cer.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) 51 11.4 AC Parameters Power-Up Symbol Tpu Pin(s) Parameter Power-Up time Test condition Min Typ Max 10 Unit ms Min 921 Typ 1024 1/16 Max 1127 Unit µs Tsw Max 25.0 50.
TMC223 DATASHEET (V. 1.00 / May 3rd, 2007) Revision History Version 1.00 Date Comments May 3, 2007 (LL) initial version, based on TMC222 datasheet (v. 1.06 / March 15, 2007) Please refer to www.trinamic.com for updated data sheets and application notes on this product and on other products.