1. VRef(Voltage Reference) 란 무엇인가??
한글로는 기준 전압으로 표기됩니다. 그리고 motor driver에서 용도는 VRef를 조정하여 모터 드라이버에서 모터로 공급될 수 있는 전류의 한계치(current limit) 를 조정합니다.
VRef의 조절 방법은 Motor driver의 Voltage on Vref pin 통해서 조절 가능합니다.
* 용어 단위
- VRef의 단위 : V (Voltage)
- 전류(Current)의 단위 : A (ampere) , (1A = 1000mA)
2. VRef를 왜 조정해야 하는가?
motor에서 허용하는 전류 이상을 공급하게 되면 모터는 망가지고 발열이 발생하기 때문에 조절이 필요합니다.
3. VRef를 조정하기 위해 알아야 할 정보
1) Motor Spec
- motor에 허용 가능한 전류의 기준으로 Vref를 설정하기 때문에 Vref계산을 위해 필요한 Motor의
Rated Current(동영상에서는 MAX CURRENT로 표시됨)을 알아야 합니다.
2) motor driver spec
- motor driver에 지원하는 Vref 공식을 구하기 위해서 알아야 합니다.
4. motor spec
1) 제조사
- HANPOSE
2) 모델명
- 17HS4401
3) Step Angle (step 당 회전 각도)
- 1.8 deg
4) Rated Current(정격 전류)
- 1.7 A
- Rated Current는 참조 4 ~ 6번 동영상에서 MAX CURRENT로 표시됩니다.
5. motor driver spec
1) motor driver
- fysetc사의 TMC2209
- https://wiki.fysetc.com/Silent2209/
2) Phase Current max(RMS(ROOT MEAN SQUARE)) (직역 : 최대 위상 전류)
- 2A(RMS)
3) Rsense
- 110 mOhm
6. Motor의 최대 허용 전류 구하기
1) 공식
- 최대 허용 전류 = 정격전류 / 0.7
Ex) 17HS4401의 최대 허용 전류
- 17HS4401의 정격 전류(Rated Current) 1.7 A
- 최대 허용 전류 = 1.7 / 0.7 = 2.4A (소수 둘째 첫째 짜기 까만 표시)
- TMC2209에서 Peak 가 2.8A까지 커버됨으로 사용 가능할 것으로 예상됨.
7. Motor dirver의 VRef 값 구하기
1) 원리
TMC 2209의 경우 RMS(ROOT MEAN SQUARE) Current를 이용하여 VRef를 구합니다.
2) VRef 구하기
(1단계) RMS Current 구하기
A. 17HS4401 motor
- 공식 : RMS Current = (Motor의 Rated Current) / 1.41
Ex) RMS Current = 1.7 / 1.41 = 1.205
(2단계) verf 구하기
A. TMC2209
- 공식 : VRef = (RMS current * 2.5) / 1.77 (출처 : https://wiki.fysetc.com/Silent2209/)
Ex) VRef = (1.205 * 2.5) / 1.77 = 1.701
(3단계) 안전한 verf 구하기
A. TMC2209
- VRef의 90%로만 사용하게 수정
Ex) 안전한 VRef = 1.701 * 0.9 = 1.530
3) Current limt 구하기
- TMC 2209 Peak 2.8A (출처 : https://wiki.fysetc.com/Silent2209/)
8. Motor dirver의 VRef 값 설정 하기
1) Configuration_adv.h 설정
- X_CURRENT를 7번에서 구한 안전한 VRef(1.530) 값으로 설정해 줍니다
#if HAS_TRINAMIC
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X)
#define X_CURRENT 1.530 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_MICROSTEPS 16 // 0..256
#define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif
2) motor dirver의 Vref를 돌려서 X_CURRENT와 동일하게 조정해 줍니다.
* 참조 *
1. https://cafe.naver.com/makerfac/66481
2. https://cafe.naver.com/makerfac/27637
3. https://cafe.naver.com/makerfac/79980
4. https://www.youtube.com/watch?v=7VHwcEroHPk (part1)
5. https://www.youtube.com/watch?v=H41hIXdB6js&t=3s (part2)
6. https://www.youtube.com/watch?v=7VHwcEroHPk (Part3) (TMC Vref 공식)
7. https://wiki.fysetc.com/Silent2209/ (TMC2209 WIKI)
'3D Printer > 기초 설명' 카테고리의 다른 글
[3D printer]- firmware 설정 각종 문제 해결 (0) | 2019.10.24 |
---|---|
[3D printer] - (STEPPER/스테퍼) stepper motor란? (0) | 2019.09.01 |