Wiki source code of 6.3 Torque Control
Last modified by Wecon on 2025/09/03 21:03
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | The current of the servo motor has a linear relationship with the torque. Therefore, the control of the current could achieve the control of the torque. Torque control refers to controlling the output torque of the motor through a torque reference. Torque reference could be given by internal command and analog voltage. |
2 | |||
3 | **The torque control block diagram is as follows**: | ||
4 | |||
5 | [[image:1617847486252-505.png||height="204" width="620"]] | ||
6 | |||
7 | = **Torque Reference Input Setting** = | ||
8 | |||
9 | [[image:6.3 Torque Control Mode_html_2421a7c916f19e0c.jpg||height="289" width="458"]] | ||
10 | |||
11 | == **Torque reference source** == | ||
12 | |||
13 | In the torque control mode, there are two sources of torque reference, which could be set through [P1-7].** Relevant function codes:** | ||
14 | |||
15 | |=((( | ||
16 | **Code** | ||
17 | )))|=((( | ||
18 | **Parameter Name** | ||
19 | )))|=((( | ||
20 | **Property** | ||
21 | )))|=((( | ||
22 | **Effective** | ||
23 | |||
24 | **Time** | ||
25 | )))|=((( | ||
26 | **Range** | ||
27 | )))|=((( | ||
28 | **Function** | ||
29 | )))|=((( | ||
30 | **Unit** | ||
31 | )))|=((( | ||
32 | **Default** | ||
33 | ))) | ||
34 | |((( | ||
35 | P1-7 | ||
36 | )))|((( | ||
37 | Torque reference source | ||
38 | )))|((( | ||
39 | At stop | ||
40 | )))|((( | ||
41 | Immediate | ||
42 | )))|((( | ||
43 | 0~~1 | ||
44 | )))|((( | ||
45 | 0: Internal torque command. | ||
46 | |||
47 | 1: AI_1 analog input. | ||
48 | )))|((( | ||
49 | - | ||
50 | )))|((( | ||
51 | 0 | ||
52 | ))) | ||
53 | |||
54 | == **Digital setting** == | ||
55 | |||
56 | The source of the torque reference is an internal command, which is set through function code [P1-8]. **Relevant function codes:** | ||
57 | |||
58 | |=((( | ||
59 | **Code** | ||
60 | )))|=((( | ||
61 | **Parameter Name** | ||
62 | )))|=((( | ||
63 | **Property** | ||
64 | )))|=((( | ||
65 | **Effective** | ||
66 | |||
67 | **Time** | ||
68 | )))|=((( | ||
69 | **Range** | ||
70 | )))|=((( | ||
71 | **Function** | ||
72 | )))|=((( | ||
73 | **Unit** | ||
74 | )))|=((( | ||
75 | **Default** | ||
76 | ))) | ||
77 | |((( | ||
78 | P1-8 | ||
79 | )))|((( | ||
80 | Torque reference keyboard set value | ||
81 | )))|((( | ||
82 | During running | ||
83 | )))|((( | ||
84 | Immediate | ||
85 | )))|((( | ||
86 | -3000~~3000 | ||
87 | )))|((( | ||
88 | -300.0%~300.0% | ||
89 | )))|((( | ||
90 | 0.1% | ||
91 | )))|((( | ||
92 | 0 | ||
93 | ))) | ||
94 | |||
95 | == **Analog voltage setting** == | ||
96 | |||
97 | |=(% style="width: 61px;" %)((( | ||
98 | **Code** | ||
99 | )))|=(% style="width: 448px;" %)((( | ||
100 | **Function** | ||
101 | )))|=(% style="width: 136px;" %)((( | ||
102 | **Unit** | ||
103 | )))|=((( | ||
104 | **Format** | ||
105 | ))) | ||
106 | |(% style="width:61px" %)((( | ||
107 | U0-21 | ||
108 | )))|(% style="width:448px" %)((( | ||
109 | AI1 input voltage value | ||
110 | )))|(% style="width:136px" %)((( | ||
111 | V | ||
112 | )))|((( | ||
113 | decimal(3 decimal digits) | ||
114 | ))) | ||
115 | |(% style="width:61px" %)((( | ||
116 | U0-22 | ||
117 | )))|(% style="width:448px" %)((( | ||
118 | AI2 input voltage value | ||
119 | )))|(% style="width:136px" %)((( | ||
120 | V | ||
121 | )))|((( | ||
122 | decimal(3 decimal digits) | ||
123 | ))) | ||
124 | |||
125 | |=(% style="width: 60px;" %)((( | ||
126 | **Code** | ||
127 | )))|=(% style="width: 190px;" %)((( | ||
128 | **Parameter Name** | ||
129 | )))|=((( | ||
130 | **Property** | ||
131 | )))|=((( | ||
132 | **Effective** | ||
133 | |||
134 | **Time** | ||
135 | )))|=((( | ||
136 | **Range** | ||
137 | )))|=((( | ||
138 | **Function** | ||
139 | )))|=((( | ||
140 | **Unit** | ||
141 | )))|=((( | ||
142 | **Default** | ||
143 | ))) | ||
144 | |(% style="width:60px" %)((( | ||
145 | P5-1 | ||
146 | )))|(% style="width:190px" %)((( | ||
147 | AI_1 input bias | ||
148 | )))|((( | ||
149 | During running | ||
150 | )))|((( | ||
151 | Immediate | ||
152 | )))|((( | ||
153 | -5000~~5000 | ||
154 | )))|((( | ||
155 | Set AI_1 channel analog offset value | ||
156 | )))|((( | ||
157 | mv | ||
158 | )))|((( | ||
159 | 0 | ||
160 | ))) | ||
161 | |(% style="width:60px" %)((( | ||
162 | P5-2 | ||
163 | )))|(% style="width:190px" %)((( | ||
164 | AI_1 Input filter constant | ||
165 | )))|((( | ||
166 | During running | ||
167 | )))|((( | ||
168 | Immediate | ||
169 | )))|((( | ||
170 | 0~~65535 | ||
171 | )))|((( | ||
172 | AI_1 channel input first-order low-pass filtering time constant | ||
173 | )))|((( | ||
174 | ms | ||
175 | )))|((( | ||
176 | 200 | ||
177 | ))) | ||
178 | |(% style="width:60px" %)((( | ||
179 | P5-3 | ||
180 | )))|(% style="width:190px" %)((( | ||
181 | AI_1 dead zone | ||
182 | )))|((( | ||
183 | During running | ||
184 | )))|((( | ||
185 | Immediate | ||
186 | )))|((( | ||
187 | 0~~1000 | ||
188 | )))|((( | ||
189 | Set AI_1 channel analog dead zone value | ||
190 | )))|((( | ||
191 | mv | ||
192 | )))|((( | ||
193 | 20 | ||
194 | ))) | ||
195 | |(% style="width:60px" %)((( | ||
196 | P5-4 | ||
197 | )))|(% style="width:190px" %)((( | ||
198 | AI_1 zero drift | ||
199 | )))|((( | ||
200 | During running | ||
201 | )))|((( | ||
202 | Immediate | ||
203 | )))|((( | ||
204 | -500~~500 | ||
205 | )))|((( | ||
206 | Automatic calibration zero drift inside the driver. | ||
207 | )))|((( | ||
208 | mv | ||
209 | )))|((( | ||
210 | 0 | ||
211 | ))) | ||
212 | |(% style="width:60px" %)((( | ||
213 | P5-5 | ||
214 | )))|(% style="width:190px" %)((( | ||
215 | AI_2 input bias | ||
216 | )))|((( | ||
217 | During running | ||
218 | )))|((( | ||
219 | Immediate | ||
220 | )))|((( | ||
221 | -5000~~5000 | ||
222 | )))|((( | ||
223 | Set AI_2 channel analog offset value | ||
224 | )))|((( | ||
225 | mv | ||
226 | )))|((( | ||
227 | 0 | ||
228 | ))) | ||
229 | |(% style="width:60px" %)((( | ||
230 | P5-6 | ||
231 | )))|(% style="width:190px" %)((( | ||
232 | AI_2 Input filter constant | ||
233 | )))|((( | ||
234 | During running | ||
235 | )))|((( | ||
236 | Immediate | ||
237 | )))|((( | ||
238 | 0~~60000 | ||
239 | )))|((( | ||
240 | AI_2 channel input first-order low-pass filtering time constant | ||
241 | )))|((( | ||
242 | ms | ||
243 | )))|((( | ||
244 | 200 | ||
245 | ))) | ||
246 | |(% style="width:60px" %)((( | ||
247 | P5-7 | ||
248 | )))|(% style="width:190px" %)((( | ||
249 | AI_2 dead zone | ||
250 | )))|((( | ||
251 | During running | ||
252 | )))|((( | ||
253 | Immediate | ||
254 | )))|((( | ||
255 | 0~~1000 | ||
256 | )))|((( | ||
257 | Set AI_1 channel analog dead zone value | ||
258 | )))|((( | ||
259 | mv | ||
260 | )))|((( | ||
261 | 20 | ||
262 | ))) | ||
263 | |(% style="width:60px" %)((( | ||
264 | P5-8 | ||
265 | )))|(% style="width:190px" %)((( | ||
266 | AI_2 zero drift | ||
267 | )))|((( | ||
268 | During running | ||
269 | )))|((( | ||
270 | Immediate | ||
271 | )))|((( | ||
272 | -500~~500 | ||
273 | )))|((( | ||
274 | Automatic calibration zero drift value inside the driver | ||
275 | )))|((( | ||
276 | mv | ||
277 | )))|((( | ||
278 | 0 | ||
279 | ))) | ||
280 | |(% style="width:60px" %)((( | ||
281 | P5-9 | ||
282 | )))|(% style="width:190px" %)((( | ||
283 | Analog 10V for speed value | ||
284 | )))|((( | ||
285 | At stop | ||
286 | )))|((( | ||
287 | Immediate | ||
288 | )))|((( | ||
289 | 1000~~4500 | ||
290 | )))|((( | ||
291 | Set the speed value corresponding to analog 10V | ||
292 | )))|((( | ||
293 | rpm | ||
294 | )))|((( | ||
295 | 3000 | ||
296 | ))) | ||
297 | |(% style="width:60px" %)((( | ||
298 | P5-10 | ||
299 | )))|(% style="width:190px" %)((( | ||
300 | Analog 10V for torque value | ||
301 | )))|((( | ||
302 | At stop | ||
303 | )))|((( | ||
304 | Immediate | ||
305 | )))|((( | ||
306 | 0~~3000 | ||
307 | )))|((( | ||
308 | Set the torque value corresponding to analog 10V | ||
309 | )))|((( | ||
310 | 0.1% | ||
311 | )))|((( | ||
312 | 1000 | ||
313 | ))) | ||
314 | |||
315 | |=((( | ||
316 | **Code** | ||
317 | )))|=((( | ||
318 | **Parameter Name** | ||
319 | )))|=((( | ||
320 | **Property** | ||
321 | )))|=((( | ||
322 | **Effective** | ||
323 | |||
324 | **Time** | ||
325 | )))|=((( | ||
326 | **Range** | ||
327 | )))|=((( | ||
328 | **Function** | ||
329 | )))|=((( | ||
330 | **Unit** | ||
331 | )))|=((( | ||
332 | **Default** | ||
333 | ))) | ||
334 | |((( | ||
335 | P4-4 | ||
336 | )))|((( | ||
337 | Torque filter time constant | ||
338 | )))|((( | ||
339 | During running | ||
340 | )))|((( | ||
341 | Immediate | ||
342 | )))|((( | ||
343 | 10~~2500 | ||
344 | )))|((( | ||
345 | When [Auto-tuning mode] is set as 1, or 2, this parameter is set automatically | ||
346 | )))|((( | ||
347 | 0.01 | ||
348 | )))|((( | ||
349 | 0.5 | ||
350 | ))) | ||
351 | |||
352 | Take the analog voltage signal outputs by the host controller or other equipment as a speed reference. | ||
353 | |||
354 | **Operation flowchart of setting torque reference by analog voltage:** | ||
355 | |||
356 | [[image:6.3 Torque Control Mode_html_ef2192af77e6a43.jpg||height="840" width="208"]] | ||
357 | |||
358 | flowchart of setting torque reference by analog voltage | ||
359 | |||
360 | |||
361 | **Zero drift:** value of the servo drive sampling voltage relative to GND when the input voltage of the analog channel is zero | ||
362 | |||
363 | **Offset:** input voltage value of the analog channel when the sampling voltage is zero after zero drift correction | ||
364 | |||
365 | **Dead zone:** input voltage range of the analog channel when the sampling voltage is zero | ||
366 | |||
367 | [[image:6.3 Torque Control Mode_html_36f93e692c0b4cfe.jpg||height="280" width="456"]] | ||
368 | |||
369 | Analog signal waveform after-offset | ||
370 | |||
371 | After completing the correct settings, user could view the input voltage values of AI_1 and AI_2 through [U0-21] and [U0-22] | ||
372 | |||
373 | **Relevant function codes:** | ||
374 | |||
375 | = **Torque Reference Filter** = | ||
376 | |||
377 | In the torque mode, the servo drive could realize low-pass filtering of the torque command, which reduces the vibration of the servo motor. | ||
378 | |||
379 | **Relevant function codes:** | ||
380 | |||
381 | [[image:6.3 Torque Control Mode_html_7d09455d975ba974.jpg||height="180" width="458"]] | ||
382 | |||
383 | Diagram of torque reference first-order filter | ||
384 | |||
385 | If the setting value of the filter time constant is too large, the responsiveness would be reduced. Please set it while confirming the responsiveness. | ||
386 | |||
387 | = **Torque Reference Limit** = | ||
388 | |||
389 | When the absolute value of the torque reference input from the host controller or output by the speed regulator is larger than the absolute value of the torque reference limit, the actual torque reference of the servo drive is restricted to the torque reference limit. Otherwise, the torque reference input from the host controller or output by the speed regulator is used. | ||
390 | |||
391 | Only one torque reference limit is valid at a moment. Both positive and negative torque limits does not exceed the maximum torques of the servo drive and motor and ±300.0% of the rated torque. | ||
392 | |||
393 | [[image:6.3 Torque Control Mode_html_13fea7aee44e606e.jpg||height="283" width="554"]] | ||
394 | |||
395 | Torque setting and limit | ||
396 | |||
397 | == Torque Limit Source == | ||
398 | |||
399 | |=((( | ||
400 | **Code** | ||
401 | )))|=((( | ||
402 | **Parameter Name** | ||
403 | )))|=((( | ||
404 | **Property** | ||
405 | )))|=((( | ||
406 | **Effective** | ||
407 | |||
408 | **Time** | ||
409 | )))|=((( | ||
410 | **Range** | ||
411 | )))|=((( | ||
412 | **Function** | ||
413 | )))|=((( | ||
414 | **Unit** | ||
415 | )))|=((( | ||
416 | **Default** | ||
417 | ))) | ||
418 | |((( | ||
419 | P1-14 | ||
420 | )))|((( | ||
421 | Torque limit source | ||
422 | )))|((( | ||
423 | At stop | ||
424 | )))|((( | ||
425 | Immediate | ||
426 | )))|((( | ||
427 | 0~~1 | ||
428 | )))|((( | ||
429 | 0: Internal value | ||
430 | |||
431 | 1: AI_2 analog input | ||
432 | )))|((( | ||
433 | - | ||
434 | )))|((( | ||
435 | 0 | ||
436 | ))) | ||
437 | |||
438 | The torque limit source is set in[P1-14]. After the torque limit is set, the servo drive torque reference is restricted to be within the torque limit. After the torque reference reaches the limit, the motor runs according to the torque limit. The torque limit must be set according to the load conditions. If the setting is very small, it may cause longer acceleration/decelleration time of the motor, and the actual motor speed may not reach the required value at constant speed running. | ||
439 | |||
440 | **Relevant code:** | ||
441 | |||
442 | When [P1-14]= 0: internal torque limit | ||
443 | |||
444 | The torque reference limit value is determined by the internal function codes [P1-15] and [P1-16] | ||
445 | |||
446 | **Relevant code:** | ||
447 | |||
448 | |=(% style="width:62px" %)((( | ||
449 | **Code** | ||
450 | )))|=(% style="width:180px" %)((( | ||
451 | **Parameter Name** | ||
452 | )))|=(% style="width:69px" %)((( | ||
453 | **Property** | ||
454 | )))|=(% style="width:106px" %)((( | ||
455 | **Effective** | ||
456 | |||
457 | **Time** | ||
458 | )))|=((( | ||
459 | **Range** | ||
460 | )))|=(% style="width:467px" %)((( | ||
461 | **Function** | ||
462 | )))|=(% style="width:53px" %)((( | ||
463 | **Unit** | ||
464 | )))|=(% style="width:57px" %)((( | ||
465 | **Default** | ||
466 | ))) | ||
467 | |(% style="width:62px" %)((( | ||
468 | P1-15 | ||
469 | )))|(% style="width:180px" %)((( | ||
470 | Forward rotation torque limit | ||
471 | )))|(% style="width:69px" %)((( | ||
472 | during | ||
473 | )))|(% style="width:106px" %)((( | ||
474 | Immediate | ||
475 | )))|((( | ||
476 | 0~~3000 | ||
477 | )))|(% style="width:467px" %)((( | ||
478 | When [P1-14] selects internal torque limit, this function code value is used as the forward torque limit value | ||
479 | )))|(% style="width:53px" %)((( | ||
480 | 0.1% | ||
481 | )))|(% style="width:57px" %)((( | ||
482 | 3000 | ||
483 | ))) | ||
484 | |(% style="width:62px" %)((( | ||
485 | P1-16 | ||
486 | )))|(% style="width:180px" %)((( | ||
487 | Reverse torque limit | ||
488 | )))|(% style="width:69px" %)((( | ||
489 | during | ||
490 | )))|(% style="width:106px" %)((( | ||
491 | Immediate | ||
492 | )))|((( | ||
493 | 0~~3000 | ||
494 | )))|(% style="width:467px" %)((( | ||
495 | When [P1-14] selects internal torque limit, this function code value is used as the reverse torque limit value | ||
496 | )))|(% style="width:53px" %)((( | ||
497 | 0.1% | ||
498 | )))|(% style="width:57px" %)((( | ||
499 | 3000 | ||
500 | ))) | ||
501 | |||
502 | == Torque Limit DO Signal == | ||
503 | |||
504 | When the torque reference reaches the torque limit value, the driver outputs a torque limit signal (138-T-LIMIT torque limit) to the host controller and determines the DO terminal logic. | ||
505 | |||
506 | **Relevant code:** | ||
507 | |||
508 | |||
509 | |=**Code**|=**Parameter Name**|=**Property**|=((( | ||
510 | **Effective** | ||
511 | |||
512 | **Time** | ||
513 | )))|=**Range**|=**Function**|=**Unit**|=**Default** | ||
514 | |P6-26|DO_1 function selection |During running|Power on again|128~~142|138-T-LIMIT torque limit|-|138 | ||
515 | |||
516 | = **Torque related DO output function** = | ||
517 | |||
518 | The feedback value of the torque reference is compared with different thresholds, and the DO signal could be output to the host controller to use. Assign the DO terminals of the servo drive to different functions and set the valid logic. | ||
519 | |||
520 | Torch reach signal | ||
521 | |||
522 | [[image:6.3 Torque Control Mode_html_9354fe306cbd5794.jpg||height="404" width="586"]] | ||
523 | |||
524 | Torch reach signal waveform | ||
525 | |||
526 | **Relevant function code:** | ||
527 | |||
528 | |=(% style="width:63px" %)((( | ||
529 | **Code** | ||
530 | )))|=(% style="width:115px" %)((( | ||
531 | **Parameter Name** | ||
532 | )))|=((( | ||
533 | **Property** | ||
534 | )))|=((( | ||
535 | **Effective** | ||
536 | |||
537 | **Time** | ||
538 | )))|=((( | ||
539 | **Range** | ||
540 | )))|=((( | ||
541 | **Function** | ||
542 | )))|=((( | ||
543 | **Unit** | ||
544 | )))|=((( | ||
545 | **Default** | ||
546 | ))) | ||
547 | |(% style="width:63px" %)((( | ||
548 | P5-20 | ||
549 | )))|(% style="width:115px" %)((( | ||
550 | Torque reached threshold | ||
551 | )))|((( | ||
552 | During running | ||
553 | )))|((( | ||
554 | Immediate | ||
555 | )))|((( | ||
556 | 0~~300 | ||
557 | )))|((( | ||
558 | The torque reached threshold needs to be used in conjunction with [torque reached hysteresis value]: | ||
559 | |||
560 | When the actual torque reaches [torque reached threshold] + [torque reaches hysteresis], the torque reached DO becomes effective. | ||
561 | |||
562 | When the actual torque decreases below [Torque reached threshold] + [Torque reached hysteresis], the torque reached DO becomes invalid. | ||
563 | )))|((( | ||
564 | % | ||
565 | )))|((( | ||
566 | 100 | ||
567 | ))) | ||
568 | |(% style="width:63px" %)((( | ||
569 | P5-21 | ||
570 | )))|(% style="width:115px" %)((( | ||
571 | Torque reached hysteresis | ||
572 | )))|((( | ||
573 | During running | ||
574 | )))|((( | ||
575 | Immediate | ||
576 | )))|((( | ||
577 | 10~~20 | ||
578 | )))|((( | ||
579 | [Torque reached hysteresis value] Need to be used together with [Torque reached threshold] | ||
580 | )))|((( | ||
581 | % | ||
582 | )))|((( | ||
583 | 10 | ||
584 | ))) | ||
585 | |(% style="width:63px" %)((( | ||
586 | P6-26 | ||
587 | )))|(% style="width:115px" %)((( | ||
588 | DO_1 function selection | ||
589 | )))|((( | ||
590 | During running | ||
591 | )))|((( | ||
592 | Immediate | ||
593 | )))|((( | ||
594 | 128~~142 | ||
595 | )))|((( | ||
596 | 138-T-COIN Torch reach | ||
597 | )))|((( | ||
598 | - | ||
599 | )))|((( | ||
600 | 138 | ||
601 | ))) | ||
602 | |||
603 |