# Hoverboard Motor with VESC

13 posts / 0 new
Offline
Last seen: 2 years 2 months ago
Joined: 2018-03-04 23:24
Posts: 3
Hoverboard Motor with VESC

Hello everyone. Are there settings to begin with to control a 350 watt hoverboard motor with a VESC? The motor has 27 stator poles with 30 magnets, it's sensored with hall effect bipolar latched sensors. from previous posts I understand that I should post screenshots with the settings I have been working with, but I have veered so far off course that I think it's best to check for settings to start with (as my settings may have zero logic in them). Many thanks!

lizardmech
Offline
Last seen: 1 year 5 months ago
Joined: 2017-06-02 19:21
Posts: 80

Run one without any issues many times, seems to saturate at around 20A, should only need about 2A to run.

Offline
Last seen: 2 years 2 months ago
Joined: 2018-03-04 23:24
Posts: 3

For me, it worked once then a day afterwards all the motor does is shudder, at best. Can you share your settings with me? I think the default settings on the VESC is oriented towards smaller motors with higher Kv. I'm not an engineer, so I may be mistaken. Many thanks!

Thanks!

lizardmech
Offline
Last seen: 1 year 5 months ago
Joined: 2017-06-02 19:21
Posts: 80

Try this, paste it into an xml file.

<?xml version="1.0" encoding="UTF-8"?>
<MCConfiguration>
<pwm_mode>1</pwm_mode>
<comm_mode>0</comm_mode>
<motor_type>2</motor_type>
<sensor_mode>0</sensor_mode>
<l_current_max>30</l_current_max>
<l_current_min>-10</l_current_min>
<l_in_current_max>2.5</l_in_current_max>
<l_in_current_min>-5</l_in_current_min>
<l_abs_current_max>60</l_abs_current_max>
<l_min_erpm>-100000</l_min_erpm>
<l_max_erpm>100000</l_max_erpm>
<l_max_erpm_fbrake>300</l_max_erpm_fbrake>
<l_max_erpm_fbrake_cc>1500</l_max_erpm_fbrake_cc>
<l_min_vin>6</l_min_vin>
<l_max_vin>60</l_max_vin>
<l_battery_cut_start>64</l_battery_cut_start>
<l_battery_cut_end>8</l_battery_cut_end>
<l_slow_abs_current>1</l_slow_abs_current>
<l_rpm_lim_neg_torque>1</l_rpm_lim_neg_torque>
<l_temp_fet_start>80</l_temp_fet_start>
<l_temp_fet_end>100</l_temp_fet_end>
<l_temp_motor_start>80</l_temp_motor_start>
<l_temp_motor_end>100</l_temp_motor_end>
<l_min_duty>0.005</l_min_duty>
<l_max_duty>0.89</l_max_duty>
<sl_min_erpm>300</sl_min_erpm>
<sl_min_erpm_cycle_int_limit>1100</sl_min_erpm_cycle_int_limit>
<sl_max_fullbreak_current_dir_change>10</sl_max_fullbreak_current_dir_change>
<sl_cycle_int_limit>62</sl_cycle_int_limit>
<sl_cycle_int_limit_high_fac>0.8</sl_cycle_int_limit_high_fac>
<sl_cycle_int_rpm_br>80000</sl_cycle_int_rpm_br>
<sl_bemf_coupling_k>600</sl_bemf_coupling_k>
<hall_table_0>-1</hall_table_0>
<hall_table_1>1</hall_table_1>
<hall_table_2>3</hall_table_2>
<hall_table_3>2</hall_table_3>
<hall_table_4>5</hall_table_4>
<hall_table_5>6</hall_table_5>
<hall_table_6>4</hall_table_6>
<hall_table_7>-1</hall_table_7>
<hall_sl_erpm>2000</hall_sl_erpm>
<foc_current_kp>0.2552</foc_current_kp>
<foc_current_ki>115.6</foc_current_ki>
<foc_f_sw>40000</foc_f_sw>
<foc_dt_us>0</foc_dt_us>
<foc_encoder_inverted>0</foc_encoder_inverted>
<foc_encoder_offset>0</foc_encoder_offset>
<foc_encoder_ratio>0</foc_encoder_ratio>
<foc_sensor_mode>0</foc_sensor_mode>
<foc_pll_kp>2000</foc_pll_kp>
<foc_pll_ki>20000</foc_pll_ki>
<foc_motor_l>0.00025523</foc_motor_l>
<foc_motor_r>0.1156</foc_motor_r>
<foc_observer_gain>3.92e+06</foc_observer_gain>
<foc_duty_dowmramp_kp>10</foc_duty_dowmramp_kp>
<foc_duty_dowmramp_ki>200</foc_duty_dowmramp_ki>
<foc_openloop_rpm>300</foc_openloop_rpm>
<foc_sl_openloop_hyst>0.1</foc_sl_openloop_hyst>
<foc_sl_openloop_time>0.1</foc_sl_openloop_time>
<foc_sl_d_current_duty>0</foc_sl_d_current_duty>
<foc_sl_d_current_factor>0</foc_sl_d_current_factor>
<foc_hall_table_0>255</foc_hall_table_0>
<foc_hall_table_1>133</foc_hall_table_1>
<foc_hall_table_2>73</foc_hall_table_2>
<foc_hall_table_3>107</foc_hall_table_3>
<foc_hall_table_4>194</foc_hall_table_4>
<foc_hall_table_5>159</foc_hall_table_5>
<foc_hall_table_6>34</foc_hall_table_6>
<foc_hall_table_7>255</foc_hall_table_7>
<foc_hall_sl_erpm>2000</foc_hall_sl_erpm>
<s_pid_kp>0.0001</s_pid_kp>
<s_pid_ki>0.015</s_pid_ki>
<s_pid_kd>0</s_pid_kd>
<s_pid_min_rpm>900</s_pid_min_rpm>
<p_pid_kp>0.03</p_pid_kp>
<p_pid_ki>0</p_pid_ki>
<p_pid_kd>0.0004</p_pid_kd>
<p_pid_ang_div>1</p_pid_ang_div>
<cc_startup_boost_duty>0.01</cc_startup_boost_duty>
<cc_min_current>1</cc_min_current>
<cc_gain>0.0046</cc_gain>
<cc_ramp_step_max>50</cc_ramp_step_max>
<m_fault_stop_time_ms>3000</m_fault_stop_time_ms>
<m_duty_ramp_step>0.02</m_duty_ramp_step>
<m_duty_ramp_step_rpm_lim>0.0005</m_duty_ramp_step_rpm_lim>
<m_current_backoff_gain>0.5</m_current_backoff_gain>
<m_encoder_counts>8192</m_encoder_counts>
<meta_description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Configuration loaded from the motor controller.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</meta_description>
</MCConfiguration>

Offline
Last seen: 2 years 2 months ago
Joined: 2018-03-04 23:24
Posts: 3

Okay. I'll keep you posted. Many thanks!

Thanks!

kolin
Offline
Last seen: 1 year 6 months ago
Joined: 2018-05-28 20:02
Posts: 1

Hello,

I tried hoverboard motors mounted to larger wheels and it works.

I misused prototype given by a customer for very different purpose :D Goal was to test feasibility of hoverboard motors for specific application and it worked.

Setup:

8S 5Ah old abused Li-Po

2x VESC 4.12 by maytech

Top speed around 20-25km/h

Set up as FOC with sensors.

Did all the detection stuff (FOC, Hall)

When reaching top speed, motors starts to skip/clog or whatever. I did not had time to investigate.

So yes, Hoverboard motors are definitely possible with VESC with proper tuning. Problem might be voltage, I think when they spin fast, they can produce very high voltage. An inversely, you need very high voltage to spin them fast.

One solution might be so reconnect them in delta instead of WYE. I do believe they are WYE by default. But do not take me seriously, verify this by yourself.

I also tried them to run in simple BLDC mode with sensors, but they sound terrible. At low speed you can clearly hear the commutations.

Also, FOC mode R and L measurements failed a few times. These motors have very high inductance.

Got myself hoverboard just to salvage the motors :)

anypik
Offline
Last seen: 1 year 4 weeks ago
Joined: 2018-12-18 09:03
Posts: 1

im having some trouble connecting these vescs to hoverboard motors, 2 motors work fine and im now testing the 8.5inch off road motors, all im getting is random skips and jumps when trying to detect the hall sensors, if i do the foc wizard and get it to run a scan it doesnt detect any hall sensors, any ideas?

curtm
Offline
Last seen: 1 year 2 weeks ago
Joined: 2019-06-13 23:55
Posts: 7

Did you find a pinout of the hall sensor wires? I think the red may be ground and black may be positive on my 8.5 off-road hover board motors.

Curtm

Jobe_devian
Offline
Last seen: 1 year 1 week ago
Joined: 2018-05-19 14:18
Posts: 5

Obvious thing, I know, but I got my hoverboard motors working perfectly the other day on hall. Then I went back to the project and they wouldn't work smoothly, wouldn't re-detect the sensors etc, turned out one of the pins for the sensor was loose in the connector. Worth checking

ali masumi
Offline
Last seen: 4 months 3 weeks ago
Joined: 2019-12-14 16:37
Posts: 1

Hi!can somebody please share his sitting of Vesc and hoverboard motor with me thanks!

Iphone10max

Ulrich
Offline
Last seen: 6 months 2 weeks ago
Joined: 2019-02-18 14:08
Posts: 5

.

Ulrich
Offline
Last seen: 6 months 2 weeks ago
Joined: 2019-02-18 14:08
Posts: 5

Hi there,

how do you control speed?

I like to use a FSESC 4.12 controller (Chinese VESC) for the hoverboard motors. Some people talk about using modulation types PWM and PPM with the VESC. Does anyone know what to use PWM or PPM ? I want to control the motor controller by a ESP32 sending PWM modulation signal.

Any hint is appreciated.

Ulrich

Kirkness
Offline
Last seen: 1 day 14 hours ago
Joined: 2020-07-02 02:07
Posts: 3

Thanks for the info

Scott Kirkness