Getting Started
Why do we have to use the VESC?
The VESC is a motor controller developed by Benjamin Vedderb from Sweden in 2015. Basically, it was developed for DIY of electric skateboards, but it is armed with too many powerful functions to be limited to electric skateboards. The VESC motor controller is sufficient for general purpose motor control in electric bicycles, electric scooters, robots, as well as electric skateboards.
Excellent control of DC motors, BLDC motors, etc., and in particular, field-orientated control (FOC) controls of BLDC motors enable smooth and sophisticated BLDC motor control. One of the main advantages of VESC is the VESC-Tool. The VESC-Tool provides a perfect environment for setting, controlling and testing motors in a colorful and convenient GUI environment. In particular, VESC's Motor Configuration supports a wide spectrum of BLDC motors, ranging from small BLDC motors to large BLDC motors.
VESC was developed as an open source, and the SW code of both Firmware and VESC-Tool in the motor controller is released, allowing you to learn programming. VESC Firmware is developed in C language and VESC-Tool is developed in C++ language and QT. So when you're dealing with VESC, you can naturally become familiar with C and C++.
In addition, the VESC ROS Driver, which works with ROS(Robot Operating System), is developed to control VESC through ROS. This is very helpful in developing robots. VESC can also be controlled using Python. This makes VESC the perfect platform for experiencing and studying all the techniques used in modern robotic technologies such as C, C++, Python, and ROS.
There is a saying that coding is learned through plagiarism. Plagiarism is strictly prohibited in most academic fields, but it is encouraged in coding, and this is open source. Benjamin's coding skills are among the best in the world, and when he deals with VESC, he can study programming on his own through high-level programming.
VESCλ μ€μ¨λ΄ μ¬λμΈ Benjamin Vedderbμ μν΄ 2015λ μ κ°λ°λ λͺ¨ν°μ μ΄κΈ°μ λλ€.
κΈ°λ³Έμ μΌλ‘ μ λμ€μΌμ΄νΈ 보λμ DIYλ₯Ό λͺ©μ μΌλ‘ κ°λ°λμλλ°, κΈ°λ₯μ μΌλ‘ μ λμ€μΌμ΄νΈ 보λμλ§ νμ νκΈ°μλ λ무λλ λ€μνκ³ νμνν κΈ°λ₯λ€λ‘ 무μ₯μ΄ λμ΄μμ΅λλ€.
VESC λͺ¨ν°μ μ΄κΈ°λ μ λμ€μΌμ΄νΈ 보λ λΏλ§ μλλΌ μ κΈ° μμ κ±°, μ κΈ° μ€μΏ ν°, λ‘λ΄ λ±μμλ λ²μ©μ μΈ λͺ¨ν°μ μ΄λ₯Ό λͺ©μ μΌλ‘ μ¬μ©λκΈ°μ μΆ©λΆν©λλ€. DC λͺ¨ν°, BLDC λͺ¨ν°λ±μ μ μ΄μ νμν μ±λ₯μ 보μ΄λ©° νΉν BLDC λͺ¨ν°μ FOC(Field-Oriented Control)μ μ΄λ₯Ό ν΅ν΄ λΆλλ½κ³ μ κ΅ν BLDC λͺ¨ν°μ μ΄κ° κ°λ₯ν©λλ€.
VESCμ μ£Όμν μ₯μ μ€μ νλλ VESC-Toolμ λ€ μ μμ΅λλ€. VESC-Toolμ νλ €νκ³ νΈλ¦¬ν GUIνκ²½μμ λͺ¨ν°λ₯Ό μΈν νκ³ μ μ΄νκ³ ν μ€νΈνλλ° μλ²½ν νκ²½μ μ 곡ν©λλ€.
νΉν VESCμ Motor Configuration (μλ λͺ¨ν° νκ²½μ€μ )μ μν BLDC λͺ¨ν°μμλΆν° λν BLDC λͺ¨ν°κΉμ§ λμ μ€ννΈλΌμ BLDC λͺ¨ν°λ₯Ό μ§μν©λλ€.
VESCλ μ€νμμ€λ‘ κ°λ°λμ΄ λͺ¨ν°μ μ΄κΈ°μ Firmware λ° VESC-Toolμ SW μ½λκ° λͺ¨λ 곡κ°λμ΄ μμ΄ μ΄λ₯Ό ν΅ν΄ νλ‘κ·Έλλ°μ λ°°μΈ μκ° μμ΅λλ€. VESC Firmwareλ CμΈμ΄λ‘ κ°λ°λμκ³ VESC-Toolμ C++μΈμ΄ λ° QTλ‘ κ°λ°λμ΄ μμ΅λλ€. κ·Έλμ VESCλ₯Ό λ€λ£¨λ€λ³΄λ©΄ μμ°μ€λ CμΈμ΄μ C++μΈμ΄μ λν΄ μΉμν΄μ§ μ μμ΅λλ€.
λΏλ§μλλΌ ROSμ μ°λλλ VESC ROS Driverκ° κ°λ°λμ΄μμ΄, ROSλ₯Ό ν΅ν΄ VESCλ₯Ό μ μ΄ν μ μμ΅λλ€. μ΄λ λ‘λ΄ κ°λ°μ ν¨μ μμ΄ ν° λμμ΄ λ©λλ€.
VESCλ Pythonμ μ΄μ©ν΄μλ μ μ΄ν μ μμ΅λλ€. μ΄λ‘μ¨ VESCλ C, C++, Python, ROSλ±μ μ΅μ λ‘λ΄ κΈ°μ μμ μ¬μ©νλ λͺ¨λ ν ν¬λμ κ²½ννκ³ κ³΅λΆνκΈ°μ μ΅μ μ νλ«νΌμ λλ€.
μ½λ©μ νμ μ ν΅ν΄ λ°°μ΄λ€λΌλ λ§μ΄ μμ΅λλ€. λλΆλΆ νμ λΆμΌμ νμ μ μ격ν κΈμ§λλ νμμ΄μ§λ§ μ½λ©μ μμ΄μλ μ΄λ₯Ό μ₯λ €νλ©° μ΄λ¬ν κ²μ΄ μ€νμμ€ μ λλ€. Benjaminμ μ½λ© μ€λ ₯μ κ³Όν μΈκ³μ΅κ³ μμ€μΌλ‘ VESCλ₯Ό λ€λ£¨λ€λ³΄λ©΄ λμ μμ€μ νλ‘κ·Έλλ°μ ν΅ν΄ νλ‘κ·Έλλ° κ³΅λΆλ₯Ό μ μ λ‘ ν μ μκ² λ©λλ€.
1. Unboxing
The box contains the product and the basic gift connector.
The product is stacked with fillers for shock protection, and the sensor measuring the temperature of the motor protrudes, so be careful not to bend or fold.
If the temperature sensor is de-soldered and extended using wires, the motor temperature at the desired location can be measured more accurately.
The gift connectors are the Amass 2 Pin and 3 Pin connectors, which are used for power connections and motor connections. It is recommended to connect and use wires according to one's situation, and to use wires of class 18 AWG.
λ°μ€μμλ μ νκ³Ό κΈ°λ³Έ μ 곡 컀λ₯ν°κ° λ€μ΄μμ΅λλ€. μ νμ 좩격보νΈλ₯Ό μν΄μ μΆ©μ§μ λ‘ μμ¬μ Έ μκ³ μ΄λ λͺ¨ν°μ μ¨λλ₯Ό μΈ‘μ νλ μ¨λμΌμμ μ μ, λͺ¨ν°μΈ‘ 컀λ₯ν°λ κΈ°λ³Έμ μΌλ‘ 미쑰립μνλ‘ λλ΄λμ΄ λ³΄λ΄λ립λλ€.
μ¨λμΌμλ νμμ λ°λΌ soldering νμ¬ μ¬μ©νλ©° μ μ μ μ΄μ©νμ¬ μ°μ₯νλ©΄ μνλ μμΉμ λͺ¨ν° μ¨λλ₯Ό λ³΄λ€ μ ννκ² μΈ‘μ ν μ μμ κ²μ λλ€. μ¨λμΌμμλ κ·Ήμ±μ ꡬλΆμ μμ΅λλ€.
κΈ°λ³Έ μ 곡λλ 컀λ₯ν°λ Amass 2 Pin, 3 Pin 컀λ₯ν°λ‘ μ μμ°κ²°κ³Ό λͺ¨ν°μ°κ²°μ μν΄ μ¬μ©λ©λλ€. λ³ΈμΈμ μν©μ λ§κ² μ μ μ μ°κ²°νμ¬ μ¬μ©νλ©° μ΄λ 18 AWGκΈμ μ μ μ μ¬μ©νκΈ°λ₯Ό μΆμ²ν©λλ€.
2. Requirement
VESCularλ₯Ό μλμν€κΈ° μν΄μλ 6~60Vμ μ μμ΄ νμνλ©° μ΅μ΄ ν μ€νΈ μμλ 10AκΈμ μ λ₯μ μ΄κ° κ°λ₯ν νμμνλΌμ΄λ₯Ό μΆμ²νλ€. μ΄λμ λ μμ μ±μ΄ μ μ¦λ νκ²½μμλ 리ν¬μ΄μ¨ λ² ν°λ¦¬λ₯Ό μ¬μ©νκΈΈ κΆμ₯νλ©° μ΄λ μ μμ μ¬μ©νλ λͺ¨ν°μ μ 격 μ μμ λ§κ² μ μ νλ©΄ λλ€.
PCμμ μ°κ²°μ μν΄μλ USB-C μΌμ΄λΈμ΄ νμνλ©° Ugreenμ¬μ USB-C 2.0 (or 3.0) μΌμ΄λΈμ μΆμ²νλ€. VESCλ κΈ°λ³Έμ μΌλ‘ USB 2.0 μλλ‘ λμνμ¬ USB 3.0 μΌμ΄λΈκΉμ§λ νμμμΌλ μ΅κ·Ό λ§μ΄ μ¬μ©λλ USB-C νμ μ 컀λ₯ν°λ₯Ό μ¬μ©νμ¬ νΈνμ±μ λμλ€. λ€λ§, μ£Όμν΄μΌν μ μ μΌμ΄λΈλ§λ€ μ°κ²° μμ μ±μ μ°¨μ΄κ° μμΌλ©° μ§λμ΄λ μΌμ΄λΈμ νλ€λ¦Όμ΄ λ§μ΄ λ°μνλ νκ²½μμλ μΌμ΄λΈ μ μ μ λ§€μ° μ£Όμλ₯Ό ν΄μΌνλ€. λ³Έμ¬μμ ν μ€νΈ κ²°κ³Ό, μμμ μΈκΈν Ugreen μ¬μ usb-c μΌμ΄λΈμ΄ μ°κ²° μμ μ±μ΄ λ§€μ° μ°μνμ¬ μ΄λ₯Ό κ°λ ₯ν μΆμ²νλ λ°μ΄λ€.
VESCλ₯Ό λ€μ ꡬμ ν κ²½μ°, CAN μΌμ΄λΈμ ν΅ν΄ ν΅μ μ΄ κ°λ₯νλ©° μ΄λ, μμμ μ΄κΈ°μμλ νλμ VESCμλ§ USB-C μΌμ΄λΈμ μ°κ²°νμ¬ λͺ λ Ήμ μ μ‘νλ©΄ λλ€. CAN μΌμ΄λΈμ κ²½μ°, λ°λ‘ μ΅μ μμ ꡬ맀ν΄μΌνλ©° JST-GH 2pin 컀λ₯ν°λ₯Ό μ΄μ©νλ€. CAN ν΅μ μ μ¬μ©νλ μΌμ΄λΈμ 2κ°μ λΌμΈμ΄ κΌ¬μ¬μλ twisted μΌμ΄λΈμ μ¬μ©ν΄μΌνλ©° 26~28AWG μΌμ΄λΈμ μΆμ²νλ λ°μ΄λ€.
λͺ¨ν°μ κ²½μ°, BLDC(Brushless Direct Current)μ DC(Direct Current)λͺ¨ν°μ μ μ΄ν μ μμΌλ©° Stepping λͺ¨ν°λ μ μ΄μ λμμ΄ μλλ€. BLDC λͺ¨ν°λ λλ‘ λͺ¨ν°μ κ°μ΄ λ©μ§νκ³ μ§λ¦μ΄ ν° νμ μ΄λ κ³ νμ μ΄ κ°λ₯ν μ§λ¦μ΄ μκ³ κΈ°λ€λ νμ μ λͺ¨ν° λͺ¨λ μ μ΄κ°λ₯νλ€. DC λͺ¨ν°μ κ²½μ°, νμ©νλ μ λ₯μ μ΄ λ²μλ΄μμ λͺ¨λ μ’ λ₯μ DC λͺ¨ν° μ μ΄κ° κ°λ₯νλ€. λ¨, μμ½λμ μ νμ λ°λ₯Έ μ μ΄μ κ°λ₯ μ’ λ₯κ° μ°¨μ΄κ° μλ€. μλ νλ₯Ό 보면 BLDC, DC λͺ¨ν°μ Encoder νμ μ λ°λ₯Έ μ κ°λ₯ λͺ¨λλ₯Ό μ 리νμλ€. BLDC λͺ¨ν°μ κ²½μ°, κΈ°λ³Έμ μΌλ‘ Hall μΌμμ μ 무μ λ°λΌ Hall sensorκ° μλ BLDC λͺ¨ν°μ κ²½μ°λ₯Ό Sensorless νμ , Hall sensorκ° μλ κ²½μ°λ₯Ό Sensored νμ μΌλ‘ λΆλ₯Έλ€. μ΄ λΆλΆμ λν΄μλ Wiring λΆλΆμμ λ μμΈνκ² μ€λͺ νκ² λ€.
BLDC Motor
Sensorless
Hall
AB
ABI
Hall + AB
Hall + ABI
Magnetic
Duty Control
β
β
β
β
β
β
β
Current Control
β
β
β
β
β
β
β
Current Brake
β
β
β
β
β
β
RPM Control
β
β
β
β
β
β
Position Control
β*
β*
β
β* : μ μμΈκ° Indexμ΄ μ°Ύμμ§ μ΄νμλ§ μ μμλ
DC Motor
No Encoder
AB Encoder
ABI Encoder
Magnetic Encoder
Duty Control
β
Current Control
β
Current Brake
RPM Control
Position Control
μμ½λλ κΈ°λ³Έμ μΌλ‘ Magnetic Encoderλ₯Ό μΆμ²νμ¬ VESCμμ κΈ°λ³Έμ μΌλ‘ μ§μνλ AMSμ¬μ AS5047p λ§κ·Έλ€ν± μμ½λλ₯Ό μ¬μ©νκΈ° μΆμ²νλ€. VESCularμ κ²½μ°, AS5047p μμ½λλ₯Ό 보λ μ€μμ λ΄μ₯νκ³ μμ΄ μ΄λ₯Ό κ·Έλλ‘ μ¬μ©νκΈ°λ₯Ό μΆμ²νλ©°, λ§κ·Έλ€ν± μμ½λμ μ¬μ©νλ μμμ μν λ°©ν₯μ΄ μ§λ¦λ°©ν₯μΈ μμμ λ°λμ μ¬μ©ν΄μΌνλ€. κΈ°λ³Έμ μΌλ‘ μμ€μ ν리λ λ€μ€λμ μμμ κ²½μ°, μ§λ¦λ°©ν₯(νΉμ μ§κ²½λ°©ν₯)μ΄ μλ λκ»λ°©ν₯(νΉμ μΆλ°©ν₯)μΌλ‘ μνλ κ²½μ°κ° λ§μ μ΄λ₯Ό μ£Όμν΄μΌνλ€. AS5047p datasheetμλ μμμ κ²½μ°, N35H Gradeμ μ§λ¦ 8mm, λκ» 3mmμ λ€μ€λμ μμμ κΆμ₯νλ€.


λ§κ·Έλ€ν± μμ½λλ₯Ό μΆμ²νλ λ νλμ΄μ λ μ λμμΉ μΈ‘μ μ΄ κ°λ₯νκΈ° λλ¬Έμ΄λ€. ABI μμ½λμ κ²½μ°, μ μμ κ»λ€κ° ν€λ©΄ Iμ(Indexμ νΉμ ZμμΌλ‘ λΆλ¦¬κΈ°λν¨)μ΄ μΈ‘μ λ μ΄νμμΌ λͺ¨μ μ λμμΉλ₯Ό μμλΌ μ μλ€. νμ§λ§, magnetic μμ½λλ νλ² μΈν μ΄ λλλ©΄ μ μμ λ€μ κ»λ€κ° μΌλ λ°λ‘ μ λμμΉ μΈ‘μ μ΄ λλ€. μ΄λ μμΉμ μ΄μ μμ΄μ ν° μ₯μ μ΄λ€. λ¬Όλ‘ , ABI νμ μ κ΄νμ μμ½λκ° Noise μΈ‘λ©΄μμ ν¨μ¬ μμ μ μ΄λ©° λ³΄λ€ κΉλν μ μ΄κ° κ°λ₯νλλ‘ νλ€. Magnetic μμ½λλ μ½κ°μ Noiseκ° μ‘΄μ¬νμ¬ μλ μ€μ λͺ¨ν° μμΉ μΈ‘μ μ¬μ§μ λΉκ΅νλ©΄ κ·Έ μ°¨μ΄λ₯Ό μ μ μλ€.
<μμ½λ μμΉ μΈ‘μ μ¬μ§>
λ§κ·Έλ€ν± μμ½λμ κ²½μ°, λ―ΈμΈν κ°λκ° κ³μμ μΌλ‘ νλ€λ¦¬λ κ²μ μ μ μμΌλ©° μ΄λ μμμ μλ ₯μ μΈ‘μ νμ¬ μμΉλ₯Ό μ»λ λ°©μμμ λ Έμ΄μ¦κ° λ°μνλ κ²μΌλ‘ AS5047pμ datasheetμ λμμλ μΈ‘μ Noiseμ μ΅λκ°μ 0.068deg μ΄λ€. μμ Noiseκ° λ°μνμ§ μλ κ΄νμ μμ½λμ λΉνλ©΄ λμ μμΉμ΄κΈ΄ νμ§λ§ λͺ¨ν°μ 50:1μ κ°μκΈ°λ₯Ό μ₯μ°©νμλ€κ³ κ°μ νμμ λ, κ°μκΈ° μΆλ ₯λ¨μμ λ§κ·Έλ€ν± μμ½λμ μΈ‘μ μ€μ°¨μ μν΄ λ°μν μ μλ κ°λ μλ¬λ 0.068/50 = 0.00136 deg = 4.896 arcsec (1arcsec = 1/3600deg) μ΄λ€. μ΄λ μ λ°κΈ°κ³μμλ ν° κ°μ΄λ μΌλ°μ μΈ κ΅μ‘μ© λ¨Έλν°λ μ΄ν°μμλ μμ κ°μΌλ‘ μΆ©λΆν μ¬μ©ν΄ λ³Όλ§ ν μμΉμ΄λ€.
κ΄νμ μμ½λμμλ μμ§μμ΄ μμ κ²½μ°, μμ½λμ μΈ‘μ κ° λν λ―Έλμ΄ μμ΄ λ Έμ΄μ¦κ° κ±°μ μ‘΄μ¬νμ§ μλ λ€λ κ²μ μ μ μλ€. νμ§λ§, λ§κ·Έλ€ν± μμ½λμ κ²½μ°, λ―ΈμΈν λ Έμ΄μ¦κ° μ‘΄μ¬νμ¬ μ΄λ νμ€νκ² λ¨μ μΌλ‘ μ§μ λ μ μλ€. κ·ΈλΌμλ λΆκ΅¬νκ³ λ§κ·Έλ€ν± μμ½λλ₯Ό μΆμ²νλ μ΄μ λ μ μμ μΌ°μλ λ°λ‘ μ λμμΉκ° μΈ‘μ λ λ€λ κ²μ κ·Έλ§νΌ ν° μ₯μ μ΄ μκΈ° λλ¬Έμ΄λ€. λ¬Όλ‘ , μ¬μ©νκ²½κ³Ό 쑰건μ λ°λΌ κ΄νμ μμ½λλ₯Ό μ¬μ©ν΄λ 무방νλ€λ©΄ μ¬μ©μ λ§λ¦΄ μ΄μ λ μμ κ²μ΄λ€.
3. Wiring
μ μμ μ°κ²°μ +, - κ·Ήμ±μ νΉν μ μν΄μΌνλ€. νμμνλΌμ΄λ₯Ό μ΄μ©νλ©° κ·Ήμ±μ λ°λλ‘ μ°κ²°νλλΌλ μΌμμ μΌλ‘ μ λ₯κ° μ°¨λ¨λλ©΄μ 보νΈκ° λμ§λ§, λ² ν°λ¦¬λ₯Ό μ¬μ©νλ©΄μ κ·Ήμ±μ λ°λλ‘ κ°νλ©΄ λ°λ‘ Boardμ μμμΌλ‘ μ΄μ΄μ§λ©° μ΄λ νλ³΅μ΄ λΆκ°λ₯νλ€.
<VESCuinoμ μ μ +, - μ¬μ§>
<VESCularμ μ μ +, - μ¬μ§>
λ² ν°λ¦¬λ₯Ό μ°κ²°ν λλ In-rush currentλ₯Ό μ£Όμν΄μΌνλ€. VESCμμλ μ λ₯곡κΈμ μμ λλ₯Ό λμ΄κΈ° μν΄ κ³ μ©λμ Capacitorκ° λ΄μ₯λμ΄ μκ³ μ΄λ λ² ν°λ¦¬κ° μ°κ²°λλ μκ° μ΄κ³ μμΌλ‘ μ λ ₯μ λΉ¨μλ€μ¬μ μΆ©μ μ΄ λλ©° μ΄λ In-rush currentκ° λ°μνμ¬ μ€νν¬κ° νμ μκ³ μλͺ»νλ©΄ νλ‘μ μμμΌλ‘ μ΄μ΄μ§λ€. μ΄λ₯Ό λ§κΈ°μν΄μ λ² ν°λ¦¬μ VESCμ¬μ΄μ μ°κ²°μ μμ νκ² μ μ΄ν΄μ£Όλ Anti-spark switchκ° μμ€μ νλ§€μ€μ΄λ€. Googleλ±μ Anti-spark switch κ²μνλ©΄ μ½κ² μ νμ μ°Ύμ μ μμ κ²μ΄λ€. μ¬μ©νλ λ² ν°λ¦¬μ μ μκ³Ό μ λ₯μ©λμ΄ ν° κ²½μ°, μ΄λ₯Ό μ¬μ©νκΈΈ μ κ·Ή κΆμ₯νλ€.
BLDC λͺ¨ν°μ Wireλ U, V, Wμ 3μ μ΄ μ‘΄μ¬νλ©° BLDC λͺ¨ν°μ κ²½μ°, U, V, W μμ μμλλ‘ μ°κ²°νλ©΄ λλ€. λͺ¨ν°μ μ λ°λ‘ U, V, W (νΉμ A, B, C) μμ΄ κΈ°μ λμ΄ μμ§ μμ κ²½μ° μ¬μ€μ μλ¬΄λ° μμλ‘ μ°κ²°ν΄λ ν¬κ² λ¬Έμ λμ§λ μλλ€. VESC-Toolμμ λͺ¨ν° Identificationμ ν΅ν΄ λͺ¨ν°μ μ μ 보λ₯Ό μλμΌλ‘ μμλ΄μ£ΌκΈ° λλ¬Έμ μ°κ²°μ μμμ λν΄μλ λ¬Έμ κ° λμ§ μλλ€. λ€λ§, νλ² μ°κ²°μ νκ³ λͺ¨ν° μΈν μ λ§μ³€λ€λ©΄ κ·Έ μ΄νμ λͺ¨ν° μ°κ²° μμλ₯Ό λμΌνκ² ν΄μΌνλ€.
<VESCuinoμ λͺ¨ν° uvw μ¬μ§>
<VESCularμ λͺ¨ν° uvw μ¬μ§>
DC λͺ¨ν°μ κ²½μ°, VESCuino νΉμ VESCularμ Uμκ³Ό Wμμ ν΄λΉνλ λ λΆλΆ(3μ μ μ λλ¨)μ DC λͺ¨ν°μ +, - μ μ μ°κ²°νλ©΄ λλ€. +, -μ λ°©ν₯μ U, Wμ μ΄λμͺ½κ³Ό μ°κ²°νλλμ λ°λΌ μ νμ κ³Ό μνμ μ λ°©ν₯μ΄ κ²°μ λλ©° μ΄λ₯Ό λ°λλ‘ λ°κΎΈκ³ μΆμ κ²½μ° DCλͺ¨ν°μ +, -μ λ°©ν₯μ λ°λλ‘ μ°κ²°νλ©΄ λλ€.
μμ½λλ VESCuino Shieldμ κ²½μ°λ Front Sideμ μ°μΈ‘ μΈ‘λ©΄μ μλ HALL/Enc 컀λ₯ν°μ μ°κ²°νλ€. HALL/Enc 컀λ₯ν°μ ν μμλ λ€μκ³Ό κ°λ€. μμ½λ 컀λ₯ν°μ κ²½μ°, BLDC λͺ¨ν°μ μ‘΄μ¬νλ HALL μΌμμ μ°κ²°λ κ°λ₯νλλ‘ μ€κ³κ° λμ΄μλ€. μ¦, BLDC λͺ¨ν°μμ Hall μΌμκ° μ‘΄μ¬ν κ²½μ°, κΈ°λ³Έμ μΌλ‘ HALL/Enc 컀λ₯ν°μλ Hall μΌμλ₯Ό μ°κ²°ν΄μΌνλ©° κΈ°λ³Έμ μΌλ‘ BLDCκ° Hall μΌμλ‘ λμκ°λ₯νκΈ° λλ¬Έμ Encoderλ Option μ¬νμ΄ λλ€. νμ§λ§, Hall μΌμλ§μ μ΄μ©ν BLDC μ μ΄μλ μμΉ μ νλμ μμ΄μ λμ μ±λ₯μ κΈ°λνκΈ°λ μ΄λ ΅κΈ° λλ¬Έμ λͺ¨ν°μ μμΉμ μ΄λ₯Ό μ ννκ² νκΈ° μν΄μλ Encoderλ νμμ μ΄λ€. κ·Έλ¬λ―λ‘ BLDC λͺ¨ν°μ μμΉμ μ΄λ₯Ό μν΄μλ ν¬κ² κ°μ§ Optionμ΄ μλ€κ³ 보면 λλ€.
Hall sensor + ABI encoder
Sensorless + ABI encoder
Magnetic encoder
μ΄μ€ 1λ²μ κ²½μ°λ OpenRobotμμ κ°λ°ν Hall sensor / ABI encoder μ€μμΉ μκ³ λ¦¬μ¦μ μ΄μ©ν΄ μ μμ΄ μΈκ°λ λ°λ‘ νμλ HallμΌμλ₯Ό μ΄μ©νμ¬ νμ νμ¬λ μλμΌλ‘ μμ½λ Iμμ μ°Ύμλ΄κ³ κ·Έ μ΄νμλ μ μ΄λͺ¨λλ₯Ό Encoderλ‘ λ°κΏμ£Όλ μκ³ λ¦¬μ¦μ΄ μ μ©λμλ€. μ΄ λ°©λ²μ μ΄μ©νλ©΄ μ μμΈκ°ν ABI μμ½λμ Iμμ΄ μ°Ύμμ§κΈ° μ΄μ μ νμ λ¬Έμ μ λν΄ ν΄κ²°μ΄ κ°λ₯νλ€. μ΄λλ ABI Encoderλ₯Ό VESCuino Shield Back sideμ μμΉν SPI/Encoder Connectorμ μ°κ²°ν΄μΌ νλ€.
2λ²μ κ²½μ° Hall sensor μμ΄ ABI encoder λ§ μ΄μ©ν μΌμ΄μ€μΈλ° μ΄ κ²½μ°, μ μμΈκ°ν Iμμ μ°ΎκΈ° μν΄μ Sensorless λͺ¨λλ‘ λͺ¨ν°λ₯Ό νμ μμΌμΌνλ λΆλΆμ΄ μλλ° μ΄λ μ νν μ μ΄κ° λΆκ°λ₯νκ³ λͺ¨ν°μ λΆνκ° λ μν©μ΄λΌλ©΄ λͺ¨ν°νμ μ΄ μμ μλ μλ κΈ° λλ¬Έμ λλλ‘μ΄λ©΄ 2λ² λ³΄λ€λ 1λ²μ μ¬μ©μ κΆμ₯νλ€.
λ§€μ° μ ννκ³ λ§€μ° λ Έμ΄μ¦ μλ μ μ΄κ° λΆνμνκ³ μ μ ν μμ€μ μ μ΄λ‘ μΆ©λΆ μν©μ΄λΌλ©΄ 3λ²μ κ²½μ°λ₯Ό μΆμ²νλ©° νμκ° κ°μ₯ μ’μνλ λ°©μ λν 1, 2, 3λ²μ€ 3λ²μ΄λΌκ³ 보면 λκ² λ€.
<VESCuinoμ μμ½λ 컀λ₯ν° μ¬μ§>
μ§κΈκΉμ§λ VESCuino Shieldμ μμ½λ μ°κ²°λ°©μμ λν μ€λͺ μ΄μμΌλ©° VESCularμμλ μ½κ°μ μ°¨μ΄κ° μλ€. VESCularλ AS5047p μμ½λλ₯Ό λ΄μ₯νκ³ μκΈ° λλ¬Έμ μ΄λ₯Ό μ¬μ©ν κ²½μ°, λ³λμ μμ½λ μ°κ²°μ νμλ‘ νμ§ μλλ€. λ€λ§, μ§λ¦ λ°©ν₯μ μνλ μμμ μΌμμμ 0.5mm~3mm μ¬μ΄μ μ΄κ²©μμΌμ λλλ‘ λμ¬μμ λ§μΆ° μ€μΉνλ©΄ λκ² λ€. μλ μ¬μ§μ μ°Έκ³ νλ©΄ λλ€.
<VESCularμ μμ½λ 컀λ₯ν° μ¬μ§>

