Close
0%
0%

MJ-VESC Arduino Shield Type Ver 0.1

VESC firmware based Motor Controller;
Arduino Shield Type, Stack-able Design and SPI Communication

Public Chat
Similar projects worth following
The MJ-VESC Project was launched to apply the VESC, which is commonly used in electric-skating board, to "the Robotics area". The unique thing of MJVESC is stack-able design. The board form factor is Arduino Shield Type. So, it can be stacked on the Arduino. The firmware is based on VESC(https://vesc-project.com/) and fully compatible. Additionally, MJ-VESC provides high speed SPI Communication with Arduino Mega and Due. More Detail : https://drcl.mju.ac.kr/research/on-going-projects/mjvesc-framework

MJ-VESC Testing Video

1. What is MJ-VESC?

The MJ-VESC Project was launched to apply the VESC, which is commonly used in electric-skating board, to "the Robotics area".

The unique thing of MJ-VESC is stack-able design. The board form factor is Arduino Shield Type. So, it can be stacked on the Arduino.

  • The hardware improvements from the existing VESC are as follows:
  1. In FOC control, we provide high torque control even at low speed.
  2. Position control is possible at Hall sensor commutation with AB encoder (without index).
  3. Hall & Encoder Hybrid Commutation for more precise position control.
  4. More accurate current control by changing shunt resistor from 0.5mohm to 2mohm.
  5. Improved CAN Communication Noise Filter using split terminal resistor and EMI filter.
  • The software improvements from the existing VESC are as follows:
  1. High accuracy position control using "DPS speed control" (Degree Per Second).
  2. VESC - Arduino high speed communication using SPI communication.
  3. Debugging terminal using extra serial communication.

More Detail : https://drcl.mju.ac.kr/research/on-going-projects/mjvesc-framework

- MJ-VESC ver0.1 (Single Board)


- Stacked 3 - MJ-VESCs with 3D printed Case.
- Stacked 4 - MJ-VESCs on Arduino Due with 3D printed Case.

  • High speed servo control (named 'DPS' Control) Test

    Dongil Choi10/05/2019 at 14:30 0 comments

    DPS control allows accurate tracking from very low speed to very high speed. It is a Servo control algorithm that can be applied to VESC firmware as a custom application.

    - DPS Control means Degree Per Second Control

    - I can command target velocity as DPS unit

    - The motor is controlled to track precise position profile to follow the target velocity

  • GOTO Control Mode Test

    Dongil Choi09/30/2019 at 13:08 0 comments

    Original VESC(https://vesc-project.com/) are optimized for electric skateboards or scooters, making them suitable for high current and powerful motor driving. 

    The MJ-VESC(https://drcl.mju.ac.kr/research/on-go...) I developed has been modified to increase the accuracy of low current control and position control in the existing firmware and hardware of VESC.

    I added a profile generator and "Goto control mode" to the original PID position control of VESC. An experiment was performed using the 8:1 Planetary Gear Actuator module(https://hackaday.io/project/167656-81...) to turn 10 times after then return to 0 position. The results show that it is possible to control the motor position very quickly and accurately.

    The rotational speed can be adjusted by setting the acceleration and speed limit values. In this experiment, the highest value was set to show the quickest possible rotation. The limit value for rotational speed was 25000 deg/sec and the limit value for acceleration was 100000 deg/sec^2.

    As I know, this kind of control mode already exists at Odrive(https://odriverobotics.com/). I hope to compare the performance between MJ-VESC and Odrive in the next time.

  • Arduino - VESC SPI High speed communication Library

    Dongil Choi09/24/2019 at 06:01 1 comment

    This software is arduino library for communicating VESC using SPI communication.

    In Arduino Mega, it is possible to use 8Mhz SPI communication speed and in Arduino Due, it is possible to use 21Mhz.

    Use below link.

    https://github.com/dongilc/VESCuino_Arduino_Control

    place the folder in the arduino libraries folder.

    and 

    check example at arduino IDE.

View all 3 project logs

Enjoy this project?

Share

Discussions

bb-bit wrote 09/25/2019 at 05:52 point

NICE!很棒的项目!你可以分享任何原理图或PCB?

  Are you sure? yes | no

Marcos wrote 09/24/2019 at 12:44 point

Heads up! Please fork from the official vesc repository! If you copy the files and create a new repository there is no chance your contributions can be merged into the mainstream VESC!

Keep it up!

  Are you sure? yes | no

Dongil Choi wrote 09/24/2019 at 13:33 point

My current mj-vesc firmware is based on version 3.40 vesc firmware. It is a little bit out-dated. Many parts are changed, especially, the SPI slave software on VESC side is all newly developed. So, after I upgrade mj-vesc firmware version to current firmware version(3.61), I am planning to send pull request to vedder. Thank and please wait a little while. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates