Hello!
I rebuild my Xiaomi scooter but i cant get it to work, in air it works perfect but when i stand on it, its make some strange sounds.
Dont know whats the problem.
If you help me out and get this to work, i will donate you some coffe money ;)
Check Video:
My Battery:
I have a 1000W 48V Motor
My Vesc Settings:
Motor Current Max = 60A
Motor Current Max Brake = -10A
Absolute Max Current = 100A
Battery Current Max = 50A
Battery Current Max Regen = -15A
Control Type Current No Reverse Brake ADC2
Gear Ratio = Direct Drive ON
Wheel Diameter 255mm
Motor Poles = 30
Battery Cells Series = 16
Battery Capacity = 17,25AH
What VESC are you using?
Does the motor have hall sensors and are they connected to the VESC?
Usually at low loads it is possible to run sensorless, however for high inertia applications and near zero rpm you need to run sensored.
This looks a lot like your VESC has not detected the hall sensors and is running sensorless. With no load it runs fine, but when loaded if can't know the rotor position correctly.
So please make sure
1- that the hall sensors are connected
2- that under the FOC tab it is configured to run with hall sensors (not sensorless)
3- that you ran hall detection
4- you might as well put hall sensor interpolation at 300 erpm for good measure
Hello! Thx for your answer!
I have a flipsky 7550, and i connected hallsensor to it. I have checked that the Vesc find my hallsensor, and i have resolder it just to be clear of the connections. Still same problem, sadly
Could you please upload your motor xml?
Where do i find motor xml file? I use the phone app, do i need to connect to a pc?
<?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>1</sensor_mode>
<l_current_max>60</l_current_max>
<l_current_min>-10</l_current_min>
<l_in_current_max>50</l_in_current_max>
<l_in_current_min>-15</l_in_current_min>
<l_abs_current_max>150</l_abs_current_max>
<l_min_erpm>-100000</l_min_erpm>
<l_max_erpm>100000</l_max_erpm>
<l_erpm_start>0.8</l_erpm_start>
<l_max_erpm_fbrake>300</l_max_erpm_fbrake>
<l_max_erpm_fbrake_cc>1500</l_max_erpm_fbrake_cc>
<l_min_vin>12</l_min_vin>
<l_max_vin>72</l_max_vin>
<l_battery_cut_start>54.4</l_battery_cut_start>
<l_battery_cut_end>48</l_battery_cut_end>
<l_slow_abs_current>1</l_slow_abs_current>
<l_temp_fet_start>85</l_temp_fet_start>
<l_temp_fet_end>100</l_temp_fet_end>
<l_temp_motor_start>85</l_temp_motor_start>
<l_temp_motor_end>100</l_temp_motor_end>
<l_temp_accel_dec>0.15</l_temp_accel_dec>
<l_min_duty>0.005</l_min_duty>
<l_max_duty>0.95</l_max_duty>
<l_watt_max>1.5e+06</l_watt_max>
<l_watt_min>-1.5e+06</l_watt_min>
<l_current_max_scale>1</l_current_max_scale>
<l_current_min_scale>1</l_current_min_scale>
<l_duty_start>1</l_duty_start>
<sl_min_erpm>150</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_phase_advance_at_br>0.8</sl_phase_advance_at_br>
<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.0541951</foc_current_kp>
<foc_current_ki>148.028</foc_current_ki>
<foc_f_sw>40000</foc_f_sw>
<foc_dt_us>0.12</foc_dt_us>
<foc_encoder_inverted>0</foc_encoder_inverted>
<foc_encoder_offset>180</foc_encoder_offset>
<foc_encoder_ratio>7</foc_encoder_ratio>
<foc_encoder_sin_gain>1</foc_encoder_sin_gain>
<foc_encoder_cos_gain>1</foc_encoder_cos_gain>
<foc_encoder_sin_offset>1.65</foc_encoder_sin_offset>
<foc_encoder_cos_offset>1.65</foc_encoder_cos_offset>
<foc_encoder_sincos_filter_constant>0.5</foc_encoder_sincos_filter_constant>
<foc_sensor_mode>2</foc_sensor_mode>
<foc_pll_kp>2000</foc_pll_kp>
<foc_pll_ki>30000</foc_pll_ki>
<foc_motor_l>6.56e-05</foc_motor_l>
<foc_motor_ld_lq_diff>0</foc_motor_ld_lq_diff>
<foc_motor_r>0.0502</foc_motor_r>
<foc_motor_flux_linkage>0.01398</foc_motor_flux_linkage>
<foc_observer_gain>4.76903e+06</foc_observer_gain>
<foc_observer_gain_slow>0.05</foc_observer_gain_slow>
<foc_duty_dowmramp_kp>10</foc_duty_dowmramp_kp>
<foc_duty_dowmramp_ki>200</foc_duty_dowmramp_ki>
<foc_openloop_rpm>700</foc_openloop_rpm>
<foc_openloop_rpm_low>0</foc_openloop_rpm_low>
<foc_d_gain_scale_start>0.9</foc_d_gain_scale_start>
<foc_d_gain_scale_max_mod>0.2</foc_d_gain_scale_max_mod>
<foc_sl_openloop_hyst>0.1</foc_sl_openloop_hyst>
<foc_sl_openloop_time_lock>0</foc_sl_openloop_time_lock>
<foc_sl_openloop_time_ramp>0.1</foc_sl_openloop_time_ramp>
<foc_sl_openloop_time>0.05</foc_sl_openloop_time>
<foc_hall_table__0>255</foc_hall_table__0>
<foc_hall_table__1>164</foc_hall_table__1>
<foc_hall_table__2>99</foc_hall_table__2>
<foc_hall_table__3>133</foc_hall_table__3>
<foc_hall_table__4>33</foc_hall_table__4>
<foc_hall_table__5>0</foc_hall_table__5>
<foc_hall_table__6>63</foc_hall_table__6>
<foc_hall_table__7>255</foc_hall_table__7>
<foc_hall_interp_erpm>300</foc_hall_interp_erpm>
<foc_sl_erpm>4000</foc_sl_erpm>
<foc_sample_v0_v7>0</foc_sample_v0_v7>
<foc_sample_high_current>0</foc_sample_high_current>
<foc_sat_comp>0</foc_sat_comp>
<foc_temp_comp>0</foc_temp_comp>
<foc_temp_comp_base_temp>25</foc_temp_comp_base_temp>
<foc_current_filter_const>0.1</foc_current_filter_const>
<foc_cc_decoupling>2</foc_cc_decoupling>
<foc_observer_type>0</foc_observer_type>
<foc_hfi_voltage_start>20</foc_hfi_voltage_start>
<foc_hfi_voltage_run>4</foc_hfi_voltage_run>
<foc_hfi_voltage_max>10</foc_hfi_voltage_max>
<foc_sl_erpm_hfi>2000</foc_sl_erpm_hfi>
<foc_hfi_start_samples>65</foc_hfi_start_samples>
<foc_hfi_obs_ovr_sec>0.001</foc_hfi_obs_ovr_sec>
<foc_hfi_samples>1</foc_hfi_samples>
<gpd_buffer_notify_left>200</gpd_buffer_notify_left>
<gpd_buffer_interpol>0</gpd_buffer_interpol>
<gpd_current_filter_const>0.1</gpd_current_filter_const>
<gpd_current_kp>0.03</gpd_current_kp>
<gpd_current_ki>50</gpd_current_ki>
<s_pid_kp>0.004</s_pid_kp>
<s_pid_ki>0.004</s_pid_ki>
<s_pid_kd>0.0001</s_pid_kd>
<s_pid_kd_filter>0.2</s_pid_kd_filter>
<s_pid_min_erpm>900</s_pid_min_erpm>
<s_pid_allow_braking>1</s_pid_allow_braking>
<s_pid_ramp_erpms_s>-1</s_pid_ramp_erpms_s>
<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_kd_filter>0.2</p_pid_kd_filter>
<p_pid_ang_div>1</p_pid_ang_div>
<cc_startup_boost_duty>0.01</cc_startup_boost_duty>
<cc_min_current>0.05</cc_min_current>
<cc_gain>0.0046</cc_gain>
<cc_ramp_step_max>0.04</cc_ramp_step_max>
<m_fault_stop_time_ms>500</m_fault_stop_time_ms>
<m_duty_ramp_step>0.02</m_duty_ramp_step>
<m_current_backoff_gain>0.5</m_current_backoff_gain>
<m_encoder_counts>8192</m_encoder_counts>
<m_sensor_port_mode>0</m_sensor_port_mode>
<m_invert_direction>0</m_invert_direction>
<m_drv8301_oc_mode>0</m_drv8301_oc_mode>
<m_drv8301_oc_adj>16</m_drv8301_oc_adj>
<m_bldc_f_sw_min>3000</m_bldc_f_sw_min>
<m_bldc_f_sw_max>35000</m_bldc_f_sw_max>
<m_dc_f_sw>25000</m_dc_f_sw>
<m_ntc_motor_beta>3380</m_ntc_motor_beta>
<m_out_aux_mode>0</m_out_aux_mode>
<m_motor_temp_sens_type>0</m_motor_temp_sens_type>
<m_ptc_motor_coeff>0.61</m_ptc_motor_coeff>
<m_hall_extra_samples>1</m_hall_extra_samples>
<si_motor_poles>15</si_motor_poles>
<si_gear_ratio>2.769</si_gear_ratio>
<si_wheel_diameter>0.254</si_wheel_diameter>
<si_battery_type>0</si_battery_type>
<si_battery_cells>3</si_battery_cells>
<si_battery_ah>17</si_battery_ah>
<motor_brand>Unnamed</motor_brand>
<motor_model>Not Specified</motor_model>
<motor_weight>0</motor_weight>
<motor_poles>15</motor_poles>
<motor_sensor_type>1</motor_sensor_type>
<motor_description><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Roboto','Roboto'; font-size:12pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A motor description can be edited here.</p></body></html></motor_description>
<motor_loss_torque>0.03</motor_loss_torque>
<motor_quality_bearings>0</motor_quality_bearings>
<motor_quality_magnets>0</motor_quality_magnets>
<motor_quality_construction>0</motor_quality_construction>
<motor_quality_description><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Roboto','Roboto'; font-size:12pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some comments about the motor quality. Images can be added as well.</p></body></html></motor_quality_description>
<bms.type>1</bms.type>
<bms.t_limit_start>45</bms.t_limit_start>
<bms.t_limit_end>65</bms.t_limit_end>
<bms.soc_limit_start>0.05</bms.soc_limit_start>
<bms.soc_limit_end>0</bms.soc_limit_end>
</MCConfiguration>
Should i connect xiaomi throttle to 5,5V Common or 3,3V Common?
Tryed 5,5v and 3,3v same problem
I have the same exact problem, i tried all 36 wire connect ios also and its not that. It just be a setting on the vesc yool. Or someting wrong with the 7550.
did you find any solution ?
@vallsta did you solve this? @danilolattaro any ideia?
@rainwise no, no idea how to solve this, tested almost everything. Think the controller maybe is broken or i have no idea :(
Sorry, I forgot to come back here.
One thing that I came to know is that some aftermarket vescs, for example the Go-FOC HI100, uses pull-up resistors on the hall lines to the 3.3v rail instead of the 5v rail.
Because of this 5v hall sensors doesn't work well.
The signal is not clean and the VESC drops to sensorless operation.
One way to check is, on the terminal, type hall_analyze 10, and then check the plot under the experimental tab.
It should look like this
Hey again, and thanks so much for trying to help us. I've done that and here are the results.
something is definilty wrong, but i don't know hot to fix it
We dont use 5v or 3,3v we use v+ on 7. sense port
V+ is probably 5v.
If you measure with a multimeter between V+ and GND will probably give you 5V.
The problem is that between the H1, H2, H3 and the microcontroller input, there is a pull-up resistor. This pull-up resistor is required for correct hall sensor operation.
It should also be pulled-up to 5v, but I noticed on another vesc it being pulled-up to 3.3v, and on that vesc the 5v hall sensors were not working well.
@rainwise, your graph looks mostly right, but there are these dips which could be messing up with the controller. It could either be cabling or this thing with the pull-up resistor.
Under the Hall Sensors tab, try increasing the "Hall sensor extra samples" until the green line on that plot no longer has the weird dips.
Try extra samples = 2, run the hall_analyze 10, check plot, then try again with 3, etc etc
It should hopefully clear out.
I could not find anything wrong with the motor XML, so configuration seems OK.
Another possibility, but I don't know about that, is the throttle control type and mapping.
First make sure your throttle is correctly mapped and has a smooth curve.
Second, make sure that the throttle is controlling current and not duty cycle or PID speed.
For this application you want the throttle to map how much you accelerate. Making it control Duty Cycle would not work well.
Hi again, I tried that hall sensor extra sample and It cleared at 5. But it keep doing the same. Without load it spins fine, unless i push it andit kinds "unsyncs" and makes noise. On the ground it doesn't have strengh to move. What else should I try? Do you need me to show you something else? thanks
Maybe the pictures abow is the problem to all this..
what do you mean? did you try somthing?
does the motor spin freely disconnected from the esc? no "cogging" free turning through a total rotation.
Also your soldering, has a very dull finish, let your iron get hotter and don't be afraid of letting more heat soak into the pads. Best practice when you have duel side solder pads is to connect the two with solder even if you are not passing the wire through, I don't have mine yet but the construction may rely on final assembly to connect both sides of the h-bridge phase drivers.
lower you amps to peak of 30A for testing.
In your xml your motor poles is set at 15, incorrect if your motor is
1530, that would explain your sync loss. That will probably be the fix but sort that soldering, connect both sides of through hole connections.hey, those connections are from the inside of the vesc. Changing the poles didn't work for me :( it has do be something related with the halls sensors. But they work fine with the previous controller
But op has said he has a 30 pole stator but xml is configured for 15 so will unsync very quickly
i think he trew away his scooter :P ahahahah i'm gonna return my 7550 and get another brand. it's weird. Do you have any ideia?
I have almost the same hardware. 48V1000W motor (early revision of Kugoo G2 Pro) and Flipsky FSESK 7550. Initially there was a problems with cogging on motor start from zero speed under the heavy load. Recent experiments with the configuration have led me to the following settings:
Motor Type: FOC
Sensor Port Mode: Hall Sensors
Motor Current Max: 100A
Motor Current Max Brake: -100A
Battery Current Max: 30A
Battery Current Regen: -30A
Motor Resistance (R): 30.0mΩ
Motor Inductance (L): 40μH
Motor Flux Linkage (λ): 16.572mWb
Current KP: 0.0353
Current KI: 36.26
Observer Gain (x1M): 3.64
Switching Frequency: 60kHz
Current Controller Decoupling: FOC_CC_DECOUPLING_DISABLED
Where the battery current max is limited by original battery (not a good one). Motor R, Motor L, Motor λ, Current KP, Current KI, Observer Gain are coming from motor setup wizard (rounded values was changed slightly). The most important thing for me was not to limit the motor current max too much. Increasing the switching frequency made the motor work more smoothly.
This is not the final configuration, but rather the first one that worked well, not worse than the original controller's quickness.
I have a very similar problem with my FSESC 7550 and an ebike hub motor.
Could the detection differences lead to this behavior under load?
Have anyone solved this issue?
Hi all, I have a problem with my 2x FSESC 7550 (FW 5.2) + 2x BLDC motors 60v 2800w (from Boyueda scooter)+ 60v 38ah battery + Flipsky TFT screen V2 + Twist throttle.
I run FOC auto-detection, then run Hall sensors detection and all the auto-detection needed under instructions. As a result, I have my scooter wheels spinning while hanging in the air (scooter on the bench), everything works, wheels are spinning reacting to the throttle, but as soon as I put the scooter on the ground, wheels don't spin anymore and give strange sounds from the motors. Tried to play with the manual settings but have no luck in achieving the wheel spinning on the ground. Also tried to use older firmwares, manual setting of motors and also anything changes. With stock controllers everything works perfect, but with these vescs I cannot do anything. Maybe someone solved it or has any advice to share?
Thanks in advance!
Cibonas
just test in bldc mode , hall sensored detection, and investigate the action.
Hi, I tested in BLDC mode too, everything is the same, motors are only spinning in the air and don't spin on the ground. Also in BLDC mote motor sound is different, a lot louder. But still nothing changed. There probably is some setting, but I dont completely understand what to tune. Currents change take effect also, but only in the air. When on ground it tries to spin and then some strange sounds, not a single error in the terminal and etc..
Cibonas
Someone has found any solution? Actually I have the same problem.
Thanks.
I haven't managed to get engines working with these controllers.. Looks like a waste of money.. Have tried many things, many different firmwares, many different settings, many different connections and etc. Running manual motor set up in FOC and BLDC modes as well as autodetection and etc. I was sending my xml files of the setup to Flipsky and other people who might have experience in understanding, but nothing changed and no one has helped me. Almost 2 moths my scooter is dismantled and I cannot use it. Flipsky said that probably the engines are not compatible with these controllers and suggests to buy another model. The best answer you can get which solves your problem, I am schocked! I have read probably all the forums, consulted many people who have some experience. Also tried to write to many forums, but unfortunately no one is willing to help, no one knows how to solve this issue. Motors work perfect with stock 45amp controllers. But with these you can only sping you motors in the air.. And I would say its nothing, but when I know how much it costed me to buy all the components from Flipsky and get an answer like that from customer service its embarrassing.
Cibonas
Would like to help you but without having the controller you have the issues with there is not much I can do. If somebody can send me one of these controllers with issues I can have a look. I do not expect the motors to be the issue.
This behaviour could be related with motor saliency. I had faced with a similar problem on using a special motor. motor was turning but there was no torque. motor's internal design should be investigated.
Well if you open a motor and show a picture of the magnets and rotordesign we can have a look.
Mine has the same problem . Plus it keeps
making me upload tje soft ware
Hi.
my driver=75/300
motor=24v 250amp
under loud, motor just screaming
I have the same problem.