λΆλμ΄νκ² ABI Encoderλ₯Ό μ¬μ©ν΄μΌνλ κ²½μ°, VESCularμ κ²½μ°μ communication 컀λ₯ν°μ μ°κ²°ν μ μλ€. VESCular Front Side νλ¨ μ€μμ μμΉν Communication 컀λ₯ν°λ λ€μν ν΅μ κ³Όμ μ°κ²°μ μ§μνλ©° μ¬κΈ°μλ SPI ν΅μ , UART ν΅μ , I2C ν΅μ , ADC 2μ±λ λ±μ΄ κ°λ₯νλ€. κΈ°λ₯λ€μ λμμλ μ¬μ©ν μ μμ΄ μ΄ μ»€λ₯ν°μ ABI Encoderλ₯Ό μ°κ²°ν κ²½μ° μμμ μ°κΈν ν΅μ λ€μ μ¬μ©μ΄ λΆκ°λ₯ν΄μ§λ€. Communication 컀λ₯ν°μ pinμ λν κΈ°λ₯ μ€λͺ μ μλ νμ μμ½νμλ€.

Communication Pin
SPI
UART
I2C
ADC
ABI Encoder Pin
GND
GND
GND
GND
GND
GND
SCK_ADC_EXT
SCK
ADC
RX_SDA_NSS
NSS
RX
SDA
I
TX_SCL_MOSI
MOSI
TX
SDL
B
MISO_ADC_EXT2
MISO
A
ADC15
ADC15
ν΅μ κ³Ό κ΄λ ¨λ μ¬νμ Additional Guide λΆλΆμμ λ μμΈνκ² λ€λ£¨λλ‘ νκ² λ€.
μ μ, λͺ¨ν°, μμΉμΈ‘μ μΌμ(Hall λλ Encoder)κ° μ°κ²°λλ©΄ κΈ°λ³Έμ μΌλ‘ Wiringμ λλ¬λ€.
4. Basic Run
κΈ°λ³Έμ μΈ λμμ VESC-Toolμ μ΄μ©νλ©° μ΄λ VESC Toolμμ μμΈν μ€λͺ νλ€.
Last updated